#header {
  border-bottom: 2px solid #76bafd;
  -webkit-box-shadow: 0 2px 11px #351705;
  box-shadow: 0 2px 11px #351705;
}

#header:after {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #09b0fa), to(#5180fc));
  background: -webkit-linear-gradient(top, #09b0fa 20%, #5180fc 100%);
  background: -o-linear-gradient(top, #09b0fa 20%, #5180fc 100%);
  background: linear-gradient(to bottom, #09b0fa 20%, #5180fc 100%);
}

#footer::after {
  background: #004dff;
}

html, body {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(47%, #038cf7), to(#0a35df));
  background: -webkit-linear-gradient(top, #038cf7 47%, #0a35df 100%);
  background: -o-linear-gradient(top, #038cf7 47%, #0a35df 100%);
  background: linear-gradient(to bottom, #038cf7 47%, #0a35df 100%);
}

.bg-area {
  background-image: url(../_img/bg.png);
  background-color: linear-gradient(to bottom, #038cf7 47%, #0a35df 100%);
  background-repeat: repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 16em);
  z-index: -5;
  width: 1920px;
  margin: 0 auto;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
}

@media (max-width: 1000px) {
  .bg-area {
    width: 192vw;
  }
}

.bg-area img {
  width: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}

/*===================*/
/* MAIN PAGE CONTENT */
img {
  max-width: 100%;
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
}

/*==============*/
/* PAGE CONTENT */
section {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 1.4em auto;
}

section p {
  font-size: .45em;
  line-height: 1.35;
  margin: 0 auto .75em;
  text-align: center;
  text-align-last: center;
}

.warn-text {
  width: 100%;
  text-align: center;
  font-size: 0.35em;
  font-weight: bold;
  color: #111;
  margin: 0;
}

#banner {
  display: block;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-top: 1.8em;
  margin-top: 0;
  margin-bottom: 0;
}

#banner h1 {
  margin-top: 2.2em;
  margin-bottom: 0;
}

#banner h1 img {
  -webkit-filter: drop-shadow(0 -4px 6px #fff);
  filter: drop-shadow(0 -4px 6px #fff);
}

#Slider {
  margin-top: 0;
}

#Slider .slick-slide div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#Slider .slick-arrow {
  width: 39px;
  height: 110px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  -webkit-transition: -webkit-filter 0.2s;
  transition: -webkit-filter 0.2s;
  -o-transition: filter 0.2s;
  transition: filter 0.2s;
  transition: filter 0.2s, -webkit-filter 0.2s;
}

#Slider .slick-arrow:hover {
  -webkit-filter: brightness(1.2);
  filter: brightness(1.2);
}

#Slider .slick-arrow.slick-prev {
  background-image: url(../_img/arr-left.png);
  left: -58px;
}

#Slider .slick-arrow.slick-next {
  background-image: url(../_img/arr-right.png);
  right: -58px;
}

@media (max-width: 1000px) {
  #Slider .slick-arrow {
    width: 4vw;
    height: 13vw;
  }
  #Slider .slick-arrow.slick-prev {
    left: -5vw;
  }
  #Slider .slick-arrow.slick-next {
    right: -5vw;
  }
}

.border {
  position: relative;
  z-index: 0;
  font-weight: 700;
  text-align: center;
  width: 96%;
  max-width: 956px;
  min-height: 3.6em;
  margin: .5em auto;
  color: #fff;
  border: .5em solid #89e0ff;
  -webkit-border-image: url("../_img/frame02.png") 45 90 fill/0.75em 1.5em round;
  -o-border-image: url("../_img/frame02.png") 45 90 fill/0.75em 1.5em round;
  border-image: url("../_img/frame02.png") 45 90 fill/0.75em 1.5em round;
  background-color: transparent;
}

@media (max-width: 1000px) {
  .border {
    width: 96vw;
    border-width: 3.5vw;
    -webkit-border-image: url(../_img/frame02.png) 45 90 fill/4vw 10vw round;
    -o-border-image: url(../_img/frame02.png) 45 90 fill/4vw 10vw round;
    border-image: url(../_img/frame02.png) 45 90 fill/4vw 10vw round;
  }
}

.border h2 {
  width: 40%;
  position: absolute;
  margin: -0.8em auto 0 auto;
  left: 0;
  right: 0;
  z-index: 2;
}

.border .has-border {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 3px solid #29abe2;
  position: relative;
  z-index: 1;
}

@media (max-width: 1000px) {
  .border .has-border {
    border-width: 2px;
  }
}

