* {
  transition: all 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);
}

body {
  background: #19171A;
  background: #19171A;
  color: #fff;
}

a {
  transition: all .3s ease;
  color: #fff;
  text-decoration: none;
}
a:hover {
  color: #fff;
  text-shadow: 0 0 10px rgb(255 255 255), 0 0 10px #fff;
}

small, .small {
    font-size: 85% !important;
    font-weight: 400;
}

.dropdown-toggle {
  outline: 0;
}

.cursor-pointer {
  cursor: pointer;
}

/* letter spacing */
.ls-1 {
  letter-spacing: 0.1rem;
}
.ls-5 {
  letter-spacing: 0.5rem;
}

/* width */
.w-0-8 {
  width: 1.8rem !important;
}
.w-2 {
    width: 2.5rem !important;
}
.w-5rem {
  width: 5rem;
}
.w-8rem {
  width: 8rem;
}
.w-15rem {
  width: 15rem;
}

@media (min-width: 768px) {
  .w-md-auto {
    width: auto !important;
  }
  .w-md-50 {
    width: 50% !important;
  }
  .w-md-100 {
    width: 100% !important;
  }
  .w-md-auto {
    width: auto !important;
  }
}

.mw-25rem {
  max-width: 25rem;
}

/* height */
.h-5rem {
  height: 5rem;
}

.mh-3 {
    max-height: 3.6rem;
}

/* position */
.top-50percent {
  top: 50%;
}
.right-3rem {
  right: 3rem;
}
.left-3rem {
  left: 3rem;
}

/* Visibility */
@media (min-width: 768px) {
  .visible-md {
    visibility: visible !important;
  }
}

/* link */
.link-primary {
  color: #847391 !important;
}
.link-primary:hover, .link-primary:focus, .link-primary:active {
  color: #847391 !important;
}

.link-light:hover, .link-light:focus, .link-light:active {
  text-shadow: 0 0 10px rgba(255,255,255,1) , 0 0 10px #ffffff;
}

.link-secondary {
  color: #9a9699;
}
.link-secondary:hover, .link-secondary:focus, .link-secondary:active {
  color:  #fff;
}

/* shadow */
.shadow {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.7)!important;
}

/* text */
.text-primary {
  color: #847391 !important;
}
.text-secondary {
  color: #9a9699 !important;
}
a.text-white:hover, a.text-white:focus, a.text-white:active {
  text-shadow: 0 0 10px rgba(255,255,255,1) , 0 0 10px #ffffff;
}
.text-danger {
  color: #ff606f !important;
}
.text-purple {
  color: #8485f9;
}
.text-muted {
  color: rgba(255,255,255,0.7) !important;
}
.text-shadow {
  text-shadow: rgba(0,0,0,0.7) 0.2em 0.2em 0.3em;
}
.text-shadow-white {
  text-shadow: 0 0 10px rgba(255,255,255,1) , 0 0 10px #ffffff;
}

.text-unico {
  font-family: 'Unica One', cursive;
}

.line-clamp-1, .line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-1 {
  -webkit-line-clamp: 1;
}
.line-clamp-3 {
  -webkit-line-clamp: 3;
}

.section-title {
  font-size: 2.3rem;
  font-family: 'Unica One', cursive;
  line-height: 1.2em;
  text-shadow: 0 0 10px rgba(255,255,255,1) , 0 0 10px #ffffff;
  position: relative;
  overflow: hidden;
  padding-top: 1.6rem;
  margin-bottom: 2rem;
  letter-spacing: 0.3rem;
}
.section-title:after {
  content: attr(data);
  font-size: 0.8rem;
  font-family: 'DotGothic16', sans-serif;
  display: block;
  position: absolute;
  letter-spacing: 0.2rem;
  top: -0.7rem;
  left: 0;
  bottom: 0;
  right: 0;
  text-shadow: none;
}

/* border */
.border-secondary {
  border-color: #393e43 !important;
}
.border-light {
    border-color: #6d7277 !important;
}

/*file upload*/
.custom-file-upload input[type="file"] {
    display: none;
}

/* loading dots */
.loading {
  display: inline-block;
  padding: 0px 5px;
}
.loading i {
  background-color: #fff;
  border-radius: 50%;
  display: inline-block;
  height: 2px;
  margin-right: 3px;
  width: 2px;
}
.loading .a {
  animation: bounce 1s 0s infinite ease-in;
}
.loading .b {
  animation: bounce 1s 0.25s infinite ease-in;
}
.loading .c {
  animation: bounce 1s 0.5s infinite ease-in;
  margin: 0;
}
@keyframes bounce {
  0% {
    opacity: 0.75;
    transform: scale(0.7);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
  67% {
    opacity: 0.75;
    transform: scale(0.7);
  }
  100% {
    opacity: 0.75;
    transform: scale(0.7);
  }
}

/* bg */
.glass-bg {
  background-clip: padding-box;
  backdrop-filter: blur(12px);
    background-clip: padding-box;
    background-color: hsla(0,0%,100%,.2);
}

.bg-primary {
  background: #754ca3 !important;
  color: #fff !important;
}

.bg-secondary {
  background: #393e43 !important;
  color: #fff !important;
}

.bg-warning {
  background: #b99c49 !important;
  color: #fff !important;
}

.bg-black {
  background: #19171a !important;
  color: #fff !important;
}

.glitch {
  clip-path: polygon(0 0, 100% 0, 100% 0.5em, 0 0.5em);
  animation: glitch 10s linear infinite;
  transform: translatex(0rem);
}

@keyframes glitch {
  to {
    clip-path: polygon(0 calc(100% - .5em), 100% calc(100% - .5em), 0 100%, 0 100%);
  }
}

.top-overlay-gradient {
  background: rgb(97,74,114);
  background: linear-gradient(0deg, rgba(97,74,114,0) 0%, rgba(97,74,114,1) 100%);
  top: 0;
  left: 0;
}

.bottom-overlay-gradient {
  background: rgb(97,74,114);
  background: linear-gradient(0deg, rgba(97,74,114,1) 0%, rgba(97,74,114,0) 100%);
  bottom: 0;
  left: 0;
}

/* z-index */
.z-index-99 {
  z-index: 99;
}

/* rounded */
.rounded-lg {
  border-radius: 2.5rem;
}

/* alert */
.alert-dark {
  color: #fff;
  background-color: #212529;
  border: none;
}

/* window */
.window {
  border: 2px solid #847391;
  border-radius: 1rem;
  -webkit-box-shadow: 5px 5px 0 0 #847391;
  box-shadow: 5px 5px 0 0 #847391;
  padding: 2.5rem 0.5rem 0.5rem 0.5rem;
  background: repeating-radial-gradient( #6E577F, #6E577F 4px, #847391 4px, #847391 6px, transparent 0%, transparent 100% ), repeating-radial-gradient( #6E577F, #6E577F 4px, #847391 4px, #847391 6px, transparent 0%, transparent 100% ), linear-gradient( #6E577F, #6E577F 30px, #847391 30px, #847391 32px );
  background-color: #614A72;
  background-position: right -9px, right 20px top -9px, 0 0;
  background-size: 50px 50px, 50px 50px, 100% 31.5px;
  background-repeat: no-repeat;
}

/* badge */
.badge {
  font-size: .7em !important;
  color: inherit;
}

/* btn */
.btn {
  border: none;
  background-size: 300% 100%;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
.btn:hover {
  background-position: 100% 0;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}

.btn-xl {
  padding: 1rem 2rem;
  font-size: 1.25rem;
}
.btn-group-lg>.btn, .btn-lg {
    padding: 0.8rem 1.2rem;
    font-size: 1.2rem;
}

.btn-primary {
  background-image: linear-gradient(to right, #667eea, #764ba2, #6B8DD6, #8E37D7);
  box-shadow: 0 4px 15px 0 rgba(116, 79, 168, 0.75);
  color: #fff;
  border: none;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
  background-size: 300% 100%;
}
.btn-primary:hover {
  background-image: linear-gradient(to right, #667eea, #764ba2, #6B8DD6, #8E37D7);
  box-shadow: 0 4px 15px 0 rgba(116, 79, 168, 0.75);
  color: #fff;
  border: none;
  text-shadow: none;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
  background-position: 100% 0;
}

.btn-check:focus+.btn-primary, .btn-primary:focus {
  border-color: #c530ee;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(197 48 238 / 25%);
}

.btn-secondary {
  background: #393e43;
  color: #fff;
  border: none;
}
.btn-secondary:hover {
  background: #6876DE;
  color: #fff;
  border: none;
  text-shadow: none;
}

.btn-white {
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
  transition: all .3s ease;
}
.btn-white:hover {
  background: transparent;
  color: #fff;
  border: 1px solid #ffffff;
  box-shadow: 0 0 15px #ffffff, 0 0 20px #ffffff inset;
}
.btn-white.disabled, .btn-white:disabled {
  color: #eee;
  background: transparent;
  border: 2px solid #eee;
}

.btn-dark {
  background: #212529;
}
.btn-dark:hover {
  background: #2e3439;
  text-shadow: none;
}

.btn-outline-light {
  border: 1px solid #6d7277;
}

.btn-link {
  transition: all .3s ease;
  text-decoration: none;
}
.btn-link:hover {
  text-decoration: underline;
}

.btn-check:focus+.btn, .btn:focus {
  box-shadow: 0 0 0 0.25rem rgb(255 255 255 / 25%);
}

/* modal */
.modal-content {
  background: #212529;
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.7)!important;
}
.modal-header {
  border-bottom: 1px solid #000;
}
.modal-footer {
  border-top: 1px solid #000;
}


/* icon */
#listings .icon {
    display: inline-block;
    transform: translateY(0.0625rem);
    height: 2.375rem;
    width: 2.375rem;
}

/* form control */
.form-control {
  background: #212529;
  color: #fff;
  border: none;
}
.form-control:focus {
  background: #212529;
  color: #fff;
  border-color: #c530ee;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(197 48 238 / 25%);
}
.form-control:disabled, .form-control[readonly] {
  background-color: #212529;
  color: #6c757d;
}
.input-group-text {
  background: #212529;
  color: #fff;
  border: none;
}
.input-group-lg>.form-select, .input-group-sm>.form-select {
    min-width: 10rem;
}

.form-notice {
  width: 100%;
  margin-top: 0.25rem;
  font-size: .875em;
  color: #dc3545;
}

/* form select */
.form-select {
  background: #212529;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: none;
  color: #fff;
}
.form-select:focus {
  border-color: #c530ee;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(197 48 238 / 25%);
}
.form-select:disabled {
  background-color: #212529;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  color: #6c757d;
}

/* header */
header {
  opacity: 0.98;
  display: flex;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  z-index: 999;
  background: rgb(0,0,0);
  background: linear-gradient(180deg, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
  padding: 1rem;
}

@media (max-width: 991.98px) {
  header.rounded-pill {
    border-radius: 1rem !important;
  }
  .navbar {
    padding-top: 0rem;
    padding-bottom: 0rem;
  }
}

.navbar .logo img {
  width: 60px;
}
@media (max-width: 1060px) {
  .navbar .logo img {
    width: 42px;
  }
  .nav-link {
    font-size: 0.9rem !important;
  }
}
@media (max-width: 990px) {
  .navbar .logo img {
    width: 60px;
  }
  .nav-link {
    font-size: 1rem !important;
  }
}
.nav-link {
  color: #fff;
  transition: all .3s ease;
  font-size: 1rem;
  position: relative;
}
.nav-link:hover {
  color: #fff;
  text-shadow: 0 0 1px rgb(255 255 255), 0 0 1px #ffffff;
}
.nav-link:after {
  content: attr(data);
  font-size: 50%;
  font-weight: bold;
  letter-spacing: 0.1rem;
  display: block;
  position: absolute;
  top: -0.1rem;
  left: 0;
  bottom: 0;
  right: 0;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}

.dropdown-menu {
  transition: none !important;
}

.dropdown .dropdown-menu[data-bs-popper] {
  left: auto;
  right: 0;
}
.dropdown .dropdown-menu {
  background: #212529;
}
.dropdown .dropdown-item {
  color: #fff;
}
.dropdown .dropdown-item:focus, .dropdown .dropdown-item:hover {
  color: #fff;
  background-color: #754ca3;
}

.dropdown-divider {
  border-top: 1px solid #ddd;
}

@media (max-width: 991.98px) {
  .offcanvas-collapse {
    position: fixed;
    top: 5rem;
    bottom: 0;
    left: 100%;
    width: 100%;
    overflow: visible;
    visibility: hidden;
    transition: transform .3s ease-in-out, visibility .3s ease-in-out;
  }
  .offcanvas-collapse.open {
    visibility: visible;
    transform: translateX(-100%);
  }
  .offcanvas-collapse .nav {
    opacity: 0.98;
    flex-direction: column !important;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
    font-size: 1rem;
    font-weight: 500;
    padding: 0.9375rem 2.5rem;
    text-align: center;
    z-index: 999;
    background-color: #222;
    background-position: right 5px, right 30px top 5px, 0 0;
    background-size: 50px 50px, 50px 50px, 100% 64px;
    background-repeat: no-repeat;
    min-height: 100vh;
  }
  .offcanvas-collapse .wallet-btn {
    opacity: 0.98;
    width: 100%;
    flex-direction: column !important;
    margin-top: -0.2rem;
    margin-left: 0 !important;
    font-size: 1rem;
    font-weight: 500;
    padding: 1rem 2.5rem !important;
    text-align: center;
    z-index: 999;
    border: 3px solid #847391;
    border-radius: 0rem !important;
    -webkit-box-shadow: 6px 6px 0 0 #847391;
    box-shadow: 6px 6px 0 0 #847391;
    background-color: #614A72;
    background-position: right 5px, right 30px top 5px, 0 0;
    background-size: 50px 50px, 50px 50px, 100% 64px;
    background-repeat: no-repeat;
  }
  .offcanvas-collapse .dropdown {
    text-align: center !important;
    opacity: 0.98;
    width: 100%;
    flex-direction: column !important;
    color: #847391;
    margin-top: -0.2rem;
    margin-left: 0 !important;
    font-size: 1rem;
    font-weight: 500;
    padding: 1rem 2.5rem !important;
    text-align: center;
    z-index: 999;
    border: 3px solid #847391;
    border-radius: 0rem 0rem 1rem 1rem;
    -webkit-box-shadow: 6px 6px 0 0 #847391;
    box-shadow: 6px 6px 0 0 #847391;
    background-color: #614A72;
    background-position: right 5px, right 30px top 5px, 0 0;
    background-size: 50px 50px, 50px 50px, 100% 64px;
    background-repeat: no-repeat;
  }
  .offcanvas-collapse .user-dropdown {
    border-radius: 0rem;
  }
  .offcanvas-collapse .dropdown ul {
    text-align: center !important;
    opacity: 0.98;
    width: calc( 100% + 0.3rem);
    flex-direction: column !important;
    color: #847391;
    margin: 1rem -0.1rem 0rem -0.1rem;
    font-size: 1rem;
    font-weight: 500;
    padding: 1rem 2.5rem !important;
    text-align: center;
    z-index: 999;
    border: 3px solid #847391;
    border-radius: 1rem;
    -webkit-box-shadow: 12px 12px 0 0 #847391;
    box-shadow: 12px 12px 0 0 #847391;
    background-color: #614A72;
    background-position: right 5px, right 30px top 5px, 0 0;
    background-size: 50px 50px, 50px 50px, 100% 64px;
    background-repeat: no-repeat;
  }
  .offcanvas-collapse .user-dropdown ul {
    margin: 4.65rem -0.1rem 0rem -0.1rem;
  }
}

/* square cover */
.square-cover {
    width: 100%;
    padding-bottom: 97%;
    height: 0;
    background-size: cover;
    background-position: 50%;
    position: relative;
    overflow: hidden;
}

/*progressbar*/
#progressbar {
    margin-bottom: 30px;
    overflow: hidden;
    color: #999999;
    padding-left: 0px;
    margin-top: 30px
    display: -ms-flexbox!important;
    display: flex!important;
}

#progressbar li {
    list-style-type: none;
    position: relative;
    font-weight: 400;
    -ms-flex: 1 1 auto!important;
    flex: 1 1 auto!important;
    cursor: pointer;
}

#progressbar a {
    -ms-flex: 1 1 auto!important;
    flex: 1 1 auto!important;
}

#progressbar #step1:before {
    content: "1";
}

