@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}

body {
  line-height: 1;
  background: #fff;
}

article, aside, details, figcaption, figure,
footer, header, menu, nav, section, main {
  display: block;
}

/* change colours to suit your needs */
/* change colours to suit your needs */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
input, select {
  vertical-align: middle;
}

/*!
 * OverlayScrollbars
 * https://github.com/KingSora/OverlayScrollbars
 *
 * Version: 1.6.2
 *
 * Copyright KingSora.
 * https://github.com/KingSora
 *
 * Released under the MIT license.
 * Date: 16.01.2019
 */
/*
OVERLAY SCROLLBARS CORE:
*/
html.os-html,
html.os-html > .os-host {
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  height: 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  position: absolute !important;
  /* could be position: fixed; but it causes issues on iOS (-webkit-overflow-scrolling: touch) */
}

html.os-html > .os-host > .os-padding {
  position: absolute;
  /* could be position: fixed; but it causes issues on iOS (-webkit-overflow-scrolling: touch) */
}

body.os-dragging,
body.os-dragging * {
  cursor: default;
}

.os-host,
.os-host-textarea {
  position: relative;
  overflow: visible !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -ms-grid-row-align: flex-start;
  align-items: flex-start;
}

.os-host-flexbox {
  overflow: hidden !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.os-host-flexbox > .os-size-auto-observer {
  height: inherit !important;
}

.os-host-flexbox > .os-content-glue {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.os-host-flexbox > .os-size-auto-observer,
.os-host-flexbox > .os-content-glue {
  min-height: 0;
  min-width: 0;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
}

#os-dummy-scrollbar-size {
  position: fixed;
  opacity: 0;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
  visibility: hidden;
  overflow: scroll;
  height: 500px;
  width: 500px;
}

#os-dummy-scrollbar-size > div {
  width: 200%;
  height: 200%;
  margin: 10px 0;
}

#os-dummy-scrollbar-size,
.os-viewport {
  -ms-overflow-style: scrollbar !important;
}

.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar,
.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar,
.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner,
.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner {
  display: none !important;
  width: 0px !important;
  height: 0px !important;
  visibility: hidden !important;
  background: transparent !important;
}

