@import "https://www.nerdfonts.com/assets/css/webfont.css";

@font-face {
  font-family: vermin;
  src: url(../fonts/vermin_pixel.ttf) format('truetype');
}

@font-face {
  font-family: sometypemono;
  src: url(../fonts/SometypeMono.ttf);
}

@font-face {
  font-family: vt;
  src: url(../fonts/VT323.ttf);
}

@font-face {
  font-family: kongtext;
  src: url(../fonts/kongtext.ttf);
}

@font-face {
  font-family: bpbold;
  src: url(../fonts/bpdotsbold.otf);
}

@font-face {
  font-family: bplite;
  src: url(../fonts/bpdotslite.otf);
}

@font-face {
  font-family: detmono;
  src: url(../fonts/determinationmono.ttf);
}

@font-face {
  font-family: terminus;
  src: url(../fonts/terminus.ttf);
}

@font-face {
  font-family: tiny5;
  src: url(../fonts/tiny5.ttf);
}

@font-face {
  font-family: gohu;
  src: url(../fonts/gohu14.ttf);
}
@font-face{
  font-family: 'bigblue';
  src: url('../fonts/bigblueterm.ttf');
}
::selection {
  background-color: var(--primary);
  color: white;
}
:root {
  --background-color: #1c1c1c;
  --primary: #6f00ff;
  --secondary: #ff1e74;
  --tertiary: #ffd700;
  --quaternary: #00c7ff;
  --warning: #ff1e1e;
}

