@font-face {
  font-family: 'Adventure';
  src: url('/layout/fonts/Adventure.otf') format('opentype');
}

@font-face {
  font-family: 'KOMIKAX_';
  src: url('/layout/fonts/KOMIKAX_.ttf') format('opentype');
}

@media only screen and (max-width: 600px) {
  transform {
    height: 100%
  }
}

html, body {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  
  
}



body {
  background: url('/layout/images/backgroundTexture.png') no-repeat center center fixed;
  background-size: cover;
  z-index: 1;
  font: normal normal normal 12pt 'Adventure';

  position: relative;
}


a {
text-decoration: none;
}

a:hover {
text-decoration: none;
}


#leaves {position:fixed;top:-20px;right:-80px;width:100%;text-align: right;}

#leaves i {
    display: inline-block;
    position: absolute;
    width: 200px;
    height: 150px;
    background: linear-gradient(to bottom right, #309900, #005600);
    transform: skew(20deg);
    border-radius: 5% 40% 70%;
    box-shadow: inset 0px 0px 1px #222;
    border: 1px solid #333;
    z-index: 1;
    -webkit-animation: falling 10s 0s infinite;
}

*#leaves i:nth-of-type(2n) { -webkit-animation: falling2 10s 0s infinite; }
#leaves i:nth-of-type(3n) { -webkit-animation: falling3 10s 0s infinite; }

#leaves i:before {
  position: absolute;
  content: '';
  top: 117px;
  right: 9px;
  height: 27px;
  width: 32px;
  transform: rotate(49deg);
  border-radius: 0% 15% 15% 0%;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  border-left: 0px solid #222;
  border-right: 1px solid #222;
  background: linear-gradient(to right, rgba(0,100,0,1), #005600);
  z-index: 1;
}

#leaves i:after {
  content: '';
  height: 125px;
  width: 10px;
  background: linear-gradient(to right, rgba(0,0,0,.15), rgba(0,0,0,0));
  display: block;
  transform: rotate(125deg);
  position: absolute;
  left: 85px;
  border-radius:50%;
}


#leaves i:nth-of-type(n)    { height:23px; width:30px; }
#leaves i:nth-of-type(n):before { width:7px; height:5px; top:17px; right:1px; }
#leaves i:nth-of-type(n):after { width:2px; height:17px; left: 12px; top:0px; }

#leaves i:nth-of-type(2n+1)    { height:11px; width:16px; }
#leaves i:nth-of-type(2n+1):before { width:4px; height:3px; top:7px; right:0px; }
#leaves i:nth-of-type(2n+1):after { width:2px; height:6px; left: 5px; top:1px; }

#leaves i:nth-of-type(3n+2)  { height:17px; width:23px; }
#leaves i:nth-of-type(3n+2):before  { height:4px; width:4px; top:12px; right:1px; }
#leaves i:nth-of-type(3n+2):after  { height:10px; width:2px; top:1px; left:8px; }

#leaves i:nth-of-type(n)   { -webkit-animation-delay: 1.9s;}
#leaves i:nth-of-type(2n)  { -webkit-animation-delay: 3.9s;}
#leaves i:nth-of-type(3n)  { -webkit-animation-delay: 2.3s;}
#leaves i:nth-of-type(4n)  { -webkit-animation-delay: 4.4s;}
#leaves i:nth-of-type(5n)  { -webkit-animation-delay: 5s;  }
#leaves i:nth-of-type(6n)  { -webkit-animation-delay: 3.5s;}
#leaves i:nth-of-type(7n)  { -webkit-animation-delay: 2.8s;}
#leaves i:nth-of-type(8n)  { -webkit-animation-delay: 1.5s;}
#leaves i:nth-of-type(9n)  { -webkit-animation-delay: 3.3s;}
#leaves i:nth-of-type(10n) { -webkit-animation-delay: 2.5s;}
#leaves i:nth-of-type(11n) { -webkit-animation-delay: 1.2s;}
#leaves i:nth-of-type(12n) { -webkit-animation-delay: 4.1s;}
#leaves i:nth-of-type(13n) { -webkit-animation-delay: 1s;  }
#leaves i:nth-of-type(14n) { -webkit-animation-delay: 4.7s;}
#leaves i:nth-of-type(15n) { -webkit-animation-delay: 3s;  }

#leaves i:nth-of-type(n)    { background: linear-gradient(to bottom right, #309900, #005600); }
#leaves i:nth-of-type(2n+2)  { background: linear-gradient(to bottom right, #5e9900, #2b5600); }
#leaves i:nth-of-type(4n+1)  { background: linear-gradient(to bottom right, #990, #564500); }

#leaves i:nth-of-type(n)    { opacity: .7;}
#leaves i:nth-of-type(3n+1)  { opacity: .5;}
#leaves i:nth-of-type(3n+2)  { opacity: .3;}

#leaves i:nth-of-type(n)    {transform: rotate(180deg);}