#progressbar #step2:before {
    content: "2";
}

#progressbar #step3:before {
    content: "3";
}
#progressbar #step4:before {
    content: "4";
}
#progressbar #step5:before {
    content: "5";
}
#progressbar #step6:before {
    content: "6";
}

#progressbar li:before {
    position: relative;
    width: 40px;
    height: 40px;
    line-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: #39303F;
    border-radius: 50%;
    margin: auto;
    color: #fff;
    z-index: 9;
    font-family: "Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}

#progressbar li:after {
    content: '';
    width: 100%;
    height: 2px;
    background: #39303F;
    position: absolute;
    left: 0;
    top: 21px;
    z-index: 0;
}

#progressbar li:last-child:after {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    position: absolute;
    left: -50%
}

#progressbar li:first-child:after {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    position: absolute;
    left: 50%
}

#progressbar li:last-child:after {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px
}

#progressbar li:first-child:after {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px
}

#progressbar li.active:before,
#progressbar li.active:after {
    background: #754ca3;
}

/* testimonial carousel */
#testimonial .carousel-control-next, #testimonial .carousel-control-prev {
  width: 7%;
}
#testimonial .carousel-indicators {
  bottom: -3.5rem;
}
#testimonial .carousel-control-prev {
  left: -4.5rem;
}
#testimonial .carousel-control-next {
  right: -4.5rem;
}

/* sapmle file carousel */
#sample-file .carousel-control-next, #sample-file .carousel-control-prev {
  width: 7%;
}
#sample-file .carousel-indicators {
  bottom: -3.5rem;
}
#sample-file .carousel-control-prev {
  left: -4.5rem;
}
#sample-file .carousel-control-next {
  right: -4.5rem;
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  color: rgba(255, 255, 255, .75);
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.nav-link {
  padding: 1rem 1.5rem;
}
.nav-tabs {
    border-bottom: none;
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
  background: #212529;
  border-color: #212529;
}
.nav-link.active {
  text-shadow: 0 0 10px rgb(255 255 255), 0 0 10px #ffffff;
  color: #fff !important;
  font-weight: bold;
}
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
  border-color: #212529;
}

.navbar-dark .navbar-toggler {
  color: #fff;
}

/* float animation */
@-webkit-keyframes floata {
  0% {
    transform: translatey(0px);
  }
  50% {
    transform: translatey(-20px);
  }
  100% {
    transform: translatey(0px);
  }
}

@keyframes floata {
  0% {
    transform: translatey(0px);
  }
  50% {
    transform: translatey(-20px);
  }
  100% {
    transform: translatey(0px);
  }
}

@-webkit-keyframes floatb {
  0% {
    transform: translatey(-15px);
  }
  50% {
    transform: translatey(0px);
  }
  100% {
    transform: translatey(-15px);
  }
}

@keyframes floatb {
  0% {
    transform: translatey(-15px);
  }
  50% {
    transform: translatey(0px);
  }
  100% {
    transform: translatey(-15px);
  }
}

/* pagination */
.page-link {
  color: #fff;
  background-color: transparent;
  border-color: transparent;
}
.page-link:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: transparent;
}
.page-item.active .page-link {
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: transparent;
}
.page-item.active .page-link:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.page-item.disabled .page-link {
  background-color: transparent;
  border-color: transparent;
}

/* Main Visual */
@media (max-width: 575px) {
  .main-visual {
    min-height: 40rem;
  }
}
@media (min-width: 576px) {
  .main-visual {
    min-height: 31rem;
  }
}
@media (min-width: 700px) {
  .main-visual {
    min-height: 70vh;
  }
}
@media (min-width: 992px) {
  .main-visual {
    height: 100vh;
  }
}

/* Illust */
.main-illust1 {
  top: -5rem;
  -webkit-animation: floata 3.5s ease-in-out infinite;
  animation: floata 3.5s ease-in-out infinite;
}
.main-illust1 img {
  margin-right: -23rem;
}
@media (max-width: 575px) {
  .main-illust1 img {
    transform: scale(0.45) translate(-84%, -62%) rotate(0deg);
  }
}
@media (min-width: 576px) {
  .main-illust1 img {
    transform: scale(0.65) translate(-45%, -33%) rotate(0deg);
  }
}
@media (min-width: 700px) {
  .main-illust1 img {
    transform: scale(0.6) translate(-36%, -38%) rotate(0deg);
  }
}
@media (min-width: 992px) {
  .main-illust1 img {
    transform: scale(0.7) translate(-23%, -32%) rotate(0deg);
  }
}
@media (min-width: 1200px) {
  .main-illust1 img {
    transform: scale(0.9) translate(-10%, -16%) rotate(0deg);
  }
}