.os-content-glue {
  box-sizing: inherit;
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.os-padding {
  box-sizing: inherit;
  direction: inherit;
  position: absolute;
  overflow: visible;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 1;
}

.os-host-overflow > .os-padding {
  overflow: hidden;
}

.os-viewport {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  outline: none !important;
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.os-content-arrange {
  position: absolute;
  z-index: -1;
  min-height: 1px;
  min-width: 1px;
  pointer-events: none;
}

.os-content {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%;
  width: 100%;
  height: 100%;
  width: 100%;
  visibility: visible;
}

.os-content > .os-textarea {
  box-sizing: border-box !important;
  direction: inherit !important;
  background: transparent !important;
  outline: 0px none transparent !important;
  overflow: hidden !important;
  position: absolute !important;
  display: block !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  border-radius: 0px !important;
  float: none !important;
  -webkit-filter: none !important;
  filter: none !important;
  border: none !important;
  resize: none !important;
  -webkit-transform: none !important;
  transform: none !important;
  max-width: none !important;
  max-height: none !important;
  box-shadow: none !important;
  -webkit-perspective: none !important;
  perspective: none !important;
  opacity: 1 !important;
  z-index: 1 !important;
  clip: auto !important;
  vertical-align: baseline !important;
  padding: 0px;
}

.os-host-rtl > .os-padding > .os-viewport > .os-content > .os-textarea {
  right: 0 !important;
}

.os-content > .os-textarea-cover {
  z-index: -1;
  pointer-events: none;
}

.os-content > .os-textarea[wrap='off'] {
  white-space: pre !important;
  margin: 0px !important;
}

.os-text-inherit {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  font-variant: inherit;
  text-transform: inherit;
  text-decoration: inherit;
  text-indent: inherit;
  text-align: inherit;
  text-shadow: inherit;
  text-overflow: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
  line-height: inherit;
  unicode-bidi: inherit;
  direction: inherit;
  color: inherit;
  cursor: text;
}

.os-resize-observer,
.os-resize-observer-host {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.os-resize-observer-host {
  padding: inherit;
  border: inherit;
  border-color: transparent;
  border-style: solid;
  box-sizing: border-box;
}

.os-resize-observer-host:after {
  content: '';
}

.os-resize-observer-host > .os-resize-observer,
.os-resize-observer-host:after {
  height: 200%;
  width: 200%;
  padding: inherit;
  border: inherit;
  margin: 0px;
  display: block;
  box-sizing: content-box;
}

.os-resize-observer.observed,
object.os-resize-observer {
  box-sizing: border-box !important;
}

.os-size-auto-observer {
  box-sizing: inherit !important;
  height: 100%;
  width: inherit;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  -webkit-box-flex: inherit;
  -ms-flex-positive: inherit;
  flex-grow: inherit;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
}

.os-size-auto-observer > .os-resize-observer {
  width: 1000%;
  height: 1000%;
  min-height: 1px;
  min-width: 1px;
}

.os-resize-observer-item {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
  opacity: 0;
  direction: ltr !important;
  -webkit-box-flex: 0 !important;
  -ms-flex: none !important;
  flex: none !important;
}

.os-resize-observer-item-final {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-box-flex: 0 !important;
  -ms-flex: none !important;
  flex: none !important;
}

.os-resize-observer {
  -webkit-animation-duration: 0.001s;
  animation-duration: 0.001s;
  -webkit-animation-name: hs-resize-observer-dummy-animation;
  animation-name: hs-resize-observer-dummy-animation;
}

/*
CUSTOM SCROLLBARS AND CORNER CORE:
*/
.os-host-transition > .os-scrollbar,
.os-host-transition > .os-scrollbar-corner {
  -webkit-transition: opacity 0.3s, visibility 0.3s, top 0.3s, right 0.3s, bottom 0.3s, left 0.3s;
  transition: opacity 0.3s, visibility 0.3s, top 0.3s, right 0.3s, bottom 0.3s, left 0.3s;
}

html.os-html > .os-host > .os-scrollbar {
  position: absolute;
  /* could be position: fixed; but it causes issues on iOS (-webkit-overflow-scrolling: touch) */
  z-index: 999999;
  /* highest z-index of the page */
}

.os-scrollbar,
.os-scrollbar-corner {
  position: absolute;
  opacity: 1;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
  z-index: 1;
}

.os-scrollbar-corner {
  bottom: 0;
  right: 0;
}

.os-scrollbar {
  pointer-events: none;
}

.os-scrollbar-track {
  pointer-events: auto;
  position: relative;
  height: 100%;
  width: 100%;
  padding: 0 !important;
  border: none !important;
}

.os-scrollbar-handle {
  pointer-events: auto;
  position: absolute;
  width: 100%;
  height: 100%;
}

.os-scrollbar-handle-off,
.os-scrollbar-track-off {
  pointer-events: none;
}

.os-scrollbar.os-scrollbar-unusable,
.os-scrollbar.os-scrollbar-unusable * {
  pointer-events: none !important;
}

.os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle {
  opacity: 0 !important;
}

.os-scrollbar-horizontal {
  bottom: 0;
  left: 0;
}

.os-scrollbar-vertical {
  top: 0;
  right: 0;
}

.os-host-rtl > .os-scrollbar-horizontal {
  right: 0;
}

.os-host-rtl > .os-scrollbar-vertical {
  right: auto;
  left: 0;
}

.os-host-rtl > .os-scrollbar-corner {
  right: auto;
  left: 0;
}

.os-scrollbar-auto-hidden,
.os-padding + .os-scrollbar-corner,
.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden > .os-scrollbar-corner,
.os-host-scrollbar-horizontal-hidden > .os-scrollbar-horizontal,
.os-host-resize-disabled.os-host-scrollbar-vertical-hidden > .os-scrollbar-corner,
.os-host-scrollbar-vertical-hidden > .os-scrollbar-vertical,
.os-scrollbar-horizontal.os-scrollbar-auto-hidden + .os-scrollbar-vertical + .os-scrollbar-corner,
.os-scrollbar-horizontal + .os-scrollbar-vertical.os-scrollbar-auto-hidden + .os-scrollbar-corner,
.os-scrollbar-horizontal.os-scrollbar-auto-hidden + .os-scrollbar-vertical.os-scrollbar-auto-hidden + .os-scrollbar-corner {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.os-scrollbar-corner-resize-both {
  cursor: nwse-resize;
}

.os-host-rtl > .os-scrollbar-corner-resize-both {
  cursor: nesw-resize;
}

.os-scrollbar-corner-resize-horizontal {
  cursor: ew-resize;
}

.os-scrollbar-corner-resize-vertical {
  cursor: ns-resize;
}

.os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize {
  cursor: default;
}

.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden > .os-scrollbar-vertical {
  top: 0;
  bottom: 0;
}

.os-host-resize-disabled.os-host-scrollbar-vertical-hidden > .os-scrollbar-horizontal,
.os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden > .os-scrollbar-horizontal {
  right: 0;
  left: 0;
}

.os-scrollbar:hover,
.os-scrollbar-corner.os-scrollbar-corner-resize {
  opacity: 1 !important;
  visibility: visible !important;
}

.os-scrollbar-corner.os-scrollbar-corner-resize {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB3aWR0aD0iMTAiICAgaGVpZ2h0PSIxMCIgICB2ZXJzaW9uPSIxLjEiPiAgPGcgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwNDIuMzYyMikiICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eTowLjQ5NDExNzY1O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDcuNDI0MjE4NywxMDQyLjM2MjIgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjYgLTEuMzEwMTU2MiwxLjMxMDIgMCwwLjI5OSAwLjEwNDM0MTksMC41NzEgMC4yNzI5NDkyLDAuNzkxNSAwLjIwOTEwMjQsMC4xNDEzIDAuNDY1NjIwNiwwLjIxODQgMC43MzY5NjI5LDAuMjE4NCAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NiAxLjMxMDE1NjMsLTEuMzEwMiAwLC0wLjI3MTMgLTAuMDc3MDkzLC0wLjUyNzggLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0MSwtMC4xNjg2IC0wLjQ5MjU0NDMsLTAuMjcyOSAtMC43OTE1NTI4LC0wLjI3MjkgeiBtIDAsMy4wODQzIGMgLTAuNzIzNTc5MiwwIC0xLjMxMDE1NjIsMC41ODY2IC0xLjMxMDE1NjIsMS4zMTAyIDAsMC4yOTkgMC4xMDQzNDE5LDAuNTcxIDAuMjcyOTQ5MiwwLjc5MTUgMC4yMDkxMDI0LDAuMTQxMyAwLjQ2NTYyMDYsMC4yMTg0IDAuNzM2OTYyOSwwLjIxODQgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjYgMS4zMTAxNTYzLC0xLjMxMDIgMCwtMC4yNzEzIC0wLjA3NzA5MywtMC41Mjc4IC0wLjIxODM1OTQsLTAuNzM2OSAtMC4yMjA0OTQxLC0wLjE2ODYgLTAuNDkyNTQ0MywtMC4yNzMgLTAuNzkxNTUyOCwtMC4yNzMgeiBtIC0zLjA4NDMyNjEsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NiAtMS4zMTAxNTYzLDEuMzEwMiAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MSAwLjI3Mjk0OTIsMC43OTE1IDAuMjA5MTAyNCwwLjE0MTMgMC40NjU2MjA3LDAuMjE4NCAwLjczNjk2MjksMC4yMTg0IDAuNzIzNTc5MywwIDEuMzEwMTU2MywtMC41ODY2IDEuMzEwMTU2MywtMS4zMTAyIDAsLTAuMjcxMyAtMC4wNzcwOTMsLTAuNTI3OCAtMC4yMTgzNTk0LC0wLjczNjkgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzMgLTAuNzkxNTUyNywtMC4yNzMgeiBtIC0zLjAyOTczNjQsMy4wMjk4IEMgMC41ODY1NzY5MywxMDQ4LjQ3NjMgMCwxMDQ5LjA2MjggMCwxMDQ5Ljc4NjQgYyAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyMiwwLjc5MTYgMC4yMDkxMDIyOSwwLjE0MTIgMC40NjU2MjA2NSwwLjIxODMgMC43MzY5NjI4OCwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHogbSAzLjAyOTczNjQsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NSAtMS4zMTAxNTYzLDEuMzEwMSAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyLDAuNzkxNiAwLjIwOTEwMjQsMC4xNDEyIDAuNDY1NjIwNywwLjIxODMgMC43MzY5NjI5LDAuMjE4MyAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NSAxLjMxMDE1NjMsLTEuMzEwMSAwLC0wLjI3MTQgLTAuMDc3MDkzLC0wLjUyNzkgLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzI5IC0wLjc5MTU1MjcsLTAuMjcyOSB6IG0gMy4wODQzMjYxLDAgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjUgLTEuMzEwMTU2MiwxLjMxMDEgMCwwLjI5OSAwLjEwNDM0MTksMC41NzExIDAuMjcyOTQ5MiwwLjc5MTYgMC4yMDkxMDI0LDAuMTQxMiAwLjQ2NTYyMDYsMC4yMTgzIDAuNzM2OTYyOSwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHoiLz4gIDwvZz4gIDxnICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDguMjE1NzcxNSwwLjI3Mjk0OTIyIGMgMC4xNDEyNjY3LDAuMjA5MTAyMjkgMC4yMTgzNTk0LDAuNDY1NjIwNjUgMC4yMTgzNTk0LDAuNzM2OTYyODggMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDc2IC0wLjIwNTUxNzYsLTAuNzk3Nzk2NTkgLTAuNTE4NjAzNSwtMS4wMzcyMDY5OCB6IG0gMCwzLjA4NDMyNjE4IGMgMC4xNDEyNjY3LDAuMjA5MTAyMyAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MiAtMS4zMTAxNTYzLDEuMzEwMTU2MiAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTkzIDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAtMy4wODQzMjYyLDAgYyAwLjE0MTI2NjcsMC4yMDkxMDIzIDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYyIC0xLjMxMDE1NjMsMS4zMTAxNTYyIC0wLjI3MTM0MjIsMCAtMC41Mjc4NjA1LC0wLjA3NzA5MyAtMC43MzY5NjI5LC0wLjIxODM1OTMgMC4yMzk0MTA0LDAuMzEzMDg1OSAwLjYxMjYzNjMsMC41MTg2MDM1IDEuMDM3MjA3MSwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYyLC0wLjU4NjU3NyAxLjMxMDE1NjIsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NSwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogTSAyLjEwMTcwOSw2LjM4NzAxMTcgYyAwLjE0MTI2NjcsMC4yMDkxMDI0IDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYzIC0xLjMxMDE1NjMsMS4zMTAxNTYzIC0wLjI3MTM0MjIzLDAgLTAuNTI3ODYwNTksLTAuMDc3MDkzIC0wLjczNjk2Mjg4LC0wLjIxODM1OTQgMC4yMzk0MTAzOSwwLjMxMzA4NTkgMC42MTI2MzYyMiwwLjUxODYwMzUgMS4wMzcyMDY5OCwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAzLjAyOTczNjMsMCBjIDAuMTQxMjY2NywwLjIwOTEwMjQgMC4yMTgzNTk0LDAuNDY1NjIwNiAwLjIxODM1OTQsMC43MzY5NjI5IDAsMC43MjM1NzkzIC0wLjU4NjU3NywxLjMxMDE1NjMgLTEuMzEwMTU2MywxLjMxMDE1NjMgLTAuMjcxMzQyMiwwIC0wLjUyNzg2MDUsLTAuMDc3MDkzIC0wLjczNjk2MjksLTAuMjE4MzU5NCAwLjIzOTQxMDQsMC4zMTMwODU5IDAuNjEyNjM2MywwLjUxODYwMzUgMS4wMzcyMDcxLDAuNTE4NjAzNSAwLjcyMzU3OTMsMCAxLjMxMDE1NjIsLTAuNTg2NTc3IDEuMzEwMTU2MiwtMS4zMTAxNTYzIDAsLTAuNDI0NTcwOCAtMC4yMDU1MTc1LC0wLjc5Nzc5NjYgLTAuNTE4NjAzNSwtMS4wMzcyMDcgeiBtIDMuMDg0MzI2MiwwIGMgMC4xNDEyNjY3LDAuMjA5MTAyNCAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHoiIC8+ICA8L2c+PC9zdmc+);
  background-repeat: no-repeat;
  background-position: 100% 100%;
  pointer-events: auto !important;
}

.os-host-rtl > .os-scrollbar-corner.os-scrollbar-corner-resize {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.os-host-overflow {
  overflow: hidden !important;
}

@-webkit-keyframes hs-resize-observer-dummy-animation {
  from {
    z-index: 0;
  }
  to {
    z-index: -1;
  }
}

@keyframes hs-resize-observer-dummy-animation {
  from {
    z-index: 0;
  }
  to {
    z-index: -1;
  }
}

/*
THEMES:
*/
/* NONE THEME: */
.os-theme-none > .os-scrollbar-horizontal,
.os-theme-none > .os-scrollbar-vertical,
.os-theme-none > .os-scrollbar-corner {
  display: none !important;
}

.os-theme-none > .os-scrollbar-corner-resize {
  display: block !important;
  min-width: 10px;
  min-height: 10px;
}

/* DARK & LIGHT THEME: */
.os-theme-dark > .os-scrollbar-horizontal,
.os-theme-light > .os-scrollbar-horizontal {
  right: 10px;
  height: 10px;
}

.os-theme-dark > .os-scrollbar-vertical,
.os-theme-light > .os-scrollbar-vertical {
  bottom: 10px;
  width: 10px;
}

.os-theme-dark.os-host-rtl > .os-scrollbar-horizontal,
.os-theme-light.os-host-rtl > .os-scrollbar-horizontal {
  left: 10px;
  right: 0;
}

.os-theme-dark > .os-scrollbar-corner,
.os-theme-light > .os-scrollbar-corner {
  height: 10px;
  width: 10px;
}

.os-theme-dark > .os-scrollbar-corner,
.os-theme-light > .os-scrollbar-corner {
  background-color: transparent;
}

.os-theme-dark > .os-scrollbar,
.os-theme-light > .os-scrollbar {
  padding: 2px;
  box-sizing: border-box;
  background: transparent;
}

.os-theme-dark > .os-scrollbar.os-scrollbar-unusable,
.os-theme-light > .os-scrollbar.os-scrollbar-unusable {
  background: transparent;
}

.os-theme-dark > .os-scrollbar > .os-scrollbar-track,
.os-theme-light > .os-scrollbar > .os-scrollbar-track {
  background: transparent;
}

.os-theme-dark > .os-scrollbar-horizontal > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light > .os-scrollbar-horizontal > .os-scrollbar-track > .os-scrollbar-handle {
  min-width: 30px;
}

.os-theme-dark > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle {
  min-height: 30px;
}

.os-theme-dark.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-dark > .os-scrollbar > .os-scrollbar-track,
.os-theme-light > .os-scrollbar > .os-scrollbar-track {
  border-radius: 10px;
}

.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
  background: rgba(0, 0, 0, 0.4);
}

.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
  background: rgba(35, 24, 21, 0.8);
}

.os-theme-dark > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle {
  background: rgba(0, 0, 0, 0.55);
}

.os-theme-light > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle {
  background: rgba(255, 255, 255, 0.55);
}

.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active {
  background: rgba(0, 0, 0, 0.7);
}

.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active {
  background: rgba(255, 255, 255, 0.7);
}

.os-theme-dark > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-dark > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-vertical .os-scrollbar-handle:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
}

.os-theme-dark.os-host-scrollbar-horizontal-hidden > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-dark.os-host-scrollbar-vertical-hidden > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-theme-light.os-host-scrollbar-horizontal-hidden > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-light.os-host-scrollbar-vertical-hidden > .os-scrollbar-vertical .os-scrollbar-handle:before {
  display: none;
}

.os-theme-dark > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-horizontal .os-scrollbar-handle:before {
  top: -6px;
  bottom: -2px;
}

.os-theme-dark > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-vertical .os-scrollbar-handle:before {
  left: -6px;
  right: -2px;
}

.os-host-rtl.os-theme-dark > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-host-rtl.os-theme-light > .os-scrollbar-vertical .os-scrollbar-handle:before {
  right: -6px;
  left: -2px;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: normal;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes up {
  from {
    transform: translateY(10px);
  }
  to {
    transform: translateY(0px);
  }
}

html {
  width: 100%;
}

body {
  width: 100%;
  font-size: 18px;
  font-family: "Kosugi Maru", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #231815;
  -webkit-text-size-adjust: 100%;
  background: #f9548b;
  -webkit-user-select: none;
  touch-action: none;
}

@media all and (-ms-high-contrast: none) {
  body {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  }
}

@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}

header, nav, section, article, main, footer {
  display: block;
}

a {
  color: #f9548b;
  -webkit-tap-highlight-color: rgba(148, 86, 225, 0.3);
  text-decoration: none;
}

a img {
  border-style: none;
}

a.btn {
  display: block;
  cursor: pointer;
  color: #fff;
}

a.btn.normal {
  width: 144px;
  height: 48px;
  border-radius: 9px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin: 0 12px 0 0;
  transition: 0.3s;
}

a.btn.normal span {
  display: block;
  margin: 0 0 0 12px;
}

a.btn.normal:after {
  content: '';
  display: block;
  width: 8px;
  height: 14px;
  background: url(../images/common/arrow_white.svg) center center/100% 100% no-repeat;
  margin: 0 12px 0 0;
}

a.btn.normal:hover {
  margin-top: -4px;
}

a.btn.next {
  background: #231815;
}

a.btn.next span {
  width: 60px;
  height: 18px;
}

a.btn.next.shadow {
  box-shadow: 0px 1px 4px 0px rgba(35, 24, 21, 0.36);
}

a.btn.replay, a.btn.close {
  background: #059fff;
}

a.btn.replay.shadow {
  box-shadow: 0px 1px 4px 0px rgba(5, 159, 255, 0.36);
}

a.btn.close {
  background: #231815;
}

a.btn.to_menu {
  background: #231815;
}

a.btn.to_menu.shadow {
  box-shadow: 0px 1px 4px 0px rgba(35, 24, 21, 0.36);
}

a.btn.menu {
  width: 183px;
  background: #231815;
}

a.btn.menu.shadow {
  box-shadow: 0px 1px 4px 0px rgba(35, 24, 21, 0.36);
}

a.btn.miss_only {
  display: none;
  background: #33d02f;
}

a.btn.miss_only.on {
  display: flex;
}

a.btn.miss_only.shadow {
  box-shadow: 0px 1px 4px 0px rgba(51, 208, 47, 0.36);
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul.disc {
  list-style-type: disc;
  padding-left: 16px;
}

ol {
  padding-left: 16px;
}

img.alignleft {
  float: left;
  margin: 0 12px 12px 0;
}

img.alignright {
  float: right;
  margin: 0 0 12px 12px;
}

img.aligncenter {
  display: block;
  margin: 0 auto;
}

em {
  color: #ff863d;
  font-style: normal;
}

strong {
  color: #ff863d;
}

p {
  margin: 0 0 18px;
}

p:last-of-type {
  margin: 0;
}

input,
button,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
  font-family: "Kosugi Maru", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.number {
  font-family: "Comfortaa";
}

#app_container {
  width: 100%;
  height: 100vh;
  background: #f9548b;
  min-width: 1024px;
  min-height: 620px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#app_inner {
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  min-width: 1000px;
  min-height: 596px;
  box-sizing: border-box;
  border: 3px solid #231815;
  border-radius: 18px;
  position: relative;
  background: #fff87f;
  overflow: visible;
}

#common_ui {
  width: calc(100% + 6px);
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transform: translate(-3px, -3px);
  position: relative;
  z-index: 100;
}

