/* Google Fonts */
/*@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&family=Gamja+Flower&family=Inria+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Tac+One&display=swap');*/

/* BOLUPISANG: If your site starts exceeding 25k pageviews a month, buy a license: https://locomotype.com/licensing/#webfont */

@font-face {
  font-family: 'Bolupisang';
  src: url('fonts/Bolupisang.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}


/* OTHER FONTS */

@font-face {
  font-family: 'Fjalla One';
  src: url('fonts/FjallaOne-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Inria Sans';
  src: url('fonts/InriaSans-Regular.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Inria Sans';
  src: url('fonts/InriaSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Inria Sans';
  src: url('fonts/InriaSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Inria Sans';
  src: url('fonts/InriaSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'Inria Sans';
  src: url('fonts/InriaSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'Inria Sans';
  src: url('fonts/InriaSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'Gamja Flower';
  src: url('fonts/GamjaFlower-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Tac One';
  src: url('fonts/TacOne-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}



/* VARIABLES */
:root {
  --main-padding: 10px;
  --top-margin: 15px;
  --main-box: 22rem;
  --first-layer: 289px;
  --welcome-mob: 21rem;
  --color: rgba(0, 0, 0, 0.7);
  
  --scrollbar-width: thin;
  --scrollbar-color: #A69075 rgba(0, 0, 0, 0.4);
  --scrollbar-gutter: stable both-edges;
  
  --glow1: #A100E6;
  --glow2: #CA4DFF;
}



/* TEXT */

h1, h2, h3, h4, h5, h6, p, span, li, td, small {
  color: white;
}

p {
  font-size: 16px;
}

p, span, li, h3, td, small, #new_art {
  font-family: 'Inria Sans', sans-serif;
}

#nav_links, #nav_links span, #ham_nav, #ham_nav span, h1, #top_id td {
  font-family: 'Bolupisang', sans-serif;
    line-height: 1.2;
  letter-spacing: 0.8px;
}

h2 {
  font-family: 'Fjalla One', sans-serif;
}

.small_title {
  text-decoration: underline;
  margin-bottom: -0.6rem;
  margin-top: 1rem;
}

nav a, nav a:link, nav a:visited {
  color: white;
  text-decoration: none;
}

a, a:link, a:visited {
  color: #E3A6FF;
  text-decoration: none;
}

nav a {
  transition: background-color 0.3s ease;
}

nav a:hover { background-color: #7204C7; }

nav a:active {
  background-color: #A812E0;
  -webkit-tap-highlight-color: none;
}

a {
  transition: color 0.2s ease;
}

a:hover {
  color: #F2D6FF;
  text-decoration: underline;
}

a:focus, nav a:active { outline: 2px solid #E3A6FF; }

a:active {
  color: #F2D6FF;
  -webkit-tap-highlight-color: transparent;
}

.img_link:active {
  outline: none;
}

ul {
    list-style-type: "ಆ ";
    font-size: 1.3rem;
    line-height: 1.1;
    padding-left: 30px;
}

ul span {
   font-size: 1rem;
   vertical-align: middle;
}

li:not(:last-child) {
  margin-bottom: 10px;
}

.first_line {
  margin-top: 0;
}



/* BROAD */

html {
  background-color: rgb(14, 17, 34);
}

body {
  background-image: url('images/site_background.png');
  background-size: cover;
  background-repeat: no-repeat;
  width: 900px;
  height: auto;
  margin: auto;
  position: relative;
}

main {
  width: 875px;
  height: auto;
  margin: auto;
  clear: both;
}



/* BLOCKS */

#title {
  float: right;
}

#outside {
  float: left;
  margin: var(--top-margin);
  font-family: 'Bolupisang', sans-serif;
  font-size: 2.4rem;
  color: white;
  transition: color 0.3s ease;
  border: none;
  padding: 13px 3px 0px 3px; /* More on top because the Bolupisang font has more space on the bottom. */
  
  /* If you ever change the font, add these lines too:
  display: inline-flex;
  justify-content: center;
  align-items: center;
  */
}

      #outside:hover {
        color: #E3A6FF;
        cursor: pointer;
      }
      
      #back_arrow {
        margin-right: 10px;
        width: 13%;
      }

.box, #footer_content, .menu_title, #outside {
  background-color: rgba(0, 0, 0, 0.70);
}

.box {
  padding: var(--main-padding);
  position: relative;
}

      #welcome:before { content: 'welcome!';}
      #nav:before { content: 'navigation';
      }
      #site_updates:before { content: 'site updates'; }
      #new_art:before { content: 'newest art'; }
      #engage:before { content: 'engage'; }
      #site_button:before { content: 'link my site'; }
      
      .box:before {
        position: absolute;
        content: '';
        font-family: 'Bolupisang', sans-serif;
        font-size: 2.4rem;
        color: white;
        text-align: center;
        padding: var(--main-padding);
        top: -50px;
        right: 0px;
        width: max-content;
        height: 30px;
        background: rgba(0, 0, 0, 0.70);
      }

#nav_links, #nav_links span, #ham_left, #ham_right, #ham_left span, #ham_right span {
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  padding-bottom: 1px;
}

      #nav_links a, #ham_nav a { padding: 5px 5px 0px 5px; }
      
      .nav_cat {
        text-decoration: underline;
      }
      
      .nav_cat:not(:first-child) {
        margin-top: 1.8rem;
      }
      
      .no_page:link {
        color: rgba(255, 255, 255, 0.4);
        pointer-events: none;
        curser: default;
      }
      
      #nav_links a:before, #ham_nav a:before {
        font-family: "Gamja Flower", sans-serif;
        font-size: 1rem;
        display: inline-block;
        position: relative;
        bottom: 5px;
        right: 7px;
      }
      
      .no_page:before {
        content: "✖";
        color: rgba(255, 255, 255, 0.4);
      }
      
      .new_page:before {
        content: "new";
        color: rgba(255, 221, 150, 1);
      }
      
      .wip_page:before {
        content: "wip";
        color: rgba(255, 255, 255, 1);
      }

#nav {
  width: 24%;
  float: right;
  margin-top: 45px;
  text-align: right;
  padding-bottom: 8px;
}

.main_box {
  width: 70%;
  height: auto;
  float: left;
  margin-top: 45px;
}

      #welcome_content {
        display: flex;
        justify-content: space-between;
      }
      
      #welc_scrolling {
        height: 422px;
        overflow-y: auto;
        padding-right: var(--main-padding);
        scrollbar-width: var(--scrollbar-width);
        scrollbar-color: var(--scrollbar-color);
        scrollbar-gutter: var(--scrollbar-gutter);
      }
      
      #welcome_text {
        width: var(--main-box);
      }
    