.main-illust2 {
  top: 42%;
  left: calc( 25% - 200px );
}
@media (max-width: 575px) {
  .main-illust2 {
    top: 32%;
    left: 1rem;
  }
  .main-illust2 img {
    transform: scale(0.38) translate(-120%, -5%) rotate(0deg);
  }
}
@media (min-width: 576px) {
  .main-illust2 img {
    transform: scale(0.4) translate(-110%, -57%) rotate(0deg);
  }
}
@media (min-width: 700px) {
  .main-illust2 {
    top: 32%;
  }
  .main-illust2 img {
    transform: scale(0.45) translate(-85%, -35%) rotate(0deg);
  }
}
@media (min-width: 992px) {
  .main-illust2 img {
    transform: scale(0.5) translate(-65%, -20%) rotate(-3deg);
  }
}
@media (min-width: 1200px) {
  .main-illust2 img {
    transform: scale(0.55) translate(-45%, -20%) rotate(-3deg);
  }
}

.hero-text {
  top: 50%;
  left: calc( 25% - 14.5rem );
}
@media (max-width: 575px) {
  .hero-text {
    top: 41%;
    left: 0;
    width: 100%;
    padding: 0 1rem;
    text-shadow: black 0.1em 0.1em 0.2em
  }
}
@media (min-width: 576px) {
  .hero-text {
    top: 35%;
    left: 0;
    width: 100%;
    padding: 0 1rem;
    text-shadow: black 0.1em 0.1em 0.2em
  }
}
@media (min-width: 700px) {
  .hero-text {
    top: 35%;
    padding: 0 1rem;
  }
}
@media (min-width: 992px) {
  .hero-text {
    top: 30%;
    padding: 0 3rem;
  }
}
@media (min-width: 1200px) {
  .hero-text {
    top: 30%;
  }
}

.course-cover .img {
  height: 250px;
  width: 200px;
  background-size: cover;
  background-position: center center;
}
@media (max-width: 575px) {
  .course-cover .img {
    height: 200px;
    width: 150px;
  }
}

.course-list-cover .img {
  height: 250px;
  width: 100%;
  background-size: cover;
  background-position: center center;
}
@media (max-width: 575px) {
  .course-cover .img {
    height: 250px;
    width: 100%;
  }
}

/* accordion */
.accordion {
  border: 1px solid rgba(255,255,255,0.1);
}
.accordion-item {
  color: #fff !important;
  background: rgb(25,23,26);
  background: linear-gradient(180deg, rgba(25,23,26,1) 0%, rgba(255,255,255,0.07439005875787819) 100%);
}
.accordion-button::after {
  background-image:  url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-button {
  color: #fff !important;
  background: rgb(25,23,26);
  background: linear-gradient(90deg, rgba(25,23,26,1) 0%, rgba(0,0,0,1) 100%);
}
.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}
.accordion-button:focus {
  border-color: #ffffff;
  box-shadow: none;
}
.accordion-body {
    padding: 1.5rem 1.75rem;
}
.accordion-body table {
  margin-left: -1.2rem;
  margin-right: -1.2rem;
}
.accordion-body table tr {
  border: none !important;
}
.accordion-body table td {
  padding: 1rem;
  vertical-align: top;
}
.accordion-body table td p {
  margin-bottom: 0;
}

/* list group */
.list-group-item {
  background-color: #19171a !important;
  color: #fff;
  padding: 1rem;
}
.list-group-item:hover {
  color: #fff;
  text-shadow: none;
  background-color: rgba(33, 37, 41, 1.0) !important;
}
.list-group-item.active {
  background-image: linear-gradient(to right, #667eea, #764ba2, #6B8DD6, #8E37D7);
  background-size: 300% 100%;
  border: none;
}

/* card */
.card {
  background-color: transparent;
  border: none;
}

/* line deco list */
.line-deco-list {
  padding-left: 0.5rem;
  margin-top: 1rem;
  list-style-type: none;
}
.line-deco-list li {
  padding: 0.3rem 0.2rem;
}
.line-deco-list li:before {
  content: '';
  border-left: 2px solid rgba(255, 255, 255, 0.5);
  margin-right: 0.3rem;
  padding: 0.4rem;
}
.line-deco-list li.active {
  font-weight: bold;
}
.line-deco-list li.active:before {
  content: '';
  border-left: 2px solid rgba(255, 255, 255, 1);
  margin-right: 0.3rem;
  padding: 0.4rem;
}
@media (max-width: 767px) {
  .line-deco-list {
    margin-top: 0.5rem;
    padding-left: 0;
    font-size: 0.85rem;
  }
  .line-deco-list li {
    display: inline-block;
    padding: 0.3rem 0.5rem 0.3rem 0;
  }
  .line-deco-list li:before {
    border-left: none;
    margin-right: 0;
    padding: 0;
  }
  .line-deco-list li.active {
    padding: 0.3rem 0.5rem 0.3rem 0;
  }
  .line-deco-list li.active:before {
    border-left: none;
    margin-right: 0;
    padding: 0;
  }
}

/* timeline */
#timeline {
  list-style: none;
  margin: 50px 0 30px 120px;
  padding-left: 30px;
  border-left: 5px solid #fff;
}
#timeline li {
  margin: 5rem 0;
  position: relative;
}
#timeline p {
  margin: 1rem 0 1rem;
}
#timeline .content-text li {
  margin: 0.5rem 0;
}

.date {
  margin-top: -10px;
  top: 50%;
  left: -158px;
  font-size: 0.95em;
  line-height: 20px;
  position: absolute;
}

.circle {
  margin-top: -10px;
  top: 50%;
  left: -43px;
  width: 20px;
  height: 20px;
  background: #1B102A;
  border: 5px solid #fff;
  border-radius: 50%;
  display: block;
  position: absolute;
}

.content {
  padding: 50px 20px 0;
  border-color: transparent;
  border-width: 2px;
  border-style: solid;
  border-radius: 0.5em;
  position: relative;
}
.content p {
  text-align: justify;
  word-break: break-word;
  hyphens: auto;
  overflow: hidden;
}

.form-group label {
  margin-bottom: 0.5rem!important;
}
.form-group .form-text {
  margin-top: 0.5rem !important;
}

/* -------------------------------------
 * mobile phones (vertical version only)
 * ------------------------------------- */
@media screen and (max-width: 767px) {
  #timeline {
    margin-left: 0;
    padding-left: 30px;
    border-left: 5px solid #fff;
  }
  #timeline li {
    margin: 50px 0;
  }

  label {
    width: 85%;
    font-size: 1.1em;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
    transform: translateX(18px);
  }

  .content {
    padding-top: 45px;
  }
  .content:before, .content:after {
    border: solid transparent;
    bottom: 100%;
  }
  .content:before {
    border-bottom-color: inherit;
    border-width: 17px;
    top: -16px;
    left: 50px;
    margin-left: -17px;
  }
  .content:after {
    border-bottom-color: #48b379;
    border-width: 20px;
    top: -20px;
    left: 50px;
    margin-left: -20px;
  }
}


/* firefly effect */
.firefly {
  position: fixed;
  left: 50%;
  top: 50%;
  width: 0.4vw;
  height: 0.4vw;
  margin: -0.2vw 0 0 9.8vw;
  animation: ease 200s alternate infinite;
  pointer-events: none;
}
.firefly::before, .firefly::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transform-origin: -10vw;
}
.firefly::before {
  background: black;
  opacity: 0.4;
  animation: drift ease alternate infinite;
}
.firefly::after {
  background: white;
  opacity: 0;
  box-shadow: 0 0 0vw 0vw yellow;
  animation: drift ease alternate infinite, flash ease infinite;
}

.firefly:nth-child(1) {
  animation-name: move1;
}
.firefly:nth-child(1)::before {
  animation-duration: 18s;
}
.firefly:nth-child(1)::after {
  animation-duration: 18s, 6443ms;
  animation-delay: 0ms, 8412ms;
}

@keyframes move1 {
  0% {
    transform: translateX(46vw) translateY(14vh) scale(0.83);
  }
  4.7619047619% {
    transform: translateX(-40vw) translateY(22vh) scale(0.27);
  }
  9.5238095238% {
    transform: translateX(27vw) translateY(-9vh) scale(0.68);
  }
  14.2857142857% {
    transform: translateX(-6vw) translateY(-24vh) scale(0.58);
  }
  19.0476190476% {
    transform: translateX(-48vw) translateY(2vh) scale(0.95);
  }
  23.8095238095% {
    transform: translateX(1vw) translateY(-22vh) scale(0.51);
  }
  28.5714285714% {
    transform: translateX(-43vw) translateY(-33vh) scale(0.98);
  }
  33.3333333333% {
    transform: translateX(9vw) translateY(-39vh) scale(0.48);
  }
  38.0952380952% {
    transform: translateX(50vw) translateY(-17vh) scale(0.43);
  }
  42.8571428571% {
    transform: translateX(-28vw) translateY(-25vh) scale(0.81);
  }
  47.619047619% {
    transform: translateX(9vw) translateY(-32vh) scale(0.54);
  }
  52.380952381% {
    transform: translateX(-44vw) translateY(-25vh) scale(0.53);
  }
  57.1428571429% {
    transform: translateX(25vw) translateY(-17vh) scale(0.62);
  }
  61.9047619048% {
    transform: translateX(32vw) translateY(-11vh) scale(0.37);
  }
  66.6666666667% {
    transform: translateX(0vw) translateY(13vh) scale(0.68);
  }
  71.4285714286% {
    transform: translateX(49vw) translateY(2vh) scale(0.47);
  }
  76.1904761905% {
    transform: translateX(43vw) translateY(9vh) scale(0.93);
  }
  80.9523809524% {
    transform: translateX(-12vw) translateY(23vh) scale(0.47);
  }
  85.7142857143% {
    transform: translateX(23vw) translateY(-13vh) scale(0.51);
  }
  90.4761904762% {
    transform: translateX(38vw) translateY(34vh) scale(0.34);
  }
  95.2380952381% {
    transform: translateX(0vw) translateY(27vh) scale(0.43);
  }
  100% {
    transform: translateX(-15vw) translateY(-8vh) scale(0.49);
  }
}
.firefly:nth-child(2) {
  animation-name: move2;
}
.firefly:nth-child(2)::before {
  animation-duration: 17s;
}
.firefly:nth-child(2)::after {
  animation-duration: 17s, 10015ms;
  animation-delay: 0ms, 1573ms;
}