#common_ui .user_name {
  font-size: 16px;
  margin-right: 20px;
}

#common_ui .user_name span {
  font-size: 12px;
  margin-left: 10px;
}

#common_ui .back.btn {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 48px;
  height: 48px;
  z-index: 100;
  border-radius: 6px;
  background: #231815;
  cursor: pointer;
}

#common_ui .back.btn div {
  width: 15px;
  height: 25px;
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../images/common/arrow_left_white.svg") center center/100% 100% no-repeat;
}

#common_ui .back.btn .label {
  display: block;
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 9px;
}

#stage_info {
  height: 24px;
  display: inline-flex;
  align-items: center;
  border-radius: 6px;
  padding: 0 12px;
  background: #ff863d;
}

#stage_info .stage {
  font-size: 13px;
  color: #fff;
}

#stage_info .progress {
  width: 180px;
  height: 8px;
  position: relative;
  border-radius: 3px;
  background: #fd6436;
  margin-right: 12px;
}

#stage_info .progress .bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 8px;
  width: 100%;
  border-radius: 3px;
  transition: 0.3s;
  background: #fff;
}

#stage_info .percent {
  font-size: 14px;
  color: #fff;
}

#stage_info .percent span {
  font-size: 12px;
}

#stage_info #stage_msg {
  border-radius: 9px;
  width: 100%;
  max-width: 360px;
  min-height: 80px;
  background: url("../images/common/attention_icon.svg") 30px center/10px 35px no-repeat rgba(35, 24, 21, 0.95);
  display: flex;
  align-items: center;
  position: absolute;
  top: 55px;
  right: 64px;
  font-size: 14px;
  color: #fff;
  box-sizing: border-box;
  padding: 12px 12px 12px 70px;
  line-height: 24px;
  visibility: hidden;
  opacity: 0;
  transition: 0.4s;
}