.first_layer {
  margin-right: 10px;
}

#site_updates {
  float: left;
  width: var(--first-layer);
  height: 225px;
  margin-top: 75px;
}

      .small_scroll {
        height: 224px;
        overflow-y: auto;
        padding-right: var(--main-padding);
        scrollbar-width: var(--scrollbar-width);
        scrollbar-color: var(--scrollbar-color);
        scrollbar-gutter: var(--scrollbar-gutter);
      }

#new_art {
  float: right;
  width: var(--first-layer);
  height: 225px;
  margin-top: 75px;
  margin-right: 1.58%;
  text-align: center;
}

.final_layer {
  clear: both;
  margin-bottom: 20px;
}

#engage {
  float: right;
  width: var(--first-layer);
  height: 5%;
  margin-top: 75px;
  margin-right: 1.58%;
  text-align: right;
}

#site_button {
  width: 24%;
  float: right;
  margin-top: 75px;
  text-align: center;
}

      #site_button_img {
        margin-bottom: 4px;
      }

#link_me {
  width: 100%;
  margin: 3px -5px;
}



/* TABLE */

#stats {
  width: var(--welcome);
  border: 1px white solid;
  border-collapse: separate;
  border-spacing: 0px 7px;
  padding-left: 6px;
}

      td {
        vertical-align: top;
      }