@keyframes move2 {
  0% {
    transform: translateX(42vw) translateY(33vh) scale(0.5);
  }
  4.347826087% {
    transform: translateX(14vw) translateY(2vh) scale(0.93);
  }
  8.6956521739% {
    transform: translateX(-6vw) translateY(-4vh) scale(0.45);
  }
  13.0434782609% {
    transform: translateX(16vw) translateY(1vh) scale(0.96);
  }
  17.3913043478% {
    transform: translateX(-17vw) translateY(21vh) scale(0.96);
  }
  21.7391304348% {
    transform: translateX(9vw) translateY(4vh) scale(0.27);
  }
  26.0869565217% {
    transform: translateX(-37vw) translateY(-9vh) scale(0.64);
  }
  30.4347826087% {
    transform: translateX(-29vw) translateY(-46vh) scale(0.62);
  }
  34.7826086957% {
    transform: translateX(25vw) translateY(-39vh) scale(0.98);
  }
  39.1304347826% {
    transform: translateX(-6vw) translateY(12vh) scale(0.72);
  }
  43.4782608696% {
    transform: translateX(41vw) translateY(29vh) scale(0.85);
  }
  47.8260869565% {
    transform: translateX(30vw) translateY(-32vh) scale(0.81);
  }
  52.1739130435% {
    transform: translateX(29vw) translateY(-18vh) scale(0.87);
  }
  56.5217391304% {
    transform: translateX(1vw) translateY(-41vh) scale(0.29);
  }
  60.8695652174% {
    transform: translateX(21vw) translateY(-48vh) scale(0.43);
  }
  65.2173913043% {
    transform: translateX(0vw) translateY(-14vh) scale(0.26);
  }
  69.5652173913% {
    transform: translateX(2vw) translateY(-8vh) scale(0.63);
  }
  73.9130434783% {
    transform: translateX(32vw) translateY(-3vh) scale(0.37);
  }
  78.2608695652% {
    transform: translateX(49vw) translateY(-28vh) scale(0.68);
  }
  82.6086956522% {
    transform: translateX(-41vw) translateY(-34vh) scale(0.65);
  }
  86.9565217391% {
    transform: translateX(12vw) translateY(-32vh) scale(0.86);
  }
  91.3043478261% {
    transform: translateX(49vw) translateY(-46vh) scale(0.3);
  }
  95.652173913% {
    transform: translateX(-34vw) translateY(23vh) scale(0.71);
  }
  100% {
    transform: translateX(-16vw) translateY(-35vh) scale(0.83);
  }
}
.firefly:nth-child(3) {
  animation-name: move3;
}
.firefly:nth-child(3)::before {
  animation-duration: 18s;
}
.firefly:nth-child(3)::after {
  animation-duration: 18s, 7539ms;
  animation-delay: 0ms, 6670ms;
}

@keyframes move3 {
  0% {
    transform: translateX(-36vw) translateY(-34vh) scale(0.41);
  }
  4.347826087% {
    transform: translateX(-41vw) translateY(-17vh) scale(0.75);
  }
  8.6956521739% {
    transform: translateX(-30vw) translateY(-48vh) scale(0.75);
  }
  13.0434782609% {
    transform: translateX(13vw) translateY(18vh) scale(0.38);
  }
  17.3913043478% {
    transform: translateX(-14vw) translateY(35vh) scale(0.43);
  }
  21.7391304348% {
    transform: translateX(-45vw) translateY(40vh) scale(0.68);
  }
  26.0869565217% {
    transform: translateX(19vw) translateY(-47vh) scale(0.4);
  }
  30.4347826087% {
    transform: translateX(47vw) translateY(25vh) scale(0.66);
  }
  34.7826086957% {
    transform: translateX(-47vw) translateY(45vh) scale(0.76);
  }
  39.1304347826% {
    transform: translateX(12vw) translateY(-49vh) scale(0.27);
  }
  43.4782608696% {
    transform: translateX(2vw) translateY(41vh) scale(0.39);
  }
  47.8260869565% {
    transform: translateX(21vw) translateY(49vh) scale(0.71);
  }
  52.1739130435% {
    transform: translateX(-17vw) translateY(28vh) scale(0.72);
  }
  56.5217391304% {
    transform: translateX(-48vw) translateY(-14vh) scale(0.69);
  }
  60.8695652174% {
    transform: translateX(-7vw) translateY(10vh) scale(0.84);
  }
  65.2173913043% {
    transform: translateX(-14vw) translateY(-42vh) scale(0.99);
  }
  69.5652173913% {
    transform: translateX(39vw) translateY(-39vh) scale(0.87);
  }
  73.9130434783% {
    transform: translateX(-10vw) translateY(-14vh) scale(0.98);
  }
  78.2608695652% {
    transform: translateX(18vw) translateY(-15vh) scale(0.33);
  }
  82.6086956522% {
    transform: translateX(9vw) translateY(8vh) scale(0.35);
  }
  86.9565217391% {
    transform: translateX(-27vw) translateY(-46vh) scale(0.43);
  }
  91.3043478261% {
    transform: translateX(44vw) translateY(-37vh) scale(0.83);
  }
  95.652173913% {
    transform: translateX(16vw) translateY(-4vh) scale(0.5);
  }
  100% {
    transform: translateX(-21vw) translateY(-13vh) scale(0.94);
  }
}
.firefly:nth-child(4) {
  animation-name: move4;
}
.firefly:nth-child(4)::before {
  animation-duration: 13s;
}
.firefly:nth-child(4)::after {
  animation-duration: 13s, 8704ms;
  animation-delay: 0ms, 2432ms;
}

@keyframes move4 {
  0% {
    transform: translateX(17vw) translateY(17vh) scale(0.84);
  }
  5.2631578947% {
    transform: translateX(-46vw) translateY(-38vh) scale(0.92);
  }
  10.5263157895% {
    transform: translateX(38vw) translateY(49vh) scale(0.43);
  }
  15.7894736842% {
    transform: translateX(-5vw) translateY(20vh) scale(0.33);
  }
  21.0526315789% {
    transform: translateX(-38vw) translateY(-45vh) scale(0.44);
  }
  26.3157894737% {
    transform: translateX(29vw) translateY(-34vh) scale(0.55);
  }
  31.5789473684% {
    transform: translateX(24vw) translateY(-36vh) scale(0.39);
  }
  36.8421052632% {
    transform: translateX(5vw) translateY(-39vh) scale(0.89);
  }
  42.1052631579% {
    transform: translateX(-41vw) translateY(16vh) scale(0.44);
  }
  47.3684210526% {
    transform: translateX(-27vw) translateY(-33vh) scale(0.78);
  }
  52.6315789474% {
    transform: translateX(-22vw) translateY(-24vh) scale(0.88);
  }
  57.8947368421% {
    transform: translateX(-34vw) translateY(-7vh) scale(0.58);
  }
  63.1578947368% {
    transform: translateX(-14vw) translateY(-12vh) scale(0.8);
  }
  68.4210526316% {
    transform: translateX(-32vw) translateY(13vh) scale(0.8);
  }
  73.6842105263% {
    transform: translateX(-45vw) translateY(-33vh) scale(0.74);
  }
  78.9473684211% {
    transform: translateX(23vw) translateY(-9vh) scale(0.6);
  }
  84.2105263158% {
    transform: translateX(7vw) translateY(3vh) scale(0.98);
  }
  89.4736842105% {
    transform: translateX(0vw) translateY(17vh) scale(0.51);
  }
  94.7368421053% {
    transform: translateX(42vw) translateY(50vh) scale(0.83);
  }
  100% {
    transform: translateX(-4vw) translateY(6vh) scale(0.47);
  }
}
.firefly:nth-child(5) {
  animation-name: move5;
}
.firefly:nth-child(5)::before {
  animation-duration: 17s;
}
.firefly:nth-child(5)::after {
  animation-duration: 17s, 6689ms;
  animation-delay: 0ms, 6978ms;
}

@keyframes move5 {
  0% {
    transform: translateX(-12vw) translateY(18vh) scale(0.64);
  }
  4% {
    transform: translateX(-21vw) translateY(34vh) scale(0.84);
  }
  8% {
    transform: translateX(-17vw) translateY(-41vh) scale(0.76);
  }
  12% {
    transform: translateX(19vw) translateY(-17vh) scale(0.67);
  }
  16% {
    transform: translateX(3vw) translateY(23vh) scale(0.63);
  }
  20% {
    transform: translateX(12vw) translateY(2vh) scale(0.93);
  }
  24% {
    transform: translateX(14vw) translateY(17vh) scale(0.53);
  }
  28% {
    transform: translateX(47vw) translateY(40vh) scale(0.83);
  }
  32% {
    transform: translateX(-29vw) translateY(-29vh) scale(0.37);
  }
  36% {
    transform: translateX(-21vw) translateY(-28vh) scale(0.29);
  }
  40% {
    transform: translateX(3vw) translateY(2vh) scale(0.83);
  }
  44% {
    transform: translateX(11vw) translateY(-43vh) scale(0.62);
  }
  48% {
    transform: translateX(-20vw) translateY(-37vh) scale(0.43);
  }
  52% {
    transform: translateX(-48vw) translateY(-31vh) scale(0.91);
  }
  56% {
    transform: translateX(-31vw) translateY(-24vh) scale(0.3);
  }
  60% {
    transform: translateX(-43vw) translateY(-26vh) scale(0.52);
  }
  64% {
    transform: translateX(-39vw) translateY(-19vh) scale(0.9);
  }
  68% {
    transform: translateX(47vw) translateY(-41vh) scale(0.77);
  }
  72% {
    transform: translateX(-30vw) translateY(19vh) scale(0.91);
  }
  76% {
    transform: translateX(-6vw) translateY(2vh) scale(0.77);
  }
  80% {
    transform: translateX(-24vw) translateY(-23vh) scale(0.52);
  }
  84% {
    transform: translateX(38vw) translateY(-12vh) scale(0.88);
  }
  88% {
    transform: translateX(-46vw) translateY(-27vh) scale(0.3);
  }
  92% {
    transform: translateX(21vw) translateY(40vh) scale(0.31);
  }
  96% {
    transform: translateX(3vw) translateY(-6vh) scale(0.8);
  }
  100% {
    transform: translateX(46vw) translateY(8vh) scale(0.71);
  }
}
.firefly:nth-child(6) {
  animation-name: move6;
}
.firefly:nth-child(6)::before {
  animation-duration: 13s;
}
.firefly:nth-child(6)::after {
  animation-duration: 13s, 9172ms;
  animation-delay: 0ms, 3636ms;
}

