@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400&display=swap");
@import url("../css/bootstrap.min.css");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined");
@import url("https://stackpath.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css");
@import url("https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");
@import url("../css/cropper.min.css");
@import url("../css/animate.css");
@import url("../css/owl.carousel.css");
@import url("../css/owl.theme.default.css");
@import url("../css/slick.css");
@import url("../css/slick-theme.css");
@import url("https://fonts.googleapis.com/css2?family=Rubik+Doodle+Shadow&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Sansita+Swashed:wght@300&display=swap");
@import url(https://fonts.googleapis.com/earlyaccess/cwtexfangsong.css);
@import url(https://fonts.googleapis.com/css?family=Acme&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap);
:root {
  --nav-bg: rgba(255,255,255,0.9);
  --nav-dropdown-bg: rgba(255, 255, 255, 0.9);
  --nav-text: #000; }

body {
  font-family: 'Noto Sans TC', sans-serif; }
  body.index_body {
    background-image: linear-gradient(160deg, #0f0f0f 0%, #15044c 100%); }
  body.subscribe_body {
    background-color: #000; }

a, a:hover, a:active, a:visited, a:focus {
  text-decoration: none; }

img {
  max-width: 100%;
  height: auto; }

.mbBreak {
  display: block; }
  @media screen and (min-width: 992px) {
    .mbBreak {
      display: none; } }

.pcBreak {
  display: none; }
  @media screen and (min-width: 992px) {
    .pcBreak {
      display: block; } }

#main {
  min-height: calc( 100vh - 251px - 80px);
  position: relative;
  padding-top: 50px; }
  @media screen and (min-width: 992px) {
    #main {
      min-height: calc( 100vh - 327px - 80px);
      padding-top: 70px; } }

.loaderWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5); }
  .loaderWrapper .loader {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    border: 10px solid;
    border-color: rgba(255, 255, 255, 0.15) rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.35) rgba(255, 255, 255, 0.5);
    box-sizing: border-box;
    animation: rotation 1s linear infinite; }

@keyframes rotation {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

input.input-validation-error,
select.input-validation-error {
  border-color: #f00; }

.field-validation-error {
  color: #f00 !important; }

header {
  width: 100%;
  height: 50px;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.5);
  background-color: var(--nav-bg);
  backdrop-filter: blur(10px);
  transition: .5s;
  position: fixed;
  top: 0;
  z-index: 100; }
  @media screen and (min-width: 992px) {
    header {
      height: 70px; }
      header.disappear {
        box-shadow: none;
        transform: translateY(-100%); } }
  header .header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 5px 10px; }
    @media screen and (min-width: 992px) {
      header .header-inner {
        padding: 15px 15px;
        justify-content: space-between; } }
    header .header-inner .inner-box {
      display: flex;
      justify-content: normal;
      align-items: center; }
    header .header-inner a.logo-link {
      display: inline-block;
      width: 180px; }
    header .header-inner .header-explore-wrapper {
      display: none;
      margin-left: 15px;
      cursor: pointer;
      position: relative; }
      @media screen and (min-width: 992px) {
        header .header-inner .header-explore-wrapper {
          display: block; } }
      @media screen and (min-width: 1200px) {
        header .header-inner .header-explore-wrapper {
          margin-left: 20px; } }
      header .header-inner .header-explore-wrapper::after {
        content: '';
        display: block;
        width: 100%;
        height: 25px;
        position: absolute;
        top: 100%;
        left: 0; }
      header .header-inner .header-explore-wrapper > span {
        display: block;
        font-size: 18px;
        line-height: 40px;
        color: var(--nav-text);
        position: relative; }
        header .header-inner .header-explore-wrapper > span[class*="style"] {
          padding-right: 26px; }
          header .header-inner .header-explore-wrapper > span[class*="style"]::before {
            content: '';
            display: block;
            font-family: 'Material Icons';
            font-size: 24px;
            line-height: 1;
            color: #28ABC2;
            position: absolute;
            top: 9px;
            right: 0; }
          header .header-inner .header-explore-wrapper > span[class*="style"].style::before {
            content: '\e5cf';
            color: var(--nav-text); }
          header .header-inner .header-explore-wrapper > span[class*="style"].style1::before {
            content: '\e87a'; }
          header .header-inner .header-explore-wrapper > span[class*="style"].style2::before {
            content: '\f06a'; }
        header .header-inner .header-explore-wrapper > span a {
          color: var(--nav-text); }
      header .header-inner .header-explore-wrapper:hover .header-explore-container {
        display: block; }
    header .header-inner .header-link-wrapper {
      display: none;
      position: relative;
      margin-left: 10px; }
      @media screen and (min-width: 992px) {
        header .header-inner .header-link-wrapper {
          display: block; } }
      @media screen and (min-width: 1200px) {
        header .header-inner .header-link-wrapper {
          margin-left: 20px; } }
      header .header-inner .header-link-wrapper > a {
        display: block;
        font-size: 18px;
        line-height: 40px;
        color: var(--nav-text); }
        header .header-inner .header-link-wrapper > a.addline {
          font-size: 13px;
          color: #fff;
          background-color: #06C755;
          border-radius: 4px;
          line-height: 24px;
          position: relative;
          padding: 0 10px;
          padding-left: 28px; }
          header .header-inner .header-link-wrapper > a.addline::before {
            content: '';
            display: block;
            width: 18px;
            height: 17px;
            background: url(../img/line.png) center/100% no-repeat;
            position: absolute;
            top: 4px;
            left: 6px; }
    header .header-inner .header-user-wrapper {
      display: none;
      width: 40px;
      height: 40px;
      position: relative; }
      @media screen and (min-width: 992px) {
        header .header-inner .header-user-wrapper {
          display: block;
          width: 60px;
          margin-left: 10px; } }
      header .header-inner .header-user-wrapper::before {
        content: '\e853';
        display: block;
        font-family: 'Material Icons';
        color: #28ABC2;
        line-height: 1;
        font-size: 40px;
        position: absolute;
        top: 1px;
        right: 0; }
        @media screen and (min-width: 992px) {
          header .header-inner .header-user-wrapper::before {
            right: auto;
            left: 50%;
            transform: translateX(-50%); } }
      header .header-inner .header-user-wrapper::after {
        content: '';
        display: block;
        width: 100%;
        height: 20px;
        position: absolute;
        top: 100%;
        right: 0; }
      header .header-inner .header-user-wrapper:hover .header-user {
        display: block; }
      header .header-inner .header-user-wrapper.nologin {
        opacity: 0; }
        @media screen and (min-width: 992px) {
          header .header-inner .header-user-wrapper.nologin {
            display: none; } }
        header .header-inner .header-user-wrapper.nologin * {
          display: none; }
    header .header-inner .header-cart-wrapper {
      position: relative;
      margin-left: 10px; }
      header .header-inner .header-cart-wrapper a.miniCartLink {
        display: block;
        width: 40px;
        height: 40px;
        position: relative; }
        @media screen and (min-width: 992px) {
          header .header-inner .header-cart-wrapper a.miniCartLink {
            width: 60px; } }
        header .header-inner .header-cart-wrapper a.miniCartLink::before {
          content: '\e8cc';
          display: block;
          font-family: 'Material Icons';
          color: #28ABC2;
          font-size: 33px;
          line-height: 1;
          position: absolute;
          top: 5px;
          right: 0; }
          @media screen and (min-width: 992px) {
            header .header-inner .header-cart-wrapper a.miniCartLink::before {
              right: auto;
              left: 50%;
              top: 50%;
              transform: translate(-50%, -50%); } }
        header .header-inner .header-cart-wrapper a.miniCartLink::after {
          content: '';
          display: block;
          width: 100%;
          height: 20px;
          position: absolute;
          top: 100%;
          right: 0; }
        header .header-inner .header-cart-wrapper a.miniCartLink span.miniCartNumber {
          width: 18px;
          height: 18px;
          line-height: 18px;
          text-align: center;
          font-size: 12px;
          font-family: Arial;
          color: #fff;
          background-color: #F76F6F;
          border-radius: 50%;
          position: absolute;
          right: -2px;
          bottom: 0px; }
          @media screen and (min-width: 992px) {
            header .header-inner .header-cart-wrapper a.miniCartLink span.miniCartNumber {
              right: 8px; } }
      header .header-inner .header-cart-wrapper:hover .miniCart {
        display: block; }
    header .header-inner .header-subscribe-wrapper {
      display: none; }
      @media screen and (min-width: 992px) {
        header .header-inner .header-subscribe-wrapper {
          display: block; } }
      header .header-inner .header-subscribe-wrapper .subscribe-btn {
        display: block;
        border-radius: 5px;
        background-color: #ea1517;
        padding: 2px 10px; }
        header .header-inner .header-subscribe-wrapper .subscribe-btn > span {
          display: inline-block;
          font-size: 18px;
          color: #fff;
          position: relative;
          padding-left: 40px; }
          header .header-inner .header-subscribe-wrapper .subscribe-btn > span::before {
            content: '';
            display: block;
            width: 30px;
            aspect-ratio: 73/44;
            background-image: url(../img/subscribe/subscribe-btn.svg);
            background-repeat: no-repeat;
            position: absolute;
            top: 5px;
            left: 0; }
        header .header-inner .header-subscribe-wrapper .subscribe-btn:hover > span:before {
          width: 50px;
          aspect-ratio: 144/122;
          background-image: url(../img/subscribe/subscribe-btn-hover.svg);
          top: -5px;
          left: -12px; }
        header .header-inner .header-subscribe-wrapper .subscribe-btn.active {
          background-color: #F76F6F; }
          header .header-inner .header-subscribe-wrapper .subscribe-btn.active > span::before {
            width: 52px;
            aspect-ratio: 217/181;
            background-image: url(../img/subscribe/subscribe-btn-active.svg);
            position: absolute;
            top: -7px;
            left: -14px; }
    header .header-inner .header-subscribe-wrapper .renew-btn {
        display: block;
        border-radius: 5px;
        background-color: #7183ff;
        padding: 2px 10px; }
        header .header-inner .header-subscribe-wrapper .renew-btn > span {
          display: inline-block;
          font-size: 18px;
          color: #fff;
          position: relative;
          padding-left: 40px; }
          header .header-inner .header-subscribe-wrapper .renew-btn > span::before {
            content: '';
            display: block;
            width: 30px;
            aspect-ratio: 73/44;
            background-image: url(../img/subscribe/renew-btn.svg);
            background-repeat: no-repeat;
            position: absolute;
            top: 5px;
            left: 0; }
        header .header-inner .header-subscribe-wrapper .renew-btn:hover > span:before {
          width: 50px;
          aspect-ratio: 144/122;
          background-image: url(../img/subscribe/renew-btn-hover.svg);
          top: -5px;
          left: -12px; }

.header-explore-container {
  display: none;
  border: 1px solid #bbbbbb;
  background-color: var(--nav-dropdown-bg);
  backdrop-filter: blur(10px);
  position: absolute;
  top: calc(100% + 15px);
  left: 0; }
  .header-explore-container.right {
    left: auto;
    right: 0; }
  .header-explore-container .header-explore-box {
    display: flex; }
    .header-explore-container .header-explore-box .header-explore {
      width: 260px;
      border-left: 1px solid #bbb; }
      .header-explore-container .header-explore-box .header-explore:first-child {
        border: none; }
      .header-explore-container .header-explore-box .header-explore ul.header-explore-list {
        list-style: none;
        margin: 0;
        padding: 10px 0; }
        .header-explore-container .header-explore-box .header-explore ul.header-explore-list > li a {
          display: block;
          color: #999999;
          padding: 10px 15px;
          position: relative; }
          .header-explore-container .header-explore-box .header-explore ul.header-explore-list > li a.explore-category {
            padding-right: 30px; }
            .header-explore-container .header-explore-box .header-explore ul.header-explore-list > li a.explore-category::before {
              content: '\e409';
              display: block;
              font-family: 'Material Icons';
              font-size: 24px;
              position: absolute;
              top: 1px;
              right: 5px; }
          .header-explore-container .header-explore-box .header-explore ul.header-explore-list > li a:hover {
            color: #28ABC2; }
        .header-explore-container .header-explore-box .header-explore ul.header-explore-list > li.active a {
          color: #28ABC2; }
        .header-explore-container .header-explore-box .header-explore ul.header-explore-list.level2 {
          display: none; }

.header-user {
  display: none;
  width: 240px;
  border: 1px solid #bbbbbb;
  background-color: var(--nav-dropdown-bg);
  backdrop-filter: blur(10px);
  position: absolute;
  top: calc( 100% + 15px);
  right: 10px; }
  .header-user .user-profile {
    display: flex;
    align-items: center;
    color: #28ABC2;
    padding: 15px; }
    .header-user .user-profile .user-head {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      overflow: hidden; }
    .header-user .user-profile .user-detail {
      width: calc( 100% - 60px);
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      padding-left: 10px; }
      .header-user .user-profile .user-detail .user-name {
        width: 100%; }
      .header-user .user-profile .user-detail .user-email {
        display: -webkit-box;
        word-break: break-all;
        text-align: justify;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.5;
        color: #999999;
        max-width: 100%;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical; }
  .header-user .user-list {
    list-style: none;
    margin: 0;
    padding: 10px 0;
    border-top: 1px solid #bbb; }
    .header-user .user-list li._flex {
      display: flex;
      justify-content: space-between;
      align-items: center; }
    .header-user .user-list li a {
      display: block;
      color: #999999;
      padding: 10px 15px; }
      .header-user .user-list li a:hover {
        color: #28ABC2; }
    .header-user .user-list li .hightlightText {
      display: inline-block;
      color: #28ABC2;
      font-size: 18px;
      padding-left: 0.5em;
      padding-right: 15px; }

/*搜尋欄*/
.search-container {
	display: none;
	@media screen and (min-width: 1200px) {
		flex: 1;
		max-width: 25%; /* 佔 navbar 4分之一 */
		display: flex;
		align-items: center;
		position: relative;
		background:var(--nav-bg);
		border: 2px solid #ccc;
		border-radius: 4px;
		padding: 5px;
		margin-left: auto;
		margin-right: 1.5rem;	
	}
}
.search-container:focus-within {
		border-color: #28ABC2;
	}
.search-icon {
	width: 20px;
	height: 20px;
	margin-right: 10px;
}
.search-input {
	width: 100%;
	height: 30px;
	font-size: 16px;
	background-color:var(--nav-bg);
	color:var(--nav-text);
	border: none;
	outline: none;
}
.search-dropdown {
	display: none;
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	background: var(--nav-dropdown-bg);
	border: 1px solid #ccc;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	padding: 10px;
}
.search-dropdown div {
	display: flex;
	align-items: center;
	padding: 8px;
	cursor: pointer;
	color: var(--nav-text);
}
.search-dropdown span {
	color: #28ABC2;
	font-size: 16px;
	font-weight: 500;
}
.search-dropdown .hot-ketword img {
	width: 40px;
	margin-right: 10px;
}

.search-dropdown .recommend-class img {
	width: 80px;
	margin-right: 10px;
}

.search-dropdown div:hover {
	background-color: #28ABC2;
}

.search-list-header {
    width: 100%;
    max-width: 1320px;
    display: flex;
    justify-content: left;
    align-items: center;
    border-radius: 20px;
    margin: 20px auto 0;
}
.search-list-header h2 {
    font-size: 30px;
    text-align: center;
    color: #28abc2;
    padding: 0 20px;
}


.burger-wrapper {
  width: 40px;
  height: 40px;
  position: relative;
  cursor: pointer; }
  @media screen and (min-width: 992px) {
    .burger-wrapper {
      display: none; } }
  .burger-wrapper span {
    display: block;
    width: 30px;
    height: 3px;
    background-color: #28ABC2;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .16s ease-in; }
    .burger-wrapper span:nth-of-type(1) {
      top: 50%; }
    .burger-wrapper span:nth-of-type(2) {
      top: 75%; }
    .burger-wrapper span:nth-of-type(3) {
      top: 25%; }
  .burger-wrapper.active span:nth-of-type(1) {
    top: 50%;
    transform: translate(-50%, -50%) scale(0); }
  .burger-wrapper.active span:nth-of-type(2) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(135deg); }
  .burger-wrapper.active span:nth-of-type(3) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-135deg); }

.sidebar {
  max-width: 750px;
  width: 100%;
  height: calc( 100vh - 70px);
  padding: 30px 30px;
  border: 5px solid #28ABC2;
  background-color: #fff;
  position: fixed;
  top: 49px;
  left: 0;
  z-index: 30;
  transition: .3s ease-in-out;
  transform: translateX(-100%); }
  @media screen and (min-width: 992px) {
    .sidebar {
      display: none; } }
  .sidebar ul.sidebar-nav {
    list-style: none;
    margin: 0;
    padding: 0; }
    .sidebar ul.sidebar-nav > li {
      border-bottom: 1px solid #28ABC2;
      position: relative;
      left: -300px;
      opacity: 0;
      transition: .5s ease .0s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(1) {
        transition-delay: 0s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(2) {
        transition-delay: 0.06s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(3) {
        transition-delay: 0.12s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(4) {
        transition-delay: 0.18s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(5) {
        transition-delay: 0.24s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(6) {
        transition-delay: 0.3s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(7) {
        transition-delay: 0.36s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(8) {
        transition-delay: 0.42s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(9) {
        transition-delay: 0.48s; }
      .sidebar ul.sidebar-nav > li:nth-of-type(10) {
        transition-delay: 0.54s; }
      .sidebar ul.sidebar-nav > li > a {
        display: block;
        font-size: 18px;
        color: #28ABC2;
        padding: 20px 15px 20px 40px;
        position: relative;
        transition: .3s; }
        .sidebar ul.sidebar-nav > li > a::before {
          content: '';
          display: block;
          font-size: 28px;
          font-family: 'Material Icons';
          line-height: 1em;
          position: absolute;
          top: 19px;
          left: 0; }
        .sidebar ul.sidebar-nav > li > a.course::before {
          content: '\e87a'; }
        .sidebar ul.sidebar-nav > li > a.video::before {
          content: '\f06a'; }
        .sidebar ul.sidebar-nav > li > a.about::before {
          content: '\ea19'; }
        .sidebar ul.sidebar-nav > li > a.account::before {
          content: '\e853'; }
        .sidebar ul.sidebar-nav > li > a.howto::before {
          content: '\e887'; }
        .sidebar ul.sidebar-nav > li > a.logout::before {
          content: '\e890'; }
        .sidebar ul.sidebar-nav > li > a.subscribe {
          color: #ea1517; }
        .sidebar ul.sidebar-nav > li > a.renew {
          color: #7183ff; }
          .sidebar ul.sidebar-nav > li > a.subscribe::before {
            width: 40px;
            aspect-ratio: 144/122;
            background-image: url(../img/subscribe/subscribe-btn-hover.svg);
            background-repeat: no-repeat;
            top: 14px;
            left: -6px; }
          .sidebar ul.sidebar-nav > li > a.renew::before {
            width: 40px;
            aspect-ratio: 144/122;
            background-image: url(../img/subscribe/renew-btn-hover.svg);
            background-repeat: no-repeat;
            top: 14px;
            left: -6px; }
        .sidebar ul.sidebar-nav > li > a.sidebar-menu {
          padding-right: 30px; }
          .sidebar ul.sidebar-nav > li > a.sidebar-menu::after {
            content: '\e409';
            display: block;
            font-family: 'Material Icons';
            font-size: 24px;
            position: absolute;
            top: 15px;
            right: 5px; }
        .sidebar ul.sidebar-nav > li > a.open {
          padding-bottom: 10px; }
        .sidebar ul.sidebar-nav > li > a.subscribed .subscribeLabel {
          display: inline-block;
          font-size: 14px;
          color: #fff;
          background-color: #F76F6F;
          border-radius: 5px;
          padding: 2px 7px;
          margin-left: 5px; }
      .sidebar ul.sidebar-nav > li > ul {
        display: none;
        list-style: none;
        margin: 0;
        padding: 0 5px 15px 40px; }
        .sidebar ul.sidebar-nav > li > ul > li > a {
          display: block;
          padding: 5px 0;
          color: #000; }
  .sidebar::-webkit-scrollbar {
    width: 10px; }
  .sidebar::-webkit-scrollbar-track {
    background: #fff; }
  .sidebar::-webkit-scrollbar-thumb {
    background: #888; }
  .sidebar::-webkit-scrollbar-thumb:hover {
    background: #555; }
  .sidebar.active {
    transform: translateX(0%);
    overflow-y: scroll;
    overflow-x: hidden; }
    .sidebar.active ul.sidebar-nav > li {
      left: 0px;
      opacity: 1; }

.miniCart {
  display: none;
  width: 400px;
  max-height: 400px;
  overflow-y: scroll;
  background-color: var(--nav-dropdown-bg);
  backdrop-filter: blur(10px);
  border: 1px solid #bbbbbb;
  padding: 5px 15px 15px;
  position: absolute;
  top: calc(100% + 15px);
  right: -10px; }
  .miniCart::-webkit-scrollbar {
    width: 4px; }
  .miniCart::-webkit-scrollbar-thumb {
    background: rgba(60, 60, 60, 0.3);
    opacity: 0.3; }
  .miniCart .miniCart-empty {
    padding: 30px 10px 15px; }
    .miniCart .miniCart-empty .text {
      font-size: 16px;
      text-align: center;
      color: #999999;
      margin-bottom: 30px; }
    .miniCart .miniCart-empty .go-to {
      display: block;
      width: 100%;
      padding: 5px 0;
      border-radius: 4px;
      background-color: #28ABC2;
      color: #fff;
      font-size: 14px;
      text-align: center; }
  .miniCart .miniCart-item {
    border-bottom: 1px dotted #999999;
    padding: 10px 5px 10px 140px;
    min-height: 100px;
    position: relative; }
    .miniCart .miniCart-item .cancel-btn {
      display: inline-block;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background-color: #F76F6F;
      color: #fff;
      font-size: 16px;
      line-height: 18px;
      font-weight: bold;
      cursor: pointer;
      text-align: center;
      position: absolute;
      top: 7px;
      left: -2px;
      z-index: 2; }
      .miniCart .miniCart-item .cancel-btn:hover {
        background-color: #fa9f9f; }
    .miniCart .miniCart-item .miniCart-item-photo {
      width: 125px;
      height: 70px;
      overflow: hidden;
      position: absolute;
      top: 10px;
      left: 0px; }
    .miniCart .miniCart-item .miniCart-item-title {
      font-size: 14px;
      color: #999999;
      text-align: justify;
      margin-bottom: 3px; }
    .miniCart .miniCart-item .miniCart-item-money {
      font-family: Arial;
      font-size: 14px;
      font-weight: bold;
      text-align: right;
      color: #F76F6F; }
    .miniCart .miniCart-item.discount {
      padding: 10px 5px;
      min-height: auto; }
      .miniCart .miniCart-item.discount .miniCart-item-money {
        text-align: left;
        font-weight: normal; }
  .miniCart .miniCart-summary-wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding-top: 10px; }
    .miniCart .miniCart-summary-wrapper .miniCart-summary-amount {
      width: 40%;
      font-family: Arial;
      font-size: 14px;
      text-align: center; }
      .miniCart .miniCart-summary-wrapper .miniCart-summary-amount .text {
        color: #999999; }
      .miniCart .miniCart-summary-wrapper .miniCart-summary-amount .number {
        font-weight: bold;
        color: #F76F6F; }
    .miniCart .miniCart-summary-wrapper .miniCart-summary-btn {
      display: block;
      width: 60%;
      padding: 5px 0;
      border-radius: 4px;
      background-color: #28ABC2;
      color: #fff;
      font-size: 14px;
      text-align: center; }
      .miniCart .miniCart-summary-wrapper .miniCart-summary-btn:hover {
        background-color: #44c2d9; }

.miniCart-tip {
  display: none;
  width: 96%;
  padding: 20px;
  font-size: 14px;
  text-align: center;
  color: #999999;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  position: fixed;
  top: 10px;
  right: 2%;
  z-index: 50; }
  @media screen and (min-width: 992px) {
    .miniCart-tip {
      width: max-content;
      top: 10px;
      right: 10px; } }
  .miniCart-tip .addProduct {
    display: inline-block;
    color: #28ABC2; }

footer {
  margin-top: 80px;
  background-color: #212529;
  padding: 60px 20px 10px;
  border-radius: 100px 100px 0 0; }
  footer .footer-inner-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    position: relative; }
    @media screen and (min-width: 992px) {
      footer .footer-inner-wrapper {
        display: flex;
        flex-wrap: wrap; } }
  footer .footerGoTop {
    position: absolute;
    right: 50%;
    top: -100px;
    margin-right: -36px;
    z-index: 50;
    cursor: pointer; }
    @media screen and (min-width: 992px) {
      footer .footerGoTop {
        right: 0;
        margin-right: 0; } }
    footer .footerGoTop::before {
      content: '';
      display: block;
      width: 120%;
      height: 120%;
      border-radius: 53% 40% 60% 10%;
      background-color: #212529;
      position: absolute;
      top: -10%;
      left: -10%;
      z-index: -1; }
    footer .footerGoTop > div {
      display: block;
      width: 75px;
      height: 60px;
      background: url(../img/gotop.svg) 106% 0%/144px 60px no-repeat; }
      footer .footerGoTop > div > span {
        display: inline-block;
        font-family: Arial;
        font-weight: bold;
        color: #fff;
        position: absolute;
        bottom: 10px;
        left: 21px;
        transform: rotate(0deg); }
    footer .footerGoTop:hover > div {
      background-position-x: 0%; }
      footer .footerGoTop:hover > div > span {
        transform: rotate(-10deg); }
  footer .footer-slogan-wrapper {
    width: auto;
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (min-width: 992px) {
      footer .footer-slogan-wrapper {
        width: 220px;
        margin-bottom: 0; } }
    footer .footer-slogan-wrapper a.footer-logo {
      display: block;
      margin-bottom: 10px; }
      footer .footer-slogan-wrapper a.footer-logo img {
        width: 150px; }
      @media screen and (min-width: 992px) {
        footer .footer-slogan-wrapper a.footer-logo {
          margin-bottom: 20px; }
          footer .footer-slogan-wrapper a.footer-logo img {
            width: 200px; } }
    footer .footer-slogan-wrapper .footer-text-wrapper {
      text-align: left; }
      footer .footer-slogan-wrapper .footer-text-wrapper .footer-text {
        font-size: 13px;
        color: #bbbbbb;
        margin-bottom: 10px; }
        footer .footer-slogan-wrapper .footer-text-wrapper .footer-text a, footer .footer-slogan-wrapper .footer-text-wrapper .footer-text span {
          color: #bbbbbb; }
    footer .footer-slogan-wrapper .footer-social-wrapper {
      display: flex;
      justify-content: center;
      margin: 10px auto 20px; }
      @media screen and (min-width: 992px) {
        footer .footer-slogan-wrapper .footer-social-wrapper {
          width: 200px;
          justify-content: space-around;
          margin: 10px auto 20px; } }
      footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social {
        display: flex;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: #28ABC2;
        justify-content: center;
        align-items: center;
        position: relative;
        margin: 0 10px; }
        @media screen and (min-width: 992px) {
          footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social {
            margin: 0; } }
        footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social::before {
          content: '';
          display: block;
          font-size: 24px;
          font-family: FontAwesome;
          line-height: 1;
          color: #fff; }
        footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social.instagram::before {
          content: '\f16d'; }
        footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social.youtube::before {
          content: '\f16a'; }
        footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social.facebook::before {
          content: '\f09a'; }
        footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social:hover {
          background-color: #fff;
          box-shadow: 0 0 0 2px #28ABC2; }
          footer .footer-slogan-wrapper .footer-social-wrapper a.footer-social:hover::before {
            color: #28ABC2; }
  footer .footer-link-wrapper {
    display: none; }
    @media screen and (min-width: 992px) {
      footer .footer-link-wrapper {
        display: flex;
        flex: 2 1 0; } }
    footer .footer-link-wrapper .footer-link-box {
      padding-left: 60px; }
      @media screen and (min-width: 1200px) {
        footer .footer-link-wrapper .footer-link-box {
          padding-left: 90px; } }
      footer .footer-link-wrapper .footer-link-box .footer-link-title {
        font-size: 18px;
        color: #28ABC2;
        position: relative;
        margin-bottom: 15px; }
      footer .footer-link-wrapper .footer-link-box ul.footer-link {
        list-style: none;
        margin: 0;
        padding: 0; }
        footer .footer-link-wrapper .footer-link-box ul.footer-link li a {
          display: block;
          font-size: 16px;
          color: #bbbbbb;
          padding: 3px 0; }
          footer .footer-link-wrapper .footer-link-box ul.footer-link li a:hover {
            color: #28ABC2; }
  footer .footer-botttom-wrapper {
    width: 100%;
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid #bbbbbb;
    text-align: center;
    color: #999999; }

.page-header.cart {
  padding: 30px 0 50px;
  background-size: 100% 100px;
  margin-bottom: 0px; }
  @media screen and (min-width: 768px) {
    .page-header.cart {
      background-size: 100% 200px;
      margin-bottom: 90px; } }
  .page-header.cart .page-header-title-wrapper {
    display: flex;
    justify-content: center; }
    .page-header.cart .page-header-title-wrapper .cart-header-title {
      margin-top: 0;
      margin-bottom: 0; }
      @media screen and (min-width: 768px) {
        .page-header.cart .page-header-title-wrapper .cart-header-title {
          margin-top: 40px;
          margin-bottom: 20px; } }
      .page-header.cart .page-header-title-wrapper .cart-header-title span {
        display: inline-block;
        font-size: 20px;
        font-weight: bold;
        letter-spacing: 0.08em;
        padding: 10px 20px;
        background-color: #fff;
        color: #000; }
        @media screen and (min-width: 768px) {
          .page-header.cart .page-header-title-wrapper .cart-header-title span {
            font-size: 30px;
            padding: 15px 25px; } }

.cart-step-wrapper {
  max-width: 600px;
  margin: auto;
  padding: 0 40px; }
  .cart-step-wrapper .cart-step {
    font-size: 0px;
    text-align: center;
    padding-top: 50px; }
    @media screen and (min-width: 768px) {
      .cart-step-wrapper .cart-step {
        padding-top: 70px; } }
    .cart-step-wrapper .cart-step .step-point {
      display: inline-block;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background-color: #2889D4;
      box-shadow: 0 0 0 3px #bcdbf2;
      position: relative; }
      .cart-step-wrapper .cart-step .step-point:before {
        content: attr(data-step);
        display: block;
        font-size: 15px;
        color: #2889D4;
        white-space: nowrap;
        position: absolute;
        top: -35px;
        left: 50%;
        transform: translateX(-50%); }
        @media screen and (min-width: 768px) {
          .cart-step-wrapper .cart-step .step-point:before {
            top: -45px;
            font-size: 20px; } }
      .cart-step-wrapper .cart-step .step-point.point1 {
        background-color: #2889D4;
        box-shadow: 0 0 0 3px #bcdbf2; }
      .cart-step-wrapper .cart-step .step-point.point2 {
        background-color: #999999;
        box-shadow: 0 0 0 3px #f2f2f2; }
        .cart-step-wrapper .cart-step .step-point.point2:before {
          color: #999999; }
      .cart-step-wrapper .cart-step .step-point.point3 {
        background-color: #999999;
        box-shadow: 0 0 0 3px #f2f2f2; }
        .cart-step-wrapper .cart-step .step-point.point3:before {
          color: #999999; }
    .cart-step-wrapper .cart-step .step-line {
      display: inline-block;
      width: calc((100% - 36px) / 2);
      height: 12px;
      position: relative; }
      .cart-step-wrapper .cart-step .step-line:before {
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        background-color: #2889D4;
        position: absolute;
        top: 5px; }
      .cart-step-wrapper .cart-step .step-line.line1::before {
        background-color: #999999; }
      .cart-step-wrapper .cart-step .step-line.line2::before {
        background-color: #999999; }
    .cart-step-wrapper .cart-step.step2 .step-point.point2 {
      background-color: #2889D4;
      box-shadow: 0 0 0 3px #bcdbf2; }
      .cart-step-wrapper .cart-step.step2 .step-point.point2:before {
        color: #2889D4; }
    .cart-step-wrapper .cart-step.step2 .step-line.line1::before {
      background-color: #2889D4; }
    .cart-step-wrapper .cart-step.step3 .step-point.point2, .cart-step-wrapper .cart-step.step3 .step-point.point3 {
      background-color: #2889D4;
      box-shadow: 0 0 0 3px #bcdbf2; }
      .cart-step-wrapper .cart-step.step3 .step-point.point2:before, .cart-step-wrapper .cart-step.step3 .step-point.point3:before {
        color: #2889D4; }
    .cart-step-wrapper .cart-step.step3 .step-line.line1::before, .cart-step-wrapper .cart-step.step3 .step-line.line2::before {
      background-color: #2889D4; }

.cart-section-title {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #28ABC2;
  position: relative;
  padding-left: 15px;
  margin-bottom: 15px; }
  .cart-section-title:before {
    content: '';
    display: block;
    width: 5px;
    height: 100%;
    background-color: #28ABC2;
    position: absolute;
    top: 0;
    left: 0; }
  .cart-section-title .same-check {
    display: inline-block;
    font-size: 14px;
    color: #999999;
    margin-left: 30px; }
    .cart-section-title .same-check label {
      margin-bottom: 0; }

.cart-section-subtitle {
  font-size: 17px;
  font-weight: bold;
  color: #000;
  padding: 10px 15px;
  border-bottom: 1px solid #999999;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .cart-section-subtitle {
      margin-bottom: 30px; } }

.cart-section {
  margin-bottom: 50px; }

.cart-table {
  width: 100%;
  border-bottom: 1px solid #999999; }
  .cart-table th, .cart-table td {
    padding: 7px 15px; }
    .cart-table th.center, .cart-table td.center {
      text-align: center; }
    .cart-table th.right, .cart-table td.right {
      text-align: right; }
  .cart-table thead {
    border-bottom: 1px solid #999999; }
    .cart-table thead th {
      font-size: 18px;
      font-weight: bold;
      color: #000; }
  .cart-table tbody tr:first-of-type td {
    padding-top: 14px; }
  .cart-table tbody tr:last-of-type td {
    padding-bottom: 14px; }
  .cart-table .remove-item, .cart-table .highlight {
    color: #F76F6F; }

@media screen and (min-width: 768px) {
  .cart-product-info {
    display: flex;
    align-items: center; } }

.cart-product-info .product-img {
  width: 125px; }

.cart-product-info .product-title {
  margin-top: 10px; }
  @media screen and (min-width: 768px) {
    .cart-product-info .product-title {
      padding-left: 10px;
      margin-top: 0; } }

.cart-intro-wrapper {
  text-align: justify;
  padding: 0 15px;
  margin-bottom: 20px; }

.cart-checkbox-wrapper {
  display: flex;
  flex-wrap: wrap;
  padding-left: 15px;
  margin-bottom: 10px; }
  .cart-checkbox-wrapper .cart-checkbox {
    display: block;
    width: 50%;
    margin-bottom: 15px; }
    @media screen and (min-width: 768px) {
      .cart-checkbox-wrapper .cart-checkbox {
        width: 33.33%; } }
    .cart-checkbox-wrapper .cart-checkbox label {
      cursor: pointer; }
    .cart-checkbox-wrapper .cart-checkbox input {
      display: none; }
    .cart-checkbox-wrapper .cart-checkbox span {
      display: inline-block;
      font-size: 15px;
      position: relative;
      padding-left: 24px; }
      .cart-checkbox-wrapper .cart-checkbox span:before, .cart-checkbox-wrapper .cart-checkbox span:after {
        content: '';
        display: block;
        position: absolute;
        border-radius: 50%;
        transition: .3s; }
      .cart-checkbox-wrapper .cart-checkbox span:before {
        width: 14px;
        height: 14px;
        background-color: #fff;
        border: 1px solid #bbbbbb;
        top: 4px;
        left: 1px; }
      .cart-checkbox-wrapper .cart-checkbox span:after {
        width: 8px;
        height: 8px;
        background-color: #000;
        top: 7px;
        left: 4px;
        transform: scale(0);
        opacity: 0; }
    .cart-checkbox-wrapper .cart-checkbox:hover span {
      color: #555; }
    .cart-checkbox-wrapper .cart-checkbox input:checked + span {
      color: #000; }
      .cart-checkbox-wrapper .cart-checkbox input:checked + span:after {
        transform: scale(1);
        opacity: 1; }

.cart-radio-wrapper .cart-radio {
  display: block;
  margin-bottom: 15px;
  cursor: pointer; }
  .cart-radio-wrapper .cart-radio input[type="radio"] {
    display: none; }
  .cart-radio-wrapper .cart-radio input[type="radio"] + div {
    font-size: 15px;
    position: relative;
    padding-left: 24px; }
    .cart-radio-wrapper .cart-radio input[type="radio"] + div:before, .cart-radio-wrapper .cart-radio input[type="radio"] + div:after {
      content: '';
      display: block;
      position: absolute;
      border-radius: 50%;
      transition: .3s; }
    .cart-radio-wrapper .cart-radio input[type="radio"] + div:before {
      width: 14px;
      height: 14px;
      background-color: #fff;
      border: 1px solid #bbbbbb;
      top: 4px;
      left: 1px; }
    .cart-radio-wrapper .cart-radio input[type="radio"] + div:after {
      width: 8px;
      height: 8px;
      background-color: #000;
      top: 7px;
      left: 4px;
      transform: scale(0);
      opacity: 0; }
  .cart-radio-wrapper .cart-radio input[type="radio"]:checked + div {
    color: #000; }
    .cart-radio-wrapper .cart-radio input[type="radio"]:checked + div:after {
      transform: scale(1);
      opacity: 1; }

.cart-input-wrapper {
  padding: 0 15px;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .cart-input-wrapper {
      width: 50%;
      margin-bottom: 80px; } }
  .cart-input-wrapper.full {
    width: 100%; }

.cart-input-row {
  flex-wrap: wrap;
  margin-bottom: 25px; }
  @media screen and (min-width: 768px) {
    .cart-input-row {
      display: flex;
      flex-wrap: nowrap;
      align-items: center; } }
  .cart-input-row .input-label {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .cart-input-row .input-label {
        width: 120px; } }
    .cart-input-row .input-label label {
      font-size: 16px;
      font-weight: normal;
      color: #000;
      margin: 0; }
    .cart-input-row .input-label.required {
      position: relative; }
      .cart-input-row .input-label.required:before {
        content: '*';
        display: block;
        color: #f00;
        position: absolute;
        top: 0;
        left: -10px; }
  .cart-input-row .input-content {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .cart-input-row .input-content {
        width: calc( 100% - 120px);
        padding-left: 10px; }
        .cart-input-row .input-content.coupon {
          max-width: 300px; } }
    .cart-input-row .input-content input[type="text"] {
      display: block;
      width: 100%;
      padding: 3px 5px; }
    .cart-input-row .input-content textarea {
      display: block;
      width: 100%;
      padding: 3px 5px;
      resize: none; }
    .cart-input-row .input-content select {
      display: block;
      width: 100%;
      padding: 3px 5px;
      margin-bottom: 10px; }
      @media screen and (min-width: 768px) {
        .cart-input-row .input-content select {
          display: inline-block;
          width: calc( 50% - 20px); }
          .cart-input-row .input-content select.full {
            width: 100%;
            margin-bottom: 0; } }
  .cart-input-row .input-submit {
    width: 100%;
    padding-top: 10px; }
    @media screen and (min-width: 768px) {
      .cart-input-row .input-submit {
        width: 90px;
        padding-top: 0;
        padding-left: 10px; } }
    .cart-input-row .input-submit a.submit {
      display: inline-block;
      font-size: 15px;
      width: 100%;
      height: 31px;
      line-height: 31px;
      text-align: center;
      color: #fff;
      background-color: #28ABC2;
      border-radius: 3px; }
      .cart-input-row .input-submit a.submit.border {
        border: 1px solid #28ABC2;
        background-color: #28ABC2;
        color: #fff; }
        .cart-input-row .input-submit a.submit.border:hover {
          background-color: #44c2d9; }
  .cart-input-row .cart-input-bridge {
    font-size: 14px;
    color: #000;
    text-align: center;
    margin: 10px 0; }
    @media screen and (min-width: 768px) {
      .cart-input-row .cart-input-bridge {
        margin: 0 0 0 20px; } }
  .cart-input-row .cart-social-btn {
    display: block;
    font-size: 15px;
    width: 100%;
    height: 31px;
    line-height: 31px;
    text-align: center;
    color: #fff;
    border: 1px solid #000;
    border-radius: 3px;
    margin-top: 10px; }
    @media screen and (min-width: 768px) {
      .cart-input-row .cart-social-btn {
        width: 120px;
        font-size: 14px;
        margin-left: 10px;
        margin-top: 0; } }
    @media screen and (min-width: 992px) {
      .cart-input-row .cart-social-btn {
        font-size: 15px;
        margin-left: 20px; } }
    .cart-input-row .cart-social-btn.facebook {
      background-color: #4f71b6;
      border-color: #4f71b6;
      color: #fff; }
      .cart-input-row .cart-social-btn.facebook:hover {
        background-color: #738ec5; }
    .cart-input-row .cart-social-btn.line {
      background-color: #00C200;
      border-color: #00C200;
      color: #fff; }
      .cart-input-row .cart-social-btn.line:hover {
        background-color: #52cf52; }
    .cart-input-row .cart-social-btn.google {
      background-color: #DF4B31;
      border-color: #DF4B31;
      color: #fff; }
      .cart-input-row .cart-social-btn.google:hover {
        background-color: #ea6750; }
    .cart-input-row .cart-social-btn.apple {
      background-color: #000;
      border-color: #000;
      color: #fff; }
      .cart-input-row .cart-social-btn.apple:hover {
        background-color: #555; }
  .cart-input-row.mt {
    margin-top: 25px; }
  .cart-input-row.discount {
    font-size: 14px;
    padding-left: 40px;
    margin-top: -10px;
    margin-bottom: 10px;
    position: relative; }
    .cart-input-row.discount.isShow {
      display: flex; }
    .cart-input-row.discount.isHide {
      display: none; }
    .cart-input-row.discount .input-label label {
      font-size: 14px; }
    .cart-input-row.discount .input-content {
      max-width: 180px; }
      @media screen and (min-width: 768px) {
        .cart-input-row.discount .input-content {
          max-width: 300px; } }
    .cart-input-row.discount.discount-item .remove-discount {
      display: inline-block;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background-color: #F76F6F;
      color: #fff;
      font-size: 14px;
      line-height: 14px;
      font-weight: bold;
      cursor: pointer;
      text-align: center;
      position: absolute;
      top: 4px;
      left: 15px;
      z-index: 2; }
    .cart-input-row.discount.discount-item .input-label label {
      color: #888; }

.cart-info-box {
  padding: 20px;
  border: 1px dashed #28ABC2; }
  @media screen and (min-width: 768px) {
    .cart-info-box {
      padding: 20px 20px; } }

.modal-loading {
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 0;
  left: 0; }
  .modal-loading .loading-pic {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.modal-dialog .modal-content {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: none; }
  .modal-dialog .modal-content .modal-header {
    border-radius: 5px;
    border-bottom: none;
    background-color: #28ABC2;
    padding: 5px 0;
    min-height: auto; }
    .modal-dialog .modal-content .modal-header .close {
      width: 20px;
      height: 20px;
      border-radius: 10px;
      background-color: #F76F6F;
      text-shadow: none;
      color: #fff;
      opacity: 1;
      position: relative;
      top: 4px;
      right: 0;
      z-index: 2; }
      .modal-dialog .modal-content .modal-header .close span {
        display: inline-block;
        transform: translateY(-2px); }
  .modal-dialog .modal-content .modal-footer {
    border-radius: 5px;
    border-top: none;
    background-color: #28ABC2;
    padding: 5px 0;
    min-height: auto; }
  .modal-dialog .modal-content .modal-body {
    margin-left: 10px;
    margin-right: 10px;
    background-color: #fff; }
  .modal-dialog .modal-content .panel-body {
    padding: 0; }
  @media screen and (min-width: 768px) {
    .modal-dialog .modal-content .modal-plus-title, .modal-dialog .modal-content .modal-plus-intro {
      float: right;
      width: 250px;
      padding-left: 15px; } }
  .modal-dialog .modal-content .modal-plus-title {
    font-size: 16px;
    font-weight: bold;
    color: #000;
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      .modal-dialog .modal-content .modal-plus-title {
        padding-top: 30px; } }
  .modal-dialog .modal-content .modal-plus-photo {
    text-align: center; }
    @media screen and (min-width: 768px) {
      .modal-dialog .modal-content .modal-plus-photo {
        float: left;
        width: 300px; } }
  .modal-dialog .modal-content .modal-plus-content {
    margin-top: 20px; }
    @media screen and (min-width: 768px) {
      .modal-dialog .modal-content .modal-plus-content {
        float: left;
        width: 100%;
        font-size: 13px;
        line-height: 1.7;
        padding: 20px 10px 0;
        color: #666;
        border-top: 1px solid #666; } }
  .modal-dialog .modal-content .intro-title {
    display: block;
    font-size: 13px;
    color: #666;
    position: relative;
    padding-left: 10px;
    margin-bottom: 5px; }
    .modal-dialog .modal-content .intro-title:before {
      content: attr(data-intro);
      display: block; }
    .modal-dialog .modal-content .intro-title:after {
      content: '';
      display: block;
      width: 5px;
      height: 5px;
      background-color: #2889D4;
      position: absolute;
      top: 7px;
      left: 0;
      transform: rotate(45deg); }
  .modal-dialog .modal-content .modal-main-title {
    font-size: 20px;
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px; }
    @media screen and (min-width: 768px) {
      .modal-dialog .modal-content .modal-main-title {
        font-size: 24px; } }
    .modal-dialog .modal-content .modal-main-title span {
      display: inline-block;
      font-size: 28px;
      font-style: italic;
      letter-spacing: 0.08em;
      position: relative;
      z-index: 1; }
      .modal-dialog .modal-content .modal-main-title span:before {
        content: '';
        display: block;
        width: 103%;
        height: 10px;
        background-color: #eef9fb;
        position: absolute;
        left: -3px;
        bottom: 2px;
        z-index: -1; }
  .modal-dialog .modal-content .modal-intro {
    font-size: 12px;
    text-align: center;
    margin-bottom: 10px; }
    @media screen and (min-width: 768px) {
      .modal-dialog .modal-content .modal-intro {
        margin-bottom: 25px; } }
  .modal-dialog .modal-content .modal-blocks {
    text-align: justify;
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      .modal-dialog .modal-content .modal-blocks {
        margin-bottom: 35px; } }
    .modal-dialog .modal-content .modal-blocks .modal-blocks-title {
      text-align: left;
      font-size: 16px;
      color: #2889D4;
      margin-bottom: 5px; }
      .modal-dialog .modal-content .modal-blocks .modal-blocks-title span {
        display: block; }
      @media screen and (min-width: 768px) {
        .modal-dialog .modal-content .modal-blocks .modal-blocks-title {
          font-size: 18px; }
          .modal-dialog .modal-content .modal-blocks .modal-blocks-title span {
            display: inline-block; } }
    .modal-dialog .modal-content .modal-blocks .modal-blocks-intro {
      font-size: 14px;
      color: #206da9;
      padding: 0 7px;
      margin-bottom: 5px; }
      @media screen and (min-width: 768px) {
        .modal-dialog .modal-content .modal-blocks .modal-blocks-intro {
          font-size: 16px;
          padding: 0 30px; } }
    .modal-dialog .modal-content .modal-blocks .modal-blocks-text {
      padding: 0 7px;
      line-height: 1.8; }
      @media screen and (min-width: 768px) {
        .modal-dialog .modal-content .modal-blocks .modal-blocks-text {
          padding: 0 30px; } }
  .modal-dialog .modal-content .modal-method-desc {
    margin-bottom: 30px; }
    .modal-dialog .modal-content .modal-method-desc ol {
      padding-left: 1em; }
      .modal-dialog .modal-content .modal-method-desc ol li {
        text-align: justify; }
  .modal-dialog .modal-content .modal-content-footer {
    font-size: 12px;
    text-align: center;
    position: relative;
    padding-top: 20px; }
    .modal-dialog .modal-content .modal-content-footer:before {
      content: '---';
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
    .modal-dialog .modal-content .modal-content-footer p {
      margin: 0; }
  .modal-dialog .modal-content .modal-contract .well {
    max-height: 50vh;
    overflow-x: auto;
    padding-bottom: 1px;
    -webkit-overflow-scrolling: touch; }
    @media screen and (min-width: 768px) {
      .modal-dialog .modal-content .modal-contract .well {
        max-height: 70vh; } }
    .modal-dialog .modal-content .modal-contract .well::-webkit-scrollbar {
      width: 5px;
      background-color: #aaa; }
    .modal-dialog .modal-content .modal-contract .well::-webkit-scrollbar-thumb {
      background: #000; }
  .modal-dialog .modal-content .modal-contract .modal-contract-note {
    font-size: 14px;
    text-align: center;
    color: #F69495;
    opacity: 0; }
    .modal-dialog .modal-content .modal-contract .modal-contract-note.show {
      opacity: 1; }
  .modal-dialog .modal-content .modal-contract .modal-contract-check {
    text-align: center; }
    .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox {
      display: inline-block;
      font-weight: normal;
      cursor: pointer;
      padding-top: 5px;
      margin-top: 0;
      margin-right: 15px;
      margin-bottom: 5px; }
      .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox input[type="checkbox"] {
        display: none; }
      .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox .checkboxText {
        display: block;
        font-size: 16px;
        position: relative;
        padding-left: 25px; }
        .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox .checkboxText::before, .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox .checkboxText::after {
          content: '';
          display: block;
          position: absolute; }
        .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox .checkboxText::before {
          width: 20px;
          height: 20px;
          border: 2px solid #28ABC2;
          border-radius: 4px;
          top: 2px;
          left: 0px; }
        .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox .checkboxText::after {
          content: '\f00c';
          font-size: 14px;
          line-height: 1;
          font-family: fontAwesome;
          color: #fff;
          top: 5px;
          left: 3px;
          transform: scale(0);
          transition: .2s; }
      .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox input[type="checkbox"]:checked ~ .checkboxText::before {
        background-color: #28ABC2; }
      .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox input[type="checkbox"]:checked ~ .checkboxText::after {
        transform: scale(1); }
      .modal-dialog .modal-content .modal-contract .modal-contract-check label.checkbox.disabled {
        filter: contrast(30%);
        opacity: 0.8;
        pointer-events: none; }

.modal-dialog.index .modal-content .modal-header, .modal-dialog.index .modal-content .modal-footer {
  background-color: #28ABC2; }

.modal-dialog.index .modal-content .modal-body {
  background-image: url(../img/index/sale.gif);
  background-size: 150px;
  background-position: right -30px bottom -20px;
  background-repeat: no-repeat; }
  @media screen and (min-width: 768px) {
    .modal-dialog.index .modal-content .modal-body {
      background-position: right -10px bottom -20px; } }

#serialNumber_Modal .modal-body .title-area, #eRayAlert_Modal .modal-body .title-area, #noteModal .modal-body .title-area {
  font-size: 28px;
  color: #000;
  text-align: center;
  margin-bottom: 30px; }

#serialNumber_Modal .serialNumber-wrapper, #eRayAlert_Modal .serialNumber-wrapper, #noteModal .serialNumber-wrapper {
  display: none;
  width: 100%;
  max-width: 330px;
  margin: auto;
  padding: 15px;
  position: relative; }
  #serialNumber_Modal .serialNumber-wrapper.loading .modal-loading, #eRayAlert_Modal .serialNumber-wrapper.loading .modal-loading, #noteModal .serialNumber-wrapper.loading .modal-loading {
    display: block; }
  #serialNumber_Modal .serialNumber-wrapper .serialNumber-img, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-img, #noteModal .serialNumber-wrapper .serialNumber-img {
    text-align: center;
    margin-bottom: 50px; }
  #serialNumber_Modal .serialNumber-wrapper .serialNumber-input, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-input, #noteModal .serialNumber-wrapper .serialNumber-input {
    width: 100%;
    margin-bottom: 20px; }
    #serialNumber_Modal .serialNumber-wrapper .serialNumber-input .serialNumber-field, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-input .serialNumber-field, #noteModal .serialNumber-wrapper .serialNumber-input .serialNumber-field {
      display: block;
      width: 100%;
      height: 40px;
      padding: 6px 10px;
      background-color: #fff;
      border-radius: 10px;
      border: 2px solid #28ABC2;
      box-shadow: none;
      outline: none; }
  #serialNumber_Modal .serialNumber-wrapper .serialNumber-btn-wrapper, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-btn-wrapper, #noteModal .serialNumber-wrapper .serialNumber-btn-wrapper {
    width: 100%;
    margin-bottom: 20px; }
    #serialNumber_Modal .serialNumber-wrapper .serialNumber-btn-wrapper .serialNumber-btn, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-btn-wrapper .serialNumber-btn, #noteModal .serialNumber-wrapper .serialNumber-btn-wrapper .serialNumber-btn {
      display: block;
      width: 100%;
      font-size: 18px;
      height: 40px;
      padding: 1px 6px;
      text-align: center;
      color: #fff;
      background-color: #28ABC2;
      border-radius: 10px;
      border: 2px solid #28ABC2;
      box-shadow: none;
      outline: none; }
      #serialNumber_Modal .serialNumber-wrapper .serialNumber-btn-wrapper .serialNumber-btn:hover, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-btn-wrapper .serialNumber-btn:hover, #noteModal .serialNumber-wrapper .serialNumber-btn-wrapper .serialNumber-btn:hover {
        color: #28ABC2;
        background-color: #fff; }
    #serialNumber_Modal .serialNumber-wrapper .serialNumber-btn-wrapper button.serialNumber-btn > span, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-btn-wrapper button.serialNumber-btn > span, #noteModal .serialNumber-wrapper .serialNumber-btn-wrapper button.serialNumber-btn > span {
      display: inline-block; }
    #serialNumber_Modal .serialNumber-wrapper .serialNumber-btn-wrapper a.serialNumber-btn > span, #eRayAlert_Modal .serialNumber-wrapper .serialNumber-btn-wrapper a.serialNumber-btn > span, #noteModal .serialNumber-wrapper .serialNumber-btn-wrapper a.serialNumber-btn > span {
      display: inline-block;
      transform: translateY(2px); }

.modalTitle {
  font-size: 22px;
  text-align: center; }

.modalSection {
  margin-bottom: 20px; }
  .modalSection .modalSectionTitle {
    font-size: 17px;
    margin-bottom: 10px; }
    .modalSection .modalSectionTitle.required span {
      display: inline-block; }
      .modalSection .modalSectionTitle.required span::after {
        content: '*';
        display: inline-block;
        color: #f04d4f; }
  .modalSection .InputRow {
    margin-bottom: 10px; }
    .modalSection .InputRow input, .modalSection .InputRow select {
      width: 100%;
      height: 40px;
      font-size: 16px;
      border: 1px solid #999999;
      border-radius: 5px;
      outline-color: #1ba1e6;
      padding: 4px 10px;
      cursor: pointer; }
  .modalSection .tailoringBox {
    width: 100%;
    height: 250px; }
  .modalSection .previewBox #previewImg {
    width: 200px;
    height: 200px;
    border: 1px solid #000;
    border-radius: 50%;
    margin: auto;
    overflow: hidden; }

.modalBtnControlWrapper {
  display: flex;
  justify-content: center;
  padding-top: 20px; }
  .modalBtnControlWrapper .clickBtn {
    display: inline-block;
    line-height: 1.2;
    letter-spacing: 0.05em;
    padding: 10px 20px;
    outline: none !important;
    box-shadow: none;
    border: none;
    background-color: #28ABC2;
    width: 100%;
    border-radius: 5px;
    text-align: center;
    margin: 0 5px; }
    .modalBtnControlWrapper .clickBtn span {
      display: inline-block;
      font-size: 16px;
      color: #fff; }
    .modalBtnControlWrapper .clickBtn.gray {
      background-color: #b3b3b3; }

.term-wrapper {
  width: 100%;
  font-size: 16px;
  max-width: 1320px;
  padding: 0 10px;
  margin: auto;
  padding-bottom: 100px; }
  .term-wrapper.pb0 {
    padding-bottom: 0;
    font-size: 14px; }
  .term-wrapper .term-main-title {
    font-size: 1.875em;
    font-weight: bold;
    text-align: center;
    margin: 0 0 30px; }
  .term-wrapper .term-main-subTitle {
    font-size: 1.5em;
    color: #28ABC2;
    margin: 0 0 20px; }
  .term-wrapper > ul {
    list-style: none;
    margin: 0 0 30px;
    padding: 0; }
    .term-wrapper > ul > li {
      font-size: 1em;
      position: relative;
      padding-left: 1.25em;
      margin-bottom: 10px; }
      .term-wrapper > ul > li::before {
        content: '';
        display: block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background-color: #28ABC2;
        position: absolute;
        top: 0.6em;
        left: 0.25em; }
      .term-wrapper > ul > li > ol {
        padding: 0 0 0 1.25em;
        margin: 5px 0 0; }
        .term-wrapper > ul > li > ol > li {
          font-size: 0.875em;
          margin-bottom: 5px; }
          .term-wrapper > ul > li > ol > li > ul {
            margin: 5px 0 0; }
            .term-wrapper > ul > li > ol > li > ul > li {
              font-size: 0.875em;
              margin-bottom: 5px; }
              .term-wrapper > ul > li > ol > li > ul > li::before {
                width: 4px;
                height: 4px;
                border-radius: 0;
                color: #999999;
                transform: rotate(-45deg); }
  .term-wrapper > ol {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: contract-item; }
    .term-wrapper > ol > li {
      margin-bottom: 30px; }
      .term-wrapper > ol > li .term-main-subTitle {
        position: relative;
        margin-bottom: 12px; }
        .term-wrapper > ol > li .term-main-subTitle::before {
          content: counter(contract-item) ". ";
          counter-increment: contract-item;
          font-size: 1em; }
      .term-wrapper > ol > li > ol {
        list-style: none;
        padding: 0 0 0 2.5em;
        margin: 0 0 20px;
        counter-reset: contract-subItem; }
        .term-wrapper > ol > li > ol > li {
          position: relative;
          padding-left: 2.6em; }
          .term-wrapper > ol > li > ol > li::before {
            content: counter(contract-item) "." counter(contract-subItem);
            counter-increment: contract-subItem;
            font-size: 1em;
            position: absolute;
            top: 0;
            left: 0; }
          .term-wrapper > ol > li > ol > li > ul {
            list-style: none;
            padding: 0;
            margin: 0; }
            .term-wrapper > ol > li > ol > li > ul > li {
              font-size: 1em;
              position: relative;
              padding-left: 1.25em;
              margin-bottom: 10px; }
              .term-wrapper > ol > li > ol > li > ul > li::before {
                content: '';
                display: block;
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background-color: #28ABC2;
                position: absolute;
                top: 0.6em;
                left: 0.25em; }
          .term-wrapper > ol > li > ol > li > ol {
            font-size: 0.875em;
            list-style: none;
            padding: 0;
            margin: 0 0 20px;
            counter-reset: contract-subItem2; }
            .term-wrapper > ol > li > ol > li > ol > li {
              position: relative;
              padding-left: 2.8em; }
              .term-wrapper > ol > li > ol > li > ol > li::before {
                content: counter(contract-item) "." counter(contract-subItem) "." counter(contract-subItem2);
                counter-increment: contract-subItem2;
                position: absolute;
                top: 0;
                left: 0; }
  .term-wrapper ul.starList > li::before {
    content: '\f005';
    font-size: 0.6em;
    font-family: FontAwesome;
    top: 0.4em;
    color: #59C9CB;
    width: auto;
    height: auto;
    border-radius: 0;
    border: none;
    background: none; }
  .term-wrapper p {
    font-size: 1em;
    text-align: justify; }
  .term-wrapper a {
    display: inline-block;
    color: #28ABC2;
    padding: 0 3px;
    text-decoration: underline; }
    .term-wrapper a:hover {
      color: #F0CD30; }

.about-banner {
  width: 100%;
  height: calc( 100vh - 47px);
  transition: all 0.8s ease-in-out;
  position: relative;
  z-index: 2; }
  @media screen and (min-width: 992px) {
    .about-banner {
      height: calc( 100vh - 62px); } }
  .about-banner:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/about/about_banner_m.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: fixed;
    top: 0;
    z-index: -1;
    transition: all 0.8s ease-in-out; }
    @media screen and (max-width: 768px) and (max-height: 812px) {
      .about-banner:before {
        height: 800px; } }
    @media screen and (min-width: 768px) {
      .about-banner:before {
        background-image: url(../img/about/about_banner.jpg); } }
  .about-banner .about-banner-text {
    width: 100%;
    text-align: center;
    position: absolute;
    right: 0px;
    bottom: 50%; }
    @media screen and (min-width: 768px) {
      .about-banner .about-banner-text {
        width: auto;
        right: 60px;
        bottom: 80px;
        transform: translate(0); } }
    .about-banner .about-banner-text .banner-title {
      font-size: 40px;
      font-family: "Lato", sans-serif;
      color: #fff;
      text-transform: uppercase;
      line-height: 1.5;
      letter-spacing: 2px;
      margin: 0; }
      @media screen and (min-width: 768px) {
        .about-banner .about-banner-text .banner-title {
          font-size: 72px; } }
    .about-banner .about-banner-text p {
      font-size: 22px;
      color: #fff;
      text-align: center;
      letter-spacing: 0.08em;
      margin: 0; }
      @media screen and (min-width: 768px) {
        .about-banner .about-banner-text p {
          font-size: 24px;
          text-align: right; } }
  .about-banner.scroll:before {
    opacity: .2; }
  .about-banner.scroll.scrollFadeOut {
    z-index: -1; }
    .about-banner.scroll.scrollFadeOut:before {
      opacity: 0; }

.about-intro {
  position: relative;
  z-index: 2; }
  .about-intro .about-intro-text {
    padding: 120px 30px;
    text-align: left; }
    @media screen and (min-width: 768px) {
      .about-intro .about-intro-text {
        padding: 190px 0px 300px;
        text-align: center; } }
    .about-intro .about-intro-text .about-intro-text-row {
      font-size: 16px;
      font-weight: bold;
      color: #4a4a4a;
      letter-spacing: 2px;
      line-height: 2;
      margin-top: 50px; }
      @media screen and (min-width: 768px) {
        .about-intro .about-intro-text .about-intro-text-row {
          line-height: 3;
          margin-top: 80px; } }

.about-main {
  width: 100%;
  padding-top: 120px;
  padding-bottom: 50px;
  text-align: center;
  color: #4a4a4a;
  background: url(../img/about/about_main_bg.jpg) #fff center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2; }
  @media screen and (min-width: 768px) {
    .about-main {
      padding-top: 200px; } }
  .about-main .about-main-text-wrapper {
    width: 100%;
    margin: 0 auto 50px; }
    @media screen and (min-width: 768px) {
      .about-main .about-main-text-wrapper {
        margin: 0 auto 150px; } }
  .about-main .about-gradient-title {
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 0.15em;
    background: -webkit-linear-gradient(#008da3, #00bba4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; }
    @media screen and (min-width: 768px) {
      .about-main .about-gradient-title {
        margin-bottom: 20px; } }
  .about-main .about-gradient-intro {
    font-size: 20px;
    letter-spacing: 0.15em; }
  .about-main .about-generation-change {
    width: 90%;
    max-width: 360px;
    margin: auto;
    position: relative; }
    @media screen and (min-width: 768px) {
      .about-main .about-generation-change {
        max-width: 750px; } }
    .about-main .about-generation-change:before {
      content: '\F00D';
      display: block;
      font-size: 75px;
      font-family: FontAwesome;
      color: #28ABC2;
      position: absolute;
      bottom: 43%;
      left: 50%;
      transform: translateX(-50%); }
      @media screen and (min-width: 768px) {
        .about-main .about-generation-change:before {
          font-size: 100px;
          bottom: 10px; } }
    .about-main .about-generation-change:after {
      content: '';
      display: block;
      clear: both; }
    .about-main .about-generation-change .about-gc-box + .about-gc-box {
      padding-top: 120px; }
    @media screen and (min-width: 768px) {
      .about-main .about-generation-change .about-gc-box {
        float: left;
        width: 50%;
        padding: 0 20px; }
        .about-main .about-generation-change .about-gc-box + .about-gc-box {
          padding-top: 0; } }
    .about-main .about-generation-change .about-gc-box .about-gc-title {
      display: inline-block;
      font-size: 28px;
      letter-spacing: 0.08em;
      padding-bottom: 18px;
      margin-bottom: 10px;
      position: relative; }
      @media screen and (min-width: 768px) {
        .about-main .about-generation-change .about-gc-box .about-gc-title {
          margin-bottom: 30px; } }
      .about-main .about-generation-change .about-gc-box .about-gc-title .gc-number {
        font-size: 45px;
        font-weight: bold;
        font-style: italic;
        font-family: "Lato", sans-serif;
        position: absolute;
        top: -18px;
        left: -40px; }
      .about-main .about-generation-change .about-gc-box .about-gc-title:after {
        content: attr(data-text);
        display: block;
        font-size: 12px;
        font-family: "Lato", sans-serif;
        position: absolute;
        bottom: 0;
        right: 0; }
        @media screen and (min-width: 768px) {
          .about-main .about-generation-change .about-gc-box .about-gc-title:after {
            font-size: 13px; } }
    .about-main .about-generation-change .about-gc-box .about-gc-content {
      line-height: 2.5;
      background-color: rgba(255, 255, 255, 0.5);
      padding: 20px 30px; }
      @media screen and (min-width: 768px) {
        .about-main .about-generation-change .about-gc-box .about-gc-content {
          line-height: 3; } }
  .about-main .about-main-text {
    font-size: 20px;
    letter-spacing: 0.15em;
    line-height: 2; }

.about-feature {
  padding-top: 60px;
  text-align: center;
  color: #4a4a4a;
  background-color: #fff;
  position: relative;
  z-index: 2; }
  @media screen and (min-width: 768px) {
    .about-feature {
      padding-top: 170px; } }
  .about-feature .about-feature-box {
    padding-bottom: 100px; }
    @media screen and (min-width: 768px) {
      .about-feature .about-feature-box {
        padding-bottom: 160px; } }
    .about-feature .about-feature-box .about-feature-title {
      font-size: 24px;
      letter-spacing: 0.2em;
      line-height: 1.6;
      margin-bottom: 20px; }
      @media screen and (min-width: 768px) {
        .about-feature .about-feature-box .about-feature-title {
          font-size: 35px;
          line-height: 1.7;
          margin-bottom: 50px; } }
    .about-feature .about-feature-box .about-feature-photo {
      margin-bottom: 20px; }
      @media screen and (min-width: 768px) {
        .about-feature .about-feature-box .about-feature-photo {
          margin-bottom: 50px; } }
    .about-feature .about-feature-box .about-feature-text {
      width: 80%;
      margin: auto;
      font-size: 14px;
      letter-spacing: 2px;
      line-height: 2.5; }
      @media screen and (min-width: 768px) {
        .about-feature .about-feature-box .about-feature-text {
          line-height: 3; } }

.about-different {
  text-align: center;
  color: #4a4a4a;
  background-color: #fff;
  position: relative;
  z-index: 2; }
  .about-different .about-different-top {
    padding: 30px 0 40px;
    background: url(../img/about/main_bg.png) #fff center center no-repeat;
    background-size: cover; }
    @media screen and (min-width: 768px) {
      .about-different .about-different-top {
        padding: 60px 0 70px; } }
    .about-different .about-different-top .about-different-title {
      font-size: 24px;
      letter-spacing: 0.2em;
      line-height: 1.7;
      margin-bottom: 5px; }
      @media screen and (min-width: 768px) {
        .about-different .about-different-top .about-different-title {
          font-size: 35px;
          margin-bottom: 25px; } }
    .about-different .about-different-top .about-different-intro {
      width: 90%;
      font-size: 14px;
      text-align: justify;
      letter-spacing: 2px;
      line-height: 2;
      max-width: 600px;
      margin: auto; }
      @media screen and (min-width: 768px) {
        .about-different .about-different-top .about-different-intro {
          text-align: center; } }
  .about-different .about-different-box-wrapper {
    font-size: 0;
    margin-top: -15px; }
    @media screen and (min-width: 768px) {
      .about-different .about-different-box-wrapper {
        margin-top: 0; } }
    .about-different .about-different-box-wrapper .about-different-box {
      position: relative; }
      .about-different .about-different-box-wrapper .about-different-box:after {
        content: '';
        display: block;
        clear: both; }
      @media screen and (min-width: 768px) {
        .about-different .about-different-box-wrapper .about-different-box {
          display: inline-block;
          width: 50%;
          background-image: url(../img/about/about_different1.jpg);
          background-position: center;
          background-size: cover; }
          .about-different .about-different-box-wrapper .about-different-box:nth-child(1) {
            background-image: url(../img/about/about_different1.jpg); }
          .about-different .about-different-box-wrapper .about-different-box:nth-child(2) {
            background-image: url(../img/about/about_different2.jpg); }
          .about-different .about-different-box-wrapper .about-different-box:nth-child(3) {
            background-image: url(../img/about/about_different3.jpg); }
          .about-different .about-different-box-wrapper .about-different-box:nth-child(4) {
            background-image: url(../img/about/about_different4.jpg); } }
      @media screen and (min-width: 992px) {
        .about-different .about-different-box-wrapper .about-different-box {
          width: 25%; } }
      .about-different .about-different-box-wrapper .about-different-box .about-different-pattern {
        float: left;
        width: calc( 100% - 225px);
        height: 150px;
        background-repeat: repeat-x;
        background-size: auto 130px;
        background-position: center; }
        @media screen and (min-width: 768px) {
          .about-different .about-different-box-wrapper .about-different-box .about-different-pattern {
            display: none; } }
      .about-different .about-different-box-wrapper .about-different-box:nth-child(1) .about-different-pattern {
        background-image: url(../img/about/about_different_pattern1.png); }
      .about-different .about-different-box-wrapper .about-different-box:nth-child(2) .about-different-pattern {
        background-image: url(../img/about/about_different_pattern2.png); }
      .about-different .about-different-box-wrapper .about-different-box:nth-child(3) .about-different-pattern {
        background-image: url(../img/about/about_different_pattern3.png); }
      .about-different .about-different-box-wrapper .about-different-box:nth-child(4) .about-different-pattern {
        background-image: url(../img/about/about_different_pattern4.png); }
      .about-different .about-different-box-wrapper .about-different-box .about-different-photo {
        float: right; }
        @media screen and (min-width: 768px) {
          .about-different .about-different-box-wrapper .about-different-box .about-different-photo {
            display: none; } }
      .about-different .about-different-box-wrapper .about-different-box .about-different-text {
        font-size: 16px;
        letter-spacing: 0.15em;
        color: #4a4a4a;
        background-color: #fff;
        padding: 15px 15px;
        transition: all .5s ease-in-out;
        position: absolute;
        top: 50%;
        left: 30px;
        transform: translateY(-50%); }
        @media screen and (min-width: 768px) {
          .about-different .about-different-box-wrapper .about-different-box .about-different-text {
            font-size: 22px;
            color: #fff;
            background-color: rgba(255, 255, 255, 0.4);
            padding: 120px 10px;
            position: static;
            top: auto;
            left: auto;
            transform: translate(0); } }
      @media screen and (min-width: 768px) {
        .about-different .about-different-box-wrapper .about-different-box:hover .about-different-text {
          background-color: rgba(255, 255, 255, 0); } }
  .about-different .about-different-btn-wrapper {
    text-align: center;
    padding: 50px 0 60px; }
    .about-different .about-different-btn-wrapper .about-different-btn {
      display: inline-block;
      vertical-align: middle;
      font-size: 14px;
      height: 45px;
      line-height: 45px;
      border: 1px solid rgba(6, 6, 6, 0.7);
      padding: 0 40px 0 30px;
      margin-right: 20px;
      text-align: center;
      text-decoration: none;
      background-image: none;
      background-color: transparent;
      color: #fff;
      position: relative;
      z-index: 2;
      transition: 0.4s cubic-bezier(0.6, 0, 0.3, 1); }
      .about-different .about-different-btn-wrapper .about-different-btn:before {
        content: '\F178';
        display: block;
        font-family: FontAwesome;
        font-size: 18px;
        color: #000;
        position: absolute;
        top: 2px;
        right: 9px;
        transition: 0.4s cubic-bezier(0.6, 0, 0.3, 1); }
      .about-different .about-different-btn-wrapper .about-different-btn:after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        background-color: #28ABC2;
        mix-blend-mode: multiply;
        position: absolute;
        top: 20%;
        left: 4%;
        z-index: 0;
        transition: 0.4s cubic-bezier(0.6, 0, 0.3, 1); }
      .about-different .about-different-btn-wrapper .about-different-btn .btn-inner {
        height: 100%;
        overflow: hidden; }
        .about-different .about-different-btn-wrapper .about-different-btn .btn-inner span {
          display: block;
          position: relative;
          z-index: 1;
          line-height: 45px;
          transition: 0.4s cubic-bezier(0.6, 0, 0.3, 1); }
          .about-different .about-different-btn-wrapper .about-different-btn .btn-inner span:before {
            content: attr(data-hover);
            display: block;
            transition: 0.4s cubic-bezier(0.6, 0, 0.3, 1); }
      .about-different .about-different-btn-wrapper .about-different-btn:hover:before {
        right: 15px; }
      .about-different .about-different-btn-wrapper .about-different-btn:hover:after {
        top: 0;
        left: 0; }
      .about-different .about-different-btn-wrapper .about-different-btn:hover .btn-inner span {
        transform: translateY(-50%); }

.float-coupon {
  font-size: 0;
  position: fixed;
  bottom: 90px;
  right: 10px;
  z-index: 999; }
  @media screen and (min-width: 992px) {
    .float-coupon {
      bottom: 20%;
      right: 25px; } }
  .float-coupon .coupon-btn {
    display: block;
    width: 60px;
    height: 60px; }
    @media screen and (min-width: 768px) {
      .float-coupon .coupon-btn {
        width: 82px;
        height: 82px;
        background-size: 82px; } }
  .float-coupon .remove-ad-btn {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: rgba(247, 111, 111, 0.6);
    position: absolute;
    top: -12px;
    right: 0; }
    @media screen and (min-width: 992px) {
      .float-coupon .remove-ad-btn {
        display: none; } }
    .float-coupon .remove-ad-btn:before, .float-coupon .remove-ad-btn:after {
      content: '';
      display: block;
      width: 10px;
      border-top: 1px solid #fff;
      position: absolute;
      top: 10px;
      left: 5px; }
    .float-coupon .remove-ad-btn:before {
      transform: rotate(45deg); }
    .float-coupon .remove-ad-btn:after {
      transform: rotate(-45deg); }

.demo-sale-header {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 400px;
  background-image: url(../img/event/demo_sale.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  position: relative; }
  .demo-sale-header h2 {
    text-align: center;
    margin: 0px; }
    .demo-sale-header h2 .title {
      font-size: 50px;
      margin-bottom: 20px; }
    .demo-sale-header h2 p {
      font-size: 24px; }

.demo-sale-container {
  padding: 24px;
  color: rgba(0, 0, 0, 0.65);
  text-align: center;
  position: relative; }
  .demo-sale-container .title {
    font-size: 30px; }
  .demo-sale-container .text {
    font-size: 16px; }
  .demo-sale-container.flex {
    display: flex;
    align-items: center;
    justify-content: center; }

.list-title-intro {
  text-align: center; }

.sale-bottom-banner-wrapper {
  font-size: 18px;
  line-height: 1.5;
  padding: 25px;
  text-align: center;
  color: #fff;
  background-color: #84d7e6;
  margin-top: 30px;
  margin-bottom: 30px;
  position: relative; }

.sale-bottom-notes-wrapper {
  display: flex;
  justify-content: center;
  padding: 25px;
  position: relative; }
  .sale-bottom-notes-wrapper .sale-bottom-notes {
    max-width: 800px;
    font-size: 16px;
    color: rgba(0, 0, 0, 0.65);
    text-align: justify;
    letter-spacing: 0.08em;
    line-height: 1.7;
    padding-left: 25px; }
    .sale-bottom-notes-wrapper .sale-bottom-notes li {
      margin-bottom: 5px; }

.list-litte-title-wrapper {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 20px; }
  .list-litte-title-wrapper._flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 15px;
    margin-bottom: 0; }
  .list-litte-title-wrapper .list-litte-title {
    display: inline-block;
    padding-right: 20px;
    position: relative; }
    .list-litte-title-wrapper .list-litte-title:after {
      content: '';
      display: block;
      width: 14px;
      height: 2px;
      background-color: #28ABC2;
      position: absolute;
      bottom: 7px;
      right: 0;
      animation: typing 1s infinite; }

@keyframes typing {
  0% {
    background-color: #28ABC2; }
  100% {
    background-color: #fff; } }
    .list-litte-title-wrapper .list-litte-title span {
      display: inline-block;
      font-size: 30px;
      position: relative;
      padding-left: 65px; }
      .list-litte-title-wrapper .list-litte-title span:before {
        content: '';
        display: block;
        width: 53px;
        height: 44px;
        background-image: url(https://img.rookiesavior.net/lrimg/list/birdy.png);
        background-size: 53px;
        position: absolute;
        top: 0;
        left: 0; }

.course-feature-list.sale {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    .course-feature-list.sale {
      padding-bottom: 30px; } }
  .course-feature-list.sale .course-feature {
    width: 30%;
    margin: 1.5%;
    background: none;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 3px;
    position: relative; }
    .course-feature-list.sale .course-feature .feature-head .head-left .user-name {
      color: #000; }
    .course-feature-list.sale .course-feature .feature-img {
      overflow: hidden;
      position: relative; }
      .course-feature-list.sale .course-feature .feature-img img {
        transition: .8s; }
      .course-feature-list.sale .course-feature .feature-img .btn-bg {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.3);
        transition: .5s;
        opacity: 0;
        transform: scale(1.2) translateZ(0) perspective(1px); }
        .course-feature-list.sale .course-feature .feature-img .btn-bg span {
          display: block;
          font-size: 14px;
          color: #fff;
          background-color: #2889D4;
          border-radius: 3px;
          padding: 5px 12px;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
    .course-feature-list.sale .course-feature .feature-text {
      color: rgba(0, 0, 0, 0.65); }
      .course-feature-list.sale .course-feature .feature-text .hashtag {
        display: block;
        text-decoration: none;
        color: #00376b; }
    .course-feature-list.sale .course-feature:hover .feature-img img {
      transform: scale(1.2) translateZ(0) rotate(5deg) perspective(1px); }
    .course-feature-list.sale .course-feature:hover .btn-bg {
      transform: scale(1) translateZ(0) perspective(1px);
      opacity: 1; }

.article_loader {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: rgba(255, 255, 255, 0.85); }
  .article_loader .loader-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: relative;
    top: 50%;
    left: 50%;
    animation: loader 1.1s ease alternate infinite;
    animation-delay: 0.36s; }
    .article_loader .loader-dot:before, .article_loader .loader-dot:after {
      content: '';
      display: block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      position: absolute;
      animation: loader 1.1s ease alternate infinite; }
    .article_loader .loader-dot:before {
      left: -15px;
      animation-delay: 0.18s; }
    .article_loader .loader-dot:after {
      right: -15px;
      animation-delay: 0.54s; }

@keyframes loader {
  0% {
    box-shadow: 0 8px 0 -8px #F0CD30; }
  100% {
    box-shadow: 0 8px 0 #F0CD30; } }

.indexBannerSection {
  overflow: hidden; }
  @media screen and (min-width: 992px) {
    .indexBannerSection .indexBannerContainer {
      padding: 20px 0; } }

.indexExploreSection {
  background-color: #000;
  padding: 10px 0 30px; }
  @media screen and (min-width: 768px) {
    .indexExploreSection {
      padding-top: 70px; } }

.indexFeatureSection, .indexFreeSection,
.indexNewSection {
  padding: 30px 0; }

.indexArticleSection {
  padding: 80px 0; }

.indexBannerWrapper {
  max-width: 900px;
  margin: 0 auto 30px; }
  .indexBannerWrapper .owl-stage-outer {
    overflow: visible; }
  .indexBannerWrapper .indexBanner {
    opacity: 0.4; }
    .indexBannerWrapper .indexBanner img {
      transform: scale(0.9);
      transition: .3s; }
      @media screen and (min-width: 992px) {
        .indexBannerWrapper .indexBanner img {
          border-radius: 10px; } }
  .indexBannerWrapper .active .indexBanner {
    opacity: 1; }
    .indexBannerWrapper .active .indexBanner img {
      transform: scale(1); }
  .indexBannerWrapper .owl-controls {
    margin-top: 20px; }
    .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'] {
      min-width: 50px;
      width: 60%;
      height: 100%;
      margin: 0;
      padding: 0;
      position: absolute;
      top: 0px;
      opacity: .6; }
      .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-']:hover {
        opacity: 1; }
      .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'] > div {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background-color: #222;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        margin-top: -40px; }
        .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'] > div::before {
          display: block;
          font-family: 'Material Icons';
          font-size: 20px;
          font-weight: bold;
          color: #28ABC2;
          line-height: 1; }
      .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'].owl-prev {
        left: -60%; }
        .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'].owl-prev > div {
          right: 20px; }
          .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'].owl-prev > div::before {
            content: '\e5c4'; }
      .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'].owl-next {
        right: -60%; }
        .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'].owl-next > div {
          left: 20px; }
          .indexBannerWrapper .owl-controls .owl-nav > div[class*='owl-'].owl-next > div::before {
            content: '\e5c8'; }
    .indexBannerWrapper .owl-controls .owl-dots .owl-dot span {
      width: 16px;
      height: 6px;
      border-radius: 5px;
      transition: .3s; }
    .indexBannerWrapper .owl-controls .owl-dots .owl-dot.active span {
      width: 32px;
      background-color: #28ABC2; }

.indexContainer {
  max-width: 1300px;
  width: 100%;
  margin: auto;
  padding: 0 15px; }
  @media screen and (min-width: 992px) {
    .indexContainer {
      padding: 0 20px; } }

.indexTitleWrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px; }
  .indexTitleWrapper .indexTitle {
    font-size: 22px;
    line-height: 1.5;
    color: #fff;
    margin: 0;
    padding: 0; }
  .indexTitleWrapper ._flex {
    display: flex; }
  .indexTitleWrapper .indexTitleMore {
    display: inline-block;
    color: #fff;
    line-height: 2;
    text-decoration: underline; }
    @media screen and (min-width: 992px) {
      .indexTitleWrapper .indexTitleMore {
        line-height: 1.5; } }
  .indexTitleWrapper .sliderBtnWrapper {
    display: flex;
    gap: 12px;
    margin-left: 20px; }
    .indexTitleWrapper .sliderBtnWrapper .sliderBtn {
      width: 26px;
      height: 26px;
      background: none;
      border: 1px solid #333333;
      border-radius: 50%;
      padding: 1px; }
      .indexTitleWrapper .sliderBtnWrapper .sliderBtn::before {
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Material Icons';
        font-size: 22px;
        line-height: 1;
        color: #fff;
        width: 100%;
        height: 100%;
        border-radius: 50%; }
      .indexTitleWrapper .sliderBtnWrapper .sliderBtn.prev::before {
        content: '\e408'; }
      .indexTitleWrapper .sliderBtnWrapper .sliderBtn.next::before {
        content: '\e409'; }
      .indexTitleWrapper .sliderBtnWrapper .sliderBtn:hover::before {
        background-color: #333333; }
    .indexTitleWrapper .sliderBtnWrapper.background .sliderBtn {
      border: 1px solid #28ABC2; }
      .indexTitleWrapper .sliderBtnWrapper.background .sliderBtn::before {
        background-color: #28ABC2; }
      .indexTitleWrapper .sliderBtnWrapper.background .sliderBtn:hover::before {
        background-color: #99deea; }

.slick-slider[data-slick] {
  margin-bottom: 40px; }
  .slick-slider[data-slick] .slick-dots {
    bottom: -35px; }
    .slick-slider[data-slick] .slick-dots li {
      display: inline-flex;
      align-items: center;
      width: auto;
      height: auto; }
      .slick-slider[data-slick] .slick-dots li button {
        width: 16px;
        height: 6px;
        padding: 0;
        background: #d6d6d6;
        border-radius: 5px;
        transition: .3s; }
        .slick-slider[data-slick] .slick-dots li button::before {
          display: none; }
      .slick-slider[data-slick] .slick-dots li:hover button {
        background-color: #869791; }
      .slick-slider[data-slick] .slick-dots li.slick-active button {
        width: 32px;
        background-color: #28ABC2; }

.indexExploreWrapper {
  display: flex;
  flex-direction: column;
  gap: 10%; }
  @media screen and (min-width: 992px) {
    .indexExploreWrapper {
      flex-direction: row; } }
  .indexExploreWrapper .indexExploreFigureWrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center; }
    @media screen and (min-width: 992px) {
      .indexExploreWrapper .indexExploreFigureWrapper {
        width: 30%;
        flex-direction: column; } }
    .indexExploreWrapper .indexExploreFigureWrapper .indexExploreTitle {
      font-size: 24px;
      color: #fff; }
      @media screen and (min-width: 768px) {
        .indexExploreWrapper .indexExploreFigureWrapper .indexExploreTitle {
          font-size: 36px; } }
      .indexExploreWrapper .indexExploreFigureWrapper .indexExploreTitle > span {
        display: inline-block;
        border-bottom: 3px solid #ffd85f; }
    .indexExploreWrapper .indexExploreFigureWrapper .indexExploreFigure {
      width: 150px;
      transform: scaleX(-1); }
      @media screen and (min-width: 992px) {
        .indexExploreWrapper .indexExploreFigureWrapper .indexExploreFigure {
          width: 100%;
          transform: none; } }
  .indexExploreWrapper .indexExploreList {
    display: flex;
    flex-wrap: wrap;
    gap: 5%;
    list-style: none;
    padding: 0;
    margin: 0; }
    @media screen and (min-width: 992px) {
      .indexExploreWrapper .indexExploreList {
        width: 60%; } }
    .indexExploreWrapper .indexExploreList li {
      width: 30%;
      margin-bottom: 6%; }
  .indexExploreWrapper .indexExploreLink {
    display: flex;
    align-items: center;
    background-color: #000;
    border: 5px solid #ffd85f;
    border-radius: 20px;
    box-shadow: 5px 5px 0 5px #59C9CB;
    padding: 10px 10px;
    font-size: 18px;
    line-height: 1.2;
    transition: .3s; }
    @media screen and (min-width: 768px) {
      .indexExploreWrapper .indexExploreLink {
        font-size: 28px;
        padding: 10px 20px; } }
    .indexExploreWrapper .indexExploreLink:hover {
      box-shadow: 1px 1px 0 5px #59C9CB;
      transform: translate(4px, 4px); }
    .indexExploreWrapper .indexExploreLink .exploreText {
      width: 46%;
      color: #fff; }
      .indexExploreWrapper .indexExploreLink .exploreText.smaller {
        font-size: 0.8em; }
    .indexExploreWrapper .indexExploreLink .explorePics {
      width: 56%;
      display: flex;
      justify-content: center;
      align-items: center; }
      .indexExploreWrapper .indexExploreLink .explorePics img {
        width: 100%; }
  .indexExploreWrapper .indexExploreListImg {
    aspect-ratio: 177/93;
    transform: translateY(10%); }
    .indexExploreWrapper .indexExploreListImg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.indexNewWrapper {
  display: flex;
  flex-direction: column;
  gap: 30px 0px; }
  @media screen and (min-width: 500px) {
    .indexNewWrapper {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 20px 10px; } }
  @media screen and (min-width: 992px) {
    .indexNewWrapper {
      gap: 40px 25px; } }
  .indexNewWrapper .courese-new {
    width: 100%; }
    @media screen and (min-width: 500px) {
      .indexNewWrapper .courese-new {
        width: calc( 50% - 10px); } }
    @media screen and (min-width: 992px) {
      .indexNewWrapper .courese-new {
        width: calc( 50% - 25px); } }

.indexArticleWrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5%;
  counter-reset: index-article;
  position: relative; }
  @media screen and (min-width: 992px) {
    .indexArticleWrapper {
      flex-direction: row; } }
  .indexArticleWrapper .indexArticleFigure {
    width: 100%;
    max-height: 100%;
    aspect-ratio: 819/428;
    background: center/cover no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.4; }
  .indexArticleWrapper .indexArticleList {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
    z-index: 2; }
    @media screen and (min-width: 992px) {
      .indexArticleWrapper .indexArticleList {
        width: 40%; } }
    .indexArticleWrapper .indexArticleList > li {
      position: relative;
      padding-left: 8%; }
      @media screen and (min-width: 992px) {
        .indexArticleWrapper .indexArticleList > li {
          padding-left: 20%; } }
      .indexArticleWrapper .indexArticleList > li::before {
        content: '0';
        counter-increment: index-article;
        content: counter(index-article);
        font-family: 'Rubik Doodle Shadow', serif;
        font-size: clamp(2em, 10vw, 100px);
        font-weight: 400;
        font-style: normal;
        line-height: 1;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 15%;
        position: absolute;
        top: 12px;
        left: -20px; }
        @media screen and (min-width: 992px) {
          .indexArticleWrapper .indexArticleList > li::before {
            top: 0;
            left: 0; } }
      .indexArticleWrapper .indexArticleList > li > a {
        display: block;
        position: relative;
        padding: 0.5em 0.3em; }
        .indexArticleWrapper .indexArticleList > li > a:hover {
          background-color: rgba(0, 0, 0, 0.3); }
        .indexArticleWrapper .indexArticleList > li > a .articleLabelWrapper .articleLabel {
          display: inline-block;
          color: #ffd85f;
          margin-bottom: 5px;
          margin-right: 20px; }
          .indexArticleWrapper .indexArticleList > li > a .articleLabelWrapper .articleLabel::before {
            content: '#';
            display: inline-block;
            margin-right: 0.3em; }
        .indexArticleWrapper .indexArticleList > li > a h3 {
          font-size: 18px;
          font-weight: normal;
          line-height: 1.5;
          color: #fff;
          margin: 0 0 5px;
          padding: 0;
          word-break: break-all;
          display: -webkit-box;
          overflow: hidden;
          text-overflow: ellipsis;
          -webkit-line-clamp: 1;
          -webkit-box-orient: vertical; }
        .indexArticleWrapper .indexArticleList > li > a p {
          font-size: 14px;
          line-height: 1.5;
          color: #bbbbbb;
          margin: 0 0 0px;
          padding: 0;
          word-break: break-all;
          display: -webkit-box;
          overflow: hidden;
          text-overflow: ellipsis;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical; }
      .indexArticleWrapper .indexArticleList > li + li {
        margin-top: 40px; }
        @media screen and (min-width: 992px) {
          .indexArticleWrapper .indexArticleList > li + li {
            margin-top: 60px; } }
        .indexArticleWrapper .indexArticleList > li + li > a::before {
          content: '';
          display: block;
          width: 100%;
          border-top: 1px solid #999999;
          position: absolute;
          top: -21px;
          left: 0; }
          @media screen and (min-width: 992px) {
            .indexArticleWrapper .indexArticleList > li + li > a::before {
              top: -31px; } }
    .indexArticleWrapper .indexArticleList + .indexArticleList > li:first-child {
      margin-top: 40px; }
      @media screen and (min-width: 992px) {
        .indexArticleWrapper .indexArticleList + .indexArticleList > li:first-child {
          margin-top: 0px; } }
      .indexArticleWrapper .indexArticleList + .indexArticleList > li:first-child > a::before {
        content: '';
        display: block;
        width: 100%;
        border-top: 1px solid #999999;
        position: absolute;
        top: -21px;
        left: 0; }
        @media screen and (min-width: 992px) {
          .indexArticleWrapper .indexArticleList + .indexArticleList > li:first-child > a::before {
            display: none; } }

.indexMainLectureWrapper {
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  margin-bottom: 40px; }
  @media screen and (min-width: 992px) {
    .indexMainLectureWrapper {
      display: flex;
      align-items: stretch; } }
  @media screen and (min-width: 992px) {
    .indexMainLectureWrapper .indexLectureFigureSlider {
      width: 55%; } }
  .indexMainLectureWrapper .indexLectureFigureSlider .indexLectureFigure {
    display: block;
    aspect-ratio: 750/420;
    outline: none; }
  .indexMainLectureWrapper .indexLectureFigureSlider.slick-slider[data-slick] {
    position: static;
    margin-bottom: 0; }
    .indexMainLectureWrapper .indexLectureFigureSlider.slick-slider[data-slick] img {
      border-radius: 10px 10px 0 0;
      object-fit: cover; }
      @media screen and (min-width: 992px) {
        .indexMainLectureWrapper .indexLectureFigureSlider.slick-slider[data-slick] img {
          border-radius: 10px 0 0 10px; } }
  @media screen and (min-width: 992px) {
    .indexMainLectureWrapper .indexLectureContentSlider {
      width: 45%; }
      .indexMainLectureWrapper .indexLectureContentSlider .slick-list, .indexMainLectureWrapper .indexLectureContentSlider .slick-track {
        height: 100%; } }
  .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentTop {
      padding: 20px 20px 10px; }
      @media screen and (min-width: 992px) {
        .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentTop {
          padding: 20px; } }
      .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentTop h3 {
        font-size: 20px;
        margin: 0 0 0.5em;
        word-break: break-all;
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical; }
        @media screen and (min-width: 992px) {
          .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentTop h3 {
            margin: 0 0 2em; } }
      .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentTop p {
        font-size: 15px;
        line-height: 1.5;
        color: #999999;
        margin: 0 0 1em;
        padding: 0;
        word-break: break-all;
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical; }
    .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentbot {
      padding: 0 20px 15px; }
      @media screen and (min-width: 992px) {
        .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentbot {
          padding: 0 20px 20px; } }
      .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentbot > div {
        text-align: right;
        border-top: 1px solid #ececec;
        padding-top: 10px; }
        @media screen and (min-width: 992px) {
          .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentbot > div {
            padding-top: 20px; } }
        .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentbot > div > span {
          display: inline-block;
          font-size: 1.25em;
          font-weight: bold;
          color: #28ABC2;
          position: relative;
          padding-right: 20px; }
          .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentbot > div > span::before {
            content: '';
            display: block;
            width: 10px;
            height: 10px;
            border-top: 2px solid #6fd0e1;
            border-right: 2px solid #6fd0e1;
            box-shadow: 0 0 0 lightgray;
            transition: all 200ms ease;
            transform: rotate(45deg);
            position: absolute;
            top: 0.6em;
            right: 5px; }
      .indexMainLectureWrapper .indexLectureContentSlider .indexLectureContent .contentbot:hover > div > span::before {
        border-color: #28ABC2;
        box-shadow: 2px -2px 0 #6fd0e1; }

.subscribeSection {
  padding: 5rem 20px;
  text-align: center;
  position: relative; }
  .subscribeSection.bannerSection {
    min-height: 30rem;
    padding: 7.5rem 0 2rem;
    border-bottom: 0.5rem solid #232323; }
    .subscribeSection.bannerSection.video {
      width: 100%;
      aspect-ratio: 1080/1520; }
      .subscribeSection.bannerSection.video .bannerVideo {
        position: relative;
        top: -15%; }
      @media screen and (min-width: 768px) {
        .subscribeSection.bannerSection.video {
          aspect-ratio: 1920/720; } }
    @media screen and (min-width: 992px) {
      .subscribeSection.bannerSection {
        min-height: 43.75rem;
        padding: 20rem 0 10rem;
        margin-bottom: 10rem; } }
    .subscribeSection.bannerSection .bannerBgWrapper {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
      .subscribeSection.bannerSection .bannerBgWrapper .bannerBg {
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden; }
        .subscribeSection.bannerSection .bannerBgWrapper .bannerBg img, .subscribeSection.bannerSection .bannerBgWrapper .bannerBg iframe {
          width: 100%;
          height: 100%;
          object-fit: cover;
          max-width: 1920px; }
        .subscribeSection.bannerSection .bannerBgWrapper .bannerBg .bannerVideo {
          aspect-ratio: 1080/1920; }
          @media screen and (min-width: 768px) {
            .subscribeSection.bannerSection .bannerBgWrapper .bannerBg .bannerVideo {
              aspect-ratio: 1920/1080; } }
          .subscribeSection.bannerSection .bannerBgWrapper .bannerBg .bannerVideo video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 20%; }
            .subscribeSection.bannerSection .bannerBgWrapper .bannerBg .bannerVideo video.mb {
              display: block; }
              @media screen and (min-width: 768px) {
                .subscribeSection.bannerSection .bannerBgWrapper .bannerBg .bannerVideo video.mb {
                  display: none; } }
            .subscribeSection.bannerSection .bannerBgWrapper .bannerBg .bannerVideo video.pc {
              display: none; }
              @media screen and (min-width: 768px) {
                .subscribeSection.bannerSection .bannerBgWrapper .bannerBg .bannerVideo video.pc {
                  display: block; } }
        .subscribeSection.bannerSection .bannerBgWrapper .bannerBg::after {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.8) 100%);
          position: absolute;
          top: 0;
          left: 0; }
  .subscribeSection h2, .subscribeSection h3 {
    font-size: 28px;
    color: #fff;
    line-height: 1.5em;
    margin: 0; }
    @media screen and (min-width: 992px) {
      .subscribeSection h2, .subscribeSection h3 {
        font-size: 48px; } }
  .subscribeSection p {
    font-size: 18px;
    line-height: 1.5em;
    margin: 1em 0 0; }
    @media screen and (min-width: 992px) {
      .subscribeSection p {
        font-size: 24px; } }
  .subscribeSection .alertText {
    display: inline-block;
    font-size: 16px;
    color: #ea1517;
    text-align: justify; }
  .subscribeSection h2.plansTitle {
    font-size: 24px;
    margin-bottom: 20px; }
    @media screen and (min-width: 992px) {
      .subscribeSection h2.plansTitle {
        font-size: 36px; } }
    .subscribeSection h2.plansTitle span {
      display: inline-block;
      background-color: #28ABC2;
      padding: 5px 12px;
      border-radius: 5px; }
  .subscribeSection h3.plansSubTitle {
    font-size: 16px;
    margin-bottom: 20px; }
    @media screen and (min-width: 992px) {
      .subscribeSection h3.plansSubTitle {
        font-size: 22px; } }

.subscribeBannerWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2; }
  .subscribeBannerWrapper .subscribeBanner {
    max-width: 85%;
    color: #fff; }

.subscribeIndexFormWrapper {
  margin-top: 1.5rem;
  padding: 0 2rem; }
  .subscribeIndexFormWrapper .subscribeIndexForm {
    width: 100%;
    display: flex;
    margin: 0; }
    .subscribeIndexFormWrapper .subscribeIndexForm .formRow {
      width: 100%;
      display: flex;
      justify-content: center;
      gap: 10px; }
      .subscribeIndexFormWrapper .subscribeIndexForm .formRow .inputWrapper {
        width: 60%;
        max-width: 500px; }
        .subscribeIndexFormWrapper .subscribeIndexForm .formRow .inputWrapper input {
          display: block;
          width: 100%;
          height: 42px;
          background: rgba(22, 22, 22, 0.7);
          border: 1px solid rgba(128, 128, 128, 0.7);
          box-shadow: none;
          border-radius: 4px;
          padding: 3px 5px; }
      .subscribeIndexFormWrapper .subscribeIndexForm .formRow .btnWrapper {
        width: 40%;
        max-width: 200px; }
        .subscribeIndexFormWrapper .subscribeIndexForm .formRow .btnWrapper .formBtn {
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 18px;
          width: 100%;
          height: 42px;
          color: #fff;
          border-radius: 4px;
          background-color: #28ABC2;
          box-shadow: none;
          border: none;
          outline: none; }
          .subscribeIndexFormWrapper .subscribeIndexForm .formRow .btnWrapper .formBtn:hover {
            opacity: 0.9; }
  .subscribeIndexFormWrapper h3 {
    font-size: 18px;
    margin-bottom: 10px; }
    @media screen and (min-width: 992px) {
      .subscribeIndexFormWrapper h3 {
        font-size: 22px; } }

.subscribeWrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  max-width: 85%;
  margin: auto; }
  @media screen and (min-width: 992px) {
    .subscribeWrapper {
      flex-direction: row; }
      .subscribeWrapper.reverse {
        flex-direction: row-reverse; } }
  .subscribeWrapper > div {
    flex-basis: 50%; }
    @media screen and (min-width: 992px) {
      .subscribeWrapper > div {
        padding: 0 10px; } }
  .subscribeWrapper .subscribeContent {
    color: #fff;
    text-align: center; }
    @media screen and (min-width: 992px) {
      .subscribeWrapper .subscribeContent {
        text-align: left; } }

.subscribePlans {
  display: flex;
  justify-content: center;
  max-width: 1000px;
  margin: auto;
  gap: 10px; }
  @media screen and (min-width: 992px) {
    .subscribePlans {
      gap: 20px; } }
  .subscribePlans > div {
    flex-basis: 50%;
    background-color: #fff;
    border-radius: 5px;
    overflow: hidden; }
  .subscribePlans .plansTop {
    font-size: 16px;
    line-height: 1.5;
    color: #fff;
    background-color: #28ABC2;
    padding: 10px 5px;
    margin: 0; }
    @media screen and (min-width: 992px) {
      .subscribePlans .plansTop {
        font-size: 22px; } }
  .subscribePlans .plansInfo {
    padding: 15px 20px 20px; }
    @media screen and (min-width: 992px) {
      .subscribePlans .plansInfo {
        padding: 20px 30px 30px; } }
  .subscribePlans h5 {
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
    color: #000; }
  .subscribePlans p {
    max-width: 240px;
    font-size: 16px;
    line-height: 1.5em;
    text-align: justify;
    margin: 0.8em auto 0; }
    @media screen and (min-width: 992px) {
      .subscribePlans p {
        font-size: 16px; } }
  .subscribePlans .strikethrough {
    text-decoration: line-through; }
  .subscribePlans .plansPrice {
    font-size: 18px;
    font-weight: bold;
    color: #E50914;
    margin-bottom: 10px; }
    @media screen and (min-width: 992px) {
      .subscribePlans .plansPrice {
        font-size: 24px; } }
  .subscribePlans .plansBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 42px;
    font-size: 18px;
    color: #fff;
    border-radius: 4px;
    background-color: #28ABC2;
    box-shadow: none;
    border: none;
    outline: none;
    margin: auto; }
    .subscribePlans .plansBtn:hover {
      opacity: 0.9; }

.subscribeFAQ {
  max-width: 1000px;
  list-style: none;
  padding: 0;
  margin: 24px auto 60px; }
  .subscribeFAQ > li {
    margin-bottom: 10px; }
  .subscribeFAQ .subscribe-q {
    display: block;
    font-size: 18px;
    color: #fff;
    padding: 20px 48px 20px 25px;
    background-color: #2d2d2d;
    text-align: left;
    position: relative; }
    .subscribeFAQ .subscribe-q::before {
      content: '\e5cd';
      font-size: 36px;
      font-family: 'Material Icons';
      line-height: 1;
      position: absolute;
      top: 14px;
      right: 10px;
      transition: .3s; }
    .subscribeFAQ .subscribe-q.collapsed::before {
      transform: rotate(225deg); }
    .subscribeFAQ .subscribe-q:hover {
      background-color: #414141; }
  .subscribeFAQ .subscribe-a .answerBox {
    font-size: 18px;
    color: #fff;
    padding: 20px 25px;
    background-color: #2d2d2d;
    border-top: 1px solid #000;
    text-align: justify; }

.subscribeStepWrapper {
  max-width: 1000px;
  margin: auto;
  display: flex;
  justify-content: center; }
  .subscribeStepWrapper .subscribeStep {
    display: block;
    width: 200px;
    position: relative; }
    .subscribeStepWrapper .subscribeStep + .subscribeStep::before {
      content: '\e5d3';
      width: 100%;
      display: flex;
      justify-content: center;
      font-size: 50px;
      font-family: 'Material Symbols Outlined';
      color: #ccc;
      position: absolute;
      top: 20%;
      left: -50%; }
    .subscribeStepWrapper .subscribeStep .stepText {
      color: #ccc;
      margin-bottom: 5px; }
    .subscribeStepWrapper .subscribeStep .stepIcon {
      width: 40%;
      aspect-ratio: 1;
      background-color: #ccc;
      border-radius: 50%;
      margin: auto;
      position: relative;
      z-index: 2; }
      .subscribeStepWrapper .subscribeStep .stepIcon::before {
        content: '';
        display: block;
        font-size: 50px;
        font-family: 'Material Symbols Outlined';
        color: #a2a2a2;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      .subscribeStepWrapper .subscribeStep .stepIcon.step1::before {
        content: '\e745'; }
      .subscribeStepWrapper .subscribeStep .stepIcon.step2::before {
        content: '\f041'; }
      .subscribeStepWrapper .subscribeStep .stepIcon.step3::before {
        content: '\e7e6'; }
    .subscribeStepWrapper .subscribeStep .stepTitle {
      font-size: 22px;
      color: #fff; }
    .subscribeStepWrapper .subscribeStep.done::before {
      color: #28ABC2; }
    .subscribeStepWrapper .subscribeStep.done .stepIcon {
      background-color: #28ABC2; }
      .subscribeStepWrapper .subscribeStep.done .stepIcon::before {
        color: #fff; }
    .subscribeStepWrapper .subscribeStep.fail .stepIcon {
      background-color: #F76F6F; }
      .subscribeStepWrapper .subscribeStep.fail .stepIcon::before {
        content: '\e811';
        color: #fff; }

.subscribePayWrapper {
  max-width: 1000px;
  margin: 40px auto 0px;
  display: flex;
  flex-direction: column;
  border: 1px solid #28ABC2;
  border-radius: 10px;
  text-align: left;
  overflow: hidden; }
  @media screen and (min-width: 992px) {
    .subscribePayWrapper {
      flex-direction: row; } }
  .subscribePayWrapper .subscribePayInfo {
    flex-basis: 30%;
    border-right: 1px solid #bbbbbb;
    background-color: #fff;
    padding: 20px 30px; }
    .subscribePayWrapper .subscribePayInfo .infoTitle {
      font-size: 18px;
      font-weight: bold;
      position: relative;
      padding-left: 2em;
      margin-bottom: 20px; }
      .subscribePayWrapper .subscribePayInfo .infoTitle::before {
        content: '\f0f6';
        display: block;
        font-size: 24px;
        font-family: FontAwesome;
        line-height: 1;
        position: absolute;
        top: 0;
        left: 0; }
      .subscribePayWrapper .subscribePayInfo .infoTitle.fail::before {
        content: '\f071';
        color: #F0CD30; }
    .subscribePayWrapper .subscribePayInfo .infoRow {
      margin-bottom: 20px; }
      .subscribePayWrapper .subscribePayInfo .infoRow label {
        display: block;
        font-weight: normal;
        color: #999999; }
      .subscribePayWrapper .subscribePayInfo .infoRow span {
        display: inline-block;
        font-weight: bold; }
      .subscribePayWrapper .subscribePayInfo .infoRow .highlight {
        color: #F76F6F; }
  .subscribePayWrapper .subscribePayContent {
    flex-basis: 100%;
    padding: 30px 20px;
    background-color: #fff; }
    @media screen and (min-width: 992px) {
      .subscribePayWrapper .subscribePayContent {
        padding: 30px 40px; } }
  .subscribePayWrapper .subscribePayRow {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 20px; }
    .subscribePayWrapper .subscribePayRow .subscribePayLabel {
      flex-basis: 80px; }
      .subscribePayWrapper .subscribePayRow .subscribePayLabel label {
        font-size: 17px;
        line-height: 42px;
        margin-bottom: 0; }
    .subscribePayWrapper .subscribePayRow .subscribePayInput {
      display: flex;
      flex-wrap: wrap;
      flex-basis: calc( 100% - 80px);
      gap: 2%; }
      .subscribePayWrapper .subscribePayRow .subscribePayInput input, .subscribePayWrapper .subscribePayRow .subscribePayInput select {
        display: block;
        width: 100%;
        height: 42px;
        background: #fff;
        border: 1px solid rgba(128, 128, 128, 0.7);
        box-shadow: none;
        border-radius: 4px;
        padding: 3px 5px; }
        .subscribePayWrapper .subscribePayRow .subscribePayInput input:disabled, .subscribePayWrapper .subscribePayRow .subscribePayInput select:disabled {
          background: #b7b7b7;
          cursor: not-allowed;
          color: #8f8f8f; }
      .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayInputAddress1, .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayInputAddress2 {
        width: 100%;
        margin-bottom: 2%; }
        @media screen and (min-width: 500px) {
          .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayInputAddress1, .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayInputAddress2 {
            width: 49%; } }
      .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayInputAddress3 {
        width: 100%; }
      .subscribePayWrapper .subscribePayRow .subscribePayInput .vehicleInput {
        margin-top: 10px; }
      .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayPrice {
        line-height: 42px; }
        .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayPrice .dollarSign {
          display: inline-block; }
        .subscribePayWrapper .subscribePayRow .subscribePayInput .subscribePayPrice .price {
          display: inline-block;
          font-family: Arial;
          font-size: 20px;
          font-weight: bold;
          color: #28ABC2; }
    .subscribePayWrapper .subscribePayRow .subscribePayRadios {
      display: flex;
      flex-direction: column;
      flex-basis: calc(100% - 80px); }
      .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 0; }
        .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio:first-child {
          padding-top: 6px; }
        .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio + .subscribePayRadio {
          border-top: 1px solid rgba(0, 0, 0, 0.06); }
        .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio .paymentOption {
          font-weight: normal;
          margin-bottom: 0;
          cursor: pointer; }
          .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio .paymentOption input[type="radio"] {
            display: none; }
          .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio .paymentOption .paymentText {
            display: inline-block;
            position: relative;
            padding-left: 2em; }
            .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio .paymentOption .paymentText::before {
              content: '';
              display: block;
              position: absolute;
              width: 20px;
              height: 20px;
              border: 2px solid #28ABC2;
              border-radius: 50%;
              top: 1px;
              left: 0px;
              transition: .2s; }
          .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio .paymentOption input[type="radio"]:checked ~ .paymentText {
            color: #28ABC2; }
            .subscribePayWrapper .subscribePayRow .subscribePayRadios .subscribePayRadio .paymentOption input[type="radio"]:checked ~ .paymentText::before {
              border-width: 6px; }
    .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox {
      display: inline-block;
      font-weight: normal;
      cursor: pointer;
      padding-top: 5px;
      margin-top: 0;
      margin-right: 15px;
      margin-bottom: 5px; }
      .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox input[type="checkbox"] {
        display: none; }
      .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox .checkboxText {
        display: block;
        font-size: 16px;
        position: relative;
        padding-left: 25px; }
        .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox .checkboxText::before, .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox .checkboxText::after {
          content: '';
          display: block;
          position: absolute; }
        .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox .checkboxText::before {
          width: 20px;
          height: 20px;
          border: 2px solid #28ABC2;
          border-radius: 4px;
          top: 2px;
          left: 0px; }
        .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox .checkboxText::after {
          content: '\f00c';
          font-size: 14px;
          line-height: 1;
          font-family: fontAwesome;
          color: #fff;
          top: 5px;
          left: 3px;
          transform: scale(0);
          transition: .2s; }
      .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox input[type="checkbox"]:checked ~ .checkboxText::before {
        background-color: #28ABC2; }
      .subscribePayWrapper .subscribePayRow .subscribePayCheck label.checkbox input[type="checkbox"]:checked ~ .checkboxText::after {
        transform: scale(1); }
  .subscribePayWrapper .member-btn-wrapper {
    padding-bottom: 0; }
  .subscribePayWrapper .accountLinkWrapper {
    text-align: center;
    margin-top: 30px; }
  .subscribePayWrapper .accountLink.line {
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #000;
    position: relative;
    color: #fff;
    border-color: #00C200;
    background-color: #00C200;
    padding: 8px 20px 8px 40px;
    border-radius: 50px; }
    .subscribePayWrapper .accountLink.line:before {
      content: '';
      display: block;
      width: 18px;
      height: 18px;
      background-image: url(../img/line.png);
      background-size: 18px;
      background-repeat: no-repeat;
      position: absolute;
      top: 10px;
      left: 12px; }

.page-header {
  height: 150px;
  padding-top: 20px;
  background: url(../img/cart_banner_bg.png) repeat-x;
  background-position: 30% 0;
  background-size: 1440px 200px;
  border: none;
  margin: 0 0 100px; }
  @media screen and (min-width: 768px) {
    .page-header {
      height: 200px;
      padding-top: 40px;
      background-position: center;
      background-size: 1920px 200px; } }
  .page-header .page-header-title-wrapper {
    position: relative; }
    @media screen and (min-width: 992px) {
      .page-header .page-header-title-wrapper {
        padding: 0 50px; } }
    .page-header .page-header-title-wrapper:after {
      content: '';
      display: block;
      clear: both; }
    .page-header .page-header-title-wrapper .page-header-title {
      float: left;
      font-size: 0;
      margin: 0;
      position: relative;
      z-index: 2; }
      .page-header .page-header-title-wrapper .page-header-title:before {
        content: '';
        display: block;
        width: 85px;
        height: 100px;
        background: url(../img/list/title-pattern.png) no-repeat;
        background-size: 85px;
        position: absolute;
        top: 30px;
        left: 80px;
        z-index: -1; }
        @media screen and (min-width: 992px) {
          .page-header .page-header-title-wrapper .page-header-title:before {
            width: 170px;
            height: 200px;
            top: 30px;
            left: 80px;
            background: url(../img/list/title-pattern.png) no-repeat;
            background-size: 170px; } }
@media screen and (min-width: 992px) {
      .course-info-wrapper .course-pic {
        width: 45%; } }


/*MOBILE SEARCH MB 20250807*/    
.search-container-mb {
  display: none;
  background: #212429;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  padding: 20px;
  box-sizing: border-box;
  overflow-y: auto; 
  border: 2px solid #ccc;
}
.search-container-mb .search-container-mb-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 25px;
  flex-direction:row;
}
.search-container-mb .search-container-mb-top .search-input {
  width: 85%;
  height: auto;
  padding: 10px 15px;
  font-size: 18px;
  border: none;
  border-radius: 5px;
  background-color: #5c5c5c;
  color: #fff;
  border:2px solid #ccc;
}
.search-container-mb .search-container-mb-top .close-btn {
  font-size: 16px;
  color: #fff;
  cursor: pointer;
  width:15%;
  text-align: center;
}

.search-container-mb .search-container-mb-inner span {
  color: #28ABC2;
  font-size: 20px;
  display: block;
  margin-bottom: 20px;
}

.search-container-mb .search-container-mb-inner .hot-ketword {
  color: #fff;
  font-size: 18px;
  display: block;
  margin-bottom: 15px;
}
.search-container-mb .search-container-mb-inner .hot-ketword img {
  max-width: 42px;
}
.search-container-mb .search-container-mb-inner .recommend-class {
  width: 50%;
  float: left;
  padding: 0 1.5%;
  box-sizing: border-box;
  font-size: 16px;
  color: #fff;
}
.search-container-mb .search-container-mb-inner .recommend-class img{
  width: 100%;
  margin-bottom: 5px;
}
/*light mode*/
.search-container-mb.light-mode {
  background: #f7f7f7;
  border:6px solid #28ABC2;
}
.search-container-mb.light-mode .search-container-mb-top .search-input{
  background-color: #ffffff;
  color:#000;
}
.search-container-mb.light-mode .search-container-mb-top .close-btn{
  color: #28ABC2;
}
.search-container-mb.light-mode .search-container-mb-inner .hot-ketword {
  color: #000;
}
.search-container-mb.light-mode .search-container-mb-inner .recommend-class{
  color: #000;
}

@media screen and (min-width: 992px) {
  .header-search-mb-wrapper {
    display: none;
  }
  .search-container-mb{
    display: none!important;
  }
  
}


.breadcrumbs-wrapper {
  width: 100%;
  max-width: 1320px;
  padding: 0 10px;
  margin: auto; }
  .breadcrumbs-wrapper .breadcrumbs {
    font-size: 14px;
    padding: 20px 0; }
    .breadcrumbs-wrapper .breadcrumbs a {
      display: inline-block;
      color: #999999;
      padding-right: 2px; }
      .breadcrumbs-wrapper .breadcrumbs a:hover {
        color: #28ABC2; }
    .breadcrumbs-wrapper .breadcrumbs span {
      display: inline-block;
      color: #999999;
      padding-left: 2px; }

.list-header {
  width: 100%;
  max-width: 1320px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  background: center/cover no-repeat #28ABC2;
  border-radius: 20px;
  margin: 20px auto 0; }
  .list-header h2 {
    font-size: 30px;
    text-align: center;
    color: #fff; }

.text-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.6em; }

[class^="list-icon-"] {
  font-size: 14px;
  color: #999999;
  position: relative;
  padding-left: 2em; }
  [class^="list-icon-"]::before {
    font-family: 'Material Icons';
    font-size: 1.5em;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0; }

.list-icon-account-cicle::before {
  content: '\e853'; }

.list-icon-time-cicle::before {
  content: '\e8b5'; }

.list-icon-money-cicle::before {
  content: '\e263'; }

.list-info-text {
  font-size: 13px;
  color: #bbbbbb; }
  .list-info-text.new {
    color: #d5d5d5; }

.list-label {
  display: inline-block;
  font-size: 15px;
  color: #fff;
  padding: 2px 8px;
  border-radius: 5px;
  border: none; }
  .list-label.blue {
    background-image: linear-gradient(62deg, #2889d4 0%, #77b4e2 100%); }
  .list-label.pink {
    background-image: linear-gradient(62deg, #fd4385 0%, #fe888b 100%); }

.course-feature {
  display: block;
  background-color: #1A1B1F;
  border: 1px solid #38393B;
  text-decoration: none !important;
  outline: none !important;
  margin: 0 10px; }
  .course-feature .feature-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px; }
    .course-feature .feature-head .head-left {
      display: flex;
      align-items: center; }
      .course-feature .feature-head .head-left .user-head {
        width: 40px;
        aspect-ratio: 1;
        margin-right: 10px;
        overflow: hidden;
        position: relative; }
        .course-feature .feature-head .head-left .user-head img {
          width: 30px;
          aspect-ratio: 1;
          position: relative;
          top: 5px;
          left: 5px;
          z-index: 2; }
        .course-feature .feature-head .head-left .user-head:before, .course-feature .feature-head .head-left .user-head:after {
          content: '';
          display: block;
          border-radius: 50%;
          position: absolute; }
        .course-feature .feature-head .head-left .user-head:before {
          width: 40px;
          height: 40px;
          background: linear-gradient(27deg, #FECD1F 15%, #F40003 50%, #BC00AC 100%); }
        .course-feature .feature-head .head-left .user-head:after {
          width: 36px;
          height: 36px;
          background-color: #fff;
          top: 2px;
          left: 2px; }
      .course-feature .feature-head .head-left .user-name {
        font-weight: bold;
        color: #fff; }
    .course-feature .feature-head .head-right .more {
      width: 24px;
      height: 24px;
      display: flex;
      justify-content: center;
      align-items: center; }
      .course-feature .feature-head .head-right .more span {
        display: block;
        width: 4px;
        height: 4px;
        background-color: #C0C1C3;
        border-radius: 50%;
        position: relative; }
        .course-feature .feature-head .head-right .more span:before, .course-feature .feature-head .head-right .more span:after {
          content: '';
          display: block;
          width: 4px;
          height: 4px;
          background-color: #C0C1C3;
          border-radius: 50%;
          position: absolute; }
        .course-feature .feature-head .head-right .more span:before {
          left: -8px; }
        .course-feature .feature-head .head-right .more span:after {
          right: -8px; }
  .course-feature .feature-img {
    display: block;
    text-decoration: none;
    font-size: 0; }
    .course-feature .feature-img img {
      width: 100%; }
  .course-feature .feature-icons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px; }
    .course-feature .feature-icons .icons-left {
      display: flex;
      justify-content: space-between;
      width: 86px; }
    .course-feature .feature-icons svg {
      width: 20px;
      height: 20px; }
  .course-feature .feature-text {
    padding: 0 14px 14px; }
    .course-feature .feature-text h3 {
      font-size: 16px;
      line-height: 1.5;
      color: #fff;
      margin: 0;
      padding: 0;
      word-break: break-all;
      display: -webkit-box;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical; }

.course-free {
  display: block;
  text-decoration: none !important;
  outline: none !important;
  margin: 0 10px; }
  .course-free .free-img {
    display: block;
    text-decoration: none;
    font-size: 0;
    position: relative; }
    .course-free .free-img img {
      width: 100%; }
    .course-free .free-img .list-label-wrapper {
      position: absolute;
      top: 3px;
      left: -5px; }
  .course-free .free-text {
    margin-top: 0.6em; }
    .course-free .free-text h3 {
      font-size: 16px;
      line-height: 1.5;
      color: #fff;
      margin: 0;
      padding: 0;
      word-break: break-all;
      display: -webkit-box;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical; }

@media screen and (min-width: 992px) {
  .courese-new {
    display: flex; } }

.courese-new .new-img img {
  width: 100%;
  border-radius: 10px; }

@media screen and (min-width: 992px) {
  .courese-new .new-img {
    width: 60%; } }

.courese-new .new-text {
  padding-top: 10px; }
  @media screen and (min-width: 992px) {
    .courese-new .new-text {
      width: 40%;
      padding: 15px 15px 15px 20px; } }
  .courese-new .new-text .list-label-wrapper {
    display: flex;
    gap: 10px;
    margin-bottom: 5px; }
  .courese-new .new-text h3 {
    font-size: 16px;
    line-height: 1.5;
    color: #fff;
    margin: 0 0 20px;
    padding: 0;
    word-break: break-all;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; }

.list-container {
  max-width: 1320px;
  width: 100%;
  margin: auto;
  padding: 0 15px; }
  @media screen and (min-width: 992px) {
    .list-container {
      padding: 0 20px; } }
  .list-container .indexTitleWrapper .indexTitle {
    color: #999999; }

.seo-explore-wrapper .seo-explore-item {
  display: block;
  width: 200px;
  padding-top: 60px;
  margin: 10px;
  border-radius: 30px;
  border: 2px solid #999999;
  background-color: #fff;
  position: relative;
  transition: .3s; }
  .seo-explore-wrapper .seo-explore-item > span {
    font-size: 14px;
    color: #999999;
    background: bottom/100% no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (min-width: 992px) {
      .seo-explore-wrapper .seo-explore-item > span {
        font-size: 16px; } }
  .seo-explore-wrapper .seo-explore-item:hover, .seo-explore-wrapper .seo-explore-item.active {
    background-color: #28ABC2;
    border-color: #2498ad; }
    .seo-explore-wrapper .seo-explore-item:hover > span, .seo-explore-wrapper .seo-explore-item.active > span {
      color: #fff; }

.broadcastList-item {
    display: block;
    width: var(--list-item-width);
    box-shadow: 0 3px 10px 2px rgba(120, 120, 120, 0.3);
    border-radius: 5px;
    outline: none;
    margin: 0 0px 30px;
    position: relative;
}

@media screen and (min-width: 500px) {
    .broadcastList-item {
        margin: 0 10px 30px;
    }
}

.broadcastList-item > a {
    display: block;
    outline: none;
}

.broadcastList-item .broadcast-pic {
    position: relative;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}

    .broadcastList-item .broadcast-pic img {
        display: block;
        margin: auto;
        transition: .8s;
    }

    .broadcastList-item .broadcast-pic .broadcast-level {
        display: block;
        font-size: 14px;
        color: #fff;
        background-color: #585BEE;
        padding: 2px 8px;
        position: absolute;
        top: 10px;
        left: 10px;
        z-index: 2;
    }

.broadcastList-item .broadcast-time {
    font-size: 12px;
    line-height: 1.5;
    color: #939393;
    position: relative;
    padding-left: 18px;
}

    .broadcastList-item .broadcast-time::before {
        content: '\e8b5';
        display: block;
        font-size: 15px;
        font-weight: bold;
        font-family: 'Material Icons';
        line-height: 1em;
        position: absolute;
        top: 2px;
        left: 0;
    }

.broadcastList-item .broadcast-teacher {
    color: #2d2d2d;
    position: relative;
    padding-left: 24px;
}

    .broadcastList-item .broadcast-teacher::before {
        content: '\e853';
        display: block;
        font-size: 20px;
        font-family: 'Material Icons';
        line-height: 1em;
        position: absolute;
        top: 0px;
        left: 0;
    }

.broadcastList-item .broadcast-date {
    color: #2d2d2d;
    position: relative;
    padding-left: 24px;
}

    .broadcastList-item .broadcast-date::before {
        content: '\e878';
        display: block;
        font-size: 20px;
        font-family: 'Material Icons';
        line-height: 1em;
        position: absolute;
        top: 0px;
        left: 0;
    }

.broadcastList-item .broadcast-info {
    background-color: #fff;
    padding: 10px 15px 15px;
    position: relative;
}

    .broadcastList-item .broadcast-info .broadcast-tv {
        width: 50%;
        text-align: center;
        background-color: #000;
        position: absolute;
        bottom: calc(100% - 20px);
        right: 0;
        transform-style: preserve-3d;
        overflow: hidden;
    }

        .broadcastList-item .broadcast-info .broadcast-tv::before {
            content: '';
            display: block;
            width: 100%;
            padding-top: 56%;
        }

        .broadcastList-item .broadcast-info .broadcast-tv::after {
            content: '\e039';
            display: block;
            font-size: 24px;
            font-family: 'Material Icons';
            color: #fff;
            line-height: 1em;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%) translateZ(20px);
            transition: .3s;
        }

        .broadcastList-item .broadcast-info .broadcast-tv img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
        }

    .broadcastList-item .broadcast-info .broadcast-top {
        color: #939393;
    }

        .broadcastList-item .broadcast-info .broadcast-top .broadcast-label {
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 1px solid #ececf2;
            padding-top: 5px;
            padding-bottom: 10px;
        }

            .broadcastList-item .broadcast-info .broadcast-top .broadcast-label label {
                font-weight: normal;
                color: #4F73D0;
                margin: 0;
            }

            .broadcastList-item .broadcast-info .broadcast-top .broadcast-label.labeled {
                border: none;
                padding-top: 15px;
                padding-bottom: 5px;
            }

                .broadcastList-item .broadcast-info .broadcast-top .broadcast-label.labeled label {
                    border-bottom: 2px solid #4F73D0;
                }

            .broadcastList-item .broadcast-info .broadcast-top .broadcast-label.news {
                border: none;
                padding-bottom: 5px;
            }

    .broadcastList-item .broadcast-info .broadcast-course-title {
        max-width: 100%;
        font-size: 18px;
        color: #2d2d2d;
        word-break: break-all;
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        height: 3.65em;
        padding: 10px 25px 0 0;
        position: relative;
    }

        .broadcastList-item .broadcast-info .broadcast-course-title::before {
            content: '';
            display: block;
            width: 8px;
            height: 8px;
            border-top: 2px solid #a0b3e5;
            border-right: 2px solid #a0b3e5;
            box-shadow: 0 0 0 lightgray;
            transition: all 200ms ease;
            transform: rotate(45deg);
            position: absolute;
            top: 20px;
            right: 5px;
        }

        .broadcastList-item .broadcast-info .broadcast-course-title.news {
            word-break: normal;
            padding: 0 0 0 15px;
            height: auto;
            display: block;
            text-overflow: initial;
            -webkit-line-clamp: initial;
            -webkit-box-orient: inherit;
        }

            .broadcastList-item .broadcast-info .broadcast-course-title.news .title {
                color: #4F73D0;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .broadcastList-item .broadcast-info .broadcast-course-title.news p {
                margin: 0;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .broadcastList-item .broadcast-info .broadcast-course-title.news::before {
                display: none;
            }

            .broadcastList-item .broadcast-info .broadcast-course-title.news::after {
                content: '';
                display: block;
                width: 4px;
                height: 100%;
                background-color: #585BEE;
                border-radius: 5px;
                position: absolute;
                top: 0;
                left: 0;
            }

        .broadcastList-item .broadcast-info .broadcast-course-title.today {
            color: #939393;
            padding: 0 0 0 10px;
            height: 3em;
            font-size: 16px;
        }

            .broadcastList-item .broadcast-info .broadcast-course-title.today::before {
                display: none;
            }

            .broadcastList-item .broadcast-info .broadcast-course-title.today::after {
                content: '';
                display: block;
                width: 2px;
                height: 100%;
                background-color: #585BEE;
                border-radius: 5px;
                position: absolute;
                top: 0;
                left: 0;
            }

.broadcastList-item .foreign-info {
    padding: 15px 15px 20px;
}

    .broadcastList-item .foreign-info .foreign-top {
        display: flex;
        align-items: center;
        margin-bottom: 10px;
    }

        .broadcastList-item .foreign-info .foreign-top .foreign-time-label {
            font-size: 13px;
            padding: 3px 5px;
            color: #ececf2;
            background-color: #585BEE;
            margin-right: 10px;
        }

        .broadcastList-item .foreign-info .foreign-top span {
            color: #2d2d2d;
        }

.broadcastList-item .foreign-title {
    font-size: 18px;
    color: #2d2d2d;
    margin-bottom: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.broadcastList-item .foreign-btn {
    display: block;
    width: 100%;
    font-size: 18px;
    padding: 4px 16px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #4F73D0;
    border-radius: 5px;
    border: 2px solid #4F73D0;
    box-shadow: none;
    outline: none;
}

    .broadcastList-item .foreign-btn:hover {
        color: #4F73D0;
        background-color: #fff;
    }

    .broadcastList-item .foreign-btn span {
        display: inline-block;
        position: relative;
        padding-right: 30px;
    }

        .broadcastList-item .foreign-btn span::before {
            content: '\e5c8';
            display: block;
            font-size: 22px;
            font-family: 'Material Icons';
            line-height: 1em;
            position: absolute;
            top: 3px;
            right: 0;
            transition: .3s;
        }

    .broadcastList-item .foreign-btn.disable {
        background-color: #939393;
        border-color: #939393;
        pointer-events: none;
        cursor: not-allowed;
    }

.broadcastList-item .podcast-info {
    padding: 10px 15px;
}

    .broadcastList-item .podcast-info .podcast-title {
        font-size: 18px;
        color: #2d2d2d;
        margin-bottom: 1em;
        max-width: 100%;
        word-break: break-all;
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        max-height: 3em;
    }

    .broadcastList-item .podcast-info .podcast-btn {
        text-align: center;
    }

        .broadcastList-item .podcast-info .podcast-btn span {
            display: inline-block;
            color: #4F73D0;
            border-bottom: 2px solid #4F73D0;
            position: relative;
            padding-bottom: 4px;
            padding-right: 30px;
        }

            .broadcastList-item .podcast-info .podcast-btn span::before {
                content: '\e1c4';
                display: block;
                font-family: 'Material Symbols Outlined';
                font-size: 24px;
                line-height: 1;
                color: #4F73D0;
                position: absolute;
                top: -1px;
                right: 0;
                transition: all 200ms ease;
            }

.broadcastList-item .practical-box {
    display: flex;
    border-radius: 5px;
    overflow: hidden;
}

    .broadcastList-item .practical-box .practical-img {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 40%;
        position: relative;
        --default-img: url(../img/default_img.jpg);
    }

        .broadcastList-item .practical-box .practical-img::before {
            content: '';
            display: block;
            width: 100%;
            height: 100%;
            background: url(../img/default_img.jpg) center/cover no-repeat;
            background-image: var(--default-img);
            filter: blur(8px);
            -webkit-filter: blur(8px);
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
            pointer-events: none;
        }

    .broadcastList-item .practical-box .practical-info {
        width: 60%;
        display: flex;
        flex-wrap: wrap;
        align-content: space-between;
        padding: 15px 20px;
        position: relative;
        overflow: hidden;
    }

@media screen and (min-width: 992px) {
    .broadcastList-item .practical-box .practical-info {
        padding: 25px 25px;
    }
}

.broadcastList-item .practical-box .practical-info::before {
    content: '';
    display: block;
    width: 40%;
    padding-top: 20%;
    background: url(../img/index/rookie-computer.svg) center/cover no-repeat;
    position: absolute;
    bottom: -8%;
    right: 12px;
    z-index: -1;
    opacity: 0.2;
}

.broadcastList-item .practical-box .practical-info .info-inner {
    width: 100%;
}

.broadcastList-item .practical-box .practical-info .info-bottom {
    font-size: 12px;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

@media screen and (min-width: 992px) {
    .broadcastList-item .practical-box .practical-info .info-bottom {
        font-size: 14px;
    }
}

.broadcastList-item .practical-box .practical-info .practical-title {
    font-size: 18px;
    margin-bottom: 5px;
    color: #4F73D0;
}

@media screen and (min-width: 992px) {
    .broadcastList-item .practical-box .practical-info .practical-title {
        font-size: 22px;
        margin-bottom: 10px;
    }
}

.broadcastList-item .practical-box .practical-info p {
    font-size: 16px;
    color: #2d2d2d;
    max-width: 100%;
    word-break: break-all;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3.0em;
}

@media screen and (min-width: 992px) {
    .broadcastList-item .practical-box .practical-info p {
        font-size: 18px;
    }
}

.broadcastList-item > a:hover .broadcast-pic img {
    transform: rotate(-3deg) scale(1.2);
}

.broadcastList-item > a:hover .broadcast-info .broadcast-tv::after {
    content: '\e799';
    color: #4F73D0;
}

.broadcastList-item > a:hover .broadcast-info .broadcast-course-title::before {
    border-color: #4F73D0;
    box-shadow: 2px -2px 0 #a0b3e5;
}

.broadcastList-item > a:hover .broadcast-info .broadcast-course-title.news::after {
    box-shadow: 2px -2px 0 #a0b3e5;
}

.broadcastList-item > a:hover .podcast-info .podcast-btn span::before {
    text-shadow: 2px 0 0 #a0b3e5;
}

.broadcastList-item.live-label {
    margin: 25px 10px 30px;
}

    .broadcastList-item.live-label .broadcast-pic {
        border-radius: 0 5px 0 0;
    }

    .broadcastList-item.live-label::before {
        content: 'live';
        font-size: 14px;
        color: #fff;
        background-color: #585BEE;
        border-radius: 5px 5px 0 0;
        padding: 2px 5px 2px 20px;
        position: absolute;
        top: -25px;
        left: 0;
        z-index: 2;
    }

    .broadcastList-item.live-label::after {
        content: '\e51e';
        font-family: 'Material Icons';
        line-height: 1;
        color: #fff;
        position: absolute;
        top: -19px;
        left: 4px;
        z-index: 2;
    }

.broadcastList-item .convert-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #ececf2;
    padding: 15px 15px 15px;
}

    .broadcastList-item .convert-bottom .rp {
        font-size: 18px;
        font-weight: bold;
        color: #4F73D0;
    }

    .broadcastList-item .convert-bottom button.convertRP {
        display: block;
        width: 100%;
        font-size: 18px;
        padding: 4px 16px;
        text-align: center;
        text-decoration: none;
        color: #fff;
        background-color: #4F73D0;
        border-radius: 5px;
        border: 2px solid #4F73D0;
        box-shadow: none;
        outline: none;
        width: auto;
        font-size: 16px;
        padding: 2px 15px;
    }

        .broadcastList-item .convert-bottom button.convertRP:hover {
            color: #4F73D0;
            background-color: #fff;
        }

        .broadcastList-item .convert-bottom button.convertRP.converted {
            pointer-events: none;
            background-color: #f0f3fb;
            border: 2px solid #f0f3fb;
            color: #4F73D0;
        }

.seo-article-wrapper {
    width: 100%;
    max-width: 1320px;
    padding: 0 10px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 100px;
}

    .seo-article-wrapper .seo-article-item {
        display: flex;
        position: relative;
        padding-right: 20px;
        margin-bottom: 30px;
    }

@media screen and (min-width: 992px) {
    .seo-article-wrapper .seo-article-item {
        width: 50%;
        padding-right: 70px;
    }
}

.seo-article-wrapper .seo-article-item::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #a0b3e5;
    border-right: 2px solid #a0b3e5;
    box-shadow: 0 0 0 lightgray;
    transition: all 200ms ease;
    transform: rotate(45deg);
    position: absolute;
    top: 38px;
    right: 5px;
}

@media screen and (min-width: 992px) {
    .seo-article-wrapper .seo-article-item::before {
        right: 50px;
    }
}

.seo-article-wrapper .seo-article-item:hover::before {
    border-color: #4F73D0;
    box-shadow: 2px -2px 0 #a0b3e5;
}

.seo-article-wrapper .seo-article-item .item-cover {
    width: 30%;
}

.seo-article-wrapper .seo-article-item .item-content {
    width: 70%;
    padding-left: 3%;
}

.seo-article-wrapper .seo-article-item .articleItem-head {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

    .seo-article-wrapper .seo-article-item .articleItem-head .articleItem-label {
        display: block;
        font-size: 14px;
        color: #fff;
        background-color: #585BEE;
        padding: 2px 8px;
        margin-right: 5px;
    }

    .seo-article-wrapper .seo-article-item .articleItem-head .articleItem-date {
        display: block;
        font-size: 15px;
        color: #2d2d2d;
    }

.seo-article-wrapper .seo-article-item .articleItemTitle {
    max-width: 100%;
    font-size: 16px;
    color: #4F73D0;
    word-break: break-all;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3.65em;
}

.broadcastList-wrapper {
    width: 100%;
    max-width: 1320px;
    padding: 0 10px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    --list-item-width: 100%;
    padding-bottom: 100px;
}

@media screen and (min-width: 500px) {
    .broadcastList-wrapper {
        --list-item-width: calc(100% / 2 - 20px);
        justify-content: normal;
    }
}

@media screen and (min-width: 768px) {
    .broadcastList-wrapper {
        --list-item-width: calc(100% / 3 - 20px);
    }
}

@media screen and (min-width: 992px) {
    .broadcastList-wrapper {
        --list-item-width: calc(100% / 4 - 20px);
    }
}

.podcastList-wrapper {
    width: 100%;
    max-width: 1320px;
    padding: 0 10px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    --list-item-width: 100%;
    padding-bottom: 100px;
}

@media screen and (min-width: 500px) {
    .podcastList-wrapper {
        --list-item-width: calc(100% / 2 - 20px);
    }
}

@media screen and (min-width: 768px) {
    .podcastList-wrapper {
        --list-item-width: calc(100% / 3 - 20px);
    }
}

.seo-banner-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    background: linear-gradient(90deg, #EEEEFF 1.9%, #E9F2FD 98.85%);
}

    .seo-banner-wrapper h2 {
        font-size: 30px;
        font-weight: bold;
        word-break: keep-all;
        text-align: center;
        color: #2d2d2d;
        position: relative;
    }

        .seo-banner-wrapper h2 img {
            width: 60px;
            position: absolute;
            bottom: -50px;
            left: -90px;
        }

        .seo-banner-wrapper h2::before, .seo-banner-wrapper h2::after {
            content: '';
            display: block;
            width: 28px;
            height: 2px;
            background-color: #28ABC2;
            position: absolute;
        }

        .seo-banner-wrapper h2::before {
            top: 18px;
            left: -40px;
            transform: rotate(-60deg);
        }

        .seo-banner-wrapper h2::after {
            bottom: -25px;
            left: -20px;
            transform: rotate(-10deg);
        }

.seo-title-wrapper {
    width: 100%;
    max-width: 1320px;
    padding: 0 10px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

    .seo-title-wrapper .seo-main-title {
        padding-left: 10px;
    }

        .seo-title-wrapper .seo-main-title h3 {
            color: #4F73D0;
            margin: 0 0 5px;
            position: relative;
        }

            .seo-title-wrapper .seo-main-title h3::before {
                content: '';
                display: block;
                width: 8px;
                height: 8px;
                border-radius: 50%;
                background-color: #585BEE;
                position: absolute;
                top: 8px;
                left: -10px;
            }

@media screen and (min-width: 1200px) {
    .seo-title-wrapper .seo-main-title h3::before {
        left: -18px;
    }
}

.index-more-wrapper {
    text-align: center;
}

    .index-more-wrapper .index-more {
        display: inline-block;
        padding: 6px 15px;
        border-radius: 20px;
        border: 2px solid #a0b3e5;
        color: #a0b3e5;
    }

        .index-more-wrapper .index-more span {
            display: inline-block;
            position: relative;
            padding-right: 20px;
        }

            .index-more-wrapper .index-more span::before {
                content: '';
                display: block;
                width: 8px;
                height: 8px;
                border-top: 2px solid #a0b3e5;
                border-right: 2px solid #a0b3e5;
                transition: all 200ms ease;
                transform: rotate(45deg);
                position: absolute;
                top: 6px;
                right: 5px;
            }

        .index-more-wrapper .index-more:hover {
            color: #4F73D0;
            border-color: #4F73D0;
        }

            .index-more-wrapper .index-more:hover span::before {
                border-color: #4F73D0;
                box-shadow: 2px -2px 0 #a0b3e5;
            }

.seo-title-wrapper .seo-main-title span {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    padding-left: 5px;
    padding-right: 15px;
}

    .seo-title-wrapper .seo-main-title span::before {
        content: '';
        display: block;
        width: 100%;
        height: 90%;
        background: #f0f3fb;
        position: absolute;
        bottom: -30%;
        left: 0;
        z-index: -1;
    }


.list-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 25px; }
  .list-wrapper .course-feature {
    width: 100%;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .list-wrapper .course-feature {
        width: calc( 100% / 2 - 20px); } }
    @media screen and (min-width: 992px) {
      .list-wrapper .course-feature {
        width: calc( 100% / 3 - 20px); } }
  .list-wrapper .course-free {
    width: 100%;
    margin: 0; }
    @media screen and (min-width: 500px) {
      .list-wrapper .course-free {
        width: calc( 100% / 2 - 20px); } }
    @media screen and (min-width: 768px) {
      .list-wrapper .course-free {
        width: calc( 100% / 4 - 20px); } }
    .list-wrapper .course-free .free-text h3 {
      color: #000; }

.list-pagination-wrapper {
  text-align: center;
  padding: 30px 0; }
  .list-pagination-wrapper .page-link {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 5px;
    padding: 0 5px;
    margin: 0 2px;
    font-size: 14px;
    color: #fff;
    background-color: #999999; }
    @media screen and (min-width: 768px) {
      .list-pagination-wrapper .page-link {
        margin: 0 5px; } }
    .list-pagination-wrapper .page-link:hover {
      background-color: #6fd0e1; }
    .list-pagination-wrapper .page-link.active {
      background-color: #28ABC2; }

.articleList-wrapper {
  width: 100%;
  max-width: 1320px;
  padding: 0 10px;
  margin: auto;
  padding-bottom: 100px; }

.articleList-item {
  display: block;
  outline: none !important;
  margin-bottom: 30px; }
  @media screen and (min-width: 992px) {
    .articleList-item {
      display: flex; } }
  .articleList-item + .articleList-item {
    padding-top: 30px;
    border-top: 1px solid #EFF3F4; }
  .articleList-item .articleList-head {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px; }
    @media screen and (min-width: 992px) {
      .articleList-item .articleList-head {
        width: 180px;
        margin-bottom: 0; } }
    .articleList-item .articleList-head .articleList-label {
      display: block;
      font-size: 14px;
      color: #fff;
      background-color: #28ABC2;
      padding: 2px 8px;
      margin-right: 5px; }
    .articleList-item .articleList-head .articleList-date {
      display: block;
      font-size: 15px;
      color: #999999; }
  .articleList-item .articleList-img {
    display: block;
    text-align: center;
    margin-bottom: 5px; }
    @media screen and (min-width: 992px) {
      .articleList-item .articleList-img {
        width: 380px;
        margin-bottom: 0; } }
  @media screen and (min-width: 992px) {
    .articleList-item .articleList-info {
      display: flex;
      flex-wrap: wrap;
      align-content: space-between;
      width: calc( 100% - 560px);
      padding-left: 30px; } }
  .articleList-item .articleList-info .articleList-title {
    font-size: 18px;
    color: #28ABC2;
    margin-bottom: 5px; }
    @media screen and (min-width: 992px) {
      .articleList-item .articleList-info .articleList-title {
        font-size: 22px; } }
  .articleList-item .articleList-info p {
    font-size: 16px;
    color: #999999;
    max-width: 100%;
    word-break: break-all;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3.0em; }
  .articleList-item .articleList-info span.view-article {
    display: none;
    font-weight: bold;
    color: #28ABC2;
    border-bottom: 2px solid #28ABC2;
    position: relative;
    padding-right: 5px; }
    @media screen and (min-width: 992px) {
      .articleList-item .articleList-info span.view-article {
        display: inline-block; } }
    .articleList-item .articleList-info span.view-article::before {
      content: '\e5cc';
      display: block;
      font-family: "Material Icons";
      font-size: 16px;
      line-height: 1;
      position: absolute;
      top: 4px;
      right: -10px;
      transition: all 200ms ease; }
  .articleList-item:hover .articleList-info span.view-article::before {
    text-shadow: 3px 0px 0 #6fd0e1; }

.articleList-item .article-tag-wrapper .article-tag {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 20px;
  background-color: #EFF3F4;
  color: #999999;
  margin-bottom: 5px; }
  .articleList-item .article-tag-wrapper .article-tag:hover {
    background-color: #28ABC2;
    color: #fff; }

.lectureList-wrapper {
  width: 100%;
  max-width: 1320px;
  padding: 0 10px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  --list-item-width: 100%;
  padding-bottom: 100px; }
  @media screen and (min-width: 768px) {
    .lectureList-wrapper {
      --list-item-width: calc(100% / 2 - 20px); } }
  @media screen and (min-width: 992px) {
    .lectureList-wrapper {
      --list-item-width: calc(100% / 3 - 20px); } }

.lectureList-item {
  display: block;
  width: var(--list-item-width);
  background-color: #fff;
  box-shadow: 0 3px 10px 2px rgba(120, 120, 120, 0.3);
  border-radius: 10px;
  outline: none !important;
  margin: 0 10px 30px;
  padding: 20px 30px;
  position: relative; }
  .lectureList-item .lectureList-top {
    position: relative;
    border-bottom: 2px solid #EFF3F4;
    padding-bottom: 10px;
    margin-bottom: 10px; }
    .lectureList-item .lectureList-top::after {
      content: '';
      display: block;
      width: 15%;
      height: 3px;
      background-color: #59C9CB;
      position: absolute;
      bottom: -3px;
      right: 0; }
  .lectureList-item .lecture-label {
    display: inline-block;
    font-weight: bold;
    color: #28ABC2;
    border: 2px solid #28ABC2;
    border-radius: 5px;
    padding: 4px 10px;
    margin-bottom: 10px; }
  .lectureList-item .lecture-time {
    font-size: 16px;
    color: #28ABC2; }
  .lectureList-item .lecture-title {
    font-size: 18px;
    color: #999999;
    max-width: 100%;
    word-break: break-all;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 3em; }
  .lectureList-item .lecture-tags {
    margin-bottom: 5px; }
    .lectureList-item .lecture-tags p {
      color: white;
      margin-bottom: 0; }
  .lectureList-item .lecture-img {
    text-align: center;
    margin-bottom: 10px; }
  .lectureList-item .lecturer {
    color: #999999;
    position: relative;
    padding-left: 24px; }
    .lectureList-item .lecturer::before {
      content: '\e853';
      display: block;
      font-size: 20px;
      font-family: 'Material Icons';
      line-height: 1em;
      position: absolute;
      top: 0px;
      left: 0; }
  .lectureList-item .lecture-btn {
    font-size: 14px;
    font-weight: bold;
    color: #28ABC2;
    text-align: right;
    margin-top: 10px;
    position: relative;
    padding-right: 1.5em; }
    .lectureList-item .lecture-btn::before, .lectureList-item .lecture-btn::after {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-top: 0.4em solid transparent;
      border-bottom: 0.4em solid transparent;
      border-left: 0.5em solid #28ABC2;
      box-shadow: 0px 0 0 0 #28ABC2;
      position: absolute;
      top: 0.35em;
      right: 0em; }
    .lectureList-item .lecture-btn::after {
      right: 0.6em; }

.section {
  padding-top: 30px; }
  @media screen and (min-width: 768px) {
    .section {
      padding-top: 55px; } }
  @media screen and (min-width: 992px) {
    .section {
      padding-top: 80px; } }
  .section.pt0 {
    padding-top: 0; }

.articleDetail-wrapper {
  width: 100%;
  max-width: 860px;
  margin: auto;
  padding: 0 10px; }
  .articleDetail-wrapper .article-main-title {
    font-size: 28px;
    color: #28ABC2;
    margin: 0 0 20px; }
  .articleDetail-wrapper .articleDetail-mainImg {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px; }
  .articleDetail-wrapper .articleDetail-content {
    padding-bottom: 60px; }

.articleDetail-border {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #EFF3F4;
  padding-bottom: 10px;
  margin-bottom: 20px;
  position: relative; }
  .articleDetail-border .articleDetail-date {
    font-size: 14px;
    line-height: 24px; }

.articleDetail-social-wrapper {
  display: flex;
  justify-content: center;
  align-items: center; }
  .articleDetail-social-wrapper .articleDetail-social {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    margin: 0 5px; }
    .articleDetail-social-wrapper .articleDetail-social:hover {
      filter: saturate(1.75);
      -webkit-filter: saturate(1.75); }
    .articleDetail-social-wrapper .articleDetail-social.line {
      background: url(../img/icon-line.svg); }
    .articleDetail-social-wrapper .articleDetail-social.facebook {
      background-color: #4267B2; }
      .articleDetail-social-wrapper .articleDetail-social.facebook::before {
        content: '\f09a';
        display: block;
        font-size: 16px;
        font-family: FontAwesome;
        line-height: 1;
        color: #fff; }

.article-tag-wrapper .article-tag {
  display: inline-block;
  padding: 2px 10px;
  color: #ffc513;
  margin-bottom: 5px; }
  .article-tag-wrapper .article-tag:hover {
    color: #ffd85f; }

.relatied-article-wrapper {
  border-top: 1px solid #EFF3F4;
  padding-top: 20px; }
  .relatied-article-wrapper .relatied-title {
    font-size: 18px;
    color: #28ABC2;
    margin-bottom: 10px; }
  .relatied-article-wrapper .relatied-article-slider .slick-list {
    padding-top: 10px; }
  .relatied-article-wrapper .relatied-article-slider .slick-arrow {
    width: 40px;
    height: 40px;
    background-color: #fff;
    box-shadow: 3px 3px 10px 3px rgba(120, 120, 120, 0.2);
    border-radius: 50%;
    border: none;
    outline: none;
    position: absolute;
    z-index: 2;
    transition: all 0.5s cubic-bezier(0.25, 1.7, 0.35, 1.5); }
    .relatied-article-wrapper .relatied-article-slider .slick-arrow::before {
      content: '';
      display: block;
      width: 14px;
      height: 14px;
      border-top: 4px solid #6fd0e1;
      border-right: 4px solid #6fd0e1;
      box-shadow: 0 0 0 lightgray;
      transition: all 200ms ease;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%); }
    .relatied-article-wrapper .relatied-article-slider .slick-arrow:hover::before {
      border-color: #28ABC2;
      box-shadow: 3px -3px 0 #6fd0e1; }
    .relatied-article-wrapper .relatied-article-slider .slick-arrow.slick-prev {
      left: -8px; }
      .relatied-article-wrapper .relatied-article-slider .slick-arrow.slick-prev::before {
        left: 55%;
        transform: translate(-50%, -50%) rotate(-135deg); }
    .relatied-article-wrapper .relatied-article-slider .slick-arrow.slick-next {
      right: -8px; }
      .relatied-article-wrapper .relatied-article-slider .slick-arrow.slick-next::before {
        left: 45%;
        transform: translate(-50%, -50%) rotate(45deg); }
  .relatied-article-wrapper .relatied-article-slider .relatied-article-item {
    display: block;
    box-shadow: 0 3px 10px 2px rgba(120, 120, 120, 0.3);
    border-radius: 10px;
    outline: none;
    margin: 0 10px 30px;
    position: relative;
    overflow: hidden; }
    .relatied-article-wrapper .relatied-article-slider .relatied-article-item .item-img {
      position: relative;
      overflow: hidden; }
      .relatied-article-wrapper .relatied-article-slider .relatied-article-item .item-img img {
        display: block;
        margin: auto;
        transition: .8s; }
    .relatied-article-wrapper .relatied-article-slider .relatied-article-item .relatied-article-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 15px; }
      .relatied-article-wrapper .relatied-article-slider .relatied-article-item .relatied-article-top .article-date {
        font-size: 12px;
        color: #999999;
        position: relative; }
      .relatied-article-wrapper .relatied-article-slider .relatied-article-item .relatied-article-top .article-label {
        font-size: 13px;
        padding: 3px 5px;
        color: #fff;
        background-color: #ffd85f; }
    .relatied-article-wrapper .relatied-article-slider .relatied-article-item .relatied-article-title {
      max-width: 100%;
      font-size: 16px;
      color: #28ABC2;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      padding: 0px 30px 15px 15px;
      position: relative; }
      .relatied-article-wrapper .relatied-article-slider .relatied-article-item .relatied-article-title::before {
        content: '';
        display: block;
        width: 8px;
        height: 8px;
        border-top: 2px solid #6fd0e1;
        border-right: 2px solid #6fd0e1;
        box-shadow: 0 0 0 lightgray;
        transition: all 200ms ease;
        transform: rotate(45deg);
        position: absolute;
        top: 10px;
        right: 15px; }
    .relatied-article-wrapper .relatied-article-slider .relatied-article-item:hover .item-img img {
      transform: rotate(-3deg) scale(1.2); }
    .relatied-article-wrapper .relatied-article-slider .relatied-article-item:hover .relatied-article-title::before {
      border-color: #28ABC2;
      box-shadow: 2px -2px 0 #6fd0e1; }
  .relatied-article-wrapper .relatied-change-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .relatied-article-wrapper .relatied-change-wrapper .relatied-change {
      display: block;
      width: 50%;
      background-color: #c3ecf3;
      box-shadow: 0 3px 0px 0px rgba(120, 120, 120, 0.3);
      border-radius: 10px;
      padding: 10px 15px;
      margin: 0 10px;
      position: relative; }
      .relatied-article-wrapper .relatied-change-wrapper .relatied-change::before {
        content: '\f0a8';
        display: block;
        font-family: FontAwesome;
        font-size: 24px;
        color: #28ABC2;
        line-height: 1;
        position: absolute;
        top: 28px; }
        @media screen and (min-width: 768px) {
          .relatied-article-wrapper .relatied-change-wrapper .relatied-change::before {
            font-size: 36px; } }
      .relatied-article-wrapper .relatied-change-wrapper .relatied-change.prev {
        padding-left: 40px; }
        .relatied-article-wrapper .relatied-change-wrapper .relatied-change.prev::before {
          left: 10px; }
      .relatied-article-wrapper .relatied-change-wrapper .relatied-change.next {
        padding-right: 40px; }
        .relatied-article-wrapper .relatied-change-wrapper .relatied-change.next::before {
          right: 10px;
          transform: rotate(180deg); }
      @media screen and (min-width: 768px) {
        .relatied-article-wrapper .relatied-change-wrapper .relatied-change {
          width: 36%; }
          .relatied-article-wrapper .relatied-change-wrapper .relatied-change.prev {
            padding-left: 70px; }
            .relatied-article-wrapper .relatied-change-wrapper .relatied-change.prev::before {
              left: 20px; }
          .relatied-article-wrapper .relatied-change-wrapper .relatied-change.next {
            padding-right: 70px; }
            .relatied-article-wrapper .relatied-change-wrapper .relatied-change.next::before {
              right: 20px; } }
      .relatied-article-wrapper .relatied-change-wrapper .relatied-change label {
        display: block;
        font-size: 12px;
        color: #999999;
        cursor: pointer; }
        @media screen and (min-width: 768px) {
          .relatied-article-wrapper .relatied-change-wrapper .relatied-change label {
            font-size: 14px; } }
      .relatied-article-wrapper .relatied-change-wrapper .relatied-change span {
        max-width: 100%;
        font-size: 14px;
        color: #28ABC2;
        word-break: break-all;
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        height: 3em; }
        @media screen and (min-width: 768px) {
          .relatied-article-wrapper .relatied-change-wrapper .relatied-change span {
            font-size: 16px; } }
      .relatied-article-wrapper .relatied-change-wrapper .relatied-change:hover {
        box-shadow: 0 3px 10px 2px rgba(120, 120, 120, 0.3), 0 0 0 3px #28ABC2; }
        .relatied-article-wrapper .relatied-change-wrapper .relatied-change:hover::before {
          color: #ffd85f; }

.member-zone-wrapper {
  display: flex;
  justify-content: space-between;
  width: 100%;
  transform: translateY(25px);
  margin-bottom: -40px; }
  @media screen and (min-width: 768px) {
    .member-zone-wrapper {
      width: 350px;
      position: absolute;
      top: 80px;
      right: 0px;
      transform: translateY(0px);
      margin-bottom: 0; } }
  @media screen and (min-width: 992px) {
    .member-zone-wrapper {
      width: 520px; } }
  .member-zone-wrapper .member-zone {
    display: block;
    width: 17%;
    padding-top: 70px;
    text-align: center;
    font-size: 14px;
    color: #999999;
    position: relative; }
    @media screen and (min-width: 768px) {
      .member-zone-wrapper .member-zone {
        width: 60px;
        font-size: 13px; } }
    @media screen and (min-width: 992px) {
      .member-zone-wrapper .member-zone {
        width: 80px;
        font-size: 14px; } }
    .member-zone-wrapper .member-zone:before {
      content: '';
      display: block;
      width: 100%;
      height: 65px;
      background-color: #bbbbbb;
      background-position: center;
      background-repeat: no-repeat;
      border-radius: 3px;
      position: absolute;
      top: 0;
      left: 0; }
    .member-zone-wrapper .member-zone.account:before {
      background-image: url(../img/member/member_zone_icon_account.png);
      background-size: 30px; }
    .member-zone-wrapper .member-zone.password:before {
      background-image: url(../img/member/member_zone_icon_password.png);
      background-size: 38px; }
    .member-zone-wrapper .member-zone.order:before {
      background-image: url(../img/member/member_zone_icon_order.png);
      background-size: 32px; }
    .member-zone-wrapper .member-zone.point:before {
      background-image: url(../img/member/member_zone_icon_point.png);
      background-size: 40px; }
    .member-zone-wrapper .member-zone.logout:before {
      background-image: url(../img/member/member_zone_icon_logout.png);
      background-size: 40px; }
    @media screen and (min-width: 992px) {
      .member-zone-wrapper .member-zone.account:before {
        background-size: 40px; }
      .member-zone-wrapper .member-zone.password:before {
        background-size: 52px; }
      .member-zone-wrapper .member-zone.order:before {
        background-size: 40px; }
      .member-zone-wrapper .member-zone.point:before {
        background-size: 50px; }
      .member-zone-wrapper .member-zone.logout:before {
        background-size: 52px; } }
    .member-zone-wrapper .member-zone:hover {
      color: #2889D4; }
      .member-zone-wrapper .member-zone:hover:before {
        background-color: #a7cfee; }
    .member-zone-wrapper .member-zone.active {
      color: #2889D4; }
      .member-zone-wrapper .member-zone.active:before {
        background-color: #2889D4; }

.member-top-wrapper.middle {
  width: 100%;
  margin: 10px auto 30px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 768px) {
    .member-top-wrapper.middle {
      max-width: 500px;
      margin: -25px auto 60px;
      padding-left: 60px;
      padding-right: 0; } }
  @media screen and (min-width: 992px) {
    .member-top-wrapper.middle {
      padding-left: 120px; } }

.member-top-wrapper .member-title {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #2889D4;
  position: relative;
  padding-left: 15px;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .member-top-wrapper .member-title {
      margin-bottom: 45px; } }
  .member-top-wrapper .member-title:before {
    content: '';
    display: block;
    width: 5px;
    height: 100%;
    background-color: #2889D4;
    position: absolute;
    top: 0;
    left: 0; }

.member-info-wrapper {
  margin-bottom: 60px; }
  @media screen and (min-width: 768px) {
    .member-info-wrapper {
      margin-bottom: 100px; } }
  .member-info-wrapper .member-info-row {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 10px; }
    @media screen and (min-width: 768px) {
      .member-info-wrapper .member-info-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        padding-right: 0;
        margin-bottom: 25px; } }
    @media screen and (min-width: 768px) {
      .member-info-wrapper .member-info-row .input-label {
        width: 120px; } }
    .member-info-wrapper .member-info-row .input-label label {
      font-size: 16px;
      color: #000;
      margin: 0; }
    .member-info-wrapper .member-info-row .input-label.required {
      position: relative; }
      .member-info-wrapper .member-info-row .input-label.required:before {
        content: '*';
        display: block;
        color: #f00;
        position: absolute;
        top: 0;
        left: -10px; }
    @media screen and (min-width: 768px) {
      .member-info-wrapper .member-info-row .input-content {
        width: calc( 100% - 120px);
        padding-left: 10px; } }
    .member-info-wrapper .member-info-row .input-content .text {
      display: inline-block;
      font-size: 16px;
      word-break: break-all; }
    .member-info-wrapper .member-info-row .input-content input[type='text'], .member-info-wrapper .member-info-row .input-content input[type='password'], .member-info-wrapper .member-info-row .input-content input[type='email'] {
      display: block;
      width: 100%;
      padding: 3px 5px; }
    .member-info-wrapper .member-info-row .input-content input.error {
      border-color: red; }
    .member-info-wrapper .member-info-row .input-content select {
      display: block;
      width: 100%;
      padding: 3px 5px;
      margin-bottom: 10px; }
      @media screen and (min-width: 768px) {
        .member-info-wrapper .member-info-row .input-content select {
          display: inline-block;
          width: calc( 50% - 20px); } }
    .member-info-wrapper .member-info-row .input-content .accountLink {
      display: inline-block;
      vertical-align: middle;
      border: 1px solid #000;
      border-radius: 3px;
      padding: 3px 8px 3px 30px;
      position: relative; }
      .member-info-wrapper .member-info-row .input-content .accountLink.line {
        color: #fff;
        border-color: #00C200;
        background-color: #00C200; }
        .member-info-wrapper .member-info-row .input-content .accountLink.line:before {
          content: '';
          display: block;
          width: 18px;
          height: 18px;
          background-image: url(../img/line.png);
          background-size: 18px;
          background-repeat: no-repeat;
          position: absolute;
          top: 5px;
          left: 5px; }
      .member-info-wrapper .member-info-row .input-content .accountLink.fb {
        color: #fff;
        border-color: #3b5998;
        background-color: #3b5998; }
        .member-info-wrapper .member-info-row .input-content .accountLink.fb:before {
          content: '\F09A';
          display: block;
          font-family: fontAwesome;
          font-size: 18px;
          position: absolute;
          top: 3px;
          left: 10px; }
      .member-info-wrapper .member-info-row .input-content .accountLink.google {
        color: #28ABC2;
        border-color: #28ABC2; }
        .member-info-wrapper .member-info-row .input-content .accountLink.google:before {
          content: 'G';
          display: block;
          font-size: 18px;
          position: absolute;
          top: 0px;
          left: 8px; }
      .member-info-wrapper .member-info-row .input-content .accountLink.linked {
        max-width: 170px;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden; }
    .member-info-wrapper .member-info-row .input-content.same {
      position: relative; }
      .member-info-wrapper .member-info-row .input-content.same .same-check {
        width: max-content;
        margin-top: 5px; }
        @media screen and (min-width: 768px) {
          .member-info-wrapper .member-info-row .input-content.same .same-check {
            position: absolute;
            bottom: 0;
            left: 320px;
            margin-top: 0; } }
        @media screen and (min-width: 992px) {
          .member-info-wrapper .member-info-row .input-content.same .same-check {
            left: 270px; } }
        .member-info-wrapper .member-info-row .input-content.same .same-check label {
          cursor: pointer;
          margin-bottom: 0; }
    .member-info-wrapper .member-info-row.flex-between {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between; }
    .member-info-wrapper .member-info-row .rememberMe {
      display: block;
      font-size: 14px;
      color: #999999;
      margin-bottom: 0;
      cursor: pointer; }
    .member-info-wrapper .member-info-row .forget {
      display: block;
      font-size: 14px;
      font-weight: bold;
      color: #999999;
      text-decoration: underline; }

.member-top-wrapper.middle.lineLink {
  padding-left: 0; }
  .member-top-wrapper.middle.lineLink .member-title {
    padding-left: 0;
    text-align: justify; }
    .member-top-wrapper.middle.lineLink .member-title::before {
      display: none; }
  .member-top-wrapper.middle.lineLink .member-info-wrapper .member-info-row {
    justify-content: center; }
    .member-top-wrapper.middle.lineLink .member-info-wrapper .member-info-row .input-content {
      text-align: center;
      padding: 0; }
      .member-top-wrapper.middle.lineLink .member-info-wrapper .member-info-row .input-content .accountLink.line {
        padding: 8px 20px 8px 40px;
        border-radius: 50px; }
        .member-top-wrapper.middle.lineLink .member-info-wrapper .member-info-row .input-content .accountLink.line::before {
          top: 10px;
          left: 12px; }

.member-order-top {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 40px; }
  @media screen and (min-width: 768px) {
    .member-order-top .member-order-top-row {
      display: flex;
      justify-content: space-between; } }
  .member-order-top .member-order-top-row .member-order-top-row-wrapper {
    display: flex;
    margin-bottom: 10px; }
    .member-order-top .member-order-top-row .member-order-top-row-wrapper .input-label {
      width: 120px; }
      .member-order-top .member-order-top-row .member-order-top-row-wrapper .input-label label {
        font-size: 16px;
        color: #000;
        margin: 0; }
    .member-order-top .member-order-top-row .member-order-top-row-wrapper .input-content {
      min-width: 140px; }
      .member-order-top .member-order-top-row .member-order-top-row-wrapper .input-content .text {
        display: inline-block;
        font-size: 16px;
        word-break: break-all; }

table.orderTable {
  width: 100%;
  margin-bottom: 100px; }
  table.orderTable tr {
    display: block; }
    @media screen and (min-width: 768px) {
      table.orderTable tr {
        display: table-row; } }
  table.orderTable th, table.orderTable td {
    padding: 7px 10px; }
    @media screen and (min-width: 768px) {
      table.orderTable th.center, table.orderTable td.center {
        text-align: center; } }
    @media screen and (min-width: 768px) {
      table.orderTable th.right, table.orderTable td.right {
        text-align: right; } }
  table.orderTable thead {
    display: none;
    border-bottom: 1px solid #999999; }
    @media screen and (min-width: 768px) {
      table.orderTable thead {
        display: table-header-group; } }
    table.orderTable thead th {
      font-size: 18px;
      font-weight: bold;
      color: #000; }
  table.orderTable tbody tr {
    background-color: #e7f2fa; }
    @media screen and (min-width: 768px) {
      table.orderTable tbody tr {
        background: none; } }
  table.orderTable tbody th, table.orderTable tbody td {
    display: block; }
    @media screen and (min-width: 768px) {
      table.orderTable tbody th, table.orderTable tbody td {
        display: table-cell; } }
  table.orderTable tbody td:nth-last-of-type(1) {
    padding-bottom: 10px; }
  @media screen and (min-width: 768px) {
    table.orderTable tbody td:nth-last-of-type(1) {
      padding-bottom: 7px; } }
  table.orderTable tbody th[scope="row"] {
    border-top: 5px solid #2889D4; }
    table.orderTable tbody th[scope="row"] a {
      color: #28ABC2; }
    @media screen and (min-width: 768px) {
      table.orderTable tbody th[scope="row"] {
        border-top: none; } }
  table.orderTable tbody th[data-title]:before, table.orderTable tbody td[data-title]:before {
    content: attr(data-title) "：";
    display: inline-block; }
    @media screen and (min-width: 768px) {
      table.orderTable tbody th[data-title]:before, table.orderTable tbody td[data-title]:before {
        display: none; } }

table.orderDetailTable {
  display: none;
  width: 100%;
  border-bottom: 1px solid #999999;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    table.orderDetailTable {
      display: table; } }
  table.orderDetailTable tr > td:first-of-type {
    min-width: 170px; }
  table.orderDetailTable th, table.orderDetailTable td {
    padding: 7px 15px; }
    table.orderDetailTable th.center, table.orderDetailTable td.center {
      text-align: center; }
    table.orderDetailTable th.left, table.orderDetailTable td.left {
      text-align: left; }
    table.orderDetailTable th.right, table.orderDetailTable td.right {
      text-align: right; }
  table.orderDetailTable thead {
    border-bottom: 1px solid #999999; }
    table.orderDetailTable thead td {
      font-size: 18px;
      font-weight: bold;
      color: #000; }
  table.orderDetailTable tbody tr:first-of-type td {
    padding-top: 14px; }
  table.orderDetailTable tbody tr:last-of-type td {
    padding-bottom: 14px; }
  table.orderDetailTable .highlight {
    color: #F76F6F; }

table.orderDetailTableMb {
  width: 100%;
  border-top: 1px solid #999999;
  border-bottom: 1px solid #999999; }
  @media screen and (min-width: 768px) {
    table.orderDetailTableMb {
      display: none; } }
  table.orderDetailTableMb tr > td:first-of-type {
    width: 90px; }
  table.orderDetailTableMb tr > td:last-of-type {
    word-break: break-all; }
  table.orderDetailTableMb th, table.orderDetailTableMb td {
    padding: 5px 10px; }
  table.orderDetailTableMb tr:first-of-type td {
    padding-top: 10px; }
  table.orderDetailTableMb tr:last-of-type td {
    padding-bottom: 10px; }
  table.orderDetailTableMb .highlight {
    color: #F76F6F; }

table.orderDetailTableMb + table.orderDetailTableMb {
  border-top: none; }

.amount-area {
  padding-right: 15px;
  margin: 15px 0 40px; }
  .amount-area .amount-row {
    display: flex;
    width: 250px;
    align-items: center;
    justify-content: space-between;
    margin: 0px 0 10px auto; }
    .amount-area .amount-row .amount-label {
      font-size: 18px;
      font-weight: bold;
      color: #000; }

.member-btn-wrapper {
  text-align: center;
  padding-bottom: 60px; }
  .member-btn-wrapper .member-btn {
    display: inline-block;
    font-size: 15px;
    width: 100%;
    height: 45px;
    line-height: 45px;
    margin: 5px 0;
    color: #fff;
    border: none;
    background-color: #28ABC2;
    border-radius: 3px; }
    .member-btn-wrapper .member-btn:hover {
      background-color: #44c2d9; }
    @media screen and (min-width: 768px) {
      .member-btn-wrapper .member-btn {
        width: 130px;
        margin: 5px; }
        .member-btn-wrapper .member-btn.full {
          width: 100%; } }
    .member-btn-wrapper .member-btn.register {
      background-color: #2889D4; }
      .member-btn-wrapper .member-btn.register:hover {
        background-color: #51a1de; }
    .member-btn-wrapper .member-btn.line {
      background-color: #00C200; }
      .member-btn-wrapper .member-btn.line:hover {
        background-color: #52cf52; }
    .member-btn-wrapper .member-btn.facebook {
      background-color: #4f71b6; }
      .member-btn-wrapper .member-btn.facebook:hover {
        background-color: #738ec5; }
    .member-btn-wrapper .member-btn.google {
      background-color: #DF4B31; }
      .member-btn-wrapper .member-btn.google:hover {
        background-color: #ea6750; }
    .member-btn-wrapper .member-btn.apple {
      color: #fff;
      background-color: #000; }
      .member-btn-wrapper .member-btn.apple:hover {
        background-color: #555; }
    .member-btn-wrapper .member-btn.disabled {
      background-color: #ccc;
      pointer-events: none; }
    .member-btn-wrapper .member-btn.jakopay {
      background-color: #E50A0E;}
      .member-btn-wrapper .member-btn.jakopay:hover {
        background: #f82225;}
      
  .member-btn-wrapper .or-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-left: 10px;
    margin-top: 20px;
    margin-bottom: 20px; }
    .member-btn-wrapper .or-bar:before, .member-btn-wrapper .or-bar:after {
      content: '';
      border-top: 1px solid #eee;
      flex: 1 0 20px; }
    .member-btn-wrapper .or-bar.withOr:before {
      margin-right: 20px; }
    .member-btn-wrapper .or-bar.withOr:after {
      margin-left: 20px; }

.member-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 100px; }
  .member-pagination .page-link {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    padding: 0 5px;
    margin: 0 2px;
    font-size: 14px;
    text-align: center;
    color: #fff;
    background-color: #999999; }
    @media screen and (min-width: 768px) {
      .member-pagination .page-link {
        margin: 0 5px; } }
    .member-pagination .page-link:hover {
      background-color: #99deea; }
    .member-pagination .page-link.active {
      background-color: #28ABC2; }

#forget_Modal .forget-intro {
  font-size: 16px;
  font-weight: bold;
  color: #000;
  margin-bottom: 10px; }

#forget_Modal .login-row {
  width: 100%;
  margin-bottom: 10px; }
  #forget_Modal .login-row .login-input {
    display: block;
    width: 100%;
    padding: 3px 5px; }

#forget_Modal .forget-btn {
  display: inline-block;
  width: 100%;
  font-size: 15px;
  height: 35px;
  margin: 5px 0;
  color: #fff;
  background-color: #28ABC2;
  border-radius: 3px; }

.member-pointTab-wrapper {
  width: 100%;
  max-width: 1320px;
  padding: 0 10px;
  margin: 50px auto 0;
  display: flex; }
  .member-pointTab-wrapper .pointTab {
    flex: 1 1 0;
    display: block;
    border: none;
    box-shadow: none;
    background: none;
    outline: none;
    color: #999999;
    box-shadow: 0 1px 0 0 white;
    border-bottom: 1px solid #a6a6a6;
    font-size: 18px;
    padding: 10px 5px; }
    .member-pointTab-wrapper .pointTab:hover {
      color: #999999;
      box-shadow: 0 1px 0 0 #999999; }
    .member-pointTab-wrapper .pointTab.active {
      color: #28ABC2;
      border-bottom: 1px solid #28ABC2;
      box-shadow: 0 1px 0 0 #28ABC2; }

.member-mainPoint-wrapper {
  width: 100%;
  max-width: 1320px;
  padding: 0 10px;
  margin: auto;
  padding-bottom: 100px; }
  .member-mainPoint-wrapper .member-mainPoint-row {
    padding: 30px 20px; }
    @media screen and (min-width: 768px) {
      .member-mainPoint-wrapper .member-mainPoint-row {
        display: flex;
        align-items: center;
        padding: 30px 20px; } }
    .member-mainPoint-wrapper .member-mainPoint-row + .member-mainPoint-row {
      border-top: 1px solid #EFF3F4; }
    .member-mainPoint-wrapper .member-mainPoint-row .point-date {
      font-size: 16px;
      padding-right: 20px; }
    .member-mainPoint-wrapper .member-mainPoint-row .point-title {
      flex: 1 1 0;
      font-size: 18px;
      font-weight: bold; }
      .member-mainPoint-wrapper .member-mainPoint-row .point-title .maturity {
        display: inline-block;
        font-size: 13px;
        font-weight: normal;
        color: #ea1517; }
    .member-mainPoint-wrapper .member-mainPoint-row .point-value {
      padding-top: 10px; }
      @media screen and (min-width: 768px) {
        .member-mainPoint-wrapper .member-mainPoint-row .point-value {
          padding-left: 20px;
          padding-top: 0; } }
      .member-mainPoint-wrapper .member-mainPoint-row .point-value .value-change {
        display: inline-block;
        padding: 4px 16px;
        color: #28ABC2;
        background-color: #c3ecf3;
        border-radius: 5px; }
        .member-mainPoint-wrapper .member-mainPoint-row .point-value .value-change span[data-change] {
          display: inline-block;
          font-size: 17px;
          font-weight: bold;
          padding-right: 3px; }
          .member-mainPoint-wrapper .member-mainPoint-row .point-value .value-change span[data-change]::before {
            content: attr(data-change);
            display: inline-block; }

.mainContainer {
  background-color: rgba(228, 253, 252, 0.8); }

.player_header {
  width: 100%;
  background-color: #28ABC2;
  position: relative;
  z-index: 101; }
  .player_header .header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1920px;
    margin: 0px auto; }
    .player_header .header_inner .function_icon_wrapper {
      display: flex; }
      .player_header .header_inner .function_icon_wrapper .function_icon {
        width: 60px;
        height: 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        padding: 2px 0;
        font-size: 12px;
        color: #fff;
        text-align: center; }
        .player_header .header_inner .function_icon_wrapper .function_icon::before {
          width: 100%;
          display: block;
          font-size: 24px;
          line-height: 1;
          font-family: 'Material Symbols Outlined'; }
        .player_header .header_inner .function_icon_wrapper .function_icon.chapter::before {
          content: '\e241';
          font-size: 30px;
          margin-bottom: -3px; }
        .player_header .header_inner .function_icon_wrapper .function_icon.notes::before {
          content: '\f1c6'; }
        .player_header .header_inner .function_icon_wrapper .function_icon.tutor::before {
          content: '\ef7c'; }
        .player_header .header_inner .function_icon_wrapper .function_icon.back::before {
        content: '\e5c4'; }
        .player_header .header_inner .function_icon_wrapper .function_icon.active {
          background-color: #1f8698;
          opacity: 0.8; }
          .player_header .header_inner .function_icon_wrapper .function_icon.active.chapter::before {
            content: '\e9bd'; }
        .player_header .header_inner .function_icon_wrapper .function_icon:hover {
          background-color: #2498ad; }

.video_container {
  max-width: 1920px;
  margin: 0px auto;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 992px) {
    .video_container {
      display: flex; } }
  .video_container.extandWin {
    max-width: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999; }
    @media screen and (min-width: 992px) {
      .video_container.extandWin .player_note_container {
        width: 25%; }
      .video_container.extandWin .player_chapter_wrapper {
        display: none; }
      .video_container.extandWin .extened_function_wrapper {
        display: flex; } }

.player_end_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  opacity: 0;
  pointer-events: none; }
  .player_end_wrapper.endShow {
    opacity: 1;
    pointer-events: visible; }
  .player_end_wrapper .player_end_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .player_end_wrapper .player_end_box p {
      width: 100%;
      text-align: center;
      color: #fff; }

.player_chapter_wrapper {
  background-color: #1f8698;
  position: fixed;
  top: -100vh;
  left: 0;
  z-index: 100;
  width: 100%;
  height: calc( 100vh - 50px - 100px);
  transition: .3s;
  overflow-y: scroll; }
  .showChapter .player_chapter_wrapper {
    top: 50px; }
  @media screen and (min-width: 768px) {
    .player_chapter_wrapper {
      height: calc( 100vh - 50px); } }
  @media screen and (min-width: 992px) {
    .player_chapter_wrapper {
      width: 25%;
      height: auto;
      margin-left: -17.9%;
      position: relative;
      top: 0; }
      .showChapter .player_chapter_wrapper {
        top: 0;
        margin-left: 0; } }
  .player_chapter_wrapper .player_chapter_list {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: chapter;
    position: absolute; }
    .player_chapter_wrapper .player_chapter_list > li {
      border-bottom: 1px solid #28ABC2; }
      .player_chapter_wrapper .player_chapter_list > li > a, .player_chapter_wrapper .player_chapter_list > li > div {
        display: block;
        color: #fff;
        padding: 15px 20px; }
        .player_chapter_wrapper .player_chapter_list > li > a::before, .player_chapter_wrapper .player_chapter_list > li > div::before {
          content: counter(chapter) ".";
          counter-increment: chapter;
          font-family: Arial;
          padding-right: 5px; }
        .player_chapter_wrapper .player_chapter_list > li > a .chapterTime, .player_chapter_wrapper .player_chapter_list > li > div .chapterTime {
          display: inline-block;
          font-size: 0.8em;
          color: #bbbbbb;
          padding-left: 10px; }
      .player_chapter_wrapper .player_chapter_list > li > ul {
        margin: -15px 0 0;
        padding: 0 20px 15px 40px;
        list-style: none; }
        .player_chapter_wrapper .player_chapter_list > li > ul button {
          font-size: 12px;
          background: none;
          border: none; }
          .player_chapter_wrapper .player_chapter_list > li > ul button span {
            display: inline-block;
            color: #e6e6e6;
            margin-right: 5px; }
          .player_chapter_wrapper .player_chapter_list > li > ul button:hover {
            color: #000; }
      .player_chapter_wrapper .player_chapter_list > li:not(.active) > a:hover, .player_chapter_wrapper .player_chapter_list > li:not(.active) > div:hover {
        background-color: #2498ad; }
      .player_chapter_wrapper .player_chapter_list > li.active > a, .player_chapter_wrapper .player_chapter_list > li.active > div {
        background-color: #59C9CB; }
        .player_chapter_wrapper .player_chapter_list > li.active > a::before, .player_chapter_wrapper .player_chapter_list > li.active > div::before {
          content: "\e1c4";
          font-family: 'Material Symbols Outlined';
          font-size: 1.3em;
          line-height: 1.5;
          vertical-align: middle; }
        .player_chapter_wrapper .player_chapter_list > li.active > a .chapterTime, .player_chapter_wrapper .player_chapter_list > li.active > div .chapterTime {
          color: #d5d5d5; }
      .player_chapter_wrapper .player_chapter_list > li.active > ul {
        background-color: #59C9CB; }
      .player_chapter_wrapper .player_chapter_list > li.locked {
        pointer-events: none; }
        .player_chapter_wrapper .player_chapter_list > li.locked > a, .player_chapter_wrapper .player_chapter_list > li.locked > div {
          background-color: #091c1c; }
          .player_chapter_wrapper .player_chapter_list > li.locked > a::before, .player_chapter_wrapper .player_chapter_list > li.locked > div::before {
            content: "\e897";
            font-family: 'Material Symbols Outlined';
            font-size: 1.3em;
            line-height: 1.5;
            vertical-align: middle; }
          .player_chapter_wrapper .player_chapter_list > li.locked > a .chapterTime, .player_chapter_wrapper .player_chapter_list > li.locked > div .chapterTime {
            color: #d5d5d5; }

.player_tutor_wrapper::-webkit-scrollbar, .player_tutor_input_wrapper::-webkit-scrollbar, .player_chapter_wrapper::-webkit-scrollbar, .player_note_wrapper::-webkit-scrollbar {
  width: 8px; }

.player_tutor_wrapper::-webkit-scrollbar-track, .player_tutor_input_wrapper::-webkit-scrollbar-track, .player_chapter_wrapper::-webkit-scrollbar-track, .player_note_wrapper::-webkit-scrollbar-track {
  background: rgba(89, 201, 203, 0.5);
  border-radius: 10px; }

.player_tutor_wrapper::-webkit-scrollbar-thumb, .player_tutor_input_wrapper::-webkit-scrollbar-thumb, .player_chapter_wrapper::-webkit-scrollbar-thumb, .player_note_wrapper::-webkit-scrollbar-thumb {
  background: #59C9CB;
  border-radius: 10px; }

.player_tutor_wrapper::-webkit-scrollbar-thumb:hover, .player_tutor_input_wrapper::-webkit-scrollbar-thumb:hover, .player_chapter_wrapper::-webkit-scrollbar-thumb:hover, .player_note_wrapper::-webkit-scrollbar-thumb:hover {
  background: #21a5b1; }

.player_note_container {
  width: 100%;
  height: 330px;
  position: relative; }
  @media screen and (min-width: 992px) {
    .player_note_container {
      width: 40%;
      height: auto;
      max-height: none;
      padding-top: 40.2%; } }

.player_note_wrapper {
  width: 100%;
  height: 330px;
  background-color: #fff;
  padding: 40px 10px 2em;
  border-radius: 0 10px 10px 0;
  overflow-y: scroll;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0; }
  @media screen and (min-width: 992px) {
    .player_note_wrapper {
      height: 80%; } }
  .player_note_wrapper .player_note_block {
    display: flex;
    position: relative;
    padding: 10px 20px 10px 2px; }
    .player_note_wrapper .player_note_block + .player_note_block {
      border-top: 1px dotted #ccc; }
    .player_note_wrapper .player_note_block .player_note_timestamp {
      width: 55px;
      color: #f9b902; }
      .player_note_wrapper .player_note_block .player_note_timestamp button[data-jump] {
        font-family: Arial;
        font-size: 14px;
        color: #f9b902;
        font-weight: bold;
        background: none;
        border: none;
        box-shadow: none;
        outline: none;
        padding: 0;
        cursor: pointer; }
    .player_note_wrapper .player_note_block .player_note_text {
      width: calc( 100% - 55px);
      padding-left: 10px; }
    .player_note_wrapper .player_note_block .remove-note {
      width: 20px;
      height: 20px;
      background: none;
      border: none;
      box-shadow: none;
      padding: 0;
      position: absolute;
      top: 7px;
      right: 0;
      cursor: pointer; }
      .player_note_wrapper .player_note_block .remove-note::before {
        content: '\F014';
        display: block;
        color: #888;
        font-size: 20px;
        font-family: FontAwesome;
        position: absolute;
        top: 0;
        left: 1px; }
      .player_note_wrapper .player_note_block .remove-note:hover::before {
        opacity: 1; }
      @media screen and (min-width: 992px) {
        .player_note_wrapper .player_note_block .remove-note {
          opacity: 0; }
          .player_note_wrapper .player_note_block .remove-note::before {
            opacity: 0.6; } }
    .player_note_wrapper .player_note_block:hover .remove-note {
      opacity: 1; }

.player_tutor_wrapper {
  width: 100%;
  height: 330px;
  background-color: #fff;
  padding: 10px 10px 2em;
  border-radius: 0 10px 10px 0;
  overflow-y: scroll;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0; }
  @media screen and (min-width: 992px) {
    .player_tutor_wrapper {
      height: 80%; } }
  .player_tutor_wrapper .player_tutor_row {
    position: relative;
    padding-left: 2em;
    margin-bottom: 10px; }
    .player_tutor_wrapper .player_tutor_row::before {
      content: '';
      display: block;
      font-size: 24px;
      line-height: 1;
      font-family: 'Material Symbols Outlined';
      position: absolute;
      top: 0;
      left: 0; }
    .player_tutor_wrapper .player_tutor_row.ai::before {
      content: '\ea4a';
      color: #19C37D; }
    .player_tutor_wrapper .player_tutor_row.me::before {
      content: '\e7fd';
      color: #f9b902; }
    .player_tutor_wrapper .player_tutor_row .player_tutor_header .player_tutor_head {
      display: inline-block;
      font-weight: bold; }
    .player_tutor_wrapper .player_tutor_row .player_tutor_header .player_tutor_time {
      display: inline-block;
      font-size: 0.8em;
      color: #bbbbbb;
      padding-left: 10px; }

.player_note_input_wrapper,
.player_tutor_input_wrapper {
  width: 100%;
  height: 100px;
  background-color: #fff;
  border: 3px solid #59C9CB;
  border-radius: 5px;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 10;
  pointer-events: none;
  opacity: 0; }
  @media screen and (min-width: 992px) {
    .player_note_input_wrapper,
    .player_tutor_input_wrapper {
      height: 20%;
      position: absolute;
      bottom: 0;
      left: 0; } }
  .player_note_input_wrapper textarea,
  .player_tutor_input_wrapper textarea {
    width: 100%;
    height: 100%;
    font-size: 18px;
    resize: none;
    border: none;
    background: none;
    outline: none;
    padding: 5px 10px; }
    @media screen and (min-width: 992px) {
      .player_note_input_wrapper textarea,
      .player_tutor_input_wrapper textarea {
        font-size: 16px; } }

.extened_function_wrapper {
  display: flex;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2; }
  @media screen and (min-width: 992px) {
    .extened_function_wrapper {
      display: none; } }
  .extened_function_wrapper .function_icon {
    width: 40px;
    height: 40px;
    background-color: #28ABC2;
    border-radius: 50%;
    text-decoration: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 2px 0;
    text-align: center;
    opacity: 0.4; }
    .extened_function_wrapper .function_icon::before {
      display: block;
      font-size: 24px;
      color: #fff;
      line-height: 1;
      font-family: 'Material Symbols Outlined'; }
    .extened_function_wrapper .function_icon.notes::before {
      content: '\f1c6'; }
    .extened_function_wrapper .function_icon.tutor::before {
      content: '\ef7c'; }
    .extened_function_wrapper .function_icon.active {
      background-color: #28ABC2;
      opacity: 0.8; }

.tutor_scrollToBottom_wrapper {
  width: 100%;
  height: 20px;
  position: absolute;
  bottom: calc( 100% + 5px);
  left: 0; }
  .tutor_scrollToBottom_wrapper .tutor_scrollToBottom {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #28ABC2;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer; }
    .tutor_scrollToBottom_wrapper .tutor_scrollToBottom::before {
      content: '\e5db';
      display: block;
      color: #fff;
      font-size: 20px;
      line-height: 1;
      font-family: 'Material Symbols Outlined'; }

.tutor_hint_wrapper {
  display: flex;
  flex-direction: column;
  max-width: 720px;
  margin: auto;
  padding: 10px 2em 2em; }
  .tutor_hint_wrapper .tutor_hint_figure {
    text-align: center;
    font-size: 28px;
    margin-bottom: 2em; }
    .tutor_hint_wrapper .tutor_hint_figure::before {
      content: '\e10e';
      display: block;
      font-size: 2em;
      font-family: 'Material Symbols Outlined';
      line-height: 1; }
    .tutor_hint_wrapper .tutor_hint_figure span {
      display: block; }
  .tutor_hint_wrapper .tutor_hint_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 0.4em; }
    .tutor_hint_wrapper .tutor_hint_list > li {
      width: calc( 50% - 0.2em);
      border: 1px solid #D9D9D9;
      border-radius: 5px; }
      .tutor_hint_wrapper .tutor_hint_list > li > .tutor_hint {
        display: block;
        width: 100%;
        height: 100%;
        padding: 0.75em 1em;
        border: none;
        background-color: #fff;
        border-radius: 5px;
        cursor: pointer; }
        .tutor_hint_wrapper .tutor_hint_list > li > .tutor_hint:hover {
          background-color: #e9e9e9; }

.aitutorTyping {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  bottom: 0%;
  left: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0; }
  .typing .aitutorTyping {
    pointer-events: visible;
    opacity: 1; }

@media screen and (min-width: 700px) and (max-height: 500px) {
  /* 手機橫屏 */
  .loginLogo {
    display: none; }
  .mainContainer.wide {
    max-width: 100%;
    padding-top: 0; }
  .content_body {
    padding-left: 0;
    padding-right: 0; }
  .video_container {
    display: flex; }
  .player_note_container {
    width: 40%;
    padding-top: 40.2%; }
  .player_note_wrapper,
  .player_tutor_wrapper {
    height: 80%;
    border-radius: 0;
    overflow-y: scroll;
    position: absolute;
    top: 0;
    left: 0; }
  .player_note_input_wrapper,
  .player_tutor_input_wrapper {
    border-radius: 0;
    border: none;
    border-top: 1px solid #4ca5ea;
    position: absolute;
    bottom: 0;
    left: 0; } }

.player_note_container[data-show="notes"] .player_note_wrapper, .player_note_container[data-show="notes"] .player_note_input_wrapper {
  pointer-events: visible;
  opacity: 1; }

.player_note_container[data-show="tutor"] .player_tutor_wrapper, .player_note_container[data-show="tutor"] .player_tutor_input_wrapper {
  pointer-events: visible;
  opacity: 1; }

.player_main_container {
  width: 100%;
  overflow: hidden;
  position: relative;
  background-color: #fff; }
  .player_main_container video::-webkit-media-controls {
    display: none !important; }

.player_main_container .player_video_container {
  width: 100%;
  height: 100%;
  background: #000;
  overflow: hidden;
  position: relative; }
  .player_main_container .player_video_container video {
    display: inline-block;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    border-radius: 0;
    border: none; }
  .player_main_container .player_video_container .player_video_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 90;
    cursor: pointer; }
  .player_main_container .player_video_container .player_video_volume_wrapper {
    display: none; }
    .player_main_container .player_video_container .player_video_volume_wrapper .player_video_volume {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background-color: rgba(0, 0, 0, 0.5);
      position: absolute;
      top: 50%;
      left: 50%;
      margin-left: -15px;
      margin-top: -15px;
      animation: volumeFadeOut .5s linear 1 normal forwards;
      pointer-events: none; }
      .player_main_container .player_video_container .player_video_volume_wrapper .player_video_volume::before {
        content: '\f028';
        display: block;
        font-family: FontAwesome;
        color: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }

@keyframes volumeFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2); } }
    .player_main_container .player_video_container .player_video_volume_wrapper.up .player_video_volume::before {
      content: '\f028'; }
    .player_main_container .player_video_container .player_video_volume_wrapper.down .player_video_volume::before {
      content: '\f027'; }
  .player_main_container .player_video_container #volumeUpButton, .player_main_container .player_video_container #volumeDownButton, .player_main_container .player_video_container #videoVolume {
    display: none; }

.player_main_container.maxWin {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999; }

.player_main_container.hidemouse .player_video_container .player_video_cover {
  cursor: none; }

.player_top_wrapper {
  width: 100%;
  height: 50px;
  background: linear-gradient(rgba(0, 0, 0, 0.8) 30%, transparent 80%);
  padding: 5px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: opacity 0.25s cubic-bezier(0, 0, 0.2, 1);
  opacity: 0; }
  .player_top_wrapper img {
    margin-right: 5px; }
  .player_top_wrapper span {
    max-width: calc( 100% - 230px);
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }

.player_bottom_wrapper {
  width: 100%;
  height: 55px;
  background: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.5) 80%);
  padding-top: 5px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 99;
  transition: opacity 0.25s cubic-bezier(0, 0, 0.2, 1);
  opacity: 0; }
  .player_bottom_wrapper:hover {
    opacity: 1 !important; }
  @media screen and (min-width: 768px) {
    .player_bottom_wrapper {
      height: 65px; } }

#player_main_container.showControl .player_top_wrapper,
#player_main_container.showControl .player_bottom_wrapper {
  opacity: 1; }

.player_progress {
  display: block;
  width: calc( 100% - 20px);
  height: 5px;
  background-color: rgba(255, 255, 255, 0.5);
  position: relative;
  top: 5px;
  left: 10px;
  margin-bottom: 3px;
  transition: transform 0.1s cubic-bezier(0.4, 0, 1, 1);
  cursor: pointer; }
  .player_progress .progress_tooltip {
    display: none;
    font-size: 14px;
    color: #fff;
    white-space: nowrap;
    background-color: rgba(0, 0, 0, 0.8);
    padding: 5px 7px;
    pointer-events: none;
    transform: translateX(-50%);
    position: absolute;
    left: 50%;
    bottom: 10px; }
  .player_progress .progress_bar {
    width: 100%;
    height: 100%;
    background-color: #59C9CB;
    pointer-events: none;
    position: absolute;
    left: 0;
    bottom: 0;
    transform-origin: 0 0;
    transform: scaleX(1); }
  .player_progress .progress_mark {
    width: 15px;
    height: 15px;
    background-color: #59C9CB;
    border-radius: 50%;
    pointer-events: none;
    position: absolute;
    left: 0;
    bottom: -5px;
    transform: scale(0) translateX(-50%);
    transition: transform 0.1s cubic-bezier(0.4, 0, 1, 1); }
  .player_progress:hover .progress_tooltip {
    display: block; }

.player_bottom_wrapper:hover .player_progress .progress_mark {
  transform: scale(1) translateX(-50%); }

.player_controls {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #fff; }
  .player_controls button {
    background: 0 0;
    border: 0;
    border-radius: 0;
    padding: 8px 10px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .player_controls button {
        padding: 10px 15px; } }
  .player_controls .button-tooltip {
    display: none;
    font-size: 14px;
    color: #fff;
    white-space: nowrap;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 5px 7px;
    pointer-events: none;
    position: absolute;
    left: 50%;
    bottom: 50px;
    transform: translate(-50%, 0px); }
    .player_controls .button-tooltip.corner-right {
      left: auto;
      right: 10px;
      transform: translate(0%, 0px); }
    .player_controls .button-tooltip.corner-left {
      left: 10px;
      transform: translate(0%, 0px); }
  .player_controls button:hover .button-tooltip {
    display: block; }

.player_left_control, .player_right_control {
  display: flex;
  align-items: center; }

.player_time {
  font-size: 16px;
  font-family: Arial; }
  @media screen and (min-width: 768px) {
    .player_time {
      font-size: 20px; } }
  .player_time.current_time {
    margin-left: 20px; }
  .player_time.duration_time::before {
    content: '/';
    margin-left: 5px;
    margin-right: 5px; }
  @media screen and (min-width: 768px) {
    .player_time.duration_time::before {
      margin-left: 10px;
      margin-right: 10px; } }

.player_speed_control {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  cursor: pointer;
  margin-right: 12px; }
  @media screen and (min-width: 768px) {
    .player_speed_control {
      font-size: 20px;
      margin-right: 20px; } }
  .player_speed_control .player_speed_control_gate:hover {
    color: #59C9CB; }

.player_speed_selecttion {
  display: none;
  width: 120px;
  list-style: none;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 0;
  margin: 0;
  position: absolute;
  bottom: 25px;
  right: 0; }
  @media screen and (min-width: 768px) {
    .player_speed_selecttion {
      width: 120px;
      bottom: 40px; } }
  .player_speed_selecttion.open {
    display: block; }
  .player_speed_selecttion > li label {
    display: block;
    padding: 3px 10px 3px 25px;
    cursor: pointer;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .player_speed_selecttion > li label {
        padding: 10px 10px 10px 25px; } }
  .player_speed_selecttion > li input[type="radio"] {
    width: 1px;
    height: 1px;
    opacity: 0; }
  .player_speed_selecttion > li span {
    font-family: Arial;
    position: relative; }
    .player_speed_selecttion > li span::before {
      content: '\f00c';
      display: none;
      font-family: FontAwesome;
      font-size: 12px;
      color: #59C9CB;
      position: absolute;
      left: -21px;
      top: 2px; }
  .player_speed_selecttion > li:hover {
    background-color: #59C9CB; }
    .player_speed_selecttion > li:hover span::before {
      color: #fff; }
  .player_speed_selecttion > li input[type="radio"]:checked + span::before {
    display: block; }

.player_icon {
  display: inline-block;
  font-size: 16px; }
  @media screen and (min-width: 768px) {
    .player_icon {
      font-size: 20px; } }
  .player_icon:hover {
    color: #59C9CB; }
  .player_icon::before {
    font-family: FontAwesome; }
  .player_icon.play {
    font-size: 20px; }
  @media screen and (min-width: 768px) {
    .player_icon.play {
      font-size: 24px; } }
  .player_icon.play::before {
    content: '\f04b'; }
  .player_icon.pause::before {
    content: '\f04c';
    line-height: 29px; }
  @media screen and (min-width: 768px) {
    .player_icon.pause::before {
      line-height: 37px; } }
  .player_icon.backward::before {
    content: '\f0e2'; }
  .player_icon.forward::before {
    content: '\f01e'; }
  .player_icon.maximize::before {
    content: '\f2d0'; }
  .player_icon.exitmaximize::before {
    content: '\f2d4'; }
  .player_icon.fullscreen::before {
    content: '\f0b2'; }
  .player_icon.exitfullscreen::before {
    content: '\f066'; }
  .player_icon.extand::before {
    content: '\f07e'; }
  .player_icon.exitextand::before {
    content: '\f066'; }

#playButton {
  text-align: center; }
  #playButton .player_icon {
    width: 20px;
    height: 30px; }
    @media screen and (min-width: 768px) {
      #playButton .player_icon {
        width: 20px;
        height: 35px; } }

#exitfullButton {
  display: none; }

#exitmaxButton {
  display: none; }

#exitextandButton {
  display: none; }

.videoChaptersWrapper {
  max-width: 1300px;
  margin: 5px auto 0; }
  .videoChaptersWrapper button[data-jump] {
    display: inline-block;
    font-size: 14px;
    color: #fff;
    outline: none;
    border-radius: 5px;
    box-shadow: none;
    background: linear-gradient(182deg, #6ccfd1 0%, #2d8f91 150%);
    border: 1px solid #6ccfd1;
    padding: 2px 6px;
    margin-right: 5px;
    margin-bottom: 2px; }
    .videoChaptersWrapper button[data-jump]:hover {
      box-shadow: inset 0 0 6px 6px #6ccfd1; }
    .videoChaptersWrapper button[data-jump] span {
      display: inline-block;
      font-family: Arial;
      font-weight: bold; }

.videoInfoContainer {
  max-width: 1300px;
  margin: 30px auto 0;
  padding: 0 10px 100px; }
  .videoInfoContainer .videoInfoTitleWrapper {
    margin-bottom: 40px; }
    .videoInfoContainer .videoInfoTitleWrapper .videoTitle {
      display: inline-block;
      vertical-align: middle;
      font-size: 22px;
      color: #59C9CB;
      position: relative;
      padding-left: 5px;
      margin-right: 15px; }
      .videoInfoContainer .videoInfoTitleWrapper .videoTitle::before {
        content: '';
        display: block;
        width: 70px;
        height: 60px;
        border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
        background-color: #fff;
        animation: morphing 30s infinite;
        position: absolute;
        top: -10px;
        left: 0;
        z-index: -1; }
    .videoInfoContainer .videoInfoTitleWrapper .videoDepartWrapper {
      display: inline-block;
      vertical-align: middle; }
      .videoInfoContainer .videoInfoTitleWrapper .videoDepartWrapper .departBtn {
        display: inline-block;
        font-size: 14px;
        color: #f9b902;
        text-decoration: underline;
        margin-right: 5px; }
        .videoInfoContainer .videoInfoTitleWrapper .videoDepartWrapper .departBtn:hover {
          color: #efc54b;
          text-decoration: none; }
      .videoInfoContainer .videoInfoTitleWrapper .videoDepartWrapper span.departBtn {
        color: #583c27 !important;
        text-decoration: none; }
  .videoInfoContainer .videoInfoDetailWrapper {
    display: flex;
    flex-wrap: wrap; }
    .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail {
      width: 50%; }
      @media screen and (min-width: 992px) {
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail {
          width: 25%;
          margin-bottom: 15px; } }
      .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label {
        display: inline-block;
        font-size: 15px;
        font-weight: normal;
        color: #59C9CB;
        border-bottom: 2px solid #59C9CB;
        position: relative;
        padding: 5px 2px 5px 40px;
        margin-bottom: 10px; }
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label::before {
          content: '';
          display: block;
          font-size: 30px;
          font-family: 'Material Icons';
          text-shadow: 0 0 5px rgba(175, 226, 255, 0.3);
          color: #f9b902;
          position: absolute;
          top: -8px;
          left: 0; }
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label.style1::before {
          content: '\f0e2'; }
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label.style2::before {
          content: '\e8b5'; }
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label.style3::before {
          content: '\e616'; }
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label.style4::before {
          content: '\e614'; }
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label.style5::before {
          content: '\e02f'; }
        .videoInfoContainer .videoInfoDetailWrapper .videoInfoDetail label.style6::before {
          content: '\e666'; }

.videoRelativeWrapper {
  padding-top: 40px; }
  .videoRelativeWrapper .videoQAswitchWrapper {
    display: flex; }
  .videoRelativeWrapper .videoQAswitchLabel {
    font-size: 16px;
    font-weight: bold;
    color: #999999;
    border: 2px solid #999999;
    border-bottom: none;
    background: #EFF3F4;
    border-radius: 5px 5px 0 0;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 10px 10px 10px 70px;
    margin-right: 5px;
    position: relative;
    opacity: 0.9; }
    .videoRelativeWrapper .videoQAswitchLabel::before {
      content: '';
      position: absolute;
      z-index: 2;
      display: block;
      width: 40px;
      height: 50px;
      background: center/40px no-repeat;
      filter: grayscale(100%);
      top: -10px;
      left: 15px; }
    .videoRelativeWrapper .videoQAswitchLabel.relative::before {
      background-image: url(../img/icon/video_digital.png); }
    .videoRelativeWrapper .videoQAswitchLabel.qa::before {
      background-image: url(../img/icon/video_qa.png); }
    .videoRelativeWrapper .videoQAswitchLabel:hover {
      color: #583c27;
      opacity: 1; }
      .videoRelativeWrapper .videoQAswitchLabel:hover::before {
        filter: grayscale(50%); }
    .videoRelativeWrapper .videoQAswitchLabel.active {
      color: #583c27;
      border-color: #59C9CB;
      background: rgba(40, 137, 212, 0.1);
      opacity: 1; }
      .videoRelativeWrapper .videoQAswitchLabel.active::before {
        filter: none; }
  .videoRelativeWrapper .videoRelativeContainer {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(40, 137, 212, 0.1);
    border: 2px solid #59C9CB;
    border-top-width: 5px;
    border-radius: 0px 15px 15px 15px;
    padding: 30px 20px 25px; }
    .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList {
      list-style: none;
      padding: 0;
      margin: 0; }
      .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li {
        display: inline-block;
        padding: 0 2px;
        margin-bottom: 5px; }
        .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li > a, .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li > span {
          display: block;
          padding: 2px 8px;
          transition: all 0.3s ease; }
        .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li > a {
          color: #2889D4;
          background: linear-gradient(#f9b902, #f9b902) 0 100%/100% 0px no-repeat; }
          .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li > a:hover {
            color: #fff;
            border-radius: 3px;
            background: linear-gradient(rgba(249, 185, 2, 0.5), #f9b902) 0 100%/100% 100% no-repeat;
            box-shadow: 2px 3px 0 0 #ffc513; }
        .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li > span:not(.unavailable) {
          position: relative; }
          .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li > span:not(.unavailable)::before {
            content: '';
            display: block;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #ffd85f;
            position: absolute;
            top: 2px;
            left: 2px;
            z-index: -1; }
        .videoRelativeWrapper .videoRelativeContainer ul#relativeClassList > li .unavailable {
          color: #999999;
          cursor: not-allowed;
          opacity: 0.8; }

/*影片字幕*/

.subtitle_selection {
  display: none;
  width: 120px;
  list-style: none;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 0;
  margin: 0;
  position: absolute;
  bottom: 25px;
  right: 0; }
  @media screen and (min-width: 768px) {
    .subtitle_selection {
      width: 120px;
      bottom: 40px; } }
  .subtitle_selection.open {
    display: block; }
  .subtitle_selection > li label {
    display: block;
    padding: 3px 10px 3px 25px;
    cursor: pointer;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .subtitle_selection > li label {
        padding: 10px 10px 10px 25px; } }
  .subtitle_selection > li input[type="radio"] {
    width: 1px;
    height: 1px;
    opacity: 0; }
  .subtitle_selection > li span {
    font-family: Arial;
    position: relative; }
    .subtitle_selection > li span::before {
      content: '\f00c';
      display: none;
      font-family: FontAwesome;
      font-size: 12px;
      color: #59C9CB;
      position: absolute;
      left: -21px;
      top: 2px; }
  .subtitle_selection > li:hover {
    background-color: #59C9CB; }
    .subtitle_selection > li:hover span::before {
      color: #fff; }
  .subtitle_selection > li input[type="radio"]:checked + span::before {
    display: block; }

.subtitleButton{
    font-size: 16px;
    font-weight: bold;
    position: relative;
    cursor: pointer;
    margin-right: 12px;
}
@media screen and (min-width: 768px) {
    .subtitleButton {
        font-size: 20px;
        margin-right: 20px;
    }
}
.subtitleButton .subtitle:hover {
    color: #59C9CB;
}
.subtitleButton .subtitle.disabled {
    color: #FFF;
}
.subtitleButton .subtitle {
    color: #fff;
    transition: color 0.3s ease;
}
.subtitleButton .subtitle.active {
    color: #59C9CB;
}

 /* 字幕樣式設定 */
video::-webkit-media-text-track-container {
    position: relative !important;
    bottom: 20px !important;
}
/*::cue {
    font-size: 24px;
    line-height: 1.5;
    background-color:rgba(255, 255, 255, 0.6);
    color: #fff;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.8);
}*/

#customSubtitle {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 5px 10px;
    border-radius: 4px;
    max-width: 80%;
    margin: 0 auto;
    white-space: pre-line;
    position: absolute; 
    bottom: 50px; 
    left: 0; 
    right: 0; 
    text-align: center; 
    color: white; 
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; 
    font-size: 32px; 
    pointer-events: none;
    display: none;
}


.video-container {
    position: relative;
    display: inline-block;
}


.qaEditBoard {
  display: none;
  max-width: 700px;
  margin: 20px auto;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(129, 109, 109, 0.35);
  padding: 30px 30px 15px; }
  .qaEditBoard .qaEditTitle {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px; }
  .qaEditBoard .qaEditInput {
    margin-bottom: 25px; }
    .qaEditBoard .qaEditInput img.outputImg {
      max-height: 200px;
      margin-bottom: 10px; }
    .qaEditBoard .qaEditInput textarea {
      display: block;
      width: 100%;
      border: 1px solid #999999;
      background-color: #EFF3F4;
      border-radius: 5px;
      padding: 5px 10px;
      resize: none; }
    .qaEditBoard .qaEditInput input[type="text"], .qaEditBoard .qaEditInput input[type="file"], .qaEditBoard .qaEditInput select {
      display: block;
      width: 100%;
      height: 35px;
      border: 1px solid #999999;
      background-color: #EFF3F4;
      border-radius: 5px;
      padding: 5px 10px; }
      .qaEditBoard .qaEditInput input[type="text"].hms, .qaEditBoard .qaEditInput input[type="file"].hms, .qaEditBoard .qaEditInput select.hms {
        width: 120px; }
      .qaEditBoard .qaEditInput input[type="text"][disabled], .qaEditBoard .qaEditInput input[type="file"][disabled], .qaEditBoard .qaEditInput select[disabled] {
        opacity: 0.5; }
  .qaEditBoard p.qaEditIntro {
    margin-bottom: 0; }

.qaViewBoard {
  position: relative; }
  @media screen and (min-width: 992px) {
    .qaViewBoard {
      display: flex;
      flex-direction: row-reverse; } }
  @media screen and (min-width: 992px) {
    .qaViewBoard .qaMainList {
      width: calc(100% - 300px);
      padding-right: 30px; } }
  .qaViewBoard .qaMainList .qaEmpty {
    max-width: 300px;
    text-align: center;
    padding-top: 30px;
    margin: auto; }
  .qaViewBoard .postBoxWrapper {
    margin-bottom: 30px; }
    @media screen and (min-width: 992px) {
      .qaViewBoard .postBoxWrapper {
        width: 300px;
        margin-bottom: 0; } }
    .qaViewBoard .postBoxWrapper p {
      text-align: center; }
    .qaViewBoard .postBoxWrapper .stickyBox {
      padding: 25px 20px 5px;
      border-radius: 10px;
      background-color: #fff;
      box-shadow: 0 0 20px 0 rgba(129, 109, 109, 0.35);
      position: sticky;
      top: 20px; }

.qaSearchWrapper {
  display: flex;
  --search-height: 40px; }
  .qaSearchWrapper .searchBar {
    display: flex;
    align-items: center;
    position: relative;
    background-color: #EFF3F4;
    border-radius: 25px;
    padding-right: 5px;
    flex: 5 1 0; }
    .qaSearchWrapper .searchBar .searchInput {
      display: inline-block;
      width: calc( 100% - var(--search-height) + 10px);
      height: var(--search-height);
      letter-spacing: 0.08em;
      background: none;
      border: none;
      outline: none;
      padding: 6px 12px; }
      .qaSearchWrapper .searchBar .searchInput::placeholder {
        color: #999999; }
    .qaSearchWrapper .searchBar .searchBtn {
      display: inline-block;
      width: calc( var(--search-height) - 14px);
      height: calc( var(--search-height) - 14px);
      border-radius: 50%;
      background: url(../img/icon/search.svg) 55% 50%/55% #fff no-repeat;
      border: none; }
      .qaSearchWrapper .searchBar .searchBtn:hover {
        background-color: #ffd85f; }
  .qaSearchWrapper .filterBar {
    flex: 1 1 0;
    margin-left: 5px; }
    .qaSearchWrapper .filterBar select {
      display: block;
      width: 100%;
      min-width: 120px;
      height: var(--search-height);
      border: none;
      background-color: #EFF3F4;
      border-radius: 25px;
      padding: 5px 10px; }
  .qaSearchWrapper .myQABar {
    flex: 1 1 0;
    display: flex;
    margin-left: 5px; }

.qaRow {
  display: flex;
  --big-head: 70px;
  --small-head: 50px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(129, 109, 109, 0.35);
  padding: 20px 20px 20px;
  margin-top: 30px; }
  @media screen and (min-width: 992px) {
    .qaRow {
      --big-head: 80px; } }
  .qaRow .qaHeadBox {
    width: var(--big-head); }
    .qaRow .qaHeadBox .qaHeadImg {
      width: var(--big-head);
      height: var(--big-head);
      overflow: hidden;
      display: flex;
      align-items: center;
      border-radius: 50%; }
      .qaRow .qaHeadBox .qaHeadImg img {
        width: var(--big-head); }
    .qaRow .qaHeadBox label.qaStatus {
      display: block;
      font-size: 14px;
      font-weight: normal;
      position: relative;
      padding-top: 10px;
      margin-bottom: 0;
      cursor: pointer; }
      .qaRow .qaHeadBox label.qaStatus input[type="checkbox"].statusCheck {
        width: 0;
        height: 0;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0; }
      .qaRow .qaHeadBox label.qaStatus span {
        display: block;
        color: #fff;
        background-color: #ffcc2c;
        border-radius: 20px;
        padding: 3px 10px; }
        .qaRow .qaHeadBox label.qaStatus span::before {
          content: attr(data-notyet);
          display: block;
          text-align: center; }
      .qaRow .qaHeadBox label.qaStatus input[type="checkbox"].statusCheck:checked + span {
        background-color: #59C9CB; }
        .qaRow .qaHeadBox label.qaStatus input[type="checkbox"].statusCheck:checked + span::before {
          content: attr(data-done); }
  .qaRow .qaTextBox {
    width: calc( 100% - var(--big-head));
    padding-left: 15px;
    padding-top: 10px; }
    @media screen and (min-width: 992px) {
      .qaRow .qaTextBox {
        padding-left: 30px; } }
    .qaRow .qaTextBox .qaTextQueastion {
      color: #000;
      margin-bottom: 10px; }
      .qaRow .qaTextBox .qaTextQueastion img {
        display: block; }
      .qaRow .qaTextBox .qaTextQueastion button[data-jump] {
        color: #2889D4;
        background: none;
        border: none; }
    .qaRow .qaTextBox .qaTextInfo {
      font-size: 13px;
      color: #999999; }
      .qaRow .qaTextBox .qaTextInfo .moreDiscuss {
        display: inline-block;
        margin-bottom: 0;
        position: relative;
        cursor: pointer; }
        .qaRow .qaTextBox .qaTextInfo .moreDiscuss input[type="checkbox"].moreDiscussCheck {
          margin: 0;
          position: absolute;
          top: 0;
          left: 0;
          opacity: 0; }
        .qaRow .qaTextBox .qaTextInfo .moreDiscuss span {
          display: inline-block;
          position: relative;
          padding-left: 24px; }
          .qaRow .qaTextBox .qaTextInfo .moreDiscuss span::before {
            content: '\e0ca';
            display: block;
            font-size: 18px;
            font-family: 'Material Icons';
            line-height: 1;
            position: absolute;
            top: 2px;
            left: 0; }
        .qaRow .qaTextBox .qaTextInfo .moreDiscuss:hover span {
          color: #a7e2e3; }
        .qaRow .qaTextBox .qaTextInfo .moreDiscuss input[type="checkbox"]:checked + span {
          color: #59C9CB; }

.qaTextAnswers {
  display: none;
  width: calc( 100% + var(--big-head));
  padding-bottom: 30px;
  transform: translate(calc( -1 * var(--big-head) - 15px), 40px); }
  @media screen and (min-width: 992px) {
    .qaTextAnswers {
      width: 100%;
      padding-bottom: 0;
      transform: none; } }
  .qaTextAnswers .answerRow {
    display: flex;
    align-items: flex-start;
    margin-top: 30px; }
    .qaTextAnswers .answerRow .ansHead {
      width: var(--small-head);
      overflow: hidden;
      display: flex;
      align-items: center;
      border-radius: 50%; }
    .qaTextAnswers .answerRow .ansText {
      width: calc( 100% - var(--small-head));
      padding-left: 10px; }
    .qaTextAnswers .answerRow .ansTextInfo {
      font-size: 13px;
      color: #999999; }
      .qaTextAnswers .answerRow .ansTextInfo .teacherLabel {
        color: #fff;
        font-weight: normal;
        padding: 2px 8px;
        background-color: #2889D4;
        border-radius: 5px; }
    .qaTextAnswers .answerRow .ansTextContent {
      color: #000; }
      .qaTextAnswers .answerRow .ansTextContent img {
        display: block; }
    .qaTextAnswers .answerRow .ansTextContentInput {
      display: flex;
      align-items: center;
      height: 35px;
      border: 1px solid #999999;
      background-color: #EFF3F4;
      border-radius: 5px;
      padding-right: 5px;
      margin-bottom: 5px; }
      .qaTextAnswers .answerRow .ansTextContentInput input[type="text"] {
        display: inline-block;
        width: calc( 100% - 30px);
        background: none;
        border: none;
        box-shadow: none;
        outline: none;
        padding: 5px 10px; }
      .qaTextAnswers .answerRow .ansTextContentInput button.textSubmit {
        width: 30px;
        height: 30px;
        padding: 0;
        background: none;
        border: none;
        box-shadow: none;
        outline: none; }
        .qaTextAnswers .answerRow .ansTextContentInput button.textSubmit svg {
          height: 18px;
          fill: #999999; }
        .qaTextAnswers .answerRow .ansTextContentInput button.textSubmit:hover svg {
          fill: #21a5b1; }
    .qaTextAnswers .answerRow .ansTextContentByImg {
      min-width: 24px;
      min-height: 24px;
      padding-bottom: 10px;
      margin-bottom: 0;
      position: relative;
      cursor: pointer; }
      .qaTextAnswers .answerRow .ansTextContentByImg img {
        position: relative;
        z-index: 2; }
      .qaTextAnswers .answerRow .ansTextContentByImg input[type=file] {
        width: 0px;
        height: 0px;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0; }
      .qaTextAnswers .answerRow .ansTextContentByImg svg {
        width: 24px;
        fill: #999999;
        position: absolute;
        top: 0px;
        left: 1px; }
      .qaTextAnswers .answerRow .ansTextContentByImg:hover svg {
        fill: #21a5b1; }

.course-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  min-height: 60px;
  position: relative;
  margin-bottom: -1px; }
  @media screen and (min-width: 768px) {
    .course-banner {
      height: 35vh;
      min-height: auto; } }
  .course-banner::before {
    content: '';
    display: none;
    width: 100%;
    height: 100%;
    background-color: #2e2e2e;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (min-width: 768px) {
      .course-banner::before {
        display: block; } }
  .course-banner .course-banner-bg {
    width: 100%;
    height: 100%;
    background-image: url(../img/new_course/coursebanner_bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .course-banner .course-banner-bg {
        background-image: url(../img/index/index_banner_bg.png) !important; } }
  .course-banner h1.slogan-text {
    font-size: 16px;
    max-width: 1170px;
    color: rgba(0, 0, 0, 0.65);
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.6;
    position: relative;
    padding: 0 20px;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .course-banner h1.slogan-text {
        font-size: 36px;
        color: #fff;
        padding: 0 15px; } }

.courseh1 {
  display: none;
  font-size: 16px;
  margin: 10px 0 -50px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .courseh1 {
      display: block; } }

#main.course_main {
  padding-top: 0; }

.course-product {
  margin-bottom: 0px; }
  @media screen and (min-width: 768px) {
    .course-product {
      margin-bottom: 70px; } }
  @media screen and (min-width: 992px) {
    .course-product {
      width: 992px;
      padding-left: 40px;
      padding-right: 40px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 70px; } }
  @media screen and (min-width: 1200px) {
    .course-product {
      display: flex;
      width: 1180px;
      padding-left: 10px;
      padding-right: 10px; } }
  @media screen and (min-width: 1350px) {
    .course-product {
      width: 1330px;
      padding-left: 10px;
      padding-right: 10px; } }
  .course-product .product-photo {
    position: relative; }
    @media screen and (min-width: 1200px) {
      .course-product .product-photo {
        width: 750px; } }
  .course-product .product-intro {
    margin-top: 30px;
    position: relative;
    padding-left: 15px;
    padding-right: 15px; }
    @media screen and (min-width: 992px) {
      .course-product .product-intro {
        width: 96%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 20px;
        padding: 0; } }
    @media screen and (min-width: 1200px) {
      .course-product .product-intro {
        width: calc( 100% - 750px);
        margin-top: 0;
        padding-left: 45px; } }
  .course-product .product-photo-slider {
    margin-bottom: 0; }
    @media screen and (min-width: 992px) {
      .course-product .product-photo-slider {
        box-shadow: -30px 20px rgba(187, 187, 187, 0.45); } }
    @media screen and (min-width: 1200px) {
      .course-product .product-photo-slider {
        box-shadow: -30px 40px rgba(187, 187, 187, 0.45); } }
    .course-product .product-photo-slider img {
      width: 100%; }
    .course-product .product-photo-slider .slick-slide:focus, .course-product .product-photo-slider .slick-slide a {
      outline: none; }
    .course-product .product-photo-slider .slick-box {
      position: relative; }
      .course-product .product-photo-slider .slick-box.video {
        text-align: center; }
        .course-product .product-photo-slider .slick-box.video iframe {
          height: 100%;
          width: 100%;
          z-index: 1; }
        .course-product .product-photo-slider .slick-box.video:after {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
      .course-product .product-photo-slider .slick-box .youtubeid {
        width: 100%;
        height: 100%;
        margin: auto;
        text-align: center;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        display: none; }
      .course-product .product-photo-slider .slick-box .whiteboard {
        display: none;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0%;
        top: 0%;
        z-index: 3; }
        .course-product .product-photo-slider .slick-box .whiteboard.on {
          display: block; }
        .course-product .product-photo-slider .slick-box .whiteboard.loading {
          background: #000 !important; }
          .course-product .product-photo-slider .slick-box .whiteboard.loading:after {
            content: '';
            display: inline-block;
            position: absolute;
            top: 50%;
            left: 50%;
            margin-top: -60px;
            margin-left: -60px;
            border: 16px solid #f3f3f3;
            /* Light grey */
            border-top: 16px solid #3498db;
            /* Blue */
            border-radius: 50%;
            width: 120px;
            height: 120px;
            animation: spin 2s linear infinite; }
          .course-product .product-photo-slider .slick-box .whiteboard.loading img {
            transform: translateX(-50%) translateY(-50%) scale(1.5); }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
        .course-product .product-photo-slider .slick-box .whiteboard img {
          width: auto;
          transition: .5s ease;
          position: relative;
          top: 50%;
          left: 50%;
          transform: translateX(-50%) translateY(-50%);
          cursor: pointer; }
          .course-product .product-photo-slider .slick-box .whiteboard img:hover {
            transform: translateX(-50%) translateY(-50%) scale(1.5); }
      .course-product .product-photo-slider .slick-box.slick-current .youtubeid {
        display: block; }
    .course-product .product-photo-slider .slick-dots {
      text-align: center;
      padding-right: 10px;
      bottom: -25px;
      transition: .3s; }
      .course-product .product-photo-slider .slick-dots.playing {
        transform: translateY(30px);
        opacity: 0; }
      .course-product .product-photo-slider .slick-dots li {
        vertical-align: middle;
        width: auto;
        height: auto; }
        .course-product .product-photo-slider .slick-dots li button {
          width: 10px;
          height: 10px;
          border: 1px solid #28ABC2;
          background-color: #fff;
          border-radius: 50%; }
          .course-product .product-photo-slider .slick-dots li button:before {
            display: none; }
        .course-product .product-photo-slider .slick-dots li.slick-active button, .course-product .product-photo-slider .slick-dots li:hover button {
          background-color: #28ABC2; }
  .course-product .product-title {
    font-size: 30px;
    font-weight: bold;
    word-break: break-all;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #2889D4;
    margin-top: 0;
    margin-bottom: 0; }
    @media screen and (min-width: 1200px) {
      .course-product .product-title {
        font-size: 36px; } }
  .course-product .product-info-content {
    display: flex;
    justify-content: flex-end;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
    z-index: 1; }
    @media screen and (min-width: 992px) {
      .course-product .product-info-content {
        padding-right: 5px; } }
    @media screen and (min-width: 1200px) {
      .course-product .product-info-content {
        padding-left: 30px;
        padding-right: 0;
        justify-content: space-between; } }
    .course-product .product-info-content .product-numbers {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-top: 6px; }
      @media screen and (min-width: 768px) {
        .course-product .product-info-content .product-numbers {
          padding-top: 8px; } }
      @media screen and (min-width: 992px) {
        .course-product .product-info-content .product-numbers {
          width: auto;
          padding-top: 35px; } }
      @media screen and (min-width: 1200px) {
        .course-product .product-info-content .product-numbers {
          padding-top: 60px; } }
      .course-product .product-info-content .product-numbers .product-number-box {
        padding-left: 30px;
        letter-spacing: 0.15em;
        position: relative; }
        @media screen and (min-width: 768px) {
          .course-product .product-info-content .product-numbers .product-number-box {
            padding-left: 40px; } }
        .course-product .product-info-content .product-numbers .product-number-box:before {
          content: '\f0c0';
          display: block;
          font-size: 19px;
          font-family: FontAwesome;
          line-height: 1;
          color: #8a8a8a;
          position: absolute;
          top: 1px;
          left: 0; }
          @media screen and (min-width: 768px) {
            .course-product .product-info-content .product-numbers .product-number-box:before {
              font-size: 24px;
              top: 0px; } }
          @media screen and (min-width: 992px) {
            .course-product .product-info-content .product-numbers .product-number-box:before {
              font-size: 30px;
              top: 8px;
              color: #bbbbbb; } }
        .course-product .product-info-content .product-numbers .product-number-box .number-title {
          display: none;
          font-size: 16px;
          color: #8a8a8a; }
          @media screen and (min-width: 992px) {
            .course-product .product-info-content .product-numbers .product-number-box .number-title {
              display: block;
              color: #bbbbbb; } }
        .course-product .product-info-content .product-numbers .product-number-box span.number-number {
          display: inline-block;
          font-size: 13px;
          font-weight: bold;
          color: #8a8a8a; }
          @media screen and (min-width: 768px) {
            .course-product .product-info-content .product-numbers .product-number-box span.number-number {
              font-size: 16px; } }
          @media screen and (min-width: 992px) {
            .course-product .product-info-content .product-numbers .product-number-box span.number-number {
              color: #bbbbbb; } }
        .course-product .product-info-content .product-numbers .product-number-box span.number-unit {
          display: inline-block;
          font-size: 12px;
          color: #8a8a8a; }
          @media screen and (min-width: 992px) {
            .course-product .product-info-content .product-numbers .product-number-box span.number-unit {
              color: #bbbbbb; } }
      .course-product .product-info-content .product-numbers .like-wrapper {
        font-size: 13px;
        color: #000;
        margin-left: 40px; }
        @media screen and (min-width: 768px) {
          .course-product .product-info-content .product-numbers .like-wrapper {
            font-size: 16px; } }
        @media screen and (min-width: 992px) {
          .course-product .product-info-content .product-numbers .like-wrapper {
            color: #bbbbbb; } }
        .course-product .product-info-content .product-numbers .like-wrapper .like-link {
          display: inline-block;
          vertical-align: middle;
          margin: 0 5px;
          position: relative; }
          .course-product .product-info-content .product-numbers .like-wrapper .like-link:before {
            content: '\f004';
            display: block;
            font-size: 18px;
            font-family: FontAwesome; }
          .course-product .product-info-content .product-numbers .like-wrapper .like-link:hover:before {
            color: #fa9f9f; }
          .course-product .product-info-content .product-numbers .like-wrapper .like-link.liked:before {
            color: #F76F6F; }
  .course-product .product-intro-content {
    padding-top: 15px;
    padding-bottom: 20px; }
    @media screen and (min-width: 992px) {
      .course-product .product-intro-content {
        padding-top: 35px;
        padding-bottom: 30px; } }
  .course-product .product-intro-text {
    font-size: 20px;
    color: rgba(0, 0, 0, 0.65);
    margin-bottom: 5px; }
    @media screen and (min-width: 992px) {
      .course-product .product-intro-text {
        margin-bottom: 10px; } }
    .course-product .product-intro-text span {
      display: inline-block;
      padding-left: 15px; }
    .course-product .product-intro-text .goFreeWatch {
      display: inline-block;
      color: #28ABC2; }
      .course-product .product-intro-text .goFreeWatch::after {
        content: '\ef83';
        display: inline-block;
        font-size: 24px;
        line-height: 1;
        font-family: 'Material Symbols Outlined';
        vertical-align: sub; }

.price-area {
  padding-bottom: 15px;
  letter-spacing: 0.15em; }
  .price-area .price-title {
    font-size: 16px;
    color: #bbbbbb; }
    @media screen and (min-width: 768px) {
      .price-area .price-title {
        margin-bottom: 5px; } }
  .price-area .spec-price {
    display: inline-block;
    vertical-align: bottom;
    font-size: 40px;
    font-weight: bold;
    font-family: Arial;
    color: #F76F6F;
    padding-right: 5px; }
  .price-area .orig-price {
    display: inline-block;
    vertical-align: bottom;
    font-size: 20px;
    font-family: Arial;
    color: #bbbbbb;
    text-decoration: line-through; }

.buy-area {
  display: none;
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .buy-area {
      display: block; } }
  .buy-area a.buy-btn {
    display: inline-block;
    vertical-align: middle;
    width: 300px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    white-space: nowrap;
    font-size: 20px;
    color: #fff;
    background-color: #F76F6F;
    border-radius: 3px; }
    .buy-area a.buy-btn.disable {
      background-color: #999999;
      cursor: not-allowed; }
  .buy-area a.cart-btn {
    display: inline-block;
    vertical-align: middle;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 20px;
    margin-left: 10px;
    color: #F76F6F;
    border: 1px solid #F76F6F;
    background-color: transparent;
    border-radius: 3px; }
    .buy-area a.cart-btn.disable {
      background-color: #999999;
      cursor: not-allowed; }

.buy-area a.watch-btn {
  display: inline-block;
  vertical-align: middle;
  width: 300px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  white-space: nowrap;
  font-size: 20px;
  color: #fff;
  background-color: #2889D4;
  border-radius: 3px;
  margin-left: 8px;
}

@media screen and (min-width: 1200px) {
  .buy-area a.watch-btn {
    margin-top: 8px;
    margin-left: unset;
  }
}
.buy-area a.watch-btn.disable {
  background-color: #999999;
  cursor: not-allowed;
}

.product-fixed-area .product-bottom-buy a.watch-btn {
  display: inline-block;
  vertical-align: middle;
  margin-top: 8px;
  width: calc(100% - 70px);
  height: 50px;
  line-height: 50px;
  text-align: center;
  white-space: nowrap;
  font-size: 20px;
  color: #fff;
  background-color: #2889D4;
  border-radius: 3px;
}

@media screen and (min-width: 768px) {
  .product-fixed-area .product-bottom-buy a.watch-btn {
    width: 300px;
    margin-top: unset;
  }
}
.product-fixed-area .product-bottom-buy a.watch-btn.disable {
  background-color: #999999;
  cursor: not-allowed;
}


.product-sale .sale-slogan {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #F76F6F;
  margin-bottom: 30px; }

.countdown {
  display: flex; }
  .countdown > div {
    width: 25%;
    padding: 0 5px; }
    @media screen and (min-width: 768px) {
      .countdown > div {
        padding: 0 15px; } }
    .countdown > div > div {
      background-color: #ccc;
      text-align: center;
      padding: 10px 0; }
      .countdown > div > div span {
        font-size: 20px;
        font-family: Arial;
        color: #fff; }
      .countdown > div > div p {
        color: #fff;
        margin: 0; }

.product-addbuy {
  margin-bottom: 30px;
  padding: 15px 10px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc; }
  @media screen and (min-width: 768px) {
    .product-addbuy {
      padding: 25px 10px; } }
  .product-addbuy .product-addbuy-title {
    display: inline-block;
    font-size: 20px;
    color: #2889D4;
    margin-right: 20px; }
  .product-addbuy .addbuy-label {
    font-size: 16px;
    margin-bottom: 0;
    cursor: pointer;
    letter-spacing: 0.08em; }
    .product-addbuy .addbuy-label span {
      color: rgba(0, 0, 0, 0.65); }
    .product-addbuy .addbuy-label a {
      display: inline-block;
      text-decoration: underline;
      margin-left: 5px; }

.course-buy2gether {
  background: url(../img/buy2gether.jpg) center no-repeat;
  background-size: cover;
  padding: 50px 0;
  position: relative; }
  @media screen and (min-width: 768px) {
    .course-buy2gether {
      padding: 30px 0; } }
  .course-buy2gether .buy2gether-marquee {
    width: 100%;
    --tw: 100vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    overflow: hidden;
    opacity: 0; }
    @media screen and (min-width: 768px) {
      .course-buy2gether .buy2gether-marquee {
        opacity: 1; } }
    .course-buy2gether .buy2gether-marquee span {
      display: inline-block;
      width: var(--tw);
      font-size: 10vw;
      color: #fff;
      white-space: nowrap;
      text-shadow: var(--tw) 0 #fff, calc(var(--tw)*2) 0 #fff, calc(var(--tw)*3) 0 #fff;
      animation: marquee 10s linear infinite;
      animation-play-state: running; }

@keyframes marquee {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
  .course-buy2gether .buy2gether-content {
    width: 92.55vw;
    padding: 10px 15px;
    background-color: #fff;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 768px) {
      .course-buy2gether .buy2gether-content {
        padding: 10px 35px; } }
    @media screen and (min-width: 992px) {
      .course-buy2gether .buy2gether-content {
        width: 992px; } }
    @media screen and (min-width: 1200px) {
      .course-buy2gether .buy2gether-content {
        width: 1170px; } }
    .course-buy2gether .buy2gether-content .buy2gether-title {
      font-size: 20px;
      color: #2889D4;
      margin-bottom: 15px; }
    .course-buy2gether .buy2gether-content .buy2gether-intro {
      font-size: 18px;
      color: rgba(0, 0, 0, 0.65);
      text-align: justify;
      margin-bottom: 15px; }
      @media screen and (min-width: 768px) {
        .course-buy2gether .buy2gether-content .buy2gether-intro {
          margin-bottom: 20px; } }
    @media screen and (min-width: 992px) {
      .course-buy2gether .buy2gether-content .buy2gether-wrapper {
        display: flex; } }
    .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item {
      display: flex;
      align-items: center;
      margin-bottom: 30px; }
      @media screen and (min-width: 768px) {
        .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item {
          padding-right: 30px; } }
      .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-img {
        width: 140px;
        margin-right: 10px; }
        @media screen and (min-width: 768px) {
          .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-img {
            width: 270px; } }
      .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-text {
        width: calc(100% - 140px); }
        @media screen and (min-width: 768px) {
          .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-text {
            width: auto; } }
      .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-title {
        font-size: 15px;
        color: rgba(0, 0, 0, 0.65);
        margin-bottom: 5px; }
        @media screen and (min-width: 768px) {
          .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-title {
            font-size: 18px;
            margin-bottom: 0; } }
      .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-price {
        display: inline-block;
        font-size: 15px;
        color: #F76F6F;
        text-decoration: line-through; }
        @media screen and (min-width: 768px) {
          .course-buy2gether .buy2gether-content .buy2gether-wrapper .buy2gether-item .buy2gether-item-price {
            font-size: 16px; } }
    .course-buy2gether .buy2gether-content .buy2gether-addtocart {
      border-top: 1px solid #bbbbbb;
      padding-top: 20px;
      padding-bottom: 20px; }
      @media screen and (min-width: 768px) {
        .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-label {
          display: inline-block;
          margin-bottom: 15px; } }
      .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-label input[type="checkbox"] {
        vertical-align: middle;
        margin-top: 0;
        margin-right: 5px; }
      .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-label span {
        display: inline-block;
        font-size: 16px;
        letter-spacing: 0.08em;
        vertical-align: middle;
        color: #2889D4;
        transform: perspective(1px); }
        .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-label span a {
          display: inline-block;
          text-decoration: underline; }
      @media screen and (min-width: 768px) {
        .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom {
          display: flex;
          justify-content: space-between;
          align-items: center; } }
      .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-price {
        letter-spacing: 0.15em; }
        @media screen and (min-width: 768px) {
          .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-price {
            width: 40%; } }
        .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-price .spec-price {
          display: inline-block;
          vertical-align: bottom;
          font-size: 40px;
          font-weight: bold;
          font-family: Arial;
          color: #F76F6F;
          padding-right: 5px; }
        .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-price .orig-price {
          display: inline-block;
          vertical-align: bottom;
          font-size: 24px;
          font-family: Arial;
          color: #bbbbbb;
          text-decoration: line-through; }
      @media screen and (min-width: 768px) {
        .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-btn {
          padding-left: 3%; } }
      .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-btn a.buy-btn {
        display: inline-block;
        vertical-align: middle;
        width: calc( 100% - 70px);
        height: 50px;
        line-height: 50px;
        text-align: center;
        white-space: nowrap;
        font-size: 20px;
        color: #fff;
        background-color: #F76F6F;
        border-radius: 3px; }
        @media screen and (min-width: 768px) {
          .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-btn a.buy-btn {
            width: 300px; } }
      .course-buy2gether .buy2gether-content .buy2gether-addtocart .buy2gether-addtocart-bottom .buy2gether-addtocart-btn a.cart-btn {
        display: inline-block;
        vertical-align: middle;
        width: 50px;
        height: 50px;
        line-height: 50px;
        text-align: center;
        font-size: 20px;
        margin-left: 10px;
        color: #F76F6F;
        border: 1px solid #F76F6F;
        background-color: transparent;
        border-radius: 3px; }

.product-description {
  margin-left: auto;
  margin-right: auto;
  margin-top: 70px; }
  .product-description.tab-fixed {
    padding-top: 65px; }
  @media screen and (min-width: 768px) {
    .product-description {
      width: 750px; }
      .product-description.tab-fixed {
        padding-top: 70px; } }
  .product-description .product-tab-area {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
    background-color: #fff;
    border-bottom: 1px solid #2889D4;
    transition-duration: .3s;
    transition-timing-function: ease-out; }
    .product-description .product-tab-area.fixed {
      position: fixed;
      top: 27px;
      z-index: 2; }
    @media screen and (min-width: 992px) {
      .product-description .product-tab-area {
        width: 750px;
        margin: 20px 0; }
        .product-description .product-tab-area.fixed {
          top: -20px; } }
    @media screen and (min-width: 1200px) {
      .product-description .product-tab-area {
        width: 750px; } }
    .product-description .product-tab-area .product-tab {
      display: inline-block;
      font-size: 15px;
      color: rgba(0, 0, 0, 0.65);
      letter-spacing: 0.08em;
      padding: 10px 5px;
      margin: 0px;
      text-decoration: none;
      position: relative; }
      @media screen and (min-width: 768px) {
        .product-description .product-tab-area .product-tab {
          font-size: 20px;
          padding: 10px 25px;
          margin: 0 0px; } }
      .product-description .product-tab-area .product-tab:after {
        content: '';
        display: none;
        width: 100%;
        height: 5px;
        background-color: #2889D4;
        position: absolute;
        left: 0;
        bottom: -3px; }
      .product-description .product-tab-area .product-tab.active:after {
        display: block; }

.product-fixed-area {
  width: 100%;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  padding: 10px;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  transform: translateY(84px);
  transition: .3s; }
  .product-fixed-area.is_show {
    transform: translateY(0); }
  @media screen and (min-width: 768px) {
    .product-fixed-area {
      padding: 10px 0; } }
  .product-fixed-area .product-fixed-wrapper {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    margin: auto; }
    @media screen and (min-width: 768px) {
      .product-fixed-area .product-fixed-wrapper {
        width: 750px; } }
    @media screen and (min-width: 992px) {
      .product-fixed-area .product-fixed-wrapper {
        width: 970px; } }
    @media screen and (min-width: 1200px) {
      .product-fixed-area .product-fixed-wrapper {
        width: 1200px; } }
  .product-fixed-area .product-numbers {
    display: none; }
    @media screen and (min-width: 992px) {
      .product-fixed-area .product-numbers {
        display: flex; } }
    .product-fixed-area .product-numbers .product-number-box {
      padding-left: 70px;
      padding-top: 6px;
      letter-spacing: 0.15em;
      position: relative; }
      .product-fixed-area .product-numbers .product-number-box:before {
        content: '\f0c0';
        display: block;
        font-size: 60px;
        font-family: FontAwesome;
        line-height: 1;
        color: #bbbbbb;
        font-size: 52px;
        position: absolute;
        top: 2px;
        left: 0; }
      .product-fixed-area .product-numbers .product-number-box .number-title {
        font-size: 16px;
        color: #bbbbbb; }
      .product-fixed-area .product-numbers .product-number-box span.number-number {
        display: inline-block;
        font-size: 16px;
        font-weight: bold;
        color: #bbbbbb; }
      .product-fixed-area .product-numbers .product-number-box span.number-unit {
        display: inline-block;
        font-size: 12px;
        color: #bbbbbb; }
  .product-fixed-area .product-price {
    display: none;
    letter-spacing: 0.15em; }
    @media screen and (min-width: 768px) {
      .product-fixed-area .product-price {
        display: block; } }
    .product-fixed-area .product-price .price-title {
      font-size: 16px;
      color: #bbbbbb; }
    .product-fixed-area .product-price .spec-price {
      display: inline-block;
      font-size: 40px;
      font-weight: bold;
      font-family: Arial;
      line-height: 1;
      color: #F76F6F; }
  .product-fixed-area .product-bottom-buy {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .product-fixed-area .product-bottom-buy {
        width: auto; } }
    .product-fixed-area .product-bottom-buy a.buy-btn {
      display: inline-block;
      vertical-align: middle;
      width: calc( 100% - 70px);
      height: 50px;
      line-height: 50px;
      text-align: center;
      white-space: nowrap;
      font-size: 20px;
      color: #fff;
      background-color: #F76F6F;
      border-radius: 3px; }
      @media screen and (min-width: 768px) {
        .product-fixed-area .product-bottom-buy a.buy-btn {
          width: 300px; } }
      .product-fixed-area .product-bottom-buy a.buy-btn.disable {
        background-color: #999999;
        cursor: not-allowed; }
    .product-fixed-area .product-bottom-buy a.cart-btn {
      display: inline-block;
      vertical-align: middle;
      width: 50px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      font-size: 20px;
      margin-left: 10px;
      color: #F76F6F;
      border: 1px solid #F76F6F;
      background-color: transparent;
      border-radius: 3px; }
      .product-fixed-area .product-bottom-buy a.cart-btn.disable {
        background-color: #999999;
        cursor: not-allowed; }

.new_course_main {
  padding: 0px 15px 60px; }
  @media screen and (min-width: 768px) {
    .new_course_main {
      padding: 0 0 60px; } }
  .new_course_main h3 {
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    margin: 25px 15px;
    padding: 5px 15px;
    color: #2889D4;
    border: 2px solid #2889D4;
    box-shadow: -5px -5px #51a1de; }
    @media screen and (min-width: 768px) {
      .new_course_main h3 {
        margin: 25px 0; } }
    .new_course_main h3:after {
      content: '';
      display: block;
      clear: both; }
  .new_course_main p {
    font-size: 16px;
    color: rgba(0, 0, 0, 0.65);
    text-align: justify;
    letter-spacing: 0.08em;
    line-height: 1.7; }
    .new_course_main p big {
      color: #2889D4; }
    .new_course_main p span {
      display: inline-block;
      font-size: 14px;
      transform: translateY(-10px); }
    @media screen and (min-width: 992px) {
      .new_course_main p img {
        width: 100%; } }
  .new_course_main ul, .new_course_main ol {
    font-size: 16px;
    color: rgba(0, 0, 0, 0.65);
    text-align: justify;
    letter-spacing: 0.08em;
    line-height: 1.7;
    padding-left: 25px; }
    .new_course_main ul li, .new_course_main ol li {
      margin-bottom: 5px; }
  .new_course_main iframe {
    max-width: 100%;
    height: auto;
    aspect-ratio: 750 / 422; }

.panel-group .panel {
  border: 1px solid #28ABC2;
  border-radius: 0px;
  box-shadow: none; }
  .panel-group .panel .panel-heading {
    padding: 6px 15px;
    border-radius: 0px;
    background-color: #28ABC2; }
    @media screen and (min-width: 992px) {
      .panel-group .panel .panel-heading {
        padding: 10px 15px; } }
    .panel-group .panel .panel-heading .panel-title {
      display: block;
      font-size: 15px;
      color: #fff;
      position: relative;
      padding-left: 22px; }
      @media screen and (min-width: 992px) {
        .panel-group .panel .panel-heading .panel-title {
          font-size: 16px; } }
      .panel-group .panel .panel-heading .panel-title:before {
        content: '\F056';
        display: block;
        font-size: 16px;
        font-family: FontAwesome;
        color: #F0CD30;
        position: absolute;
        top: 0;
        left: 0; }
      .panel-group .panel .panel-heading .panel-title.collapsed:before {
        content: '\F055'; }
  .panel-group .panel .panel-collapse .panel-body {
    font-size: 16px;
    border: none;
    padding: 10px; }
    @media screen and (min-width: 992px) {
      .panel-group .panel .panel-collapse .panel-body {
        padding: 15px; } }
    .panel-group .panel .panel-collapse .panel-body .chapter-title {
      color: #2889D4;
      padding-left: 20px;
      margin-bottom: 5px; }
    .panel-group .panel .panel-collapse .panel-body .notes {
      display: inline-block;
      font-size: 12px;
      color: #f76f6f; }

.teacher-zone:after {
  content: '';
  display: block;
  clear: both; }

.teacher-zone .teacher-left {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .teacher-zone .teacher-left {
      float: left;
      width: 210px;
      margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  .teacher-zone .teacher-right {
    float: left;
    width: calc( 100% - 210px);
    padding-left: 20px; } }

.teacher-zone .teacher-name {
  font-size: 16px;
  margin-top: 10px; }

.feedback-slider-wrapper {
  padding: 0px 0px 40px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .feedback-slider-wrapper {
      padding: 0px 10px 40px; } }
  @media screen and (min-width: 992px) {
    .feedback-slider-wrapper {
      padding: 0px 20px 40px; } }
  @media screen and (min-width: 1200px) {
    .feedback-slider-wrapper {
      padding: 0px 10px 40px; } }
  .feedback-slider-wrapper .feedback-slider {
    padding: 10px; }
    .feedback-slider-wrapper .feedback-slider .feedback-box {
      font-size: 16px;
      padding: 15px 20px 15px 90px;
      background-color: #eef9fb;
      position: relative; }
      .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-photo {
        width: 60px;
        aspect-ratio: 1/1;
        border-radius: 50%;
        overflow: hidden;
        position: absolute;
        top: 15px;
        left: 15px; }
      .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info {
        margin-bottom: 5px; }
        .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-name {
          font-weight: bold;
          color: rgba(0, 0, 0, 0.65); }
        .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-time {
          display: inline-block;
          font-size: 12px;
          margin-right: 10px; }
        .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-rank {
          display: inline-block; }
          .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-rank .feedback-rank-number {
            display: inline-block; }
          .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-rank .feedback-rank-star {
            display: inline-block;
            font-size: 0; }
            .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-rank .feedback-rank-star .back-star {
              display: flex;
              color: #F2E7B6;
              position: relative; }
            .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-rank .feedback-rank-star .font-star {
              display: flex;
              width: 100%;
              color: #F0CD30;
              overflow: hidden;
              position: absolute;
              top: 0; }
            .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-info .feedback-rank .feedback-rank-star .icon-star {
              font-size: 14px;
              padding: 0 1px; }
      .feedback-slider-wrapper .feedback-slider .feedback-box .feedback-text {
        font-size: 14px;
        text-align: justify; }
  .feedback-slider-wrapper .feedback-loading {
    display: block;
    width: 100%;
    height: 300px;
    background: linear-gradient(to top, #fff 35%, transparent 100%);
    position: absolute;
    bottom: 0;
    left: 0; }
    .feedback-slider-wrapper .feedback-loading .article_loader {
      background: none; }
  .feedback-slider-wrapper .feedback-more {
    position: absolute;
    bottom: 30px;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%); }
    .feedback-slider-wrapper .feedback-more .feedback-more-btn {
      display: inline-block;
      border: 1px solid rgba(0, 0, 0, 0.65); }
      .feedback-slider-wrapper .feedback-more .feedback-more-btn span {
        display: block;
        font-size: 20px;
        padding: 15px 20px;
        color: rgba(0, 0, 0, 0.65);
        transition: .5s;
        position: relative;
        z-index: 2; }

/*留言板*/
/* 媒體查詢 */
@media screen and (min-width: 768px) {
    .board-container {
        width: 50%;
        margin-right: 24px;
    }
    
    .product-description .product-tab-area .product-tab {
        padding: 10px 16px;
    }
    
    .product-description .product-tab-area.fixed {
        width: 750px;
    }
}

/* 消息卡片基本樣式 */
.message-card { 
    background: white; 
    border-radius: 10px; 
    padding: 15px; 
    margin: 16px 0; 
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); 
    position: relative; 
}

/* 消息頭部樣式 */
.message-header { 
    display: flex; 
    align-items: center; 
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
}

.avatar { 
    width: 60px; 
    height: 60px; 
    border-radius: 50%; 
    margin-right: 10px; 
}

.user-info { 
    display: flex; 
    align-items: center; 
    flex-grow: 1;
}

.user-name { 
    font-size: 16px; 
    font-weight: bold; 
}

/* 用戶角色樣式 */
.user-role { 
    background: #ddd; 
    color: white; 
    border-radius: 5px; 
    padding: 2px 5px; 
    margin-left: 5px; 
    font-size: 0.8em; 
}

.teacher { 
    background: #f76f6f; 
}

.assistant { 
    background: #59c9cb; 
}

.student { 
    background: #2889d4; 
}

.scholar { 
    background: #ffa500; 
}

/* 消息內容樣式 */
.message-time { 
    font-size: 0.8em; 
    color: gray; 
    margin-left: 10px; 
}

.message-title { 
    margin-top: 8px; 
    padding-left: 80px;
    font-size: 16px;
    color: #333;
    font-weight: bold;
}

.message-body { 
    margin-top: 8px; 
    padding-left: 80px;
    line-height: 2;
}

.edit-message-btn {
    display: inline-flex;
    align-items: center;
    margin-right: 4px;
    cursor: pointer;
    color: #2889d4;
    font-size: 14px;
}

.edit-message-btn:hover {
    color: #59c9cb;
}

.message-content { 
    margin: 0 0 24px 70px;
}

/* 回覆區域樣式 */
.reply-container { 
    display: none; 
    padding-top: 10px; 
}

.reply-container-alwaysShow { 
    padding-top: 10px;
}

.reply-container-alwaysShow .reply-box {
    display: block;
}

.like-count {
    display: inline-flex;
    align-items: center;
    margin-right: 4px;
    cursor: pointer;
    color: #666;
}

.like-count .icon-heart {
    margin-right: 2px;
    font-size: 14px;
}

.like-count.active {
    color: #ff4d4d;
}

.like-count .count {
    font-size: 14px;
}

.reply-count {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    margin-left: auto;
    color: #666;
}

.reply-count .triangle {
    display: inline-block;
    transition: transform 0.3s ease;
}

.reply-count.active .triangle {
    transform: rotate(180deg);
}

hr { 
    margin: 15px 0; 
    border: none; 
    border-top: 1px solid #ddd; 
}

/* 回覆框樣式 */
.reply-box { 
    display: block; 
    margin-top: 10px; 
    width: 100%; 
}

.reply-box input { 
    width: calc(100% - 100px); 
    padding: 8px; 
}

.reply-box button { 
    width: fit-content; 
    padding: 8px; 
    margin-left: 8px; 
    border: 2px solid #2889d4; 
    background: white; 
    color: #2889d4; 
    border-radius: 5px; 
    cursor: pointer; 
}

.reply-box button:hover { 
    background: #2889d4; 
    color: white; 
}

/* 加載更多樣式 */
.message-more {
    position: absolute;
    bottom: 30px;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
}

.message-more .message-more-btn {
    display: inline-block;
    border: 1px solid rgba(0, 0, 0, 0.65);
}

.message-more-btn span {
    display: block;
    font-size: 20px;
    padding: 15px 20px;
    color: rgba(0, 0, 0, 0.65);
    transition: .5s;
    position: relative;
    z-index: 2;
}

/* 加載動畫樣式 */
.message-loading {
    display: block;
    width: 100%;
    height: 300px;
    background: linear-gradient(to top, #fff 35%, transparent 100%);
    position: absolute;
    bottom: 0;
    left: 0;
}

.message-loading .article_loader {
    background: none;
}

/* 留言區域樣式 */
.leave-message {
    padding: 16px;
    background-color: #eff3f4;
    margin-bottom: 36px;
}

.leave-message button {
    width: fit-content; 
    padding: 8px; 
    background: #2889d4; 
    color: white; 
    border-radius: 4px; 
    cursor: pointer; 
    border: none;
    display: block;
    margin-left: auto;
}

.leave-message button:hover {
    background: #42adff; 
}

/* 留言輸入框樣式 */
.message-input-box-title input {
    width: 100%;
    height: auto;
    padding: 6px;
    margin-bottom: 12px;
    margin-top: 8px;
}

.message-input-box-content textarea {
    width: 100%;
    min-height: 120px;
    padding: 6px;
    margin-bottom: 16px;
    resize: none;
}

/* 無留言樣式 */
.no-message {
    display: flex;
    justify-content: space-evenly;
    margin: 16px 0;
}

.no-message img {
    width: 240px;
    height: auto;
}

/* 留言過濾器樣式 */
.message-filter {
    display: flex;
    align-items: center;
    margin: 20px 0;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.filter-label {
    margin-right: 15px;
    color: #666;
}

.filter-options {
    display: flex;
    gap: 10px;
}

.filter-btn {
    padding: 6px 15px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.filter-btn:hover {
    background: #f5f5f5;
}

.filter-btn.active {
    background: #2889d4;
    color: white;
    border-color: #2889d4;
}

.edit-box {
    margin: 10px 0;
}

/* 留言編輯樣式 */
.edit-textarea {
    width: 100%;
    min-height: 60px;
    padding: 8px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    resize: vertical;
}

.edit-buttons {
    display: flex;
    gap: 10px;
}

.edit-buttons button {
    padding: 5px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.edit-buttons .save-btn {
    background-color: #4CAF50;
    color: white;
}

.edit-buttons .cancel-btn {
    background-color: #f44336;
    color: white;
}

.edit-buttons button:hover {
    opacity: 0.9;
}



.cloud-section-title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #28ABC2;
  position: relative;
  padding: 15px 20px; }
  @media screen and (min-width: 768px) {
    .cloud-section-title {
      text-align: left;
      padding: 20px 50px; } }
  .cloud-section-title .section-title-en {
    font-size: 36px;
    font-family: 'Acme', cursive;
    font-weight: normal;
    line-height: 1em;
    color: #a2a2a2;
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    opacity: 0.2; }
    @media screen and (min-width: 768px) {
      .cloud-section-title .section-title-en {
        font-size: 45px;
        left: 20px;
        transform: translateX(0); } }
  .cloud-section-title.gallery-title {
    display: none; }
    @media screen and (min-width: 768px) {
      .cloud-section-title.gallery-title {
        display: block; } }
  .cloud-section-title.forget {
    text-align: center;
    padding: 20px 20px 0;
    margin-top: 20px;
    z-index: 2; }
    .cloud-section-title.forget .section-title-en {
      left: 50%;
      transform: translateX(-50%); }
  .cloud-section-title.withBtn {
    padding: 15px 20px 15px 20px; }
    @media screen and (min-width: 768px) {
      .cloud-section-title.withBtn {
        padding: 20px 50px 20px 50px; } }
    .cloud-section-title.withBtn .titleBtn {
      display: inline-block;
      font-size: 14px;
      color: #fff;
      background-color: #2889D4;
      border-radius: 5px;
      border: 2px solid transparent;
      padding: 3px 10px;
      transition: .3s;
      position: absolute;
      top: 13px;
      right: 5px; }
      @media screen and (min-width: 768px) {
        .cloud-section-title.withBtn .titleBtn {
          top: 18px; } }
      .cloud-section-title.withBtn .titleBtn:hover, .cloud-section-title.withBtn .titleBtn:active, .cloud-section-title.withBtn .titleBtn:focus {
        color: #2889D4;
        border-color: #2889D4;
        background-color: #fff; }

.index-top-wrapper {
  background-color: #28ABC2;
  position: relative;
  padding: 30px 0 10px; }
  @media screen and (min-width: 768px) {
    .index-top-wrapper {
      padding: 30px 0; } }
  .index-top-wrapper .index-top-inner {
    position: relative; }
    @media screen and (min-width: 768px) {
      .index-top-wrapper .index-top-inner {
        padding-left: 170px; } }
    .index-top-wrapper .index-top-inner .index-profile-img {
      width: 178px;
      height: 178px;
      margin: auto;
      border-radius: 50%;
      position: relative; }
      @media screen and (min-width: 768px) {
        .index-top-wrapper .index-top-inner .index-profile-img {
          position: absolute;
          top: 0;
          left: 0; } }
      .index-top-wrapper .index-top-inner .index-profile-img .updatePhotoWrapper {
        position: absolute;
        bottom: 0;
        right: 10px; }
        .index-top-wrapper .index-top-inner .index-profile-img .updatePhotoWrapper .updatePhoto {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 36px;
          height: 36px;
          border-radius: 50%;
          border: none; }
          .index-top-wrapper .index-top-inner .index-profile-img .updatePhotoWrapper .updatePhoto::before {
            content: '\e412';
            display: block;
            font-size: 20px;
            font-family: 'Material Icons';
            line-height: 1;
            color: #28ABC2; }
      .index-top-wrapper .index-top-inner .index-profile-img .result {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        border: 4px solid #fff;
        overflow: hidden; }
    .index-top-wrapper .index-top-inner .index-profile-content {
      min-height: 170px;
      padding-top: 20px; }
      @media screen and (min-width: 768px) {
        .index-top-wrapper .index-top-inner .index-profile-content {
          padding-left: 15px; } }
      @media screen and (min-width: 992px) {
        .index-top-wrapper .index-top-inner .index-profile-content {
          padding-left: 30px; } }
      .index-top-wrapper .index-top-inner .index-profile-content .index-profile-name {
        font-size: 30px;
        font-weight: bold;
        color: #fff;
        line-height: 30px;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 30px; }
        @media screen and (min-width: 768px) {
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-name {
            text-align: left; } }
      .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes {
        display: flex;
        flex-wrap: wrap; }
        .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box {
          width: 49%;
          color: #fff;
          text-align: center;
          margin-bottom: 20px;
          position: relative;
          padding-left: 15px;
          padding-right: 15px; }
          @media screen and (min-width: 768px) {
            .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box {
              width: 24%; } }
          @media screen and (min-width: 992px) {
            .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box {
              padding-left: 40px;
              padding-right: 30px; } }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box:before {
            content: '';
            display: block;
            font-family: 'Material Icons';
            font-size: 40px;
            line-height: 1; }
            @media screen and (min-width: 992px) {
              .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box:before {
                position: absolute;
                top: 5px;
                left: 8px; } }
            @media screen and (min-width: 1200px) {
              .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box:before {
                left: 30px; } }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box:after {
            content: '';
            display: none;
            width: 1px;
            height: 40px;
            position: absolute;
            top: 0;
            right: 0px;
            background-color: #fff; }
            @media screen and (min-width: 768px) {
              .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box:after {
                display: block; } }
            @media screen and (min-width: 992px) {
              .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box:after {
                right: 5px; } }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box.join:before {
            content: '\e935'; }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box.course:before {
            content: '\ea19'; }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box.video:before {
            content: '\e04b'; }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box.common:before {
            content: '\e839'; }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box span.title {
            display: block; }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box span.number {
            font-size: 20px;
            font-family: Arial;
            color: #fff; }
          .index-top-wrapper .index-top-inner .index-profile-content .index-profile-boxes .index-profile-box a.number {
            font-size: 20px;
            font-family: Arial;
            color: #fff;
            text-decoration: underline; }

.this-month {
  display: flex;
  flex-wrap: nowrap;
  align-items: center; }
  @media screen and (min-width: 768px) {
    .this-month {
      margin-bottom: 10px; } }
  .this-month .this-month-text {
    width: 100%;
    font-size: 30px;
    font-family: 'Josefin Sans', sans-serif;
    text-align: center;
    color: #28ABC2; }
    @media screen and (min-width: 768px) {
      .this-month .this-month-text {
        font-size: 40px; } }
  .this-month .this-month-input {
    width: 160px; }
    .this-month .this-month-input.month {
      display: none; }
    @media screen and (min-width: 768px) {
      .this-month .this-month-input {
        width: 150px; }
        .this-month .this-month-input.week {
          display: none; }
        .this-month .this-month-input.month {
          display: block; }
        .this-month .this-month-input.ie {
          display: flex;
          justify-content: space-between;
          width: 200px; }
          .this-month .this-month-input.ie select {
            width: 49%; } }
    .this-month .this-month-input input {
      width: 100%; }

.calendar {
  display: none; }
  @media screen and (min-width: 768px) {
    .calendar {
      display: block;
      margin-bottom: 20px; } }
  .calendar .calendar-row {
    display: flex;
    border-bottom: 1px solid #28ABC2; }
    .calendar .calendar-row:first-child {
      border: none; }
  .calendar .calendar-col {
    width: calc( 100% / 7);
    height: 30px;
    line-height: 30px;
    color: #28ABC2;
    padding: 0 5px;
    border-top: 1px solid #28ABC2;
    border-right: 1px solid #28ABC2; }
    .calendar .calendar-col:first-child {
      border-left: 1px solid #28ABC2; }
  .calendar .calendar-cel {
    width: calc( 100% / 7);
    border-right: 1px solid #28ABC2;
    min-height: 100px;
    padding: 5px;
    position: relative; }
    .calendar .calendar-cel:first-child {
      border-left: 1px solid #28ABC2; }
    .calendar .calendar-cel span {
      display: inline-block;
      width: 25px;
      height: 25px;
      line-height: 25px;
      border-radius: 50%;
      text-align: center;
      font-size: 14px;
      color: #000;
      font-family: Arial; }
    .calendar .calendar-cel.today span {
      color: #fff;
      background-color: #2889D4; }
    .calendar .calendar-cel.notThis span {
      color: #999999; }
  .calendar .course-wrapper {
    font-size: 12px;
    color: #2889D4; }
    .calendar .course-wrapper a {
      display: block;
      margin-bottom: 3px; }

.calendar-week {
  border-top: 3px solid #28ABC2; }
  .calendar-week .calendar-row {
    padding: 10px;
    background-color: rgba(225, 225, 225, 0.5);
    border-top: 2px solid #fff; }
    .calendar-week .calendar-row .calendar-date {
      font-weight: bold;
      color: #000; }
    .calendar-week .calendar-row .calendar-content {
      margin-top: 5px;
      padding-top: 5px;
      border-top: 1px dashed #D8DAD9; }
      .calendar-week .calendar-row .calendar-content a {
        display: block;
        color: #49514B; }
        .calendar-week .calendar-row .calendar-content a span {
          display: block; }
    .calendar-week .calendar-row.today .calendar-date {
      color: #2889D4; }

@media screen and (min-width: 768px) {
  .list {
    display: flex;
    flex-wrap: wrap; } }

.list .list-item {
  background-color: #fff;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.2);
  margin: 0 0px 10px; }
  @media screen and (min-width: 768px) {
    .list .list-item {
      width: calc( 100% / 2 - 30px);
      margin: 0 15px 30px; } }
  @media screen and (min-width: 992px) {
    .list .list-item {
      width: calc( 100% / 3 - 30px); } }

.list .list-item-inner {
  display: block;
  padding: 10px 10px 0px 130px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .list .list-item-inner {
      background: none;
      padding: 0; } }
  .list .list-item-inner .list-item-img {
    width: 120px;
    position: absolute;
    top: 10px;
    left: 10px; }
    @media screen and (min-width: 768px) {
      .list .list-item-inner .list-item-img {
        width: auto;
        position: static; } }

.list .list-item-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  transition: .3s; }
  .list .list-item-progress .item-progress-bar {
    width: calc( 100% - 50px);
    height: 20px;
    background-color: #ccc;
    border-radius: 5px;
    position: relative;
    overflow: hidden; }
    .list .list-item-progress .item-progress-bar .bar {
      width: 50%;
      height: 20px;
      background-color: #2889D4; }
  .list .list-item-progress .bar-text {
    font-size: 12px;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .list .list-item-progress .list-item-complete {
    width: 40px;
    height: 40px; }
    .list .list-item-progress .list-item-complete .unlocked {
      display: none; }
    .list .list-item-progress .list-item-complete.complete .locked {
      display: none; }
    .list .list-item-progress .list-item-complete.complete .unlocked {
      display: block; }

.list .list-item-text {
  padding: 5px 10px 10px;
  position: relative;
  transition: .3s; }
  @media screen and (min-width: 768px) {
    .list .list-item-text {
      padding: 15px 40px 15px 10px; } }
  .list .list-item-text:after {
    content: '\F105';
    display: none;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    font-weight: bold;
    font-family: FontAwesome;
    color: #fff;
    background-color: #000;
    border-radius: 50%;
    position: absolute;
    top: 18px;
    right: 10px;
    transition: .3s; }
    @media screen and (min-width: 768px) {
      .list .list-item-text:after {
        display: block; } }
  .list .list-item-text .list-item-title {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    margin-bottom: 3px;
    transition: .3s; }
    @media screen and (min-width: 768px) {
      .list .list-item-text .list-item-title {
        font-size: 18px; } }
  .list .list-item-text .list-item-date {
    font-size: 12px;
    color: #999999;
    transition: .3s; }
    @media screen and (min-width: 768px) {
      .list .list-item-text .list-item-date {
        font-size: 16px; } }

.list .list-item-icons {
  display: flex;
  justify-content: space-between;
  padding: 0px 10px; }
  .list .list-item-icons .list-item-icon {
    display: block;
    width: calc( 100%/2 - 5px);
    color: rgba(0, 0, 0, 0.65);
    padding: 0px 0px 0px 15px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .list .list-item-icons .list-item-icon {
        padding: 5px 10px 5px 35px; } }
    .list .list-item-icons .list-item-icon:before, .list .list-item-icons .list-item-icon:after {
      display: inline-block;
      font-family: FontAwesome; }
    .list .list-item-icons .list-item-icon:before {
      content: '\F058';
      font-size: 14px;
      top: 0px;
      left: 0px;
      position: absolute; }
      @media screen and (min-width: 768px) {
        .list .list-item-icons .list-item-icon:before {
          font-size: 18px;
          top: 3px;
          left: 10px; } }
    .list .list-item-icons .list-item-icon:after {
      padding-left: 7px; }
    .list .list-item-icons .list-item-icon.homework:after {
      content: '\F044'; }
    .list .list-item-icons .list-item-icon.feedback:after {
      content: '\F006'; }
    .list .list-item-icons .list-item-icon.finished {
      color: #2889D4; }
      .list .list-item-icons .list-item-icon.finished:before {
        color: #28ABC2; }

.list .list-item-btns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 10px;
  margin-top: 10px; }
  .list .list-item-btns .item-btn {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 3px;
    font-size: 14px;
    text-align: center;
    background: none;
    border: none;
    box-shadow: none;
    color: #fff; }
    .list .list-item-btns .item-btn.green {
      background-color: #28ABC2; }
    .list .list-item-btns .item-btn.pink {
      background-color: #F76F6F; }
    .list .list-item-btns .item-btn.yellow {
      background-color: #F0CD30; }
    .list .list-item-btns .item-btn.blue {
      background-color: #2889D4; }
    .list .list-item-btns .item-btn.gray {
      background-color: #999999; }
    .list .list-item-btns .item-btn.disabled {
      text-decoration: line-through;
      border: 1px solid #999999;
      background-color: #fff;
      color: #999999;
      cursor: not-allowed; }
    .list .list-item-btns .item-btn:hover {
      opacity: 0.8; }

.list .list-item:hover .list-item-text:after {
  right: 5px; }

.tableList {
  margin-bottom: 60px;
  border-top: 5px solid #3b95da; }
  @media screen and (min-width: 992px) {
    .tableList {
      border: none; } }
  .tableList .tableList-row {
    display: block;
    width: 100%;
    padding: 7px 20px;
    color: rgba(0, 0, 0, 0.65);
    background: rgba(228, 253, 252, 0.4);
    border-bottom: 2px solid #fff; }
    @media screen and (min-width: 992px) {
      .tableList .tableList-row {
        display: table;
        table-layout: fixed;
        padding: 0;
        border: none; } }
    .tableList .tableList-row:nth-child(even) {
      background: rgba(177, 221, 220, 0.4); }
    .tableList .tableList-row.listHead {
      display: none;
      font-weight: bold;
      color: #fff;
      background-color: #28ABC2; }
      @media screen and (min-width: 992px) {
        .tableList .tableList-row.listHead {
          display: table; } }
      .tableList .tableList-row.listHead .listBlock.check {
        vertical-align: inherit; }
    .tableList .tableList-row .listBlock {
      font-size: 15px;
      margin-bottom: 5px; }
      @media screen and (min-width: 992px) {
        .tableList .tableList-row .listBlock {
          display: table-cell;
          vertical-align: middle;
          padding: 15px 15px;
          margin-bottom: 0;
          text-align: center; }
          .tableList .tableList-row .listBlock:first-child {
            text-align: left; }
          .tableList .tableList-row .listBlock.date {
            width: 110px;
            padding: 10px 10px; }
          .tableList .tableList-row .listBlock.progress {
            width: 170px;
            padding: 10px 10px; }
          .tableList .tableList-row .listBlock.normal {
            width: 80px;
            padding: 10px 5px; } }
      @media screen and (min-width: 1200px) {
        .tableList .tableList-row .listBlock.normal {
          width: 90px; } }
      .tableList .tableList-row .listBlock span.tableStatusBtn {
        display: inline-block;
        position: relative; }
        .tableList .tableList-row .listBlock span.tableStatusBtn:before {
          content: '';
          display: inline-block;
          margin-right: 5px;
          font-family: FontAwesome;
          vertical-align: initial; }
        .tableList .tableList-row .listBlock span.tableStatusBtn.homework:before {
          content: '\F044'; }
        .tableList .tableList-row .listBlock span.tableStatusBtn.star:before {
          content: '\F123'; }
        .tableList .tableList-row .listBlock span.tableStatusBtn.finished {
          color: #2889D4; }
          .tableList .tableList-row .listBlock span.tableStatusBtn.finished.homework:before {
            content: '\F046'; }
          .tableList .tableList-row .listBlock span.tableStatusBtn.finished.star:before {
            content: '\F005'; }
      .tableList .tableList-row .listBlock .tableProgressBar {
        width: 100%;
        height: 20px;
        background-color: #ccc;
        border-radius: 5px;
        position: relative;
        overflow: hidden; }
        .tableList .tableList-row .listBlock .tableProgressBar .bar {
          width: calc( 1% * var(--bar-value));
          height: 20px;
          background-color: #2889D4; }
        .tableList .tableList-row .listBlock .tableProgressBar .bar-text {
          font-size: 12px;
          color: #fff;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
          .tableList .tableList-row .listBlock .tableProgressBar .bar-text::after {
            display: inline-block;
            counter-reset: progress var(--bar-value);
            content: counter(progress) "%"; }
      .tableList .tableList-row .listBlock .tableStars {
        display: inline-block;
        font-size: 0; }
        .tableList .tableList-row .listBlock .tableStars .back-star {
          display: flex;
          color: #F2E7B6;
          position: relative; }
        .tableList .tableList-row .listBlock .tableStars .font-star {
          display: flex;
          width: 100%;
          color: #F0CD30;
          overflow: hidden;
          position: absolute;
          top: 0; }
        .tableList .tableList-row .listBlock .tableStars .icon-star {
          font-size: 14px;
          padding: 0 1px; }

.tableListTitle {
  display: block;
  font-weight: bold;
  font-size: 1.35rem;
  color: #206da9; }
  @media screen and (min-width: 992px) {
    .tableListTitle {
      font-size: 16px; } }

.tableListInfo {
  display: block; }
  .tableListInfo::before {
    content: attr(data-title);
    display: inline-block;
    color: rgba(0, 0, 0, 0.65);
    margin-right: 5px; }
    @media screen and (min-width: 992px) {
      .tableListInfo::before {
        display: none; } }

.pagination-wrapper {
  text-align: center;
  padding: 20px 0; }
  @media screen and (min-width: 768px) {
    .pagination-wrapper {
      padding: 30px 0; } }
  .pagination-wrapper .page-link {
    display: inline-block;
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    padding: 0 5px;
    margin: 0 2px;
    font-size: 14px;
    color: #fff;
    background-color: #999999; }
    @media screen and (min-width: 768px) {
      .pagination-wrapper .page-link {
        margin: 0 5px; } }
    .pagination-wrapper .page-link:hover {
      background-color: #6fd0e1; }
    .pagination-wrapper .page-link.active {
      background-color: #28ABC2; }

.course-top-wrapper {
  background-color: rgba(40, 171, 194, 0.2); }

.course-main-title {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  color: #28ABC2;
  padding: 5px 15px; }
  @media screen and (min-width: 768px) {
    .course-main-title {
      font-size: 36px;
      padding: 15px; } }

.course-info-wrapper {
  width: 85%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 0 40px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .course-info-wrapper {
      padding: 25px 0 100px 15px; } }
  @media screen and (min-width: 992px) {
    .course-info-wrapper {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; } }
  .course-info-wrapper .course-complete {
    display: none;
    width: 120px;
    height: 120px;
    background: url(../img/common/complete.svg) center no-repeat;
    background-size: 120px;
    position: absolute;
    top: 10px;
    left: -15px;
    transform: rotate(-5deg);
    animation: seal 0.25s 0.5s ease-in both; }
    @media screen and (min-width: 768px) {
      .course-info-wrapper .course-complete {
        width: 200px;
        height: 200px;
        background: url(../img/common/complete.svg) center no-repeat;
        background-size: 200px;
        top: 160px;
        left: -35px; } }

@keyframes seal {
  from {
    opacity: 0;
    transform: scale(2) rotate(-5deg); }
  to {
    opacity: 1;
    transform: scale(1) rotate(-5deg); } }
  .course-info-wrapper.complete .course-complete {
    display: block; }
  .course-info-wrapper .course-pic {
    width: 90%; }
    @media screen and (min-width: 992px) {
      .course-info-wrapper .course-pic {
        width: 45%; } }
  .course-info-wrapper .course-complete-step {
    display: flex; }
    @media screen and (min-width: 768px) {
      .course-info-wrapper .course-complete-step {
        width: 90%;
        transform: translateX(10%); } }
    @media screen and (min-width: 992px) {
      .course-info-wrapper .course-complete-step {
        width: 60%;
        transform: translateX(10%); } }
    @media screen and (min-width: 1200px) {
      .course-info-wrapper .course-complete-step {
        width: 40%;
        transform: translateX(40%); } }
    .course-info-wrapper .course-complete-step .complete-step {
      display: inline-block;
      width: 25%;
      padding: 0 5px;
      text-align: center;
      position: relative; }
      .course-info-wrapper .course-complete-step .complete-step .complete-step-tooltip {
        display: none;
        width: 200px;
        font-size: 12px;
        color: #fff;
        text-align: justify;
        border-radius: 5px;
        background-color: rgba(0, 0, 0, 0.75);
        padding: 10px 15px;
        position: absolute;
        bottom: calc( 100% + 10px);
        left: 50%;
        transform: translateX(-50%); }
        .course-info-wrapper .course-complete-step .complete-step .complete-step-tooltip::before {
          content: '';
          display: block;
          width: 0;
          height: 0;
          border-left: 5px solid transparent;
          border-right: 5px solid transparent;
          border-top: 5px solid rgba(0, 0, 0, 0.75);
          position: absolute;
          bottom: -5px;
          left: 50%;
          transform: translateX(-50%); }
      .course-info-wrapper .course-complete-step .complete-step::after {
        content: '';
        display: none;
        width: 90%;
        height: 125%;
        background-color: rgba(140, 140, 140, 0.2);
        opacity: 0.3;
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 2;
        transform: translate(-50%, -50%);
        cursor: not-allowed; }
      .course-info-wrapper .course-complete-step .complete-step svg {
        display: inline-block;
        width: 50px;
        fill: #bababa; }
        .course-info-wrapper .course-complete-step .complete-step svg.complete-step-thumb {
          display: none; }
      .course-info-wrapper .course-complete-step .complete-step span {
        display: block;
        color: #bababa; }
      .course-info-wrapper .course-complete-step .complete-step:hover .complete-step-tooltip {
        display: block; }
      .course-info-wrapper .course-complete-step .complete-step:hover svg {
        fill: #888; }
      .course-info-wrapper .course-complete-step .complete-step svg.step_certificate #certificate_badge {
        display: none; }
      .course-info-wrapper .course-complete-step .complete-step.disable::after {
        display: block; }
      .course-info-wrapper .course-complete-step .complete-step.done .complete-step-icon {
        fill: #3797e1; }
      .course-info-wrapper .course-complete-step .complete-step.done span {
        color: #3797e1; }
      .course-info-wrapper .course-complete-step .complete-step.complete .complete-step-icon {
        display: none; }
      .course-info-wrapper .course-complete-step .complete-step.complete .complete-step-thumb {
        display: inline-block; }
      .course-info-wrapper .course-complete-step .complete-step.complete svg.step_certificate {
        fill: #3797e1; }
        .course-info-wrapper .course-complete-step .complete-step.complete svg.step_certificate #certificate_badge {
          display: block; }
      .course-info-wrapper .course-complete-step .complete-step.complete span {
        color: #3797e1; }
  .course-info-wrapper .course-info {
    width: 90%;
    margin: 10px auto 0; }
    @media screen and (min-width: 768px) {
      .course-info-wrapper .course-info {
        width: 40%;
        margin: 30px auto 0; } }
    @media screen and (min-width: 992px) {
      .course-info-wrapper .course-info {
        width: 55%;
        margin: auto;
        padding-left: 45px;
        padding-right: 70px; } }
  .course-info-wrapper .course-info-row {
    color: rgba(0, 0, 0, 0.65);
    margin-bottom: 5px;
    position: relative;
    padding-left: 90px; }
    @media screen and (min-width: 768px) {
      .course-info-wrapper .course-info-row {
        padding-left: 130px;
        margin-bottom: 20px; } }
    .course-info-wrapper .course-info-row .info-label {
      font-size: 18px;
      font-weight: bold;
      position: absolute;
      top: 0;
      left: 0; }
    .course-info-wrapper .course-info-row .info-content {
      font-size: 16px; }
  .course-info-wrapper .course-info-btns {
    padding-top: 30px; }
    .course-info-wrapper .course-info-btns .btn {
      margin-right: 30px; }

.course-feedback-wrapper {
  margin-top: 40px; }
  @media screen and (min-width: 768px) {
    .course-feedback-wrapper {
      padding-left: 15%;
      padding-right: 30px;
      margin-top: 60px; } }
  @media screen and (min-width: 992px) {
    .course-feedback-wrapper {
      padding-left: 15%;
      padding-right: 70px;
      margin-top: 60px; } }
  .course-feedback-wrapper .feedback-intro {
    font-size: 18px;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.65);
    text-align: justify;
    margin-bottom: 30px; }
  .course-feedback-wrapper .feedback-row {
    padding-top: 15px;
    padding-bottom: 15px;
    margin-left: -5%;
    margin-right: -5%; }
    @media screen and (min-width: 768px) {
      .course-feedback-wrapper .feedback-row {
        padding-top: 30px;
        padding-bottom: 30px;
        margin-left: auto;
        margin-right: auto; } }
    .course-feedback-wrapper .feedback-row.borderTop {
      padding-top: 30px;
      margin-top: 10px;
      border-top: 2px solid #999999; }
      @media screen and (min-width: 768px) {
        .course-feedback-wrapper .feedback-row.borderTop {
          padding-top: 50px;
          margin-top: 20px; } }
    .course-feedback-wrapper .feedback-row .feedback-q-title {
      font-size: 16px;
      color: rgba(0, 0, 0, 0.65);
      text-align: center;
      margin-bottom: 10px; }
      @media screen and (min-width: 768px) {
        .course-feedback-wrapper .feedback-row .feedback-q-title {
          margin-bottom: 15px; } }
    .course-feedback-wrapper .feedback-row .feedback-a {
      display: flex;
      justify-content: center;
      align-items: center; }
      .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-left, .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-right {
        font-size: 14px;
        color: rgba(0, 0, 0, 0.65); }
        @media screen and (min-width: 768px) {
          .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-left, .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-right {
            font-size: 16px; } }
      .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank {
        text-align: center;
        direction: rtl;
        font-size: 0;
        position: relative;
        padding: 0 10px; }
        @media screen and (min-width: 768px) {
          .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank {
            padding: 0 20px; } }
        .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank input[type='radio'] {
          position: absolute;
          left: 0;
          z-index: -1;
          opacity: 0; }
        .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank label {
          display: inline-block;
          padding: 0 1px;
          cursor: pointer; }
          @media screen and (min-width: 768px) {
            .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank label {
              padding: 0 5px; } }
          .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank label:before {
            content: '\F005';
            display: block;
            font-family: FontAwesome;
            font-size: 30px;
            color: #e6e6e6;
            transition: .5s; }
            @media screen and (min-width: 768px) {
              .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank label:before {
                font-size: 60px; } }
          .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank label:hover ~ label:before, .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank label:hover:before {
            color: #eadd93; }
          .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank label:hover:before {
            color: #eadd93 !important; }
        .course-feedback-wrapper .feedback-row .feedback-a .feedback-a-rank input[type='radio']:checked ~ label:before {
          color: #ffd700; }
    .course-feedback-wrapper .feedback-row .qq-tip {
      display: inline-block;
      cursor: pointer;
      position: relative; }
      .course-feedback-wrapper .feedback-row .qq-tip .qq-tip-text {
        display: none;
        width: 200px;
        font-size: 12px;
        color: #fff;
        text-align: justify;
        border-radius: 5px;
        background-color: rgba(0, 0, 0, 0.75);
        padding: 10px 15px;
        position: absolute;
        bottom: 30px;
        left: 50%;
        transform: translateX(-50%); }
        .course-feedback-wrapper .feedback-row .qq-tip .qq-tip-text::before {
          content: '';
          display: block;
          width: 0;
          height: 0;
          border-left: 5px solid transparent;
          border-right: 5px solid transparent;
          border-top: 5px solid rgba(0, 0, 0, 0.75);
          position: absolute;
          bottom: -5px;
          left: 50%;
          transform: translateX(-50%); }
      .course-feedback-wrapper .feedback-row .qq-tip:hover .qq-tip-text {
        display: block; }
    .course-feedback-wrapper .feedback-row .feedback-text div {
      display: block;
      text-align: justify;
      padding: 6px 12px; }
    .course-feedback-wrapper .feedback-row .feedback-text textarea {
      display: block;
      width: 100%;
      height: auto;
      padding: 6px 12px;
      resize: none; }
    .course-feedback-wrapper .feedback-row .feedback-agree-check {
      margin: 5px 0; }
  .course-feedback-wrapper .feedback-btns {
    text-align: center; }

.feedback-notes ol {
  margin: 0 0 30px;
  padding: 0 0 0 20px; }

.course-step-note {
  width: 100%;
  max-width: 1100px;
  color: rgba(0, 0, 0, 0.65);
  line-height: 1.7;
  font-size: 20px;
  padding: 30px 20px 0px;
  margin: auto; }

.course-main-wrapper {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 30px 15px 60px; }
  @media screen and (min-width: 768px) {
    .course-main-wrapper {
      padding: 40px 20px 60px; } }
  @media screen and (min-width: 768px) {
    .course-main-wrapper.doubleColumn {
      display: flex;
      flex-direction: row-reverse; }
      .course-main-wrapper.doubleColumn .commet-container, .course-main-wrapper.doubleColumn .course-content-container {
        width: 50%; } }

.funtion-btn-wrapper {
  display: flex;
  margin-top: 20px;
  margin-left: -40px;
  margin-right: -40px; }
  @media screen and (min-width: 768px) {
    .funtion-btn-wrapper {
      display: block;
      position: absolute;
      right: 15px;
      bottom: 20px;
      margin: 0; } }

.funtion-btn {
  display: inline-block;
  font-size: 14px;
  color: #fff;
  background-color: #F76F6F;
  border-radius: 5px;
  border: 2px solid transparent;
  padding: 8px 5px 8px 34px;
  margin: 0 5px 10px;
  cursor: pointer;
  position: relative;
  transition: .3s; }
  @media screen and (min-width: 768px) {
    .funtion-btn {
      padding: 8px 10px 8px 40px; } }
  .funtion-btn:before, .funtion-btn:after {
    font-family: FontAwesome; }
  .funtion-btn:before {
    display: block;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    position: absolute;
    top: 9px;
    left: 7px; }
    @media screen and (min-width: 768px) {
      .funtion-btn:before {
        font-size: 24px;
        top: 8px;
        left: 10px; } }
  .funtion-btn.video:before {
    content: '\F01D'; }
  .funtion-btn.download:before {
    content: '\F0ED'; }
  .funtion-btn.cancelclass:before {
    content: '\F05E'; }
  .funtion-btn.homework:before {
    content: '\F044'; }
  .funtion-btn.questionnaire:before {
    content: '\F0EA'; }
  .funtion-btn.gallery:before {
    content: '\F03E'; }
  .funtion-btn.star:before {
    content: '\F123'; }
  .funtion-btn.certificate:before {
    content: '\F091'; }
  .funtion-btn.star.finished:before {
    content: '\F005'; }
  .funtion-btn.homework.finished:before {
    content: '\F046'; }
  .funtion-btn:hover, .funtion-btn:active, .funtion-btn:focus {
    color: #F76F6F;
    border-color: #F76F6F;
    background-color: #fff; }

.homework-upload {
  padding: 20px 0;
  margin: 30px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000; }
  .homework-upload .homework-upload-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    padding: 10px 5px 10px 5px;
    margin-bottom: 5px; }
    .homework-upload .homework-upload-group label {
      width: 120px;
      font-size: 16px;
      color: rgba(0, 0, 0, 0.65);
      margin: 0; }
    .homework-upload .homework-upload-group input, .homework-upload .homework-upload-group textarea {
      width: 100%;
      max-width: 300px; }
    .homework-upload .homework-upload-group label.share-check {
      width: auto;
      cursor: pointer; }
      .homework-upload .homework-upload-group label.share-check input[type='checkbox'] {
        width: auto; }
    .homework-upload .homework-upload-group span.uploadedfiles {
      display: inline-block;
      color: #2889D4; }
    .homework-upload .homework-upload-group .remove-file {
      display: inline-block; }

.homework-upload-btn {
  text-align: center;
  padding: 20px 0 0; }
  .homework-upload-btn .btn {
    color: #fff;
    padding: 4px 12px;
    border-radius: 3px; }
    .homework-upload-btn .btn.red {
      background-color: #F76F6F; }
    .homework-upload-btn .btn.blue {
      background-color: #2889D4; }

.teacher-homework-reply {
  padding: 10px 15px;
  margin-top: 20px;
  color: #fff;
  background-color: #DDC03B;
  text-align: justify; }
  .teacher-homework-reply .teacher-title {
    font-size: 15px;
    font-weight: bold;
    text-align: left; }

.commet-rank-star {
  display: inline-block;
  font-size: 0; }
  .commet-rank-star .back-star {
    display: flex;
    color: #F2E7B6;
    position: relative; }
  .commet-rank-star .font-star {
    display: flex;
    width: 100%;
    color: #F0CD30;
    overflow: hidden;
    position: absolute;
    top: 0; }
  .commet-rank-star .icon-star {
    font-size: 14px;
    padding: 0 1px; }

.commet-all-wrapper {
  display: flex;
  align-items: center;
  padding: 0px 30px; }
  @media screen and (min-width: 992px) {
    .commet-all-wrapper {
      padding: 0 30px 0 0; } }
  .commet-all-wrapper .commet-all-rank {
    font-size: 72px;
    font-weight: bold;
    color: #000;
    margin-right: 30px; }
  .commet-all-wrapper .commet-rank-star .icon-star {
    font-size: 36px; }

.course-commet-wrapper {
  padding: 0px 30px 200px;
  position: relative; }
  @media screen and (min-width: 992px) {
    .course-commet-wrapper {
      padding: 0 30px 200px 0; } }
  .course-commet-wrapper .course-commet {
    padding: 10px; }
    .course-commet-wrapper .course-commet .course-commet-content {
      font-size: 14px;
      padding: 15px 20px 15px 90px;
      background-color: #eef9fb;
      position: relative; }
      .course-commet-wrapper .course-commet .course-commet-content .commet-top .commet-photo {
        position: absolute;
        top: 15px;
        left: 15px; }
      .course-commet-wrapper .course-commet .course-commet-content .commet-top .commet-info {
        margin-bottom: 5px; }
        .course-commet-wrapper .course-commet .course-commet-content .commet-top .commet-info .commet-name {
          font-weight: bold;
          color: rgba(0, 0, 0, 0.65); }
        .course-commet-wrapper .course-commet .course-commet-content .commet-top .commet-info .commet-time {
          display: inline-block;
          font-size: 12px;
          margin-right: 10px; }
        .course-commet-wrapper .course-commet .course-commet-content .commet-top .commet-info .commet-rank {
          display: inline-block; }
          .course-commet-wrapper .course-commet .course-commet-content .commet-top .commet-info .commet-rank .commet-rank-number {
            display: inline-block; }

/*# sourceMappingURL=lcc-base.css.map */
