/*--- + font imports start + ---*/
@font-face {
  font-family: excelorate;
  src: url(/fonts/Excelorate-Font.otf); /* header font */
}

@font-face {
  font-family: tinytots;
  src: url(/fonts/tinytots.ttf); /* body font */
}

/*--- + font imports end + ---*/

/*--- + css variables start + ---*/
:root,
:root[data-theme="cuteblue"] {
  --primary: #60f0ee;
  --secondary: #b8faf9;
  --link-color: #86efee;
  --container: #ffffff;

  --cursor: url(/pics/layout/cuteblue/cursor.png);
  --pointer: url(/pics/layout/cuteblue/pointer.png);

  --pattern: url(/pics/layout/grid.png);
  --gradient1: #ecffff;
  --gradient2: #caffff;

  --selection: #caffff;

  --layout: url(/pics/layout/cuteblue/layout.png);
  --backbtn: url(/pics/layout/cuteblue/back.png);
  --themebtn: url(/pics/layout/cuteblue/theme.png);
  --forwardbtn: url(/pics/layout/cuteblue/forward.png);
  --side1: url(/pics/layout/cuteblue/side1.png);
  --side2: url(/pics/layout/cuteblue/side2.png);
  --altair: url(/pics/layout/cuteblue/altair.png);
  --footerclouds: url(/pics/layout/cuteblue/footerclouds.png);
  --altairtop: url(/pics/layout/cuteblue/altairtop.png);
  --stars: url(/pics/layout/cuteblue/stars.png);

  --navi: url(/pics/layout/cuteblue/links/navi.png);
  --aboutlink: url(/pics/layout/cuteblue/links/link1.png);
  --aboutlinkhvr: url(/pics/layout/cuteblue/links/link1hover.png);
  --bloglink: url(/pics/layout/cuteblue/links/link2.png);
  --bloglinkhvr: url(/pics/layout/cuteblue/links/link2hover.png);
  --dreamslink: url(/pics/layout/cuteblue/links/link3.png);
  --dreamslinkhvr: url(/pics/layout/cuteblue/links/link3hover.png);
  --artlink: url(/pics/layout/cuteblue/links/link4.png);
  --artlinkhvr: url(/pics/layout/cuteblue/links/link4hover.png);
  --ocslink: url(/pics/layout/cuteblue/links/link5.png);
  --ocslinkhvr: url(/pics/layout/cuteblue/links/link5hover.png);
  --shrineslink: url(/pics/layout/cuteblue/links/link6.png);
  --shrineslinkhvr: url(/pics/layout/cuteblue/links/link6hover.png);
  --toyboxlink: url(/pics/layout/cuteblue/links/link7.png);
  --toyboxlinkhvr: url(/pics/layout/cuteblue/links/link7hover.png);
  --outgoinglink: url(/pics/layout/cuteblue/links/link8.png);
  --outgoinglinkhvr: url(/pics/layout/cuteblue/links/link8hover.png);

  --trail1: #a9f5f4;
  --trail2: #8af2f1;

  --glow1: #fff;
  --glow2: transparent;
  --glow3: #fff;
}

[data-theme="darkmode"] {
  --primary: #60f0ee;
  --secondary: #b8faf9;
  --link-color: #86efee;
  --container: #030707;

  --pattern: url(/pics/layout/darkmode/grid.gif);
  --gradient1: #000;
  --gradient2: #071111;

  --layout: url(/pics/layout/darkmode/layout.png);
  --side1: url(/pics/layout/darkmode/side1.png);
  --side2: url(/pics/layout/darkmode/side2.png);
  --footerclouds: url(/pics/layout/darkmode/footerclouds.png);
  --stars: url(/pics/layout/darkmode/stars.png);

  --navi: url(/pics/layout/cuteblue/links/navi.png);

  --glow1: #235151;
  --glow2: #398e8a;
  --glow3: transparent;
}
/*--- + css variables end + ---*/

/*--- + basic customization start + ---*/
html {
  height: 100%;
  cursor: var(--cursor), auto;
}

html,
* {
  line-height: 1em;
}

body:before {
  background-image: var(--pattern);
  background-attachment: scroll;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: auto;
  min-height: 100vh;
  z-index: -1;
}