@keyframes move6 {
  0% {
    transform: translateX(49vw) translateY(15vh) scale(0.45);
  }
  4.347826087% {
    transform: translateX(17vw) translateY(3vh) scale(0.6);
  }
  8.6956521739% {
    transform: translateX(-17vw) translateY(-8vh) scale(0.63);
  }
  13.0434782609% {
    transform: translateX(22vw) translateY(-31vh) scale(0.4);
  }
  17.3913043478% {
    transform: translateX(26vw) translateY(29vh) scale(0.3);
  }
  21.7391304348% {
    transform: translateX(-21vw) translateY(-47vh) scale(0.59);
  }
  26.0869565217% {
    transform: translateX(48vw) translateY(-30vh) scale(0.78);
  }
  30.4347826087% {
    transform: translateX(37vw) translateY(-5vh) scale(0.81);
  }
  34.7826086957% {
    transform: translateX(-39vw) translateY(-16vh) scale(0.49);
  }
  39.1304347826% {
    transform: translateX(-14vw) translateY(6vh) scale(0.77);
  }
  43.4782608696% {
    transform: translateX(20vw) translateY(-4vh) scale(0.42);
  }
  47.8260869565% {
    transform: translateX(45vw) translateY(-27vh) scale(0.44);
  }
  52.1739130435% {
    transform: translateX(-49vw) translateY(3vh) scale(0.91);
  }
  56.5217391304% {
    transform: translateX(24vw) translateY(-8vh) scale(0.51);
  }
  60.8695652174% {
    transform: translateX(0vw) translateY(-41vh) scale(0.47);
  }
  65.2173913043% {
    transform: translateX(-38vw) translateY(13vh) scale(0.99);
  }
  69.5652173913% {
    transform: translateX(27vw) translateY(-6vh) scale(0.54);
  }
  73.9130434783% {
    transform: translateX(20vw) translateY(-38vh) scale(0.93);
  }
  78.2608695652% {
    transform: translateX(45vw) translateY(1vh) scale(0.65);
  }
  82.6086956522% {
    transform: translateX(38vw) translateY(31vh) scale(0.76);
  }
  86.9565217391% {
    transform: translateX(-30vw) translateY(-6vh) scale(0.66);
  }
  91.3043478261% {
    transform: translateX(7vw) translateY(6vh) scale(0.5);
  }
  95.652173913% {
    transform: translateX(32vw) translateY(-9vh) scale(0.58);
  }
  100% {
    transform: translateX(33vw) translateY(9vh) scale(0.89);
  }
}
.firefly:nth-child(7) {
  animation-name: move7;
}
.firefly:nth-child(7)::before {
  animation-duration: 9s;
}
.firefly:nth-child(7)::after {
  animation-duration: 9s, 10420ms;
  animation-delay: 0ms, 4636ms;
}

@keyframes move7 {
  0% {
    transform: translateX(48vw) translateY(28vh) scale(0.42);
  }
  3.7037037037% {
    transform: translateX(-33vw) translateY(31vh) scale(0.87);
  }
  7.4074074074% {
    transform: translateX(-40vw) translateY(11vh) scale(0.54);
  }
  11.1111111111% {
    transform: translateX(39vw) translateY(-5vh) scale(0.68);
  }
  14.8148148148% {
    transform: translateX(-46vw) translateY(-1vh) scale(0.52);
  }
  18.5185185185% {
    transform: translateX(-6vw) translateY(-10vh) scale(0.7);
  }
  22.2222222222% {
    transform: translateX(-26vw) translateY(2vh) scale(0.86);
  }
  25.9259259259% {
    transform: translateX(11vw) translateY(-12vh) scale(0.76);
  }
  29.6296296296% {
    transform: translateX(-24vw) translateY(-45vh) scale(0.44);
  }
  33.3333333333% {
    transform: translateX(18vw) translateY(-5vh) scale(0.89);
  }
  37.037037037% {
    transform: translateX(-20vw) translateY(32vh) scale(0.31);
  }
  40.7407407407% {
    transform: translateX(-8vw) translateY(44vh) scale(0.55);
  }
  44.4444444444% {
    transform: translateX(19vw) translateY(-6vh) scale(0.94);
  }
  48.1481481481% {
    transform: translateX(45vw) translateY(35vh) scale(0.67);
  }
  51.8518518519% {
    transform: translateX(24vw) translateY(-48vh) scale(0.61);
  }
  55.5555555556% {
    transform: translateX(-28vw) translateY(4vh) scale(0.34);
  }
  59.2592592593% {
    transform: translateX(-12vw) translateY(27vh) scale(0.3);
  }
  62.962962963% {
    transform: translateX(50vw) translateY(-29vh) scale(0.9);
  }
  66.6666666667% {
    transform: translateX(40vw) translateY(-10vh) scale(0.58);
  }
  70.3703703704% {
    transform: translateX(0vw) translateY(-27vh) scale(0.66);
  }
  74.0740740741% {
    transform: translateX(-37vw) translateY(24vh) scale(1);
  }
  77.7777777778% {
    transform: translateX(-8vw) translateY(-26vh) scale(0.97);
  }
  81.4814814815% {
    transform: translateX(-5vw) translateY(37vh) scale(0.47);
  }
  85.1851851852% {
    transform: translateX(6vw) translateY(41vh) scale(0.63);
  }
  88.8888888889% {
    transform: translateX(-16vw) translateY(4vh) scale(0.63);
  }
  92.5925925926% {
    transform: translateX(22vw) translateY(47vh) scale(0.39);
  }
  96.2962962963% {
    transform: translateX(-42vw) translateY(-14vh) scale(0.53);
  }
  100% {
    transform: translateX(-7vw) translateY(19vh) scale(0.79);
  }
}
.firefly:nth-child(8) {
  animation-name: move8;
}
.firefly:nth-child(8)::before {
  animation-duration: 9s;
}
.firefly:nth-child(8)::after {
  animation-duration: 9s, 6531ms;
  animation-delay: 0ms, 1547ms;
}

@keyframes move8 {
  0% {
    transform: translateX(45vw) translateY(-1vh) scale(0.8);
  }
  4% {
    transform: translateX(6vw) translateY(-26vh) scale(0.69);
  }
  8% {
    transform: translateX(41vw) translateY(-34vh) scale(0.73);
  }
  12% {
    transform: translateX(27vw) translateY(49vh) scale(0.35);
  }
  16% {
    transform: translateX(42vw) translateY(-31vh) scale(0.36);
  }
  20% {
    transform: translateX(3vw) translateY(36vh) scale(0.92);
  }
  24% {
    transform: translateX(48vw) translateY(-36vh) scale(0.93);
  }
  28% {
    transform: translateX(-13vw) translateY(44vh) scale(0.39);
  }
  32% {
    transform: translateX(-24vw) translateY(-35vh) scale(0.71);
  }
  36% {
    transform: translateX(-28vw) translateY(-28vh) scale(0.99);
  }
  40% {
    transform: translateX(-24vw) translateY(42vh) scale(0.84);
  }
  44% {
    transform: translateX(46vw) translateY(-4vh) scale(0.93);
  }
  48% {
    transform: translateX(2vw) translateY(-46vh) scale(0.65);
  }
  52% {
    transform: translateX(-1vw) translateY(17vh) scale(0.37);
  }
  56% {
    transform: translateX(6vw) translateY(38vh) scale(0.65);
  }
  60% {
    transform: translateX(-18vw) translateY(20vh) scale(0.29);
  }
  64% {
    transform: translateX(7vw) translateY(10vh) scale(0.99);
  }
  68% {
    transform: translateX(24vw) translateY(40vh) scale(0.26);
  }
  72% {
    transform: translateX(2vw) translateY(-30vh) scale(0.7);
  }
  76% {
    transform: translateX(-29vw) translateY(44vh) scale(0.38);
  }
  80% {
    transform: translateX(-35vw) translateY(3vh) scale(0.92);
  }
  84% {
    transform: translateX(-47vw) translateY(11vh) scale(0.38);
  }
  88% {
    transform: translateX(-32vw) translateY(-13vh) scale(0.95);
  }
  92% {
    transform: translateX(-32vw) translateY(-31vh) scale(0.55);
  }
  96% {
    transform: translateX(-15vw) translateY(-34vh) scale(0.89);
  }
  100% {
    transform: translateX(40vw) translateY(31vh) scale(0.63);
  }
}
.firefly:nth-child(9) {
  animation-name: move9;
}
.firefly:nth-child(9)::before {
  animation-duration: 10s;
}
.firefly:nth-child(9)::after {
  animation-duration: 10s, 10647ms;
  animation-delay: 0ms, 2001ms;
}

@keyframes move9 {
  0% {
    transform: translateX(41vw) translateY(-24vh) scale(0.77);
  }
  4% {
    transform: translateX(-2vw) translateY(39vh) scale(0.99);
  }
  8% {
    transform: translateX(21vw) translateY(-16vh) scale(1);
  }
  12% {
    transform: translateX(45vw) translateY(18vh) scale(0.74);
  }
  16% {
    transform: translateX(-19vw) translateY(-32vh) scale(0.99);
  }
  20% {
    transform: translateX(20vw) translateY(37vh) scale(0.83);
  }
  24% {
    transform: translateX(-11vw) translateY(39vh) scale(0.6);
  }
  28% {
    transform: translateX(44vw) translateY(18vh) scale(0.97);
  }
  32% {
    transform: translateX(1vw) translateY(-19vh) scale(0.44);
  }
  36% {
    transform: translateX(23vw) translateY(-44vh) scale(0.55);
  }
  40% {
    transform: translateX(-21vw) translateY(-43vh) scale(0.84);
  }
  44% {
    transform: translateX(39vw) translateY(5vh) scale(0.45);
  }
  48% {
    transform: translateX(-28vw) translateY(-40vh) scale(0.29);
  }
  52% {
    transform: translateX(-11vw) translateY(-3vh) scale(0.81);
  }
  56% {
    transform: translateX(41vw) translateY(-28vh) scale(0.61);
  }
  60% {
    transform: translateX(7vw) translateY(-10vh) scale(0.85);
  }
  64% {
    transform: translateX(-17vw) translateY(3vh) scale(0.48);
  }
  68% {
    transform: translateX(-15vw) translateY(-35vh) scale(1);
  }
  72% {
    transform: translateX(49vw) translateY(-13vh) scale(0.93);
  }
  76% {
    transform: translateX(8vw) translateY(27vh) scale(0.8);
  }
  80% {
    transform: translateX(-33vw) translateY(12vh) scale(0.33);
  }
  84% {
    transform: translateX(10vw) translateY(-37vh) scale(0.78);
  }
  88% {
    transform: translateX(6vw) translateY(49vh) scale(0.77);
  }
  92% {
    transform: translateX(17vw) translateY(-41vh) scale(0.27);
  }
  96% {
    transform: translateX(6vw) translateY(1vh) scale(0.31);
  }
  100% {
    transform: translateX(30vw) translateY(-10vh) scale(0.67);
  }
}
.firefly:nth-child(10) {
  animation-name: move10;
}
.firefly:nth-child(10)::before {
  animation-duration: 15s;
}
.firefly:nth-child(10)::after {
  animation-duration: 15s, 8060ms;
  animation-delay: 0ms, 4741ms;
}