#stage_info #stage_msg::before {
  content: '';
  display: block;
  width: 17px;
  height: 14px;
  background: url("../images/common/baloon_arrow_up_black.svg") center center/100% 100% no-repeat;
  position: absolute;
  top: -14px;
  left: 100px;
  opacity: 0.95;
}

#stage_info:hover #stage_msg, #stage_info.on #stage_msg {
  visibility: visible;
  opacity: 1.0;
}

#menu_btn {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  z-index: 100;
  margin-left: 20px;
  border-radius: 6px;
  background: #231815;
  cursor: pointer;
}

#menu_btn div, #menu_btn:before, #menu_btn:after {
  display: block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  left: 8px;
  width: 32px;
  height: 4px;
  border-radius: 2px;
  background: #fff;
}

#menu_btn:before, #menu_btn:after {
  content: '';
  display: block;
}

#menu_btn:before {
  top: 5px;
}

#menu_btn div {
  top: 15px;
}

#menu_btn:after {
  top: 25px;
}

#menu_btn .label {
  display: block;
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 9px;
}

#menu_btn.on {
  border-radius: 6px 6px 0 0;
}

#menu_btn.on:before {
  transform: translateY(10px) rotate(-45deg);
}

#menu_btn.on div {
  opacity: 0;
}

#menu_btn.on:after {
  transform: translateY(-10px) rotate(45deg);
}

