.animate__slide_down_1 {
  animation-name: slide_down_1;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_down_1 {
  to {
    margin-top: 0;
    opacity: 1;
  }
}

.animate__slide_up_1 {
  animation-name: slide_up_1;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_up_1 {
  to {
    margin-top: 0;
    opacity: 1;
  }
}

.animate__slide_up_2 {
  animation-name: slide_up_2;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_up_2 {
  to {
    margin-top: 20px;
    opacity: 1;
  }
}

.animate__slide_up_3 {
  animation-name: slide_up_3;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_up_3 {
  to {
    margin-top: 15px;
    opacity: 1;
  }
}

.animate__slide_up_4 {
  animation-name: slide_up_4;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_up_4 {
  to {
    margin-top: 20px;
    opacity: 1;
  }
}

.animate__slide_left_1 {
  animation-name: slide_left_1;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_left_1 {
  to {
    margin-left: 0;
    opacity: 1;
  }
}

.animate__slide_right_1 {
  animation-name: slide_right_1;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_right_1 {
  to {
    margin-right: 0;
    opacity: 1;
  }
}

.animate__fade_in {
  animation-name: slide_round_clockwise;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes fade_in {
  to {
    opacity: 1;
  }
}

.animate__scale_large {
  animation-name: animate__scale_large;
  animation-duration: 0.1s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes animate__scale_large {
  to {
    transform: scale(1);
  }
}

.animate__slide_round_clockwise {
  animation-name: slide_round_clockwise;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes slide_round_clockwise {
  to {
    transform: rotate(0deg);
    opacity: 1;
  }
}

/* 通用初始化 start****************************** */
.content-container .main-title.hide {
  margin-top: -40px;
  opacity: 0;
}

/* teacher模块 */
.content-container.teacher .content-item.right.hide .slot__left {
  margin-left: -60px;
  opacity: 0;
}
.content-container.teacher .content-item.right.hide .slot__right {
  margin-right: -60px;
  opacity: 0;
}

.content-container.teacher .content-item.left.hide .slot__left {
  margin-left: -60px;
  opacity: 0;
}
.content-container.teacher .content-item.left.hide .slot__right {
  margin-left: 120px;
  opacity: 0;
}

/* case模块 */
.content-container.case .list-item.hide {
  margin-top: 80px;
  opacity: 0;
}

/* schedule垂直方向 */
.content-container.schedule .content.hide {
  flex: 1;
}
.content-container.schedule .content.hide .head {
  margin-left: 40px;
  opacity: 0;
}

.content-container.schedule .content.hide .head::before {
  left: -79px;
  opacity: 0;
}

.content-container.schedule .content.hide .head::after {
  left: -68px !important;
  opacity: 0;
}

.content-container.schedule .content.hide .detail {
  margin-top: -20px;
  opacity: 0;
}
.content-container.schedule .content.hide .detail::after {
  left: -68px !important;
  opacity: 0;
}

.content-container.schedule .content.hide .content-item::after {
  left: 10px !important;
  opacity: 0;
}

.content-container.schedule .content.hide .dynamic-dot {
  position: absolute;
  top: calc(15px + 13px);
  left: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--theme-primary-color);
  background-color: var(--bg-default-color);
  z-index: 2;
  transform: scale(0);
}

.content-container.schedule .content.hide .dynamic-line {
  position: absolute;
  top: calc(15px + 22.5px);
  left: 10.5px;
  width: 1px;
  height: 20px;
  transform: scaleX(0.5);
  background-color: var(--mod-text-sub2);
  z-index: 1;
}



/* 通用初始化 end******************************** */

/* 项目实战初始化 start************************** */
.course__project .content-container.intro .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}

.course__project .content-container.people .content-item:nth-child(odd).hide {
  margin-top: -60px;
  opacity: 0;
}
.course__project .content-container.people .content-item:nth-child(even).hide {
  margin-top: 60px;
  opacity: 0;
}

.course__project .content-container.reason .content.hide .dot-bar .main {
  opacity: 0;
}
.course__project .content-container.reason .content.hide .track-box {
  transform: rotate(30deg);
}

.course__project .content-container.reason .hide .apply,
.course__project .content-container.reason .hide .accu {
  transform: rotate(-30deg);
  opacity: 0;
}

.course__project .content-container.question .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}


.course__project .content-container.solution .main-desc.hide {
  margin-top: 60px;
  opacity: 0;
}

/* solution模块动画 start */
.course__project .content-container.solution .content-item:nth-child(1).hide,.course__project .content-container.solution .content-item:nth-child(2).hide {
  margin: 0 60px;
  opacity: 0;
}
.course__project .content-container.solution .content-item:nth-child(3).hide {
  left: -60px;
  opacity: 0;
}
.course__project .content-container.solution .content-item:nth-child(4).hide {
  right: -60px;
  opacity: 0;
}

.animate__slide_margin_1 {
  animation-name: slide_margin_1;
  animation-duration: 0.4s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_margin_1 {
  50% {
    margin: 0 30px;
    opacity: 1;
  }
  100% {
    margin: 0 10px;
    opacity: 1;
  }
}

.animate__slide_margin_2 {
  animation-name: slide_margin_2;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_margin_2 {
  30% {
    left: -60px;
    opacity: 1;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}

.animate__slide_margin_3 {
  animation-name: slide_margin_3;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes slide_margin_3 {
  30% {
    right: -60px;
    opacity: 1;
  }
  100% {
    right: 0;
    opacity: 1;
  }
}
/* solution模块动画 end */

/* 项目实战初始化 end**************************** */

/* 实习初始化 start****************************** */
.course__intership .content-container.people .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}

.course__intership .content-container.feature .content-item:nth-child(odd).hide {
  margin-top: -60px;
  opacity: 0;
}
.course__intership .content-container.feature .content-item:nth-child(even).hide {
  margin-top: 60px;
  opacity: 0;
}

.course__intership .content-container.opportunity .content-item.hide {
  margin-top: 80px;
  opacity: 0;
}

.course__intership .content-container.benefit .content-item.hide {
  margin-top: 75px;
  opacity: 0;
}

.course__intership .content-container.workplan .duty.hide {
  border-width: 0;
}

.course__intership .content-container.workplan .duty.hide .sub-title {
  width: 0;
  white-space: nowrap;
}

.course__intership .content-container.workplan .duty.hide .content-item {
  opacity: 0;
}

.course__intership .content-container.workplan .duty.hide .content-item .num {
  transform: translateY(-40px);
  opacity: 0;
}

.course__intership .content-container.workplan .duty.hide .content-item .desc {
  transform: translateY(40px);
  opacity: 0;
}

.course__intership .content-container.workplan .plan.hide {
  border-width: 0;
  background-color: #FFFFFF;
}

.course__intership .content-container.workplan .plan.hide .sub-title {
  width: 0;
  overflow: hidden;
  white-space: nowrap;
}

.course__intership .content-container.workplan .plan.hide .content-item {
  margin-left: -40px;
  box-shadow: none;
  opacity: 0;
}

.course__intership .content-container.workplan .plan.hide .content-item.show {
  box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.15s ease-in;
}

.course__intership .content-container.workplan .plan.hide .content-item:nth-child(4) {
  z-index: 4;
  margin-left: 40px;
}

.course__intership .content-container.workplan .plan.hide .content-item:nth-child(5) {
  margin-right: -40px;
}

.course__intership .content-container.workplan .plan.hide .content-item:nth-child(4) .text-box,
.course__intership .content-container.workplan .plan.hide .content-item:nth-child(5) .text-box{
  margin-left: 40px;
  opacity: 0;
}

.course__intership .content-container.workplan .plan.hide .content-item .dynamic-arrow::before {
  position: absolute;
  content: ' ';
  top: -7px;
  right: 0;
  width: 15px;
  height: 14px;
  background-color: #E8F4FF;
  transition: all 0.1s linear;
}

.course__intership .content-container.workplan .plan.hide .content-item .dynamic-arrow.show::before {
  width: 0;
  transition: all 0.05s linear;
}

.course__intership .content-container.workplan .plan.hide .content-item .dynamic-line::before {
  position: absolute;
  content: ' ';
  top: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #E8F4FF;
  z-index: 2;
}

.course__intership .content-container.workplan .plan.hide .content-item .dynamic-line.show::before {
  width: 0;
  transition: all 0.15s linear;
}

.course__intership .content-container.workplan .plan.hide .content-item:nth-child(3) .dynamic-line:before  {
  position: absolute;
  content: ' ';
  top: 0;
  right: 0;
  height: 100%;
  width: 2px;
  background-color: #E8F4FF;
  z-index: 2;
}

.course__intership .content-container.workplan .plan.hide .content-item .dynamic-line.show::before {
  width: 2px;
  top: 100%;
  height: 0;
  transition: all 0.15s linear;
}

.animate__slide_insert_1 {
  animation-name: slide_insert_1;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes slide_insert_1 {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.animate__bg_toggle_1 {
  animation-name: bg_toggle_1;
  animation-duration: 0.3s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes bg_toggle_1 {
  to {
    background-color: #E8F4FF;
  }
}


/* 实习初始化 end******************************** */

/* 科研初始化 start****************************** */
.course__research .content-container.reason .content-item.hide {
  margin-top: 75px;
  opacity: 0;
}

.course__research .content-container.question .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}

.course__research .content-container.solution .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}

.course__research .content-container.people .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}

.course__research .content-container.intro .content.hide .slot__left {
  margin-left: -60px;
  opacity: 0;
}
.course__research .content-container.intro .content.hide .slot__right {
  margin-right: -60px;
  opacity: 0;
}

.course__research .content-container.special .content.hide .slot__left {
  margin-left: -60px;
  opacity: 0;
}
.course__research .content-container.special .content.hide .slot__right {
  margin-right: -60px;
  opacity: 0;
}

.course__research .content-container.benefit .help.hide {
  border-width: 0;
}

.course__research .content-container.benefit .help.hide .sub-title {
  width: 0;
  white-space: nowrap;
}

.course__research .content-container.benefit .help.hide .before {
  width: 0;
  flex-shrink: 0;
  position: absolute;
  border: 1px solid #F5F5F5;
  background-color: var(--bg-default-color);
  color: var(--text-main-color);
  left: 350px;
  white-space: nowrap;
  opacity: 0;
}

.course__research .content-container.benefit .help.hide .after {
  width: 0;
  flex-shrink: 0;
  position: absolute;
  border: 1px solid #F5F5F5;
  box-shadow: none;
  background-color: var(--bg-default-color);
  right: 350px;
  white-space: nowrap;
  opacity: 0;
}

.course__research .content-container.benefit .help.hide .before.show {
  background-color: #F5F5F5;
  color: var(--mod-text-sub2);
  transition: all 0.5s;
}

.course__research .content-container.benefit .help.hide .after.show {
  border: 1px solid transparent;
  box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.5s;
}

.course__research .content-container.benefit .help.hide .dot-bar {
  margin-top: -40px;
  opacity: 0;
}

.course__research .content-container.benefit .paper.hide {
  border-width: 0;
  background-color: #FFFFFF;
}

.course__research .content-container.benefit .paper.hide .sub-title {
  width: 0;
  white-space: nowrap;
}

.course__research .content-container.benefit .paper.hide .content-box {
  margin-top: 80px;
  opacity: 0;
}

.course__research .content-container.plan .content.hide .line-track {
  width: 0;
}

.course__research .content-container.plan .content.hide .content-item:nth-child(odd) .title {
  transform: translateY(-20px);
  opacity: 0;
}
.course__research .content-container.plan .content.hide .content-item:nth-child(even) .title {
  transform: translateY(20px);
  opacity: 0;
}

.course__research .content-container.plan .content.hide .content-item .title.show {
  transform: translateY(0);
  opacity: 1;
  transition: all 0.15s ease-in;
}

.course__research .content-container.plan .content.hide .content-item .dot {
  transform: scale(0);
}

.course__research .content-container.plan .content.hide .content-item .dot.show {
  transform: scale(1);
  transition: all 0.15s ease-in;
}

.course__research .content-container.plan .content.hide .content-item:nth-child(odd) .dot::after {
  transform: scaleY(0) translateY(-100%);
}

.course__research .content-container.plan .content.hide .content-item:nth-child(even) .dot::after {
  transform: scaleY(0) translateY(100%);
}

.course__research .content-container.plan .content.hide .content-item .dot.line-show::after {
  transform: scaleY(1) translateY(0);
  transition: all 0.1s 0.15s ease-in;
}

.course__research .content-container.plan .content.hide .content-item .detail-list .detail {
  opacity: 0;
}

.course__research .content-container.plan .content.hide .content-item .detail-list .detail.show {
  opacity: 1;
  transition: all 0.1s 0.4s ease-in;
}

.course__research .content-container.plan .content.hide .content-item:nth-child(odd) .detail-list {
  transform: scaleY(0) translateY(-100%);
}

.course__research .content-container.plan .content.hide .content-item:nth-child(even) .detail-list {
  transform: scaleY(0) translateY(100%);
}

.course__research .content-container.plan .content.hide .content-item .detail-list.show {
  transform: scaleY(1) translateY(0);
  transition: all 0.15s 0.25s ease-in;
}
/* 科研初始化 end******************************** */

/* 竞赛初始化 start****************************** */
.course__competition .content-container.reason .content-item.hide {
  margin-top: 90px;
  opacity: 0;
}

.course__competition .content-container.question .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}

.course__competition .content-container.solution .main-desc.hide {
  margin-top: 60px;
  opacity: 0;
}
.course__competition .content-container.solution .content-item:nth-child(odd).hide {
  margin-top: -60px;
  opacity: 0;
}
.course__competition .content-container.solution .content-item:nth-child(even).hide {
  margin-top: 60px;
  opacity: 0;
}

.course__competition .content-container.people .content-item.hide {
  margin-top: 60px;
  opacity: 0;
}

.course__competition .content-container.intro .content.hide .slot__left {
  margin-left: -60px;
  opacity: 0;
}
.course__competition .content-container.intro .content.hide .slot__right {
  margin-right: -60px;
  opacity: 0;
}

.course__competition .content-container.benefit .content.hide .bg-box {
  transform: scale(0);
}

.course__competition .content-container.benefit .content.hide .bg-box.show {
  transform: scale(1);
  transition: all 0.2s ease;
}

.course__competition .content-container.benefit .content.hide .content-item .logo img {
  transform: scale(0);
}

.course__competition .content-container.benefit .content.hide .content-item .logo img.show {
  transform: scale(1);
  transition: all 0.1s 0.2s ease-in;
}

.course__competition .content-container.benefit .content.hide .content-item .logo::after {
  width: 0;
}

.course__competition .content-container.benefit .content.hide .content-item:nth-child(1) .logo.show::after {
  width: 57px;
  transition: all 0.15s 0.3s ease;
}
.course__competition .content-container.benefit .content.hide .content-item:nth-child(2) .logo.show::after {
  width: 38px;
  transition: all 0.15s 0.3s ease;
}
.course__competition .content-container.benefit .content.hide .content-item:nth-child(3) .logo.show::after {
  width: 32px;
  transition: all 0.15s 0.3s ease;
}
.course__competition .content-container.benefit .content.hide .content-item:nth-child(4) .logo.show::after {
  width: 42px;
  transition: all 0.15s 0.3s ease;
}

.course__competition .content-container.benefit .content.hide .content-item .desc::before {
  opacity: 0;
  top: -2px;
  left: -2px;
}
.course__competition .content-container.benefit .content.hide .content-item .desc::after {
  opacity: 0;
  top: -2px;
  right: -2px;
}
.course__competition .content-container.benefit .content.hide .content-item .desc .text::before {
  opacity: 0;
  bottom: 0px;
  left: -2px;
}
.course__competition .content-container.benefit .content.hide .content-item .desc .text::after {
  opacity: 0;
  bottom: 0px;
  right: -2px;
}

.course__competition .content-container.benefit .content.hide .content-item .desc.show::before {
  animation-name: comp_benefit_top_left;
  animation-duration: 0.5s;
  animation-delay: 0.65s;
  animation-timing-function: cubic-bezier(.09,.56,.28,1.47);
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes comp_benefit_top_left {
  0% {
    opacity: 1;
    top: -2px;
    left: -2px;
  }
  30% {
    opacity: 1;
    transform: scale(1.5);
    top: -6px;
    left: -6px;
  }
  to {
    opacity: 1;
    transform: scale(1);
    top: -6px;
    left: -6px;
  }
}

.course__competition .content-container.benefit .content.hide .content-item .desc.show::after {
  animation-name: comp_benefit_top_right;
  animation-duration: 0.5s;
  animation-delay: 0.65s;
  animation-timing-function: cubic-bezier(.09,.56,.28,1.47);
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes comp_benefit_top_right {
  0% {
    opacity: 1;
    top: -2px;
    right: -2px;
  }
  30% {
    opacity: 1;
    transform: rotate(90deg) scale(1.5);
    top: -6px;
    right: -6px;
  }
  to {
    opacity: 1;
    transform: rotate(90deg) scale(1);
    top: -6px;
    right: -6px;
  }
}


.course__competition .content-container.benefit .content.hide .content-item .desc .text.show::before {
  animation-name: comp_benefit_bottom_left;
  animation-duration: 0.5s;
  animation-delay: 0.65s;
  animation-timing-function: cubic-bezier(.09,.56,.28,1.47);
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes comp_benefit_bottom_left {
  0% {
    opacity: 0;
    bottom: 0px;
    left: -2px;
  }
  30% {
    opacity: 1;
    transform: rotate(270deg) scale(1.5);
    bottom: -5px;
    left: -6px;
  }
  to {
    opacity: 1;
    transform: rotate(270deg) scale(1);
    bottom: -5px;
    left: -6px;
  }
}

.course__competition .content-container.benefit .content.hide .content-item .desc.show .text::after {
  animation-name: comp_benefit_bottom_right;
  animation-duration: 0.5s;
  animation-delay: 0.65s;
  animation-timing-function: cubic-bezier(.09,.56,.28,1.47);
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes comp_benefit_bottom_right {
  0% {
    opacity: 0;
    bottom: 0px;
    right: -2px;
  }
  30% {
    opacity: 1;
    transform: rotate(180deg) scale(1.5);
    bottom: -5px;
    right: -6px;
  }
  to {
    opacity: 1;
    transform: rotate(180deg) scale(1);
    bottom: -5px;
    right: -6px;
  }
}

.course__competition .content-container.benefit .content.hide .content-item .desc {
  transform: scale(0);
}

.course__competition .content-container.benefit .content.hide .content-item .desc.show {
  transform: scale(1);
  transition: 0.2s 0.45s ease;
}

.course__competition .content-container.benefit .content.hide .content-item .desc .text{
  color: var(--bg-default-color);
}

.course__competition .content-container.benefit .content.hide .content-item .desc .text.show {
  color: var(--mod-text-sub);
  transition: 0.2s 0.65s ease;
}

/* 竞赛初始化 end******************************** */