@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-ms-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
html {
  scroll-behavior: smooth;
}

body {
  font-family: setofont;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  background-color: #f8e8d8;
}
@media (min-width: 576px) {
  body {
    font-size: 20px;
  }
}

.contentContainer {
  margin-right: auto;
  margin-left: auto;
  max-width: 1230px;
}
@media (max-width: 1280px) {
  .contentContainer {
    max-width: 1280px;
  }
}

.contentContainer_Homepage {
  margin-right: auto;
  margin-left: auto;
  max-width: 1000px;
}
@media (min-width: 1400px) {
  .contentContainer_Homepage {
    max-width: 1280px;
  }
}

.hkfwsLogo_homepage {
  background: #fcd9be;
  margin-bottom: 5px;
}
@media (min-width: 576px) {
  .hkfwsLogo_homepage {
    background: none;
    margin-bottom: auto;
  }
}
.hkfwsLogo_homepage img {
  padding: 5px;
  max-width: 35%;
}
@media (min-width: 576px) {
  .hkfwsLogo_homepage img {
    padding-top: 20px;
    max-width: 60%;
  }
}

.hkfwsLogo_innerpage {
  background: #fcd9be;
  margin-bottom: 5px;
}
@media (min-width: 576px) {
  .hkfwsLogo_innerpage {
    background: none;
  }
}
.hkfwsLogo_innerpage img {
  padding: 5px;
}
.slogan_homepage {
  text-align: center;
  margin: 20px auto -250px auto;
  position: relative;
  z-index: 1;
}
@media (min-width: 576px) {
  .slogan_homepage {
    margin: 25px auto -150px auto;
  }
}
@media (min-width: 992px) {
  .slogan_homepage {
    margin: 25px auto -220px auto;
  }
}
.slogan_homepage .slogan_img {
  max-width: 85%;
}
@media (min-width: 576px) {
  .slogan_homepage .slogan_img {
    max-width: 40%;
  }
}
.slogan_homepage .entry_img {
  margin-top: 30px;
  max-width: 60%;
}
@media (min-width: 576px) {
  .slogan_homepage .entry_img {
    max-width: 20%;
  }
}

#content {
  position: relative;
}

@media (max-width: 576px) {
  #page {
    min-height: 85vh;
  }
  #content {
    min-height: 35vh;
  }
  #index-family {
    position: absolute;
    bottom: 0px;
  }
  .desktopMenu {
    display: none;
  }
}
@media (max-width: 970px) {
  .desktopHeader .icon_callAction {
    padding-left: 0;
    padding-right: 0;
  }
  .desktopHeader .icon_program {
    padding-left: 0;
    padding-right: 0;
  }
}

.desktopMenu {
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .desktopMenu {
    margin-bottom: 0;
  }
}

@media (min-width: 576px) {
  .mobileMenu {
    padding-top: 20px;
  }
}

.headerIconBar div {
  padding: 0;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: relative;
  display: inline-block;
  width: 100%;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  z-index: 10000;
}