#dropdown_menu {
  position: absolute;
  top: 48px;
  right: 0;
  background: #231815;
  border-radius: 9px 0 9px 9px;
  width: 200px;
  padding: 0 12px;
  box-sizing: border-box;
  box-shadow: 0px 6px 22.56px 1.44px rgba(255, 139, 36, 0.3);
  visibility: hidden;
  opacity: 0;
  transition: 0.4s;
  z-index: 100;
}

#dropdown_menu ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

#dropdown_menu ul li a {
  display: block;
  font-size: 14px;
  padding: 14px 12px;
  color: #fff;
  cursor: pointer;
  transition: 0.4s;
}

#dropdown_menu ul li a:hover {
  background: #33231f;
}

#dropdown_menu.on {
  visibility: visible;
  opacity: 1.0;
}

#wrap {
  width: calc(100% - 72px);
  min-width: 922px;
  max-width: 1200px;
  height: 505px;
  position: absolute;
  top: 85px;
  left: 0;
  right: 0;
  margin: auto;
}

header .logo {
  width: 177px;
  height: 72px;
  position: absolute;
  bottom: 25px;
  right: 25px;
  background: url("../images/common/logo.png") center center/100% auto no-repeat;
  text-indent: 102%;
  white-space: nowrap;
  overflow: hidden;
}