#leaves i:nth-of-type(n) { -webkit-animation-timing-function:ease-in-out;}

@-webkit-keyframes falling {
    
    0% {
        -webkit-transform:
            translate3d(300,0,0)
            rotate(0deg);
    }
    
    100% {
        -webkit-transform:
            translate3d(-350px,700px,0)
            rotate(90deg);
        opacity: 0;
    }
}

@-webkit-keyframes falling3 {
     0% {
        -webkit-transform:
            translate3d(0,0,0)
            rotate(-20deg);
    }
    
    100% {
        -webkit-transform:
            translate3d(-230px,640px,0)
            rotate(-70deg);
        opacity: 0;
    }
}

@-webkit-keyframes falling2 {
     0% {
        -webkit-transform:
            translate3d(0,0,0)
            rotate(90deg);
    }
    
    100% {
        -webkit-transform:
            translate3d(-400px,680px,0)
            rotate(0deg);
        opacity: 0;
    }
}



.icon-container {
  position: fixed;
  top: 15%;
  right: 2%;
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 2;
}

.icon {
  cursor: pointer;
}





.loader-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #0000007c;
  
  display:flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.loader {
  display: inline-block;
  width: 80px;
  height: 80px;
  position: relative;
  border: 4px solid #Fff;
  animation: loader 2s infinite ease;
  z-index: 9999;
}

.loader-inner {
  vertical-align: top;
  display: inline-block;
  width: 100%;
  background-color: #fff;
  animation: loader-inner 1s infinite ease-in;
}

@keyframes loader {
  0% { transform: rotate(0deg);}
  25% { transform: rotate(180deg);}
  50% { transform: rotate(180deg);}
  75% { transform: rotate(360deg);}
  100% { transform: rotate(360deg);}
}

@keyframes loader-inner {
  0% { height: 0%;}
  25% { height: 0%;}
  50% { height: 100%;}
  75% { height: 100%;}
  100% { height: 0%;}
}

h1 {
  text-transform: uppercase;
  color: rgb(0, 0, 0);
}

ul, li {
  list-style-type: none;
  margin: 5px;
  padding: 0;
}

table {
  color: rgb(0, 0, 0);
  margin-left: auto;
  margin-right: auto;
}

input[type=text], input[type=password], input[type=email], input[type=tel], textarea {
  font: inherit;
  border-style: solid;
  border-width: 1px;
  border-color: rgba(159, 171, 176, 1);
  background-color: rgba(255, 255, 255, 1);
  color: rgba(0, 0, 0, 1);
  border-radius: 3px;
  padding: 5px;
  box-shadow: none;
  box-sizing: border-box;
}


input.input_username {
  background: url('/layout/images/input_box_username.png') no-repeat center center;
}

input.input_password {
  background: url('/layout/images/input_box_password.png') no-repeat center center;
}

input.character_name {
  background: url('/layout/images/input_box_character_name.png') no-repeat center center;
}


input.input_username,
input.input_password,
textarea {
  background-size: cover;
  height: 49px;
  width: 80%;
  box-sizing: border-box;
  border: none;
  outline: none;
  padding: 7px;
  font: inherit;
  color: rgba(0, 0, 0, 1);
  border-radius: 3px;
  box-shadow: none;
  text-indent: 30px;
}

input.character_name {
  background-size: cover;
  height: auto;
  width: auto;

  border: none;
  outline: none;
  padding: 7px;
  font: inherit;
  font-size: 32;
  color: rgba(0, 0, 0, 1);
  border-radius: 3px;
  box-shadow: none;
  text-align: center;
}

.login_container {
  width: 473px;
  height: 364px;
  margin: 0 auto;
  background-image: url("/layout/images/login_container.png");
  background-size: cover;
}

.content {
  display: flex;
  flex-direction: column;
  align-items: left;
  padding: 70px;
  width: 60%;
  margin: 9% auto 5%;
  min-height: 500px;
  background-image: url('/layout/images/content_fill.png');
  background-repeat: repeat-y;
  background-size: contain;
  padding-top: 80px;
  z-index: 3;
  color: rgb(0, 0, 0);
  text-align: left;
  position: relative;
  box-sizing: border-box;
  flex: 1;
  font-size: 25;  
}

.content::before {
  content: '';
  display: block;
  width: 110%;
  background-image: url('/layout/images/content_top.png');
  background-repeat: no-repeat;
  background-size: contain;
  height: 150px;
  position: absolute;
  top: 0;
  left: -5%;
  transform: translateY(-10px);
}

.content::after {
  content: '';
  display: block;
  width: 100%;
  background-image: url('/layout/images/content_bottom.png');
  background-repeat: no-repeat;
  background-size: contain;
  height: 150px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
}




.footer {
  background: url('/layout/images/background_footer.png') left repeat;
  height: 101px;
  color: white;
  font: normal normal normal 10pt 'Comic Neue';
  margin-top: auto;
  position: relative;
}

