/**

please don't look at my css.......

it is so crap...

**/

/*** FONTS ***/
@font-face {
    font-family: Commodore;
    src: url("./fonts/C64_Pro-STYLE.ttf");
}

@font-face {
    font-family: PXPlus;
    src: url("./fonts/pxplus_ibm_mda-webfont.ttf");
}

@font-face {
    font-family: Nintendo-DS;
    src: url("./fonts/Nintendo-DS-BIOS.ttf");
}

@font-face {
    font-family: Banquise;
    src: url("./fonts/Banquise-Regular.otf");
}

@font-face {
    font-family: VT323;
    src: url("./fonts/VT323-Regular.ttf"); 
}

:root {
    --primary-font: VT323;
    --secondary-font: VT323;
  
    --primary-width: 850px;
    --primary-height: 700px;

    --primary-border: 3px solid white;
    --hover-border: 3px solid lime;

    --primary-color: white;
    --secondary-color: rgb(200, 200, 200);
    --hover-color: lime;
    --inactive-color: rgb(100, 100, 100);
    
    --cursor: url('assets/cursor.png'), auto;
    --cursor-pointer: url('assets/cursor.png'), pointer;
    --cursor-click: url('assets/cursor-click.png'), auto;
    
    --width: 60%;
    --width-mobile: 100%;
}

html {
  scrollbar-color: white transparent;
}

img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

body {
  cursor: url('assets/cursor.png'), auto;
}

.flex-row {
    display: flex;
    flex-direction: row;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.flex-center {
    display: flex;
    justify-content: center;
}

.hidden {
    display: none !important;
}

.pixelated {
  image-rendering: pixelated;
}

/*** TOP-LEVEL ***/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    width: 100%;
    min-height: 100%;
    display: block;
    background-color: black;
    color: white;
}

body {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

main {
    width: var(--width);
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    padding: 20px;
}

h1, h2 {
    font-family: var(--primary-font);
    text-decoration: none;
    font-weight: normal;
    margin-bottom: 5px;
    
    -moz-margin-top: 30px;
         margin-top: 40px;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.5em;
}

p, li, input, textarea, button {
    font-family: var(--secondary-font);
    font-size: 24px;
    color: #FFFFFF;
    margin-bottom: 10px;
}

p {
    margin-bottom: 5px;
}

ul {
    padding-left: 10px;
    margin-left: 20px;
    padding-left: 0;
    display: list-item;
    list-style-type: square;
}

li {
  /* list-style-image: url('./assets/bullet-point.png'); */
  list-style-type: none;
  margin-top: 5px;
}

footer {
    justify-content: center;
    flex-direction: column;
    padding: 10px;
    width: var(--width);
}

footer#footer-desktop {
    position: fixed;
    bottom: 0;
    left: 0;
}

#footer-mobile {
    display: none;
}

.pixelated {
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges; 
}

/*** PAGE CONTENT ***/
#things {
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    margin: 0 30%;
    /* height: 100%; */
    height: auto;
}

.grid {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 20px 20px;
}

/*** HEADER ***/

header {
    min-width: 100%;
    font-family: var(--primary-font);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.banner {
    width: 400px;
    height: auto;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

/*** LINKS ***/
.links {
    display: flex;
    flex-direction: row;
    height: 100%;
    padding: 100px 0;
}

#links-desktop {
    justify-content: center;
    position: relative;
}

.link-container {
    width: 100%;
}

.link-container .static-image, .link-container .animated-gif {
    max-height: 100%;
    width: auto;
}

#links-desktop .link-container {
    width: calc(726px/2.5);
    aspect-ratio: 4/3;
    object-fit: cover;
    position: relative;
}

#links-desktop .link-container img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    display: block;
    image-rendering: pixelated;
}

.animated-gif {
    opacity: 0;
}

.link {
    font-family: var(--primary-font);
    text-decoration: none;
    font-weight: normal;
    margin-bottom: 5px;
    color: white;
    font-size: 50px;
    margin: 10px 0;
}

#links-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 50px 0;
}

#links-desktop .link-container:hover .animated-gif {
    opacity: 1;
}

#links-desktop .link-container:hover .static-image {
    opacity: 0;
}

/*** FIREFOX SUPPORT ***/
@-moz-document url-prefix() {
  p {
    line-height: 20px;
  }
  
  h1 {
    margin-top: 40px;
    margin-bottom: 0px;
  }
}

/* Videos */

.billboard .feature {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.video-item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 80px 0;
}

.video-item .new-indicator {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    transform: translate(25%, -25%);
    z-index: 10;
}

.video-item .thumbnail {
    flex: 1;
    max-width: 100%;
    height: auto;
    border: var(--primary-border);
}

.video-item .thumbnail:hover {
    filter: hue-rotate(90deg) brightness(150%) saturate(150%);
}