@keyframes move10 {
  0% {
    transform: translateX(-30vw) translateY(40vh) scale(0.75);
  }
  5.8823529412% {
    transform: translateX(23vw) translateY(-9vh) scale(0.34);
  }
  11.7647058824% {
    transform: translateX(35vw) translateY(-8vh) scale(0.26);
  }
  17.6470588235% {
    transform: translateX(-20vw) translateY(6vh) scale(0.28);
  }
  23.5294117647% {
    transform: translateX(1vw) translateY(-24vh) scale(0.74);
  }
  29.4117647059% {
    transform: translateX(-32vw) translateY(-37vh) scale(0.44);
  }
  35.2941176471% {
    transform: translateX(-23vw) translateY(27vh) scale(0.9);
  }
  41.1764705882% {
    transform: translateX(47vw) translateY(-42vh) scale(0.94);
  }
  47.0588235294% {
    transform: translateX(49vw) translateY(23vh) scale(0.83);
  }
  52.9411764706% {
    transform: translateX(32vw) translateY(17vh) scale(0.94);
  }
  58.8235294118% {
    transform: translateX(-33vw) translateY(9vh) scale(0.75);
  }
  64.7058823529% {
    transform: translateX(-35vw) translateY(37vh) scale(0.36);
  }
  70.5882352941% {
    transform: translateX(-15vw) translateY(-45vh) scale(0.69);
  }
  76.4705882353% {
    transform: translateX(-44vw) translateY(17vh) scale(0.57);
  }
  82.3529411765% {
    transform: translateX(-23vw) translateY(-25vh) scale(0.38);
  }
  88.2352941176% {
    transform: translateX(1vw) translateY(10vh) scale(0.88);
  }
  94.1176470588% {
    transform: translateX(17vw) translateY(-10vh) scale(0.5);
  }
  100% {
    transform: translateX(17vw) translateY(19vh) scale(0.36);
  }
}
.firefly:nth-child(11) {
  animation-name: move11;
}
.firefly:nth-child(11)::before {
  animation-duration: 11s;
}
.firefly:nth-child(11)::after {
  animation-duration: 11s, 7560ms;
  animation-delay: 0ms, 5318ms;
}

@keyframes move11 {
  0% {
    transform: translateX(6vw) translateY(50vh) scale(0.93);
  }
  4.1666666667% {
    transform: translateX(41vw) translateY(7vh) scale(0.45);
  }
  8.3333333333% {
    transform: translateX(-19vw) translateY(5vh) scale(0.85);
  }
  12.5% {
    transform: translateX(36vw) translateY(3vh) scale(0.59);
  }
  16.6666666667% {
    transform: translateX(48vw) translateY(-13vh) scale(0.73);
  }
  20.8333333333% {
    transform: translateX(-31vw) translateY(20vh) scale(0.38);
  }
  25% {
    transform: translateX(16vw) translateY(8vh) scale(0.71);
  }
  29.1666666667% {
    transform: translateX(24vw) translateY(-19vh) scale(0.34);
  }
  33.3333333333% {
    transform: translateX(-24vw) translateY(-3vh) scale(0.87);
  }
  37.5% {
    transform: translateX(-23vw) translateY(0vh) scale(0.39);
  }
  41.6666666667% {
    transform: translateX(48vw) translateY(12vh) scale(0.76);
  }
  45.8333333333% {
    transform: translateX(48vw) translateY(-27vh) scale(0.78);
  }
  50% {
    transform: translateX(-19vw) translateY(-34vh) scale(0.5);
  }
  54.1666666667% {
    transform: translateX(17vw) translateY(-9vh) scale(0.57);
  }
  58.3333333333% {
    transform: translateX(2vw) translateY(-8vh) scale(0.58);
  }
  62.5% {
    transform: translateX(-5vw) translateY(-8vh) scale(0.77);
  }
  66.6666666667% {
    transform: translateX(-23vw) translateY(6vh) scale(0.31);
  }
  70.8333333333% {
    transform: translateX(48vw) translateY(32vh) scale(0.58);
  }
  75% {
    transform: translateX(-44vw) translateY(-35vh) scale(0.67);
  }
  79.1666666667% {
    transform: translateX(21vw) translateY(7vh) scale(0.31);
  }
  83.3333333333% {
    transform: translateX(-37vw) translateY(13vh) scale(0.49);
  }
  87.5% {
    transform: translateX(-20vw) translateY(-37vh) scale(1);
  }
  91.6666666667% {
    transform: translateX(44vw) translateY(10vh) scale(0.82);
  }
  95.8333333333% {
    transform: translateX(4vw) translateY(-4vh) scale(0.94);
  }
  100% {
    transform: translateX(-18vw) translateY(46vh) scale(0.97);
  }
}
.firefly:nth-child(12) {
  animation-name: move12;
}
.firefly:nth-child(12)::before {
  animation-duration: 16s;
}
.firefly:nth-child(12)::after {
  animation-duration: 16s, 9144ms;
  animation-delay: 0ms, 8017ms;
}

@keyframes move12 {
  0% {
    transform: translateX(39vw) translateY(-46vh) scale(0.79);
  }
  4.5454545455% {
    transform: translateX(-23vw) translateY(-8vh) scale(0.96);
  }
  9.0909090909% {
    transform: translateX(20vw) translateY(49vh) scale(0.72);
  }
  13.6363636364% {
    transform: translateX(29vw) translateY(-30vh) scale(0.78);
  }
  18.1818181818% {
    transform: translateX(10vw) translateY(22vh) scale(0.5);
  }
  22.7272727273% {
    transform: translateX(30vw) translateY(-40vh) scale(0.42);
  }
  27.2727272727% {
    transform: translateX(47vw) translateY(-44vh) scale(0.57);
  }
  31.8181818182% {
    transform: translateX(20vw) translateY(-12vh) scale(0.39);
  }
  36.3636363636% {
    transform: translateX(-28vw) translateY(-1vh) scale(0.39);
  }
  40.9090909091% {
    transform: translateX(20vw) translateY(-38vh) scale(0.49);
  }
  45.4545454545% {
    transform: translateX(-48vw) translateY(-9vh) scale(0.5);
  }
  50% {
    transform: translateX(-14vw) translateY(29vh) scale(0.68);
  }
  54.5454545455% {
    transform: translateX(-47vw) translateY(-35vh) scale(0.85);
  }
  59.0909090909% {
    transform: translateX(15vw) translateY(-49vh) scale(0.28);
  }
  63.6363636364% {
    transform: translateX(20vw) translateY(-11vh) scale(0.51);
  }
  68.1818181818% {
    transform: translateX(-47vw) translateY(-33vh) scale(0.27);
  }
  72.7272727273% {
    transform: translateX(6vw) translateY(-22vh) scale(0.99);
  }
  77.2727272727% {
    transform: translateX(-8vw) translateY(25vh) scale(0.29);
  }
  81.8181818182% {
    transform: translateX(-2vw) translateY(-18vh) scale(0.52);
  }
  86.3636363636% {
    transform: translateX(-16vw) translateY(34vh) scale(0.48);
  }
  90.9090909091% {
    transform: translateX(-8vw) translateY(43vh) scale(0.75);
  }
  95.4545454545% {
    transform: translateX(-18vw) translateY(-37vh) scale(0.65);
  }
  100% {
    transform: translateX(-40vw) translateY(7vh) scale(0.61);
  }
}
.firefly:nth-child(13) {
  animation-name: move13;
}
.firefly:nth-child(13)::before {
  animation-duration: 17s;
}
.firefly:nth-child(13)::after {
  animation-duration: 17s, 8101ms;
  animation-delay: 0ms, 1787ms;
}

@keyframes move13 {
  0% {
    transform: translateX(-19vw) translateY(-30vh) scale(0.32);
  }
  4% {
    transform: translateX(-4vw) translateY(50vh) scale(0.68);
  }
  8% {
    transform: translateX(-10vw) translateY(-9vh) scale(0.94);
  }
  12% {
    transform: translateX(-35vw) translateY(-30vh) scale(0.49);
  }
  16% {
    transform: translateX(-12vw) translateY(14vh) scale(0.38);
  }
  20% {
    transform: translateX(-47vw) translateY(40vh) scale(0.36);
  }
  24% {
    transform: translateX(19vw) translateY(-42vh) scale(0.7);
  }
  28% {
    transform: translateX(-3vw) translateY(21vh) scale(0.29);
  }
  32% {
    transform: translateX(28vw) translateY(13vh) scale(0.94);
  }
  36% {
    transform: translateX(9vw) translateY(-5vh) scale(0.8);
  }
  40% {
    transform: translateX(6vw) translateY(48vh) scale(0.61);
  }
  44% {
    transform: translateX(16vw) translateY(8vh) scale(0.9);
  }
  48% {
    transform: translateX(-4vw) translateY(-28vh) scale(0.45);
  }
  52% {
    transform: translateX(5vw) translateY(19vh) scale(0.85);
  }
  56% {
    transform: translateX(-35vw) translateY(-6vh) scale(0.78);
  }
  60% {
    transform: translateX(-2vw) translateY(11vh) scale(0.28);
  }
  64% {
    transform: translateX(24vw) translateY(40vh) scale(0.71);
  }
  68% {
    transform: translateX(34vw) translateY(-32vh) scale(1);
  }
  72% {
    transform: translateX(-42vw) translateY(17vh) scale(0.93);
  }
  76% {
    transform: translateX(-47vw) translateY(13vh) scale(0.94);
  }
  80% {
    transform: translateX(-16vw) translateY(41vh) scale(0.83);
  }
  84% {
    transform: translateX(28vw) translateY(13vh) scale(0.54);
  }
  88% {
    transform: translateX(-41vw) translateY(11vh) scale(0.56);
  }
  92% {
    transform: translateX(46vw) translateY(-38vh) scale(0.92);
  }
  96% {
    transform: translateX(-27vw) translateY(-5vh) scale(0.65);
  }
  100% {
    transform: translateX(-9vw) translateY(-25vh) scale(1);
  }
}
.firefly:nth-child(14) {
  animation-name: move14;
}
.firefly:nth-child(14)::before {
  animation-duration: 10s;
}
.firefly:nth-child(14)::after {
  animation-duration: 10s, 7282ms;
  animation-delay: 0ms, 3205ms;
}