nav {
  width: 508px;
}

nav ul {
  width: 100%;
  position: relative;
}

nav ul li a {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  height: 84px;
  padding: 16px;
  color: #fff;
  font-size: 22px;
  text-decoration: none;
  background: #ff863d;
  border-radius: 9px;
  box-shadow: 0px 6px 10px 1px rgba(255, 135, 62, 0.36);
  transition: 0.3s;
  opacity: 0.65;
}

nav ul li a[href] {
  opacity: 1.0;
}

nav ul li a[href]:hover {
  opacity: 0.9;
}

#change_stage_dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(249, 84, 139, 0.9);
  z-index: 4999;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: 0.6s;
  pointer-events: none;
}

#change_stage_dialog.on {
  visibility: visible;
  opacity: 1.0;
  pointer-events: auto;
}

#change_stage_dialog .dialog {
  width: 540px;
  color: #fff;
  background: #231815;
  border-radius: 9px;
  padding: 24px;
  box-sizing: border-box;
}

#change_stage_dialog .dialog h2 {
  font-size: 20px;
  border-bottom: 1px solid #fff;
  margin: 0 0 18px;
  padding: 0 12px 9px 12px;
}

#change_stage_dialog .dialog .contents_body {
  font-size: 14px;
  padding: 0 12px;
}

