@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

:root {
  --marginSize: 5em;

  --navBarSize: 90px;
}

.dark {
  --lightOrDark: url("../assets/light.png");

  --allowBorderBottom: 0;
    
  --bgColor: #121212;
  --fgColor: white;
  --highlightColor: #2c2c2c;
  --captionColor: #d7d7d7;

  --titleGradientMid: transparent;
  --titleGradientEnd: transparent;
}

.light {
  --lightOrDark: url("../assets/dark.png");
    
  --bgColor: white;
  --fgColor: #121212;
  --highlightColor: #d7d7d7;
  --captionColor: #2c2c2c;

  --allowBorderBottom: 0;

  --titleGradientMid: rgba(255, 255, 255, .4);
  --titleGradientEnd: rgba(255, 255, 255, calc(1 - (var(--titleBlur) / 400)));
}

* {
  font-family: "Rubik", Arial, Helvetica, sans-serif;
  transition: padding-left .5s;
  color: var(--fgColor);
}

html {
  height: 100vh;
  width: 100vw;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background-color: var(--bgColor)
}

nav {
  width: 100%;
  height: var(--navBarSize);
  min-height: var(--navBarSize);
  border-bottom: 1px solid transparent;
  display: flex;
  align-items: center;
  padding: 0px var(--marginSize);
  box-sizing: border-box;
  position: fixed;
  background: var(--navBg);
  z-index: 2;
}

nav img {
  margin-right: 24px;
  height: 70px;
}

nav h2 {
  user-select: none;
  opacity: 1.0;
  transition: opacity 1.0s;
}

nav h2 a {
  text-decoration: none;
}

nav button {
  background-color: transparent;
  background-image: var(--lightOrDark);
  background-position: center;
  background-size: 20px;
  background-repeat: no-repeat;
  height: 30px;
  width: 30px;
  border: 1px solid var(--fgColor);
  border-radius: 50%;
  margin-left: auto;
  cursor: pointer;
}

footer {
  margin: 0 var(--marginSize);
  padding: 3em;
  border-top: 1px solid var(--highlightColor);
  text-align: center;
}

footer div {
  margin: 16px 0;
}

footer span a.special {
  text-decoration: none;
  color: gray;
  transition: color .25s;
}

footer span a.special:hover {
  color: var(--captionColor);
  text-decoration: underline;
}

@media screen and (max-width: 1000px) {
  :root {
    --marginSize: 10px;
  }
}

@media screen and (min-width: 4000px) {
  :root {
    --navBarSize: 200px;
  }
  
  * {
    font-size: 125%;
  }

  nav img {
    height: 120px;
    margin-right: 48px;
  }

  nav button {
    background-size: 60px;
    height: 90px;
    width: 90px;
  }

  h1 {
    font-size: 2.5em;
  }
}