@keyframes move14 {
  0% {
    transform: translateX(-12vw) translateY(-35vh) scale(0.29);
  }
  4.7619047619% {
    transform: translateX(15vw) translateY(3vh) scale(0.99);
  }
  9.5238095238% {
    transform: translateX(-22vw) translateY(42vh) scale(0.96);
  }
  14.2857142857% {
    transform: translateX(5vw) translateY(-44vh) scale(0.51);
  }
  19.0476190476% {
    transform: translateX(-44vw) translateY(-43vh) scale(0.29);
  }
  23.8095238095% {
    transform: translateX(-33vw) translateY(-13vh) scale(0.93);
  }
  28.5714285714% {
    transform: translateX(7vw) translateY(-17vh) scale(0.93);
  }
  33.3333333333% {
    transform: translateX(11vw) translateY(-15vh) scale(0.91);
  }
  38.0952380952% {
    transform: translateX(-3vw) translateY(-37vh) scale(0.49);
  }
  42.8571428571% {
    transform: translateX(27vw) translateY(2vh) scale(1);
  }
  47.619047619% {
    transform: translateX(20vw) translateY(-20vh) scale(0.28);
  }
  52.380952381% {
    transform: translateX(-11vw) translateY(29vh) scale(0.69);
  }
  57.1428571429% {
    transform: translateX(-42vw) translateY(4vh) scale(0.43);
  }
  61.9047619048% {
    transform: translateX(-3vw) translateY(-15vh) scale(0.27);
  }
  66.6666666667% {
    transform: translateX(40vw) translateY(-39vh) scale(0.26);
  }
  71.4285714286% {
    transform: translateX(-10vw) translateY(-4vh) scale(0.38);
  }
  76.1904761905% {
    transform: translateX(-34vw) translateY(40vh) scale(0.69);
  }
  80.9523809524% {
    transform: translateX(-32vw) translateY(-42vh) scale(0.37);
  }
  85.7142857143% {
    transform: translateX(-33vw) translateY(-19vh) scale(0.71);
  }
  90.4761904762% {
    transform: translateX(-40vw) translateY(14vh) scale(0.6);
  }
  95.2380952381% {
    transform: translateX(-22vw) translateY(36vh) scale(0.86);
  }
  100% {
    transform: translateX(28vw) translateY(-24vh) scale(0.5);
  }
}
.firefly:nth-child(15) {
  animation-name: move15;
}
.firefly:nth-child(15)::before {
  animation-duration: 17s;
}
.firefly:nth-child(15)::after {
  animation-duration: 17s, 5674ms;
  animation-delay: 0ms, 8048ms;
}

@keyframes move15 {
  0% {
    transform: translateX(26vw) translateY(-45vh) scale(0.94);
  }
  5% {
    transform: translateX(-15vw) translateY(38vh) scale(1);
  }
  10% {
    transform: translateX(22vw) translateY(26vh) scale(0.39);
  }
  15% {
    transform: translateX(-10vw) translateY(-42vh) scale(0.44);
  }
  20% {
    transform: translateX(30vw) translateY(47vh) scale(0.28);
  }
  25% {
    transform: translateX(36vw) translateY(27vh) scale(0.59);
  }
  30% {
    transform: translateX(-6vw) translateY(16vh) scale(0.72);
  }
  35% {
    transform: translateX(-15vw) translateY(34vh) scale(0.87);
  }
  40% {
    transform: translateX(-18vw) translateY(48vh) scale(0.35);
  }
  45% {
    transform: translateX(18vw) translateY(31vh) scale(0.36);
  }
  50% {
    transform: translateX(6vw) translateY(-10vh) scale(0.32);
  }
  55% {
    transform: translateX(17vw) translateY(4vh) scale(0.96);
  }
  60% {
    transform: translateX(27vw) translateY(50vh) scale(0.67);
  }
  65% {
    transform: translateX(-33vw) translateY(-8vh) scale(0.54);
  }
  70% {
    transform: translateX(44vw) translateY(42vh) scale(0.3);
  }
  75% {
    transform: translateX(16vw) translateY(21vh) scale(0.67);
  }
  80% {
    transform: translateX(29vw) translateY(40vh) scale(0.56);
  }
  85% {
    transform: translateX(-18vw) translateY(35vh) scale(0.28);
  }
  90% {
    transform: translateX(-32vw) translateY(45vh) scale(0.59);
  }
  95% {
    transform: translateX(-16vw) translateY(-31vh) scale(0.77);
  }
  100% {
    transform: translateX(38vw) translateY(14vh) scale(0.29);
  }
}
@keyframes drift {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes flash {
  0%, 30%, 100% {
    opacity: 0;
    box-shadow: 0 0 0vw 0vw yellow;
  }
  5% {
    opacity: 1;
    box-shadow: 0 0 2vw 0.4vw yellow;
  }
}

/* index hero logo */
#mumblecore-container {
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
}

#mumblecore-logo {
  perspective: 80px;
  margin: auto;
  display: block;
}

#mumblecore {
  font-weight: 300;
  font-size: 35px;
  letter-spacing: 20px;
  text-anchor: middle;
  fill: #fff;
}

#triangle {
  transform: translate(611px,80px) rotateY(65deg) rotateX(45deg);
}

#triangle polygon{
  animation-name: rotate-triangle;
  animation-duration: 45s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  fill: url(#pinkblue-tri);
}

@keyframes rotate-triangle {
    0%   {transform: rotateZ(0deg);  }
    25%  {transform: rotateZ(90deg); }
    50%  {transform: rotateZ(180deg);}
    75%  {transform: rotateZ(270deg);}
    100% {transform: rotateZ(360deg);}
}

/* scroll */
.main-visual .scroll {
    padding-top: 70px;
    position: absolute;
    bottom: 0.5rem;
    left: calc(50% - 25px);
    z-index: 2;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #fff;
    letter-spacing: .1em;
    text-decoration: none;
    transition: opacity .3s;
}
@media (max-width: 575px) {
  .main-visual .scroll {
    bottom: -3.2rem;
  }
}
.main-visual .scroll span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb05 1.5s infinite;
    animation: sdb05 1.5s infinite;
    box-sizing: border-box;
}
@-webkit-keyframes sdb05 {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb05 {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
.main-visual::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 30%;
  z-index: -9;
}

/* category card */
#category .paracard {
  width: 100%;
  display: block;
  padding-top: 66.66666%;
  transform-style: preserve-3d;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.25);
  border: 0px;
  background-size: 110% 110%;
  background-position: center center;
}

#category .dcard {
  position: relative;
  display: block;
  perspective: 500px;
  border-radius: 12px;
}

#category .col-md-12 .dcard {
  perspective: 3000px;
}

#category .frame {
  background: rgba(0, 0, 0, 0.2);
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#category .frame:after {
  width: calc(100% - 40px);
  border: 2px solid rgba(255, 255, 255, 0.5);
  height: calc(100% - 40px);
  content: "";
  display: block;
  left: 20px;
  top: 20px;
  position: absolute;
  transform: translateZ(30px);
}

#category .dcard:hover .paracard .frame {
  background: rgba(0, 0, 0, 0);
}
#category .dcard:hover .paracard .frame:after {
  border: 2px solid rgba(255, 255, 255, 0.8);
}

#category h2 {
  color: #fff;
  position: absolute;
  bottom: 10%;
  left: 10%;
  transform: translateZ(50px);
  text-align: center;
  font-size: 24px;
  text-shadow: 0px 0px 5px black;
}

#category .trigger {
  position: absolute;
  height: 33.333333%;
  width: 33.333333%;
  display: block;
  z-index: 2;
}
#category .trigger:nth-child(1) {
  left: 0%;
  top: 0%;
}
#category .trigger:nth-child(1):hover ~ .paracard {
  transform: rotateY(3deg) rotateX(-1deg);
  background-position: top left;
}
#category .trigger:nth-child(2) {
  left: 33.333333%;
  top: 0%;
}
#category .trigger:nth-child(2):hover ~ .paracard {
  transform: rotateY(0deg) rotateX(-1deg);
  background-position: top center;
}
#category .trigger:nth-child(3) {
  left: 66.666666%;
  top: 0%;
}
#category .trigger:nth-child(3):hover ~ .paracard {
  transform: rotateY(-3deg) rotateX(-1deg);
  background-position: top right;
}
#category .trigger:nth-child(4) {
  left: 0%;
  top: 33.333333%;
}
#category .trigger:nth-child(4):hover ~ .paracard {
  transform: rotateY(3deg);
  background-position: center left;
}
#category .trigger:nth-child(5) {
  left: 33.333333%;
  top: 33.333333%;
}
#category .trigger:nth-child(5):hover ~ .paracard {
  transform: rotateY(0deg) rotateX(0deg);
  background-position: center center;
}
#category .trigger:nth-child(6) {
  left: 66.666666%;
  top: 33.333333%;
}
#category .trigger:nth-child(6):hover ~ .paracard {
  transform: rotateY(-3deg) rotateX(0deg);
  background-position: center right;
}
#category .trigger:nth-child(7) {
  left: 0%;
  top: 66.666666%;
}
#category .trigger:nth-child(7):hover ~ .paracard {
  transform: rotateY(3deg) rotateX(1deg);
  background-position: bottom left;
}
#category .trigger:nth-child(8) {
  left: 33.333333%;
  top: 66.666666%;
}
#category .trigger:nth-child(8):hover ~ .paracard {
  transform: rotateY(0deg) rotateX(1deg);
  background-position: bottom center;
}
#category .trigger:nth-child(9) {
  left: 66.666666%;
  top: 66.666666%;
}
#category .trigger:nth-child(9):hover ~ .paracard {
  transform: rotateY(-3deg) rotateX(1deg);
  background-position: bottom right;
}

/* hero video */
.hero-video {
  height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 0 20px;
}

.hero-video .video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--primary-color) url('./https://traversymedia.com/downloads/cover.jpg') no-repeat center
    center/cover;
}