.text-outline {
  color: inherit;
  text-shadow: 0 0 currentColor, 0 0 currentColor, 0 2px #0036a8, 0 -2px #0036a8, 2px 0 #0036a8, -2px 0 #0036a8, 1.4px 1.4px #0036a8, -1.4px 1.4px #0036a8, 1.4px -1.4px #0036a8, -1.4px -1.4px #0036a8;
  -webkit-filter: drop-shadow(0.03em 0em 0.01em #0036a8) drop-shadow(0em -0.03em 0.01em #0036a8) drop-shadow(-0.03em 0em 0.01em #0036a8) drop-shadow(0em 0.06em 0.01em #0036a8) drop-shadow(0.03em 0em 0.01em #0036a8);
  filter: drop-shadow(0.03em 0em 0.01em #0036a8) drop-shadow(0em -0.03em 0.01em #0036a8) drop-shadow(-0.03em 0em 0.01em #0036a8) drop-shadow(0em 0.06em 0.01em #0036a8) drop-shadow(0.03em 0em 0.01em #0036a8);
}

.text-outline b {
  color: #feff6b;
  text-shadow: 0 2px #32353c, 0 -2px #32353c, 2px 0 #32353c, -2px 0 #32353c, 1.4px 1.4px #32353c, -1.4px 1.4px #32353c, 1.4px -1.4px #32353c, -1.4px -1.4px #32353c;
  -webkit-filter: drop-shadow(0.03em 0em 0.01em #32353c) drop-shadow(0em -0.03em 0.01em #32353c) drop-shadow(-0.03em 0em 0.01em #32353c) drop-shadow(0em 0.06em 0.01em #32353c) drop-shadow(0.03em 0em 0.01em #32353c);
  filter: drop-shadow(0.03em 0em 0.01em #32353c) drop-shadow(0em -0.03em 0.01em #32353c) drop-shadow(-0.03em 0em 0.01em #32353c) drop-shadow(0em 0.06em 0.01em #32353c) drop-shadow(0.03em 0em 0.01em #32353c);
}

a {
  color: inherit;
}

:visited {
  color: inherit;
}

.text-hilight {
  color: #fff226;
}

.text-center {
  text-align: center;
}

#content-area {
  position: relative;
  left: 50%;
  -webkit-transform: translate(-50%);
  -ms-transform: translate(-50%);
  transform: translate(-50%);
  width: 100vw;
  max-width: 1000px;
}

/*==============*/
/* MODAL STYLES */
@media (max-height: 720px) {
  .modal {
    font-size: 6vmin;
  }
}

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1000;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.modal.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.modal .mask {
  position: fixed;
  top: -50vh;
  left: -50vw;
  bottom: -50vh;
  right: -50vw;
  background: rgba(0, 0, 0, 0.75);
}

@supports ((-webkit-backdrop-filter: blur(0.1rem)) or (backdrop-filter: blur(0.1rem))) {
  .modal .mask {
    -webkit-backdrop-filter: blur(0.15rem);
    backdrop-filter: blur(0.15rem);
    background: rgba(8, 8, 8, 0.8);
    -webkit-transition: -webkit-backdrop-filter .5s ease-out;
    transition: -webkit-backdrop-filter .5s ease-out;
    -o-transition: backdrop-filter .5s ease-out;
    transition: backdrop-filter .5s ease-out;
    transition: backdrop-filter .5s ease-out, -webkit-backdrop-filter .5s ease-out;
  }
}

.modal .btn-close {
  font: inherit;
  font-size: .8em;
  font-weight: 700;
  display: block;
  position: absolute;
  z-index: 2;
  right: -.65em;
  top: -2.3em;
  width: 2em;
  height: 2em;
  border: none;
  border-radius: 100%;
  color: transparent;
  background: url(../_img/btn-close.png) center/66.66667% auto no-repeat;
  overflow: hidden;
  outline: none;
  cursor: pointer;
  -webkit-transition: -webkit-filter .2s;
  transition: -webkit-filter .2s;
  -o-transition: filter .2s;
  transition: filter .2s;
  transition: filter .2s, -webkit-filter .2s;
}

.modal .btn-close:hover, .modal .btn-close:focus, .modal .btn-close:active {
  -webkit-filter: brightness(1.1) drop-shadow(0 0.1em 0.05em rgba(24, 8, 24, 0.5));
  filter: brightness(1.1) drop-shadow(0 0.1em 0.05em rgba(24, 8, 24, 0.5));
}

.modal-overflow {
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  max-height: 100vh;
  scrollbar-width: none;
}

.modal-overflow::-webkit-scrollbar {
  width: 0px;
}

.modal-window {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 90%;
  max-width: 14em;
  min-height: 4em;
  margin: 1.5em auto .5em;
  line-height: 1.4;
}

.modal-window p {
  font-size: smaller;
  color: #444;
  margin: .75em auto .35em;
}

.modal-content {
  padding: .75em 0;
}

/* ==================== */
/* JS ANIMATION CLASSES */
.fade-up {
  -webkit-transform: scale(0.5);
  -ms-transform: scale(0.5);
  transform: scale(0.5);
  opacity: 0;
  -webkit-transition: opacity 1.6s, -webkit-transform 1s;
  transition: opacity 1.6s, -webkit-transform 1s;
  -o-transition: opacity 1.6s, transform 1s;
  transition: opacity 1.6s, transform 1s;
  transition: opacity 1.6s, transform 1s, -webkit-transform 1s;
}

.fade-up.faded {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  opacity: 1;
}

.fade-down {
  -webkit-transform: translateY(-100px) scale(1.1);
  -ms-transform: translateY(-100px) scale(1.1);
  transform: translateY(-100px) scale(1.1);
  opacity: 0;
  -webkit-transition: opacity 1.6s, -webkit-transform 1s;
  transition: opacity 1.6s, -webkit-transform 1s;
  -o-transition: opacity 1.6s, transform 1s;
  transition: opacity 1.6s, transform 1s;
  transition: opacity 1.6s, transform 1s, -webkit-transform 1s;
}

.fade-down.faded {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  opacity: 1;
}

.bg-area .fade-up {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

/*=====================*/
/* KEYFRAMES AND MEDIA */
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes glow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes glow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes pop {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes pop {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
  }
  to {
    opacity: 1;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
}

@keyframes fade {
  0% {
    opacity: 0;
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
  }
  to {
    opacity: 1;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
}

@-webkit-keyframes blink {
  0% {
    background-position: top;
  }
  50% {
    background-position: bottom;
  }
}

@keyframes blink {
  0% {
    background-position: top;
  }
  50% {
    background-position: bottom;
  }
}

@media (max-width: 420px) {
  .text-outline, .text-outline b {
    -webkit-filter: none;
    filter: none;
  }
  #event p, #teach p, .subtitle {
    font-size: 14px;
  }
  #rules ol {
    font-size: 15px;
  }
  .modal-window {
    font-size: 1.16666em;
    max-width: 96%;
  }
}

/*# sourceMappingURL=main.css.map */