/* V 2 */

a {
    color: cyan;
}

a:hover {
    color: var(--hover-color);
    cursor: var(--cursor-pointer);
}

.category {
    /*width: 100%;*/
    height: 400px;
    border: var(--primary-border);
    /*margin: 20px 0;*/
    background-size: cover;
    background-position: center;
}

.category:hover {
    filter: hue-rotate(90deg) brightness(150%) saturate(150%);
    cursor: var(--cursor-pointer);
}

.category:hover .category-title {
    background-color: white;
    color: black;
}

.category-title {
    position: absolute;
    margin: 20px;
    font-size: 50px;
    background-color: black;
    padding: 15px;
    border: var(--primary-border);
    color: white;
    
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#music-category {
    background-image: url("./assets/category-music.jpg");
}

#videos-category {
    background-image: url("./assets/category-videos.jpg");
}

#art-category {
    background-image: url("./assets/category-art2.jpg");
}

#games-category {
    background-image: url("./assets/category-games.jpg");
}

#resources-category {
    background-image: url("./assets/category-resources.jpg");
}

#nuuspace-category {
    background-image: url("/assets/nuuspace.gif");
}

.art-item {
    border: var(--primary-border);
    padding: 30px;
    width: 100%;
    height: auto;
    margin: 50px 0;
}

.art-content {
    width: 100%;
    height: auto;
}

.meta {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#art-meta.meta {
    padding-top: 30px;
}

.meta {
    font-size: 30px;
    font-family: PXPlus;
}

.meta-description {
    padding-top: 20px;
}

/** TUMBLR EMBED **/
#art-feed {
  .description {
    font-size: 36px;
    margin-bottom: 24px;
    display: none;
  }
}

.tumblr_posts {
  columns: 5 200px;
  column-gap: 1rem;
}

.tumblr_post {
  image-rendering: pixelated;
}

.tumblr_body {
  h1 {
    display: none;
  }
  
  p {
    display: none;
  }
}

.music-item {
  padding: 10px;
  margin: 50px 0;
  width: 100%;
  border: var(--primary-border);
}

img.post_media_photo {
  /*width: 100%;*/
  /*width: 500px;*/
  width: 100%;
  height: auto;
}

.music-item audio {
  width: 100%;
  margin-top: 10px;
}

.content {
  margin: 20px 0;
}

.content p {
  color: rgb(190, 190, 190);
  margin-bottom: 10px;
}

/** FAQ **/

#faq li {
    color: rgb(190, 190, 190);
}

#faq {
    margin-bottom: 50px;
}

#stuff-button {
    display: none;
}

/** TOOLS **/
.tool {
  border: var(--primary-border);
  padding: 14px;
  margin-top: 35px;
}

.tool:hover {
  border: var(--hover-border);
  
  p, .tool-category {
    color: var(--hover-color);
  }
}

.tool p {
  margin: 5px 0;
}

.tool-link {
  text-decoration: none;
}

.tool h1 {
  margin-top: 0px;
}

.tool-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.tool-category {
  font-family: var(--primary-font);
  color: white;
}

/** Nuuspace **/
#nuuspace {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 0 20px;
}

#nuuspace-image {
  width: 360px;
}

.stars-container {
  overflow: hidden; 
}

.stars {
  background: url("/assets/stars_640x360.png");
  height: 100%;
  width: 100%;
  animation: slide 60s linear infinite;
  position: absolute;
  z-index: -1;
}

@keyframes slide {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-640px, 0, 0);
  }
}

/** COMPATIBILITY **/

@media (max-width: 1440px) {
    html {
        width: 100%;
        height: auto;
    }

    body {
        width: 100%;
        height: auto;
    }

    main {
        width: 100%;
        height: auto;
    }
    
    footer {
        width: 100%; 
    }

    #things {
        margin: 20px;
        max-width: 100%;
        height: auto;
    }
    
    .banner {
      width: calc(373px * 0.5);
      height: auto;
    }
    
    .nav-link {
        font-size: 1.0em;
        padding: 0 0 0 20px;
    }

    .video-item {
        margin: 20px 0;
    }

    .meta {
        font-size: 1.2em;
    }
    
    .category-title {
      font-size: 1.5em;
    }
}

@media (max-width: 674px) {
    #things {
        margin: 10px;
    }
    
    #links-desktop {
      padding: 10px 0 10px 0;
    }
    
    #merch-marquee {
      display: none;
    }

    .category {
        height: 300px;
        margin: 10px 0;
    }

    .nav-link {
        font-size: 1.5em;
        padding: 0 0 0 20px;
    }

    .banner {
        width: calc(373px * 0.5);
        height: auto;
    }
    
    .nav-bar {
        flex-direction: column;
    }
    
    header {
      flex-direction: column;
    }
    
    .category-title {
        font-size: 30px;
    }
}