#top_id {
  margin-bottom: 10px;
  width: var(--welcome);
}

      #top_id td {
        font-size: 2.4rem;
        text-align: center;
        font-family: 'Fjalla One', sans-serif;
      }
      
      #name {
        width: 30%;
        border-right: white 3px solid;
      }
      #age {
        width: 15%;
        border-right: white 3px solid;
      }
      #pronouns {
        width: 40%;
      }
      
      .type { width: 35%; }



/* CREDITS PAGE */

#credits:before { content: 'site credits'; }

    #credits_scrolling {
        height: 842px;
        overflow-y: auto;
        padding-right: var(--main-padding);
        scrollbar-width: var(--scrollbar-width);
        scrollbar-color: var(--scrollbar-color);
        scrollbar-gutter: var(--scrollbar-gutter);
}



/* IMAGES */

#logo {
  width: 450px;
  height: auto;
  margin: 5px var(--top-margin);
}

#welcome_side {
  width: auto;
  height: 395px;
  margin-top: 10px;
}

#new_art_preview {
  height: 200px;
  max-width: 275px;
}

#freak {
  width: 333px;
  position: absolute;
  left: 0px;
  top: 945px;
  z-index: 3;
}



/* FOOTER */

footer {
  display: block;
  align-items: center;
  text-align: center;
  clear: both;
}

#footer_content {
  display: inline-block;
  padding: 0px 10px;
  margin: 25px auto 0px auto;
}



/*  HAMBURGER  */
  
#ham_nav {
  background-color: rgb(14, 17, 34);
  background-image: url('images/darkened_background.png');
  background-size: cover;
  position: fixed;
  width: 90%;
  height: 100%;
  right: -100%;
  top: 0;
  padding: 5%;
  z-index: 5;
  overflow: hidden;
  transition: 0.3s ease;
  display: none;
}

#ham_nav.active {
  right: 0;
}

#ham_right { float: right; }
#ham_left { float: left; }

#ham_nav a { font-size: 1.6rem; }

.btn{
  width: 2.8rem;
  height: 2.8rem;
  background-color: var(--color);
  
  box-shadow: 0 5px 10px rgba(0,0,0, .3);
  position: relative;
  display: none;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  cursor: pointer;
  float: right;
  margin: 10px 10px 0 0;
  z-index: 6;
}
.btn__line{
  width: 1.1rem;
  height: 0.3rem;
  background-color: white;
  border-radius: 0.5rem;
  position: absolute;
  transition: transform .4s ease;
}
.btn__line--top{
  transform: translateY(-1rem);
  width: 1.8rem;
  margin-top: 0.4rem;
}
.btn__line--bottom{
  transform: translateY(1rem);
  width: 1.8rem;
  margin-bottom: 0.4rem;
}


/* ANIMATION*/

.active > .btn__line--center{
  transform: translateX(-5rem);
}
.active > .btn__line--top{
  margin: 0;
  transform: translateY(0) rotate(45deg);
}
.active > .btn__line--bottom{
  transform: translateY(0) rotate(-45deg);
  margin: 0;
}
.active{
  background-color: transparent;
  box-shadow: none;
}
.active > .btn__line{
  background-color: white;
}



/* LOADING */
/* Courtesy of https://404city.neocities.org/guides/tutorial-0 */

body {overflow-y: hidden;} /*Hides the scrollbar while loading.*/
#loadingScreen {
    position: fixed; /*Keeps the loading screen fixed on the screen */
    inset: 0; /*Makes loading screen wrap full screen.*/
    z-index: 999999; /*Makes loading screen stay on top.*/
    user-select: none; /*Disables user interaction with loading screen.*/
    transition: opacity 300ms; /*Adds a nice fading effect.*/
    background: #0E1122;
    color: white;
    font-family: 'Tac One', serif;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10rem;
    
    /* Glowing text: https://www.w3schools.com/howto/howto_css_glowing_text.asp */
    -webkit-animation: glow 1s ease-in-out infinite alternate;
    -moz-animation: glow 1s ease-in-out infinite alternate;
    animation: glow 1s ease-in-out infinite alternate;
}