#change_stage_dialog .dialog .header {
  display: flex;
  align-items: flex-end;
  border-bottom: 1px solid #fff;
  padding-bottom: 6px;
  font-size: 13px;
}

#change_stage_dialog .dialog .header .stage {
  width: 200px;
}

#change_stage_dialog .dialog .header .exp {
  width: 340px;
}

#change_stage_dialog .dialog #stage_list {
  max-height: 300px;
  padding: 12px 0;
}

#change_stage_dialog .dialog #stage_list .stage {
  width: 200px;
}

#change_stage_dialog .dialog #stage_list .exp {
  width: 340px;
}

#change_stage_dialog .dialog #stage_list.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
  background: #ff863d;
}

#change_stage_dialog .dialog form {
  margin: 24px 0 0;
}

#change_stage_dialog .dialog form label {
  font-size: 15px;
  display: flex;
  align-items: center;
  padding: 8px 0;
}

#change_stage_dialog .dialog form label input[type="radio"] {
  display: none;
}

#change_stage_dialog .dialog form label .label {
  display: flex;
  align-items: center;
  transition: 0.4s;
}

#change_stage_dialog .dialog form label .label .circle {
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 12px;
  margin-right: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#change_stage_dialog .dialog form label .label .circle:after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 6px;
  transition: 0.3s;
}

#change_stage_dialog .dialog form label .label:hover {
  color: #ff863d;
}

#change_stage_dialog .dialog form label input[type="radio"]:checked + .label .circle::after {
  background: #ff863d;
}

#change_stage_dialog .dialog form .note {
  padding: 12px;
  background: #ff4200;
  margin: 12px 0;
}

#change_stage_dialog .dialog form .btn_area {
  display: flex;
  justify-content: center;
  height: 48px;
}

#change_stage_dialog .dialog form .btn_area button,
#change_stage_dialog .dialog form .btn_area a {
  display: block;
  cursor: pointer;
  border-radius: 9px;
  font-size: 18px;
  width: 180px;
  border: none;
}

#change_stage_dialog .dialog form .btn_area button {
  color: #fff;
  background: #f9548b;
  margin-right: 12px;
}

#change_stage_dialog .dialog form .btn_area a {
  color: #231815;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