body {
  background-image: linear-gradient(
    0deg,
    var(--gradient1) 0%,
    var(--gradient2) 100%
  ) !important;
  background-color: var(--container);
  background-attachment: fixed;
  color: var(--primary);
  font-family: tinytots;
  font-smooth: never;
  font-size: 16px;
  padding-bottom: 50px !important;
  /* prevents text from adjusting on mobile devices (beat it, mobile compatibility) */
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  animation: fadein 1.5s;
  overflow-x: hidden;
  overflow-y:auto;
}

::selection {
  background: var(--selection);
}


p {
  color: var(--text);
}

a,
a:link,
a:visited {
  color: var(--primary);
}

a:hover {
  font-style: italic;
  color: var(--secondary);
}

a:active {
  color: var(--primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: excelorate;
  margin: 5px;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-thumb {
  background-color: var(--primary);
  border-radius: 10px;
}

::-webkit-scrollbar-track {
  background-color: var(--container);
  border-radius: 10px;
}

meow {
  font-weight: bold;
  font-size: 1em;
  color: white;
  text-shadow:
    -1px 0 var(--text),
    0 1px var(--text),
    1px 0 var(--text),
    0 -1px var(--text);
  background: linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);
  border-radius: 1em;
}
/*--- + basic customization end + ---*/

/*--- + containers + boxes start + ---*/
#gnarpy {
  position: relative;
  width: 550px;
  height: auto;
  margin-top: 30px;
  padding: 25px;
  left: 43%;
  transform: translateX(-53%) translateY(23%);
}

#journal {
  background-image: url(https://wappydog.net/personal/dreams/layout/journal.png);
  height: 511px;
  width: 850px;
  filter: drop-shadow(7px 0 0 #fff)
    drop-shadow(0 7px 0 #fff) drop-shadow(-7px 0 0 #fff)
    drop-shadow(0 -7px 0 #fff) drop-shadow(5px 0 0 var(--primary))
    drop-shadow(0 5px 0 var(--primary)) drop-shadow(-5px 0 0 var(--primary))
    drop-shadow(0 -5px 0 var(--primary)) drop-shadow(0px 0px 26px var(--glow2));
}

#journalcontain {
  display: flex;
  top: 34px;
  left: 99px;
  position: relative;
}

#side1 {
  position: relative;
  height: 431px;
  width: 284px;
  padding: 5px;
  padding-left: 0;
  padding-right: 0;
  margin-right: 84px;
}

#side2 {
  position: relative;
  height: 431px;
  width: 284px;
  padding: 5px;
  padding-left: 0;
  padding-right: 0;
}

#float {
  animation-name: floating;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

@keyframes floating {
  0% {
    transform: translate(0, 0px);
  }
  50% {
    transform: translate(0, 8px);
  }
  100% {
    transform: translate(0, -0px);
  }
}

#warabi a {
  font-style: normal;
  transition: all 0.5s ease-in-out;
}

#warabi a:hover {
  transform: scale(1.3);
}

#pop {
  -webkit-animation: pop 1s ease-in-out infinite alternate;
  animation: pop 1s ease-in-out infinite alternate;
  -moz-animation: pop 1s ease-in-out infinite alternate;
}

@keyframes pop {
  from {
    transform: scale(0.95);
  }

  50% {
    transform: scale(1);
  }

  to {
    transform: scale(0.95);
  }
}

@-webkit-keyframes pop {
  from {
    -webkit-transform: scale(0.95);
  }

  50% {
    -webkit-transform: scale(1);
  }

  to {
    -webkit-transform: scale(0.95);
  }
}

::-webkit-scrollbar {
  width: 3px;
  height: 3px;
}

::-webkit-scrollbar-thumb {
  background-color: var(--secondary);
  border-radius: 10px;
}

::-webkit-scrollbar-track {
  background-color: var(--container);
  border-radius: 10px;
}

woofwoof {
  margin: 0;
  font-family: excelorate;
  background-color: var(--secondary);
  border: 1px solid var(--primary);
  text-shadow:
    -2px 0 var(--primary),
    0 2px var(--primary),
    2px 0 var(--primary),
    0 -2px var(--primary);
  color: var(--container);
  border-radius: 5px;
  padding: 5px;
  font-size: 24px;
  text-align: center;
  display: block;
}
/*--- + containers + boxes end + ---*/

/*--- + tooltip edits start + ---*/
#s-m-t-tooltip {
  max-width: 225px;
  z-index: 99999999 !important;
  padding: 8px;
  margin: -20px 10px;
  background-color: #fff;
  border: 5px solid var(--primary);
  border-radius: 10px;
}
/*--- + tooltip edits + ---*/