#loadingScreen::after {
    content: '';
    animation: loadingDots 1s linear infinite;
}
@keyframes loadingDots {
    0%, 100% {content: '';}
    25% {content: '.';}
    50% {content: '..';}
    75% {content: '...';}
}

@-webkit-keyframes glow {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px var(--glow1), 0 0 40px var(--glow1), 0 0 50px var(--glow1), 0 0 60px var(--glow1), 0 0 70px var(--glow1);
  }
  to {
    text-shadow: 0 0 20px #fff, 0 0 30px var(--glow2), 0 0 40px var(--glow2), 0 0 50px var(--glow2), 0 0 60px var(--glow2), 0 0 70px var(--glow2), 0 0 80px var(--glow2);
  }
}







/* ---------- MOBILE ---------- */

@media (max-width: 400px) {
  
  #loadingScreen {
    font-size: 5rem;
  }

  @-webkit-keyframes glow {
  from {
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px var(--glow1), 0 0 20px var(--glow1), 0 0 25px var(--glow1), 0 0 30px var(--glow1), 0 0 35px var(--glow1);
  }
  to {
    text-shadow: 0 0 5px #fff, 0 0 10px var(--glow2), 0 0 20px var(--glow2), 0 0 30px var(--glow2), 0 0 40px var(--glow2), 0 0 50px var(--glow2), 0 0 60px var(--glow2);
  }
}
  
  #hamburger, #ham_nav {
    display: block;
  }
  
  .btn {
    display: flex;
  }
  
  body {
    width: 100%;
  }
  
  html.active, body.active {
    overflow-y: hidden;
  }
  
  main {
    width: 95%;
    margin: auto;
  }
  
  #nav, #nav:before, #engage {
    display: none
  }
  
  p, td, span, ul span, a {
    font-size: 0.8rem;
  }
  
  ul {
    font-size: 1rem;
  }
  
  #top_id td { font-size: 1.7rem; }
  
  h3 { font-size: 0.9rem; }
  
  #nav_links a, #ham_nav a {
    font-size: 1.5rem;
  }
  
  .box:before {
    font-size: 1.8rem;
    height: 20px;
    top: -40px;
  }
  
  #ham_nav a:before {
    padding-left: 5px;
  }
  
  #logo {
    width: 200px;
    margin: 5px 10px 0px 0px;   
  }
  
  #outside {
    font-size: 1.4rem;
    padding: 6px 6px 0px 6px;
    margin: 5px 0px 0px 5px;
    width: 100px;
  }
  
  #back_arrow {
    width: 20%;
    margin-right: 3px;
  }
  
  .main_box {
    width: 95%;
  }
  
  #welcome {
    margin-top: 80px;
  }
  
  #welc_scrolling {
    height: 300px;
  }
  
  #welcome_side {
    height: 90px;
    position: absolute;
    top: -100px;
    content: url("images/welcome_side_crop.png");
  }
  
  #welcome_text {
    width: var(--welcome-mob);
  }
  
  #stats {
    width: var(--welcome-mob);
    border-spacing: 0px 5px;
  }
  
  #top_id {
    width: var(--welcome-mob);
  }
  
  .type {
    width: 45%;
  }
  
  .first_layer, .final_layer {
    margin-right: 0;
  }
  
  #new_art, #site_updates {
    float: inline_start;
    clear: both;
    width: 95%;
    margin-right: 0;
    margin-top: 50px;
  }
  
  #site_updates {
    height: 125px;
  }
  
  .small_scroll {
    height: 120px;
    padding-right: 5px;
  }
  
  .small_scroll ul {
    padding-left: 20px;
  }
  
  #site_button {
    width: 43%;
    margin-top: 50px;
    z-index: 2;
  }
  
  #freak {
    width: 75%;
    height: auto;
    top: 940px;
    z-index: 1;
  }
  

  
  
  
  
}

