/* Links inside the dropdown */
.dropdown-content a {
  color: black;
  padding: 5px 0px 0px;
  text-decoration: none;
  display: block;
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

@media (min-width: 950px) and (max-width: 1280px) {
  .carouselContainer {
    max-width: 80%;
    margin: auto;
  }
}
.modal-dialog-centered {
  width: 100%;
}

.messenger .modal-content {
  border: none;
  background: #fff7da;
  overflow: hidden;
}
.messenger .modal-title {
  text-align: center;
  font-size: 21px;
  color: #ffffff;
  background: #f7c154;
  padding: 14px 10px;
  font-weight: bolder;
  text-shadow: 1px 1px 3px #e09400;
  font-family: setofont !important;
}
.messenger ul.reply-options {
  display: block;
  /* width: 100%; */
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
  padding: 20px 30px;
}
.messenger ul.reply-options li {
  background-color: #ffffff;
  /* box-shadow: 0px 3px 5px #0000002e; */
  border: 2px solid #ffc558;
  color: #8f5823;
  font-size: 17px;
  border-radius: 20px;
  padding: 10px 30px;
  margin-bottom: 16px;
  font-family: setofont !important;
  cursor: pointer;
}
.messenger .modal-input {
  padding: 20px 30px;
}
.messenger .phone {
  position: relative;
  width: 100%;
  max-width: 530px;
}
@media (min-width: 768px) {
  .messenger .phone {
    width: 430px;
  }
}
.messenger .phone .bg-image-box {
  display: none;
  position: relative;
  z-index: 10;
  pointer-events: none;
}
@media (min-width: 576px) {
  .messenger .phone .bg-image-box {
    display: block;
  }
}
.messenger .phone .phone-screen {
  position: relative;
  width: 100%;
  padding-bottom: 150%;
  margin-top: 47%;
}
@media (min-width: 576px) {
  .messenger .phone .phone-screen {
    margin-top: 0;
    position: absolute;
    top: 6%;
    padding-bottom: 115.3%;
  }
}
.messenger .phone .phone-screen .container {
  position: absolute;
  height: 100%;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 576px) {
  .messenger .phone .phone-screen .container {
    padding-left: 3.6%;
    padding-right: 4.3%;
  }
}
.messenger .phone .phone-screen .container > div {
  background: #ffffff;
  width: 100%;
}
.messenger .phone .phone-screen .container .im-header {
  background: #A6DBF1;
  z-index: 1;
  padding: 17px 13px;
}
.messenger .phone .phone-screen .container .im-content {
  overflow: auto;
}
.messenger .phone .phone-screen .container .im-content .bubble-box {
  font-family: setofont;
  font-size: 1rem;
  margin: 10px auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-animation: fadeIn ease 2s;
  -o-animation: fadeIn ease 2s;
  animation: fadeIn ease 2s;
}
.messenger .phone .phone-screen .container .im-content .bubble-box .bubble {
  border-radius: 13px;
  padding: 10px 15px;
  background: #f7c154;
  max-width: 70%;
  display: inline-block;
  text-align: inherit;
  position: relative;
}
.messenger .phone .phone-screen .container .im-content .bubble-box .time {
  color: #e2a874;
  font-size: 10px;
  width: 100%;
  order: 2;
}
.messenger .phone .phone-screen .container .im-content .bubble-box.bubble-user {
  text-align: right;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.messenger .phone .phone-screen .container .im-content .bubble-box.bubble-user .bubble {
  background: #81e2e2;
  text-align: left;
}
.messenger .phone .phone-screen .container .im-content .bubble-box.bubble-user .bubble:before {
  content: "";
  display: block;
  background-image: url("../images/user-arrow.png");
  background-size: 100%;
  background-repeat: no-repeat;
  width: 10px;
  height: 20px;
  position: absolute;
  right: -9px;
}
.messenger .phone .phone-screen .container .im-content .bubble-box.bubble-user .time {
  color: #50a3b4;
}
.messenger .phone .phone-screen .container .im-content .bubble-box.bubble-user:before {
  content: " ";
  width: 44px;
  height: 44px;
  display: inline-block;
  background-image: url("../images/user-avatar.png");
  background-size: contain;
  float: right;
  margin-left: 12px;
  order: 1;
}
.messenger .phone .phone-screen .container .im-content .bubble-box.bubble-sys .bubble:before {
  content: "";
  display: block;
  background-image: url("../images/sys-arrow.png");
  background-size: 100%;
  background-repeat: no-repeat;
  width: 10px;
  height: 20px;
  position: absolute;
  left: -9px;
}
.messenger .phone .phone-screen .container .im-content .bubble-box.bubble-sys:before {
  content: " ";
  width: 44px;
  height: 44px;
  display: inline-block;
  background-image: url("../images/sys-avatar.png");
  background-size: contain;
  float: left;
  margin-right: 12px;
  order: 0;
}
.messenger .reply-bar {
  background: #EFEFEF;
  height: 55px;
  margin: 0 -15px;
  padding: 4px 0;
}
.messenger .reply-bar .fake-field {
  background: #FFF;
  border-radius: 14px;
  height: calc(100% - 10px);
  margin: 4px;
  padding: 4px 20px;
  font-size: 22px;
  color: #474747;
  text-decoration: none;
}
.messenger .reply-bar .fake-send-btn {
  width: 35px;
  height: calc(100% - 10px);
  margin: 5px 0;
  border-radius: 100%;
  background: #f9a457;
}
.messenger p {
  margin-bottom: 0;
}

.emoji {
  background-image: url("../images/bottle.png");
  background-size: 100% 100%;
  padding: 20px;
}
@media (min-width: 576px) {
  .emoji {
    padding: 50px;
  }
}
.emoji .stage canvas {
  cursor: pointer;
}
.emoji .container_emojis {
  padding-left: 28px;
  padding-right: 28px;
}
@media (min-width: 576px) {
  .emoji .container_emojis {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (min-width: 768px) {
  .emoji .emoji-modal .modal-dialog {
    max-width: 720px;
  }
}
.emoji .emoji-modal .modal-content {
  background-size: 100% 100%;
  background-repeat: repeat;
  background-position-x: -10px;
  padding: 10px;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.4);
  border: none;
  border-radius: 10px;
  max-width: calc(100vw - 15px);
}
@media (min-width: 768px) {
  .emoji .emoji-modal .modal-content {
    padding: 30px;
    padding-bottom: 60px;
    height: 400px;
  }
}
.emoji .emoji-modal .character {
  width: 115px;
}
@media (min-width: 450px) {
  .emoji .emoji-modal .character {
    width: 200px;
  }
}
.emoji .emoji-modal .btn-emoji-close {
  background-color: #69539C;
  width: 50px;
  padding: 8px;
  margin-bottom: 10px;
  border-radius: 100%;
}
@media (min-width: 768px) {
  .emoji .emoji-modal .btn-emoji-close {
    margin: -10px;
  }
}
.emoji .emoji-modal .emoji-dialog {
  width: 100%;
  max-width: 550px;
}
@media (min-width: 768px) {
  .emoji .emoji-modal .emoji-dialog {
    height: 180px;
  }
}
.emoji .emoji-modal .emoji-dialog .dialog-text {
  color: #494344;
  font-family: setofont;
  background: url(../images/talking-box.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 20px 35px 55px 20px;
}
.emoji .emoji-modal .emoji-dialog .dialog-action {
  font-family: setofont;
  text-align: right;
  margin-top: 15px;
}
@media (min-width: 768px) {
  .emoji .emoji-modal .emoji-dialog .dialog-action {
    margin-top: 0;
  }
}
.emoji .emoji-modal .emoji-dialog .dialog-action a {
  display: inline-block;
  color: #F15A29;
  padding: 3px 15px;
  border-bottom: 1px solid;
  text-decoration: none;
}

.magic-stick {
  cursor: pointer;
}
.magic-stick .mobile-star-dialog {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10;
  height: 150px;
}
.magic-stick .mobile-star-dialog .inner-text {
  position: relative;
  visibility: hidden;
  display: none;
  transition: 0.3s;
  z-index: 1;
  color: #FFF;
  padding: 15px;
  border-radius: 10px;
  text-shadow: 0px 0px 5px rgba(51, 51, 51, 0.2);
  text-align: center;
  font-family: setofont;
  font-weight: bold;
  font-size: 16px;
}
.magic-stick .mobile-star-dialog .inner-text.show {
  display: block;
  visibility: visible;
  z-index: 10;
  opacity: 1;
}
.magic-stick .mobile-star-dialog .inner-text.step-1 {
  background-color: #ea3f3f;
}
.magic-stick .mobile-star-dialog .inner-text.step-2 {
  background-color: #f9995a;
}
.magic-stick .mobile-star-dialog .inner-text.step-3 {
  background-color: #ffdd00;
}
.magic-stick .mobile-star-dialog .inner-text.step-4 {
  background-color: #8cc63f;
}
.magic-stick .mobile-star-dialog .inner-text.step-5 {
  background-color: #03af64;
}
.magic-stick .mobile-star-dialog .inner-text.step-6 {
  background-color: #62d4f7;
}
.magic-stick .mobile-star-dialog .inner-text.step-7 {
  background-color: #a967aa;
}
@media (min-width: 768px) {
  .magic-stick .mobile-star-dialog {
    display: none;
  }
}
.magic-stick .main {
  margin: 15% -30%;
  margin-bottom: 30%;
  transform: rotate(-45deg);
  transition: 500ms;
}
@media (min-width: 768px) {
  .magic-stick .main {
    margin: auto;
    transform: rotate(0);
  }
}
.magic-stick .main .wrap {
  padding-bottom: 64.1%;
  position: relative;
}
.magic-stick .main .wrap .magic-stick-back {
  position: absolute;
  height: 100%;
  width: 20%;
  z-index: 3;
}
.magic-stick .main .wrap .magic-stick-image {
  position: absolute;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url("../images/magic-stick/09.png");
  transition: background-image 100ms ease-in-out;
}
.magic-stick .main .wrap .magic-stick-image:focus {
  outline: none;
}
.magic-stick .main .wrap .magic-stick-image.step-0 {
  background-image: url("../images/magic-stick/01.png");
}
.magic-stick .main .wrap .magic-stick-image.step-1 {
  background-image: url("../images/magic-stick/02.png");
}
.magic-stick .main .wrap .magic-stick-image.step-2 {
  background-image: url("../images/magic-stick/03.png");
}
.magic-stick .main .wrap .magic-stick-image.step-3 {
  background-image: url("../images/magic-stick/04.png");
}
.magic-stick .main .wrap .magic-stick-image.step-4 {
  background-image: url("../images/magic-stick/05.png");
}
.magic-stick .main .wrap .magic-stick-image.step-5 {
  background-image: url("../images/magic-stick/06.png");
}
.magic-stick .main .wrap .magic-stick-image.step-6 {
  background-image: url("../images/magic-stick/07.png");
}
.magic-stick .main .wrap .magic-stick-image.step-7 {
  background-image: url("../images/magic-stick/08.png");
  animation: magic-stick-flashing 0.3s;
  animation-direction: normal;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
}
.magic-stick .main .wrap .stars {
  height: 100%;
  width: 100%;
  position: absolute;
}
.magic-stick .main .wrap .stars:focus {
  outline: none;
}
.magic-stick .main .wrap .stars .star-dialog {
  display: none;
  font-family: setofont;
  font-size: 16px;
  font-weight: bold;
  text-shadow: 0px 0px 5px rgba(51, 51, 51, 0.2);
  text-align: center;
}
@media (min-width: 768px) {
  .magic-stick .main .wrap .stars .star-dialog {
    display: block;
    visibility: hidden;
    background-size: 100% 100%;
    padding: 30px;
    padding-bottom: 60px;
    transform: translate(-50%, -100%) scale(0);
    position: absolute;
    top: 0;
    color: #FFF;
    transition: 300ms;
    opacity: 0;
    z-index: 15;
    max-width: 400px;
    width: 400px;
    line-height: 1.3;
  }
  .magic-stick .main .wrap .stars .star-dialog.show {
    margin-left: 0px;
    transform: translate(-50%, -100%) scale(1.1);
    opacity: 1;
    visibility: visible;
  }
}
.magic-stick .main .wrap .stars .star-btn {
  user-select: none;
  display: inline-block;
  width: 3.15%;
  position: absolute;
  z-index: 10;
  transition: transform 0.2s;
  transform: translate(-50%, -50%);
}
.magic-stick .main .wrap .stars .star-btn > img {
  opacity: 0.4;
  transition: 0.2s;
  transition-delay: 0.3s;
}
.magic-stick .main .wrap .stars .star-btn > img.enlarge {
  transform: scale(1.3);
}
.magic-stick .main .wrap .stars .star-btn.active > img {
  opacity: 1;
}
.magic-stick .main .wrap .stars .star-btn.step-1 {
  top: 67.4%;
  left: 7.6%;
}
.magic-stick .main .wrap .stars .star-btn.step-1 .star-dialog {
  background-image: url(../images/magic-stick/mt-bubble-1.png);
}
.magic-stick .main .wrap .stars .star-btn.step-2 {
  left: 21.9%;
  top: 90.2%;
}
.magic-stick .main .wrap .stars .star-btn.step-2 .star-dialog {
  background-image: url(../images/magic-stick/mt-bubble-2.png);
  top: auto;
  bottom: 0;
  padding-bottom: auto;
  padding-top: 70px;
  transform: translate(-50%, 100%) scale(0);
}
.magic-stick .main .wrap .stars .star-btn.step-2 .star-dialog.show {
  transform: translate(-50%, 100%) scale(1);
}
.magic-stick .main .wrap .stars .star-btn.step-3 {
  left: 23.6%;
  top: 53.9%;
}
.magic-stick .main .wrap .stars .star-btn.step-3 .star-dialog {
  background-image: url(../images/magic-stick/mt-bubble-3.png);
}
.magic-stick .main .wrap .stars .star-btn.step-4 {
  left: 40%;
  top: 79.1%;
}
.magic-stick .main .wrap .stars .star-btn.step-4 .star-dialog {
  background-image: url(../images/magic-stick/mt-bubble-4.png);
  top: auto;
  bottom: 0;
  padding-bottom: auto;
  padding-top: 70px;
  transform: translate(-50%, 100%) scale(0);
}
.magic-stick .main .wrap .stars .star-btn.step-4 .star-dialog.show {
  transform: translate(-50%, 100%) scale(1);
}
.magic-stick .main .wrap .stars .star-btn.step-5 {
  left: 33.6%;
  top: 44.8%;
}
.magic-stick .main .wrap .stars .star-btn.step-5 .star-dialog {
  background-image: url(../images/magic-stick/mt-bubble-5.png);
}
.magic-stick .main .wrap .stars .star-btn.step-6 {
  left: 46.7%;
  top: 33.3%;
}
.magic-stick .main .wrap .stars .star-btn.step-6 .star-dialog {
  background-image: url(../images/magic-stick/mt-bubble-6.png);
}
.magic-stick .main .wrap .stars .star-btn.step-7 {
  top: 70.2%;
  left: 55.3%;
}
.magic-stick .main .wrap .stars .star-btn.step-7 .star-dialog {
  background-image: url(../images/magic-stick/mt-bubble-7.png);
  top: auto;
  bottom: 0;
  padding-bottom: auto;
  padding-top: 70px;
  transform: translate(-50%, 100%) scale(0);
}
.magic-stick .main .wrap .stars .star-btn.step-7 .star-dialog.show {
  transform: translate(-50%, 100%) scale(1);
}
.magic-stick .sparkles-large {
  pointer-events: none;
  width: 53%;
  transform: translate(-50%, -50%);
  position: absolute;
  left: 33%;
  top: 50%;
}
.magic-stick .sparkles-large:focus {
  outline: none;
}
.magic-stick .sparkles-large img {
  width: 100%;
}
.magic-stick .sparkles-large img:focus {
  outline: none;
}

.magic-stick-sparkle {
  position: absolute;
  animation-name: sparkle-drop;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
.magic-stick-sparkle img {
  width: 100%;
}

@keyframes sparkle-drop {
  0% {
    opacity: 0.7;
    transform: translateY(0px) scale(1);
  }
  5% {
    opacity: 1;
  }
  30% {
    opacity: 0.5;
    transform: translateY(4.4145px) scale(0.925);
  }
  35% {
    opacity: 1;
  }
  60% {
    opacity: 0.3;
    transform: translateY(17.658px) scale(0.85);
  }
  65% {
    opacity: 0.3;
  }
  85% {
    opacity: 0.8;
    transform: translateY(35.438625px) scale(0.7875);
  }
  100% {
    opacity: 0;
    transform: translateY(49.05px) scale(0.75);
  }
}
@keyframes magic-stick-flashing {
  0% {
    background-image: url("../images/magic-stick/08.png");
  }
  100% {
    background-image: url("../images/magic-stick/09.png");
  }
}
.emotion-infos .main-list {
  padding-top: 15px;
  padding-bottom: 15px;
}
.emotion-infos .main-list > .row {
  margin: 15px 0;
}
.emotion-infos .meter-wrap {
  touch-action: manipulation;
  position: relative;
  padding: 4%;
}
.emotion-infos .meter-wrap .meter-fill {
  position: relative;
}
.emotion-infos .meter-wrap .meter-fill .meter-fill-limit {
  padding-top: 23.2%;
  background: url("../images/fever-meter-fill.png") no-repeat center left;
  background-size: auto 100%;
  width: 0;
}
.emotion-infos .meter-wrap .meter-bg {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}
.emotion-infos .meter-wrap .meter-emoji {
  position: absolute;
  left: 5%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 21%;
  transition: 0.2s;
}
.emotion-infos .meter-wrap .meter-emoji img {
  transition: 3s;
  transform: scale(1);
}
.emotion-infos .meter-wrap .meter-emoji img.enlarged {
  transition: 0.8s;
  transform: scale(2);
}
.emotion-infos .meter-wrap .meter-emoji.high img {
  transition: 1s;
}
.emotion-infos .meter-wrap .meter-emoji.high img.enlarged {
  transform: scale(1.8);
}
.emotion-infos .meter-wrap img {
  width: 100%;
  user-select: none;
}
@media (min-width: 768px) {
  .emotion-infos .fever-modal .modal-dialog {
    max-width: 720px;
  }
}
.emotion-infos .fever-modal .modal-content {
  background-image: url(../images/fever-dialog-bg.png);
  background-size: 100% 100%;
  background-repeat: repeat;
  background-position-x: -10px;
  padding: 10px;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.4);
  border: none;
  border-radius: 10px;
  max-width: calc(100vw - 15px);
}
@media (min-width: 768px) {
  .emotion-infos .fever-modal .modal-content {
    padding: 30px;
    padding-bottom: 60px;
    height: 400px;
  }
}
.emotion-infos .fever-modal .character {
  width: 115px;
}
.emotion-infos .fever-modal .character img {
  width: 100%;
}
@media (min-width: 450px) {
  .emotion-infos .fever-modal .character {
    width: 200px;
  }
}
.emotion-infos .fever-modal .btn-emoji-close {
  background-color: #69539C;
  width: 50px;
  padding: 8px;
  margin-bottom: 10px;
  border-radius: 100%;
}
@media (min-width: 768px) {
  .emotion-infos .fever-modal .btn-emoji-close {
    margin: -10px;
  }
}
.emotion-infos .fever-modal .emoji-dialog {
  width: 100%;
  padding: 20px 10px 35px 10px;
}
@media (min-width: 768px) {
  .emotion-infos .fever-modal .emoji-dialog {
    height: 100%;
  }
}
.emotion-infos .fever-modal .emoji-dialog .dialog-text {
  color: #494344;
  font-family: setofont;
  overflow: auto;
  min-height: 235px;
  font-size: 18px;
  padding: 0;
}
.emotion-infos .fever-modal .emoji-dialog .dialog-action {
  text-align: right;
  margin-top: 15px;
  font-family: setofont;
}
@media (min-width: 768px) {
  .emotion-infos .fever-modal .emoji-dialog .dialog-action {
    margin-top: 0;
  }
}
.emotion-infos .fever-modal .emoji-dialog .dialog-action a {
  display: inline-block;
  color: #F15A29;
  padding: 3px 15px;
  border-bottom: 1px solid;
  text-decoration: none;
}

.letter-section {
  position: relative;
}
.letter-section .letter-paper {
  max-width: 750px;
  /* background-image: url(../images/letter-paper.png); */
  background-size: 100%;
  background-repeat: no-repeat;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 5px 40px rgba(0, 0, 0, 0.1) inset;
  position: relative;
  z-index: 20;
  margin-bottom: 50px;
  padding-bottom: 20px;
}
.letter-section .letter-paper .letter-paper-bg-padding {
  padding-top: 10px;
}
.letter-section .letter-paper .letter-paper-bird {
  position: absolute;
  width: 12%;
  transform: translate(-50%, -50%);
  top: 0%;
  left: 3%;
}
.letter-section .letter-paper .letter-paper-bird img {
  width: 100%;
  transform: translate(0, 0) rotate(0);
  transition: 0.3s;
}
.letter-section .letter-paper .letter-content {
  width: 100%;
  height: 100%;
  font-size: 16px;
}
@media (min-width: 576px) {
  .letter-section .letter-paper .letter-content {
    font-size: 22px;
  }
}
.letter-section .letter-paper .letter-content .flex-questions {
  flex-grow: 2;
  padding-bottom: 10px;
}
.letter-section .letter-paper .letter-content .submit-button {
  color: #FFF;
  background-color: hsl(2, 70%, 56%);
  padding: 5px 20px;
  border-radius: 10px;
}
.letter-section .letter-paper .letter-content .letter-row {
  margin: 10px 0;
}
.letter-section .letter-paper .letter-content .letter-row .prepend-text {
  text-align: right;
}
.letter-section .letter-paper .letter-content .letter-row .dropdown button.btn {
  background-color: #BEADE7;
  border: none;
  border-radius: 10px;
  position: relative;
}
.letter-section .letter-paper .letter-content .letter-row .dropdown button.btn:hover {
  background-color: #b77dff;
}
.letter-section .letter-paper .letter-content .letter-row .dropdown .dropdown-menu, .letter-section .letter-paper .letter-content .letter-row .dropdown button.btn {
  width: 100%;
}
.letter-section .letter-paper .letter-content .letter-row .dropdown .show {
  height: 125px;
  width: 180%;
  overflow-y: scroll;
  left: -9px !important;
}
@media (min-width: 576px) {
  .letter-section .letter-paper .letter-content .letter-row .dropdown .show {
    width: 100%;
    left: 0 !important;
  }
}
.letter-section .letter-paper .letter-content .letter-row .dropdown-toggle::after {
  content: ">";
  border: none;
  vertical-align: top;
  transform: rotate(90deg);
  position: absolute;
  right: 4%;
}
.letter-section .envelope {
  width: 100%;
  /* left: 50%; */
  top: 150%;
  max-width: 900px;
  position: relative;
  margin: auto;
  transform: scale(1);
  transition: 0.3s;
}
.letter-section .envelope img {
  width: 100%;
  height: 100%;
}
.letter-section .envelope .envelope-front, .letter-section .envelope .envelope-back, .letter-section .envelope .envelope-top {
  position: absolute;
  top: -10px;
  left: -60px;
  right: -60px;
  bottom: -20px;
  margin: auto;
  transition: 0.5s;
  pointer-events: none;
  opacity: 0;
}
@media (min-width: 576px) {
  .letter-section .envelope .envelope-front, .letter-section .envelope .envelope-back, .letter-section .envelope .envelope-top {
    top: 0;
    left: 0;
    right: 0;
    bottom: unset;
  }
}
.letter-section .envelope .envelope-back {
  z-index: 1;
}
.letter-section .envelope .envelope-front {
  z-index: 30;
}
.letter-section .envelope .envelope-top {
  z-index: 10;
}
.letter-section .envelope .envelope-top img {
  transition: 0.5s;
  transform: rotate3d(1, 0, 0, 180deg);
  transform-origin: top;
}
.letter-section .envelope.closed {
  transform: scale(0.7);
}
.letter-section .envelope.show .envelope-front, .letter-section .envelope.show .envelope-back, .letter-section .envelope.show .envelope-top {
  opacity: 1;
}
.letter-section .envelope.closed.send {
  animation-name: send-letter;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.7, 0.04, 1, 1);
}
.letter-section .envelope .envelope-top.on-top {
  z-index: 50;
}
.letter-section .envelope .envelope-top.closed img {
  transform: rotate3d(1, 0, 0, 0deg);
}
.letter-section .envelope .letter-paper-bird.closed img {
  transform: translate(50%, 50%) rotate(30deg);
}
.letter-section .letter-buttons {
  position: absolute;
  transform: translate(-50%, -50%) scale(0);
  visibility: hidden;
  left: 50%;
  top: 50%;
  z-index: 80;
  background: rgba(255, 255, 255, 0.85);
  padding: 5px 20px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  border-radius: 25px;
  transition: 0.3s;
}
.letter-section .letter-buttons.show {
  transform: translate(-50%, -50%) scale(1);
  visibility: visible;
}
.letter-section .letter-buttons > div {
  display: inline-block;
}
.letter-section .letter-buttons a {
  font-size: 55px;
  display: inline-block;
  line-height: 0;
  transition: 0.3s;
}
.letter-section .letter-buttons a.ok-btn {
  color: #3ee3c4;
}
.letter-section .letter-buttons a.cancel-btn {
  color: #777777;
}
.letter-section .letter-buttons a.undo-btn {
  visibility: hidden;
  opacity: 0;
  color: #3ee3c4;
}
.letter-section .letter-buttons.done a.undo-btn {
  opacity: 1;
  visibility: visible;
}
.letter-section .letter-buttons.done a.cancel-btn, .letter-section .letter-buttons.done a.ok-btn {
  opacity: 0;
  visibility: hidden;
}

@keyframes send-letter {
  0% {
    transform: scale(0.7) translateX(0);
  }
  40% {
    transform: scale(0.7) translateX(-15%);
  }
  100% {
    transform: scale(0.7) translateX(200vw);
  }
}
.event-section {
  position: relative;
  margin-bottom: 100px;
}
.event-section .eventCharacter {
  position: absolute;
  left: -335px;
  bottom: 0px;
  z-index: 10;
}
.event-section .eventCharacter img {
  max-height: 450px;
  transform: scaleX(-1);
}
.event-section .event-box {
  max-width: 1000px;
  margin-left: auto;
  position: relative;
}
.event-section .event-bg-padding {
  padding-top: 163.6%;
}
@media (min-width: 768px) {
  .event-section .event-bg-padding {
    padding-top: 85%;
  }
}
.event-section .event-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/frameLong.png");
  background-size: 100% 100%;
  pointer-events: none;
}
@media (min-width: 768px) {
  .event-section .event-frame {
    background-image: url("../images/event-frame.png");
  }
}
.event-section .event-padding-box {
  padding: 6% 8%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.event-section .event-padding-box .event-wrap {
  overflow: auto;
  height: 100%;
}
.event-section .category-list {
  z-index: 10;
  position: absolute;
  padding: 3.2% 7%;
  top: -40px;
  left: 0;
  right: 0;
  width: 290px;
  margin: auto;
}
@media (min-width: 768px) {
  .event-section .category-list {
    top: 0;
    width: 100%;
    right: auto;
    margin: 0;
  }
}
.event-section .category-list .category-dropdown {
  margin-top: 90px;
  font-size: 1.4rem;
}
.event-section .category-list .mobile-dropdown {
  visibility: hidden;
  display: block;
  width: 100%;
}
.event-section .category-list .mobile-dropdown .category-plate {
  display: block;
}
.event-section .category-list.expand .mobile-dropdown {
  visibility: visible;
}
@media (min-width: 768px) {
  .event-section .category-list.expand .mobile-dropdown {
    visibility: hidden;
  }
}
.event-section .category-list ul {
  padding-left: 0;
  list-style: none;
}
.event-section .category-list ul li {
  display: inline-block;
  padding-left: 3px;
  padding-right: 3px;
  transition: 0.6s;
  transition-property: transform;
}
@media (min-width: 768px) {
  .event-section .category-list ul li:nth-child(1) {
    transform: rotate(8deg);
  }
  .event-section .category-list ul li:nth-child(1):hover .category-plate {
    transform: rotate(-7deg);
  }
  .event-section .category-list ul li:nth-child(2) {
    transform: rotate(-5deg);
  }
  .event-section .category-list ul li:nth-child(2):hover .category-plate {
    transform: rotate(6deg);
  }
  .event-section .category-list ul li:nth-child(3) {
    transform: rotate(6deg);
  }
  .event-section .category-list ul li:nth-child(3):hover .category-plate {
    transform: rotate(-7deg);
  }
  .event-section .category-list ul li:nth-child(4) {
    transform: rotate(-7deg);
  }
  .event-section .category-list ul li:nth-child(4):hover .category-plate {
    transform: rotate(8deg);
  }
}
.event-section .category-list ul li .category-plate {
  display: none;
  transform-origin: top;
  background-image: url("../images/event-category-plate.png");
  background-size: 100%;
  background-repeat: no-repeat;
  position: relative;
  transition: 0.6s transform;
}
@media (min-width: 768px) {
  .event-section .category-list ul li .category-plate {
    display: block;
  }
}
.event-section .category-list ul li .category-plate.active {
  display: block;
  background-image: url("../images/event-category-plate-active.png");
}
.event-section .category-list ul li .category-plate .padding-box {
  padding-top: 72%;
}
.event-section .category-list ul li .category-plate .category-label-outer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 14% 13% 11% 9%;
}
.event-section .category-list ul li .category-plate .category-label-outer .inner-text {
  text-align: center;
  color: #FFF;
  font-size: 24px;
}
.event-section .record-list {
  background-image: url("../images/event-bg.png");
  background-size: 100%;
  background-repeat: repeat-y;
  padding: 0 8%;
  overflow: hidden;
  min-height: 100%;
  padding-top: calc(17% + 50px);
}
@media (min-width: 768px) {
  .event-section .record-list {
    padding-top: 17%;
  }
}
.event-section .record-list .event-record {
  background: #FFF;
  font-family: setofont;
  font-size: 14px;
  margin-bottom: 8%;
  padding: 5% 4%;
  border-radius: 13px;
  width: 100%;
}
.event-section .record-list .event-record td {
  min-width: 66px;
}
@media (min-width: 576px) {
  .event-section .record-list .event-record {
    font-size: 16px;
  }
}
.event-section .record-list .event-record .event-title {
  color: #B65D43;
  font-size: 22px;
  font-weight: bold;
}
@media (min-width: 576px) {
  .event-section .record-list .event-record .event-title {
    font-size: 28px;
  }
}
.event-section .record-list .event-record .event-image {
  width: 100%;
  max-width: 500px;
  padding: 15px 0;
}
@media (min-width: 768px) {
  .event-section .record-list .event-record .event-image {
    width: 40%;
    max-width: none;
    padding-left: 15px;
    float: right;
  }
}

.link-section {
  position: relative;
  margin-bottom: 150px;
}
@media (min-width: 577px) {
  .link-section {
    margin-bottom: 150px;
  }
}
.link-section #link-modal .modal-dialog .modal-content {
  min-height: 70vh;
}
@media (min-width: 768px) {
  .link-section #link-modal .modal-dialog {
    max-width: 90%;
  }
}
.link-section #link-modal .modal-dialog .youtube-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.link-section #link-modal .modal-dialog .youtube-container iframe, .link-section #link-modal .modal-dialog .youtube-container object, .link-section #link-modal .modal-dialog .youtube-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.link-section .link-box {
  max-width: 1000px;
  margin: auto;
  position: relative;
  background-image: url("../images/linkPaperLong.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .link-section .link-box {
    background-image: url("../images/link-bg.png");
    background-size: 100% 100%;
  }
}
.link-section .link-bg-padding {
  padding-top: 200%;
}
@media (min-width: 768px) {
  .link-section .link-bg-padding {
    padding-top: 59%;
  }
}
.link-section .link-padding-box {
  padding: 6% 8%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.link-section .link-padding-box .link-wrap {
  height: 100%;
}
.link-section .category-list {
  position: absolute;
  width: 91%;
  left: 4%;
  right: auto;
}
@media (min-width: 768px) {
  .link-section .category-list {
    padding: 0;
  }
}
.link-section .category-list .rotateText {
  display: inline-block;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  /* Internet Explorer */
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
.link-section .category-list .mobile-dropdown {
  visibility: hidden;
  display: block;
  width: 100%;
}
.link-section .category-list .mobile-dropdown .category-plate {
  display: block;
}
.link-section .category-list.expand .mobile-dropdown {
  visibility: visible;
}
@media (min-width: 768px) {
  .link-section .category-list.expand .mobile-dropdown {
    visibility: hidden;
  }
}
.link-section .category-list ul {
  justify-content: center;
  padding-left: 0;
  list-style: none;
}
.link-section .category-list ul li {
  display: inline-block;
}
.link-section .category-list ul li .category-plate {
  display: none;
  background: #d26856;
  position: relative;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  text-align: center;
  color: #FFF;
  font-size: 24px;
  padding: 6px;
  z-index: 10;
}
@media (min-width: 768px) {
  .link-section .category-list ul li .category-plate {
    display: block;
  }
}
.link-section .category-list ul li .category-plate.active {
  display: block;
}
@media (min-width: 768px) {
  .link-section .category-list ul li .category-plate.active {
    border-bottom-color: rgba(255, 255, 255, 0.8);
  }
}
.link-section .category-list ul li .category-plate.n-0 {
  background: hsl(9, 80%, 65%);
}
.link-section .category-list ul li .category-plate.n-1 {
  background: hsl(183, 57%, 50%);
}
.link-section .category-list ul li .category-plate.n-2 {
  background: hsl(338, 100%, 83%);
}
.link-section .record-list {
  padding: 0 5%;
  overflow: auto;
  height: 100%;
  padding-top: calc(5% + 60px);
}
@media (min-width: 768px) {
  .link-section .record-list {
    padding-top: 7%;
  }
}
.link-section .record-list .link-record {
  font-size: 18px;
  padding: 5% 4% 1% 4%;
  border-radius: 13px;
  overflow: auto;
  width: 100%;
}
.link-section .record-list .link-record .preview {
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #FFF;
  padding-top: 61%;
  border: 3px solid #754C29;
}
.link-section .record-list .link-record .link-title {
  color: #413a37;
  font-size: 17px;
  padding-top: 7px;
  text-align: center;
}

.loading-indicator {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transition: 0.5s;
  transform: scale(1);
  opacity: 1;
  pointer-events: none;
}
.loading-indicator.hidden {
  opacity: 0;
  transform: scale(0);
}
.loading-indicator .spinner-border {
  color: #777;
  width: 3rem;
  height: 3rem;
}

#button {
  display: inline-block;
  background-color: #7e88ec;
  width: 40px;
  height: 40px;
  text-align: center;
  border-radius: 4px;
  margin: 50px 0 0px 0;
  position: fixed;
  bottom: 54px;
  right: 10px;
  transition: background-color 0.3s;
  z-index: 1000;
  transform: rotate(-90deg);
}

#button:hover {
  cursor: pointer;
  background-color: #979eec;
}

#button:active {
  background-color: #979eec;
}

#button::after {
  content: ">";
  font-family: setofont;
  font-weight: normal;
  font-style: normal;
  font-size: 2em;
  line-height: 36px;
  color: #fff;
}

@media (min-width: 768px) {
  #button {
    width: 50px;
    height: 50px;
    bottom: 0px;
  }
  #button::after {
    content: ">";
    line-height: 44px;
    color: #fff;
  }
}

/*# sourceMappingURL=style.css.map */