.hero-video .video-container video {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.hero-video .video-container:after {
  content: '';
  z-index: 1;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: rgb(25,23,26);
  background: linear-gradient(180deg, rgba(25,23,26,0.6) 50%, rgba(25,23,26,1) 100%);
  position: absolute;
}

.header-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 2rem 3rem 2rem;
  z-index: 999;
}
.header-wrapper .header {
  position: relative;
  display: block;
  width: 100%;
  height: 6rem;
}
.header-wrapper .menu-wrapper {
  position: relative;
  float: left;
  display: block;
  cursor: pointer;
  width: 2.5rem;
  height: 3rem;
  right: 0;
  margin: 0;
  text-align: left;
}
.header-wrapper .menu-wrapper:after {
  content: "";
  display: table;
  clear: both;
}
.header-wrapper .menu-hamburger {
  position: relative;
  width: 1.4rem;
  display: inline-block;
  vertical-align: middle;
  background: white;
  height: 1px;
  cursor: pointer;
  right: 0;
  top: 1rem;
}
.header-wrapper .menu-hamburger::before {
  content: "";
  width: 2.5rem;
  height: 1px;
  background: white;
  position: absolute;
  top: -0.8rem;
  left: 0;
}
.header-wrapper .menu-hamburger::after {
  content: "";
  width: 2rem;
  height: 1px;
  background: white;
  position: absolute;
  top: 0.8rem;
  left: 0;
}
.header-wrapper .nav-wrapper {
  position: relative;
  float: right;
}
.header-wrapper nav {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  font-weight: 700;
  color: white;
}
.header-wrapper nav ul {
  padding: 0;
  display: block;
  list-style: none;
}
.header-wrapper nav ul:after {
  content: "";
  display: table;
  clear: both;
}
.header-wrapper nav li {
  float: left;
  margin: 0 1.2rem;
}
.header-wrapper nav li:last-child {
  margin-left: 0;
}

.lines-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999;
  pointer-events: none;
}
.lines-wrapper span.vertical {
  position: absolute;
  height: 1px;
  width: 100%;
  background: white;
  top: 20%;
  left: 0;
  z-index: 1;
  opacity: 0.05;
}
.lines-wrapper .croses span {
  color: white;
  font-size: 1rem;
  position: absolute;
  top: 11%;
  left: calc(20% - 2px);
}
.lines-wrapper .croses span:nth-child(2) {
  left: calc(40% - 2px);
}
.lines-wrapper .croses span:nth-child(3) {
  left: calc(60% - 2px);
}
.lines-wrapper .croses span:nth-child(4) {
  left: calc(80% - 2px);
}
.lines-wrapper span.horizontal {
  position: absolute;
  width: 1px;
  height: 100%;
  background: white;
  z-index: 1;
  left: 20%;
  opacity: 0.05;
}
.lines-wrapper span.horizontal:nth-child(2) {
  left: 40%;
}
.lines-wrapper span.horizontal:nth-child(3) {
  left: 60%;
}
.lines-wrapper span.horizontal:nth-child(4) {
  left: 80%;
}

/*講師 Slide*/
.slider-content {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  padding-bottom: 5rem;
}
.slider-content .slider-container {
  position: relative;
  height: 37rem;
}
.slider-content .slide-content {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slider-content .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-blend-mode: multiply;
  background-size: auto 125%;
  background-position: 0px -45px;
  background-repeat: no-repeat;
  opacity: 0;
}
.slider-content .slide:after {
  content: "";
  display: table;
  clear: both;
}
.slider-content .slide.active {
  opacity: 1;
  z-index: 50;
}
.slider-content .slide.next {
  opacity: 1;
}
.slider-content .canvas {
  position: absolute;
  left: 0;
  top: 0;
}
.slider-content .fake-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-blend-mode: multiply;
  background-position: 5rem 0rem;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
.slider-content .image-mask {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  height: 125%;
  overflow: hidden;
}
.slider-content .image-mask img {
  position: absolute;
  display: block;
  width: auto;
  height: 100%;
  top: -45px;
}
.slider-content .mask-animation {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0rem;
  left: -5rem;
}
.slider-content .mask-animation img.clip {
  width: 100%;
  -webkit-clip-path: url(#svgPathBig);
          clip-path: url(#svgPathBig);
}
.slider-content .image-caption {
  position: absolute;
  color: white;
  transform: rotate(-90deg);
  top: 11rem;
  left: -2rem;
  font-size: 1.3rem;
  z-index: 10;
  clip: rect(0rem, 21rem, 12rem, 0px);
  display: inline-block;
  transition: all 0.3s ease;
}
.slider-content .image-caption.mask-up {
  clip: rect(0rem, 0rem, 12rem, 0px);
}
.slider-content .image-caption.mask-down {
  clip: rect(0rem, 21rem, 2rem, 200px);
}
.slider-content .image-caption span {
  display: inline-block;
  vertical-align: top;
}
.slider-content .image-caption .line {
  position: relative;
  background: white;
  height: 1px;
  width: 5rem;
  top: 1rem;
}
.slider-content .title-background {
  position: absolute;
  font-size: 20rem;
  font-family: Narziss;
  bottom: 2rem;
  left: 4rem;
  color: #fff;
  opacity: 0.1;
  text-align: right;
}
.slider-content .title-background span.mask-wrap {
  display: block;
  height: 25rem;
  position: relative;
}
.slider-content .title-background span.mask-wrap span.mask {
  position: absolute;
  top: 0;
  left: 0;
  clip: rect(0rem, 120rem, 30rem, 0px);
  transition: all 0.3s ease-in;
}
@media (max-width: 575px) {
  .slider-content .title-background span.mask-wrap span.mask {
    display: none;
  }
}
.slider-content .title-background span.mask-wrap:last-child span.mask {
  transition-delay: 0.15s;
}
.slider-content .title-background span.mask-wrap.mask-up span.mask {
  clip: rect(0rem, 120rem, 0rem, 0px);
}
.slider-content .title-background span.mask-wrap.mask-down span.mask {
  clip: rect(25rem, 44rem, 25rem, 0px);
}
.slider-content .title-wrapper {
  position: relative;
  color: white;
  margin-left: auto;
  margin-right: 12%;
  width: 50%;
  text-align: right;
  margin-top: 2rem;
  z-index: 5;
}
@media (max-width: 768px) {
  .slider-content .title-wrapper {
    width: 60%;
    padding-right: 2.5rem;
  }
}
.slider-content .title-wrapper h1 {
  font-size: 6rem;
  margin: 0;
  line-height: 1;
  margin-bottom: 1rem;
  font-weight: 900;
  text-align: right;
  font-family: Narziss-medium;
  margin-left: 5rem;
}
.slider-content .title-wrapper h1 span.mask-wrap {
  display: block;
  height: 7rem;
  position: relative;
}
.slider-content .title-wrapper h1 span.mask-wrap span.mask {
  position: absolute;
  top: 0;
  right: 0;
  clip: rect(0rem, 48rem, 20rem, 0px);
  transition: all 0.3s ease-in;
}
.slider-content .title-wrapper h1 span.mask-wrap:last-child span.mask {
  transition-delay: 0.15s;
}
.slider-content .title-wrapper h1 span.mask-wrap.mask-up span.mask {
  clip: rect(0rem, 44rem, 0rem, 0px);
}
.slider-content .title-wrapper h1 span.mask-wrap.mask-down span.mask {
  clip: rect(12rem, 44rem, 12rem, 0px);
}
.slider-content .title-wrapper span.gallery {
  position: relative;
  text-align: right;
  padding: 0 2rem;
  cursor: pointer;
  margin-right: 5rem;
}
.slider-content .title-wrapper span.gallery::before {
  content: "";
  position: absolute;
  left: -2rem;
  display: block;
  width: 1px;
  height: 2.5rem;
  background: white;
  top: -0.5rem;
  opacity: 0.9;
}
.slider-content .title-wrapper span.gallery::after {
  content: "";
  position: absolute;
  right: -2rem;
  display: block;
  width: 1px;
  height: 2.5rem;
  background: white;
  top: -0.5rem;
  opacity: 0.9;
}
@media (max-width: 575px) {
  .slider-content {
    padding-bottom: 8rem;
  }
  .slider-content .fake-bg {
    background-position: -2rem 0rem;
    background-size: auto 60%;
  }
  .slider-content .title-wrapper {
    width: 68%;
    padding-right: 0rem;
  }
  .slider-content .title-wrapper h1 {
    font-size: 3rem;
    margin-top: 2rem;
  }
  .slider-content .title-wrapper h1 span.mask-wrap {
    height: 4rem;
  }
  .footer-wrapper {
    width: 100% !important;
  }
}

.control-nav {
  position: absolute;
  right: 3rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
}
.control-nav ul {
  position: relative;
  list-style: none;
  padding: 0;
}
.control-nav li {
  position: relative;
  margin: 0.2rem 0;
  opacity: 0.5;
  border-radius: 3rem;
  color: white;
  font-size: 1rem;
}
.control-nav li.active {
  opacity: 1;
}
.control-nav li.active .line {
  transform: translateX(-1.2rem);
  width: 1.8rem;
}
.control-nav li.active .number {
  opacity: 1;
}
.control-nav .line {
  width: 1.5rem;
  height: 1px;
  display: block;
  position: absolute;
  top: 50%;
  background: white;
  left: -1rem;
  transition: all 0.3s ease;
}
.control-nav .number {
  position: relative;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.social-icons {
  position: absolute;
  bottom: 3rem;
  left: 3.5rem;
  z-index: 999;
}
.social-icons ul {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
.social-icons ul li {
  position: relative;
  display: block;
  padding: 0.3rem 0;
}
.social-icons ul a {
  display: block;
  width: 2rem;
  height: 2rem;
}
.social-icons ul a svg {
  fill: white;
  display: block;
  width: 100%;
  height: 100%;
}

/* introduction */
#introduction p a {
  text-decoration: underline;
}
#introduction h4 {
  font-weight: bold;
  margin: 2rem 0 0.5rem 0;
}
#introduction table {
  width: 100%;
}
#introduction table th {
  padding: 1rem;
  background-color: #333;
  border: 1px solid #333;
}
#introduction table tr {
  border: 1px solid #333;
}
#introduction table td {
  padding: 1rem;
  vertical-align: top;
}
#introduction table td p {
  margin-bottom: 0;
}

/* footer */
.footer-wrapper {
  position: absolute;
  color: white;
  bottom: 0rem;
  right: 0rem;
  width: 60%;
  height: 6rem;
  z-index: 999;
}
.footer-wrapper ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  height: 100%;
}
.footer-wrapper ul:after {
  content: "";
  display: table;
  clear: both;
}
.footer-wrapper li {
  position: relative;
  float: left;
  width: 25%;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.1);
  text-transform: uppercase;
  height: 100%;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.footer-wrapper li:last-child {
  border: none;
}
.footer-wrapper li.active .hover-box {
  opacity: 1;
  transform: scale(1.15);
}
.footer-wrapper li .hover-box {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgb(71,59,162);
  background: linear-gradient(312deg, rgba(71,59,162,1) 0%, rgba(83,29,92,1) 100%);
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s ease-in;
  z-index: 1;
}
.footer-wrapper li .box-content {
  position: relative;
  z-index: 5;
}

footer.with-shortcut {
  margin-bottom: 8rem !important;
}