#footer_content {
  color: #000000;
  padding-top: 50px;
  text-align: center;
  z-index: 3;
}

.footer:before {
  content: "";
  position: absolute;
  bottom: 50%;
  left: 30%; 
  width: 73px; 
  height: 120px;
  background: url('/layout/images/footer_character.png') no-repeat;
}

.footer:after {
  content: "";
  position: absolute;
  bottom: 10%; 
  right: 25%; 
  width: 285px; 
  height: 150px; 
  background: url('/layout/images/footer_house.png') no-repeat;
}


.navigation {
  position: absolute;
  left: 0;
  top: 31px;
  width: 100%;
  height: 110px;
}

#navigation_bar {
  top: 30px;
  height: 70px;
  left: 5%;
  right: 5%;
  position: fixed;
  background-color: #03142c;
  background-image: url('/layout/images/navi_background.png');
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);
  text-align: center;
  opacity: 1.0;
  transition: opacity 0.5s ease;
  color: rgba(0, 0, 0, 1);
}

#navigation_bar.back-to-top-visible {
  opacity: 0.8;
}

#navigation_bar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 200px;
  height: 100%;
  background-image: url('/layout/images/navi_background_left.png');
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
}

#navigation_bar::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 200px;
  height: 100%;
  background-image: url('/layout/images/navi_background_right.png');
  background-repeat: no-repeat;
  background-position: right;
  background-size: contain;
}

.left-background {
  position: absolute;
  left: -35;
  top: -20;
  width: 100%;
  height: 110px;
  background-image: url('/layout/images/navi_l_scroll.png');
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
}

.right-background {
  position: absolute;
  right: -35;
  top: -20;
  width: 100%;
  height: 110px;
  background-image: url('/layout/images/navi_r_scroll.png');
  background-repeat: no-repeat;
  background-position: right;
  background-size: contain;
}


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

#navigation_bar li {
  margin: 0;
  padding: 0;
}

#navigation_bar a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-align: left;
}

#navigation_bar > ul > li {
  left: 5px;
  top: 23;
  float: left;
  margin-left: 5px;
  position: relative;
}

#navigation_bar > ul > li > a {
  text-decoration: none;
  color: #ffffff;
  font-size: 18px;
  line-height: 71px;
  padding: 10px 10px;
  transition: color .15s;
  font: normal normal normal 13pt 'Adventure';
}

#navigation_bar > ul > li > a:hover {
  background: #463000;
  border-radius: 8px;
}

#account_button {
  position: fixed;
  right: 6%;
  top: 37px;
}

#account_button_hover {
  transition: filter 0.6s ease;
}

#account_button_hover:hover,
#account_button_hover.active {
  filter: saturate(250%) brightness(1.05); 
}





#back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: block;
  padding: 10px 15px;
  z-index: 9999
}

#widget_wrapper {
 position: absolute;
 left: 0;
 top: 110px;
 width: 100%;
 height: 80%;
 background-image: none;
 background-color: transparent;
}

#widget_left {
 height: auto;
 width: 200px;
 left: 4%;
 position: fixed;
 background-color: #03142c;
 box-shadow: 0px 2px 3px rgb(0 0 0 / 40%);
 text-align: center;
 border-radius: 0px 8px 8px 0px;
 opacity: 0.8;
 color: rgba(0, 0, 0, 1);
}

#widget_left a {
 margin: 0;
 padding: 0;
 text-decoration: none;
 text-align: left;
}

#widget_left > ul > li {
 left: 5px;
 position: relative;
}

#widget_left > ul > li > a {
 text-decoration: none;
 color: #ffffff;
 font-size: 18px;
 padding: 5px 5px;
 -webkit-transition: color .15s;
 -moz-transition: color .15s;
 -o-transition: color .15s;
 transition: color .15s;
}

#widget_left > ul > li > a:hover {
  background: #316686;
  border-radius: 8px;
}

#widget_right {
 top: 110px;
 height: auto;
 width: auto;
 right: 4%;
 position: fixed;
 background-color: #03142c;
 box-shadow: 0px 2px 3px rgb(0 0 0 / 40%);
 text-align: center;
 border-radius: 8px 0px 0px 8px;
 opacity: 0.8;
 color: rgba(0, 0, 0, 1);
}

#widget_right a {
 margin: 0;
 padding: 0;
 text-decoration: none;
 text-align: left;
}

#widget_right > ul > li {
 left: 5px;
 position: relative;
}

#widget_right > ul > li > a {
 text-decoration: none;
 color: #ffffff;
 font-size: 18px;
 padding: 5px 5px;
 -webkit-transition: color .15s;
 -moz-transition: color .15s;
 -o-transition: color .15s;
 transition: color .15s;
}

#widget_right > ul > li > a:hover {
  background: #316686;
  border-radius: 8px;
}