body {
  font-family: tiny5;
  text-align: center;
  background-color: #0e0e0e;
  background-image: url("../../images/pixelart_space.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  margin: 0;
  font-size: 1rem;
}

button {
  font-family: inherit;
}

* {
  /* font-family: detmono; */
  /* font-family: tiny5; */
  /* font-family: tiny5; */
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  color: var(--tertiary);
  text-decoration: underline 0.1em #ffd700ff;
  text-underline-offset: 0%;
  transition: 0.2s;
}

button:hover {
  cursor: pointer;
}

a:hover {
  transition: 0.2s;
  color: var(--primary);
  cursor: pointer;
  text-underline-offset: 90%;
  text-decoration-color: #6f00ff00;
}

.color-primary {
  color: var(--primary);
}
.color-comment{
  color: #4d4d4d;
}

.emission-primary {
  text-shadow: 0px 0px 20px var(--primary);
}

.color-secondary {
  color: var(--secondary)
}
.color-warning{
  color: var(--warning)
}
.emission-secondary {
  text-shadow: 0px 0px 20px var(--secondary);
}

.color-tertiary {
  color: var(--tertiary)
}

.emission-tertiary {
  text-shadow: 0px 0px 20px var(--tertiary);
}

/*^ -------------------- */
/*^ Basic settings + bg  */
/*^ -------------------- */

.gallery-caption {
  width: 100%;
  margin-top: 5px;
  text-align: center;
}


/*^ -------------------- */
.hovergrow{
  transition: 0.3s;
}
.hovergrow:hover{
  transition: 0.3s;
  transform: scale(1.1);
}
p {
  margin: 0;
}

.paragraph {
  margin-bottom: 20px;
}
.divider{
  border-width: 0px;
  color: white;
  image-rendering: pixelated;
  border-image: url('../images/icons/leftright.svg')  6 66 4 61 fill / 6px 66px 4px 61px;
  /* border-image-slice: 2 60 2 66 fill; */
  padding: 6px 66px 4px 61px;
  height: 16px;
  margin: auto;
  width: 90%;
}

.panel-cols{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 10px;
}

.panel-rows{
  display: grid;
  grid-template-rows: repeat(auto-fit,auto-fit);
  gap: 10px;
}

.panel {
  /* background-color: #0e0e0ee4; */
  /* backdrop-filter: blur(10px); */

  /* margin: 8px 15px 16px 15px; */

  /* font-family: detmono; */
  /* font-family: tiny5; */
  font-style: normal;
  text-align: left;
  color: #abb1be;
  /* rgb(201, 201, 201); */
  /* width: 40%; */
  /* border-image: linear-gradient(#7703fc, #ff005d) 45; */
  border-width: 0px;
  border-image: url('../images/nineslice1.png') round;
  image-rendering: pixelated;
  border-image-slice: 9 9 9 9 fill;
  border-image-repeat: stretch;
  border-image-width: 32px 32px;
  border-style: solid;


  /* padding: 25px; */
  /* padding: calc(25px+11px) calc(25px+7.5px) calc(25px+14px) calc(25px + 7.5px); */
  padding: 36px 32.5px 39px 32.5px;
  /* margin-bottom: 14px; */
}
/*~ --------------- */
/*~ Profile Picture */
/*~ --------------- */
.pfp-container {
  text-align: left;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -8px;
}

.pfp {
  width: 25vmin;
  image-rendering: pixelated;
  margin-left: auto;
  margin-right: auto;
}

/*~ --------------- */
.social img {
  height: 75px;
  transition: 0.3s;
}

.social img:hover {
  transition: 0.3s;
  transform: scale(1.2);
}

/*~ --------------- */

.page {
  width: 100%;
  display: grid;
  grid-template-columns: 15% 60% 25%;
  grid-template-areas:
    "left middle right";
  align-items: center;
}

@media screen and (max-width: 1200px) {
  .page {
    grid-template-columns: 5% 75% 15%;
  }
}
.page-title {
  font-size: 6rem;
  margin: 0;
  display: inline;
}

.left-content {
  background-color: #00c7ff;
  /* width: 50%; */
  grid-area: "left";
}

.content {
  /* width: 40%; */
  grid-area: "middle";
}


/*& Container & [ left middle right ]*/

.container {
  position: relative;
  /* Ensure container serves as a positioning context */
  width: 100%;
  height: 100%;
}

.sidebar {
  transition: 0.2s;
  position: fixed;
  top: 0;
  height: 100%;
  /* width: 25vw; */
  width: 25%;
  right: 0;
}


.sidebar-inside {
  height: 100%;
  background-color: #11111100;
  position: absolute;
  right: 0;
  transition: 0.2s;
  width: 50%;
}

.middle {
  margin-left: 10%;
  /* Ensure the middle part is offset by the width of left part */
  margin-right: 10%;
  /* Ensure the middle part is offset by the width of right part */
}

.sidebar-item {
  text-decoration: none;
  font-family: vermin;
  font-size: 3rem;
  color: var(--primary);
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  padding: 20px;
}

.sidebar-item p {
  font-family: vermin;
  transition: 0.2s;
  max-width: 0;
  overflow: hidden;
  text-wrap: nowrap;
}
.sidebar-item img,
.sidebar-item inline-svg {
  width: 3vw;
  margin: 10px;
  color: var(--primary);
}
@media screen and (max-width: 1200px) {
  .sidebar-item img,
  .sidebar-item inline-svg {
    width: 32px;
  }
}

.sidebar-item i {
  color: white;
}
.sidebar-item:active {
  scale: 1.1;
}

/* Mobile swiping */
.sidebar-hover{
  transition: 0.2s;
  width: 100vw;
  background-color: #101010f9;
}
.sidebar-hover .sidebar-item p {
  transition: 0.2s;
  max-width: 200px;
}
/* ------------- */

@media screen and (min-width: 1200px) {
  .sidebar:hover .sidebar-inside {
    transition: 0.2s;
    width: 100%;
  }

  .sidebar-item:hover p {
    transition: 0.2s;
    max-width: 200px;
  }

  .sidebar-item:hover {
    cursor: pointer;
  }
}

/*& Effects */
.cursor {
  -webkit-animation: blink 1s 11.5s infinite;
  -moz-animation: blink 1s 8.5s infinite;
  -o-animation: blink 1s 8.5s infinite;
  animation: blink 1s 0s infinite;
}

@keyframes blink {
  0% {
    opacity: 0;
  }

  40% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.svgoutline-primary {
  filter:
    drop-shadow(-2px -2px 0px var(--primary)) drop-shadow(2px -2px 0px var(--primary)) drop-shadow(2px 2px 0px var(--primary)) drop-shadow(-2px 2px 0px var(--primary))
}

.svgoutline-white {
  filter:
    drop-shadow(-2px -2px 0px white) drop-shadow(2px -2px 0px white) drop-shadow(2px 2px 0px white) drop-shadow(-2px 2px 0px white)
}

.svgglow {
  filter:
    drop-shadow(0px 0px 10px white)
    /* drop-shadow(2px -1px 3px #6f00ff) 
    drop-shadow(2px 2px 3px #6f00ff)
    drop-shadow(-1px 2px 3px #6f00ff) */
}

.par-connector {
  width: 100%;
  height: 64px;
  margin-left: auto;
  margin-right: auto;
  /* background-image: url('https://imgur.com/yRzvZky.gif'); */
  background-image: url('../images/bubbles_4.gif');
  filter:hue-rotate(270deg);
  image-rendering: pixelated;
  background-repeat: round;
}

li {
  margin-left: 25px;
  /* list-style-type: 'Ф '; */
  list-style: square;
}

li::marker {
  color: var(--secondary)
}

h1 {
  margin-bottom: 10px;
  color: var(--primary);
  /* font-family: 'vermin'; */
  font-family: 'bigblue';
  display: flex;
  align-items: center;
  /* white-space: nowrap; */
  gap: 10px;
}

h2 {
  margin-bottom: 10px;
  color: var(--primary);
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 10px;
}
.images {
  width: 100%;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}

.palette-horizontal {
  display: flex;
  gap: 1vw;
  width: 100%;
  justify-content: center;
}

.palette-horizontal * {
  flex-grow: 1;
}

.palette-vertical {
  display: flex;
  flex-flow: column;
  justify-content: center;
}

.palette-vertical * {
  transition: 0.1s;
  /* font-size: 2vh; */
  border: none;
}

/* .palette-vertical button:hover{
    transition: 0.2s;
    box-shadow:inset 0px 0px 0px 5px white;
  } */
.copyButton {
  display: flex;
  align-items: center;
  /* font-size: 2vmin; */
  font-size: 2rem;
  justify-content: left;
  gap: 20px;
  padding: 5px;
  overflow: hidden;
}

.copyButton:hover {
  transition: 0.2s;
  box-shadow: inset 0px 0px 0px 5px white;
}

.copyButton::before {
  content: url("../images/copy-solid.svg");
  width: 20px;
  height: 20px;
  margin-left: 5px;
}

@media screen and (max-width: 1200px) {
  .copyButton {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 800px) {
  .copyButton {
    content-visibility: hidden;
    height: 2vh;
  }
}

.line {
  width: 100%;
  height: 2px;
  background-color: var(--primary);
}

/* @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait) {
  .palette-vertical * {
    font-size: 1em;
  }
} */

.gallery-row {
  display: flex;
  flex-wrap: wrap;
  padding: 0 4px;
}

/* Create four equal columns that sits next to each other */
.gallery-column {
  flex: 25%;
  max-width: 33%;
  padding: 0 4px;
}

.gallery-column img,
.gallery-column video {
  margin-top: 8px;
  vertical-align: middle;
  width: 100%;
}

/* Responsive layout - makes a two column-layout instead of four columns */
@media screen and (max-width: 800px) {
  .gallery-column {
    flex: 50%;
    max-width: 50%;
  }
}

/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .gallery-column {
    flex: 100%;
    max-width: 100%;
  }
}

/*^ -------------------- */
/*^ Lightbox */

/* Lightbox styles */
.lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background-color: rgba(0, 0, 0, 0.9); /* Darkened background */
  justify-content: center;
  align-items:start;
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 2rem;
  color: white;
  cursor: pointer;
}

.lightbox-img{
  cursor: pointer;
}
img {
  max-width: 100%;
}

inline-svg{
  width: 100%;
}