/*--- + scanlines start + ---*/
.lines {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 999999999999999999999999999999999999999999999999999999999999;
  opacity: 0.05;
}

.lines:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background: linear-xgradient(
    to bottom,
    transparent 50%,
    rgba(0, 0, 0, 0.5) 51%
  );
  background-size: 100% 4px;
  will-change: background, background-size;
  animation: scanlines 0.2s linear infinite;
}

@keyframes scanlines {
  from {
    background: linear-gradient(
      to bottom,
      transparent 10%,
      rgba(0, 0, 0, 0.5) 51%
    );
    background-size: 100% 4px;
  }
  to {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.5) 50%,
      transparent 51%
    );
    background-size: 100% 4px;
  }
}
/*--- + scanlines end + ---*/

/* customizable snowflake styling */
.snowflake {
  color: #fff;
  font-size: 1em;
  font-family: Arial;
}

@-webkit-keyframes snowflakes-fall {
  0% {
    bottom: -10%;
  }
  100% {
    bottom: 100%;
  }
}
@-webkit-keyframes snowflakes-shake {
  0% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
  }
  50% {
    -webkit-transform: translateX(80px);
    transform: translateX(80px);
  }
  100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
  }
}
@keyframes snowflakes-fall {
  0% {
    bottom: -10%;
  }
  100% {
    bottom: 100%;
  }
}
@keyframes snowflakes-shake {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(80px);
  }
  100% {
    transform: translateX(0px);
  }
}
.snowflake {
  position: fixed;
  bottom: -10%;
  z-index: 9999;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  touch-manipulation: none;
  cursor: default;
  -webkit-animation-name: snowflakes-fall, snowflakes-shake;
  -webkit-animation-duration: 10s, 3s;
  -webkit-animation-timing-function: linear, ease-in-out;
  -webkit-animation-iteration-count: infinite, infinite;
  -webkit-animation-play-state: running, running;
  animation-name: snowflakes-fall, snowflakes-shake;
  animation-duration: 10s, 3s;
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
  animation-play-state: running, running;
}
.snowflake:nth-of-type(0) {
  left: 1%;
  -webkit-animation-delay: 0s, 0s;
  animation-delay: 0s, 0s;
}
.snowflake:nth-of-type(1) {
  left: 10%;
  -webkit-animation-delay: 1s, 1s;
  animation-delay: 1s, 1s;
}
.snowflake:nth-of-type(2) {
  left: 20%;
  -webkit-animation-delay: 6s, 0.5s;
  animation-delay: 6s, 0.5s;
}
.snowflake:nth-of-type(3) {
  left: 30%;
  -webkit-animation-delay: 4s, 2s;
  animation-delay: 4s, 2s;
}
.snowflake:nth-of-type(4) {
  left: 40%;
  -webkit-animation-delay: 2s, 2s;
  animation-delay: 2s, 2s;
}
.snowflake:nth-of-type(5) {
  left: 50%;
  -webkit-animation-delay: 8s, 3s;
  animation-delay: 8s, 3s;
}
.snowflake:nth-of-type(6) {
  left: 60%;
  -webkit-animation-delay: 6s, 2s;
  animation-delay: 6s, 2s;
}
.snowflake:nth-of-type(7) {
  left: 70%;
  -webkit-animation-delay: 2.5s, 1s;
  animation-delay: 2.5s, 1s;
}
.snowflake:nth-of-type(8) {
  left: 80%;
  -webkit-animation-delay: 1s, 0s;
  animation-delay: 1s, 0s;
}
.snowflake:nth-of-type(9) {
  left: 90%;
  -webkit-animation-delay: 3s, 1.5s;
  animation-delay: 3s, 1.5s;
}

#clouds1 {
  background-image: var(--footerclouds);
  background-repeat: repeat-x;
  background-size: auto 100%;
  left: 0;
  bottom: -55px;
  filter: drop-shadow(0px -30px 20px var(--glow1));
  position: fixed;
  height: 238px;
  width: 100%;
  animation: clouds 60s linear infinite;
  z-index: 999;
}

#clouds2 {
  background-image: var(--footerclouds);
  background-repeat: repeat-x;
  background-size: auto 100%;
  left: 0;
  top: -55px;
  filter: drop-shadow(0px -30px 20px var(--glow1));
  position: fixed;
  height: 238px;
  width: 100%;
  animation: clouds 60s linear infinite;
  z-index: 999;
  transform: scalex(-1) scaley(-1);
}

@keyframes clouds {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 588px 0;
  }
}