.default-theme {
  --primary: #e7e7e7;
  --secondary: #fe5f55;
  --text: #000000;
  --text-alternate: #FFFFFF;
}

@media (prefers-color-scheme: dark) {
  .default-theme {
    --primary: #434343;
    --secondary: #8a352f;
    --text: #e7e7e7;
    --text-alternate: #212121;
  }
}

html, body {
  height: 100%;
}

body {
  background: var(--primary);
  color: var(--text);
  font-family: Futura, 'Century Gothic', Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-smooth: auto;
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
}

a {
  display: inline-block;
  padding: 0 2px;
  font-weight: bold;
  text-decoration: underline;
  color: var(--text);
}

ul {
  list-style: none;
  margin: 10px auto;
  padding: 0;
}

ul::before {
  color: var(--secondary);
  display: block;
}

li {
  margin: 5px 0;
  padding: 0;
}

::-moz-selection {
  color: var(--primary);
  background: var(--text);
}

::selection {
  color: var(--primary);
  background: var(--text);
}

.band {
  width: 100%;
  padding: 40px 0;
}

.band-colored {
  background-color: var(--secondary);
  color: var(--text-alternate);
}

.band-colored .link {
  color: var(--secondary);
}

.band-blank {
  background-color: var(--text-alternate);
  color: var(--text);
}

.name {
  margin: 0 auto;
  padding: 5px 20px 5px;
  font-size: 45px;
  text-align: center;
  transition: color 1s ease-out;
}

.name:hover {
  cursor: default;
  color: var(--secondary);
}

.plain-name {
  display: none;
}

.section-title {
  margin: 0 0 5px;
  padding: 5px 10px;
  font-size: 27px;
  text-align: left;
}

.about {
  grid-area: about;
}

.about-me {
  padding: 0 10px 10px;
}

.scrollable-info {
  max-height: 300px;
  overflow-y: scroll;
}

.totally-tabular th, .totally-tabular td {
  padding: 7px 10px;
}

.totally-tabular .grouping {
  font-weight: bold;
}

.totally-tabular tr {
  transition: background-color 1s ease-in;
}

.totally-tabular tr:hover {
  background-color: var(--text-alternate);
}

.table-header tr:hover,
.totally-tabular .grouping:hover {
  background-color: transparent;
}

.projects {
  grid-area: projects;
}

.project {
  padding: 0 10px;
}

.project-title {
  margin: 10px 0 -5px;
  padding: 2px 0 0;
}

.project-tech {
  margin: 5px auto 40px;
  padding: 0;
}

.project-tech::before {
  content: 'Technologies';
  font-weight: bold;
  display: block;
}

.runes .project-tech::before {
  content: 'á›á›–áš³áš¾áš©á›šáš©áš·á›á›–á›‹';
}

.nothing::before {
  content: '';
}

.projects .section-header {
  grid-area: header;
}

.demi {
  grid-area: demi;
}

.nhl94 {
  grid-area: nhl94;
}

.distomatic {
  grid-area: distomatic;
}

.hudba {
  grid-area: hudba;
}

.dicebaseball {
  grid-area: dicebaseball;
}

.links {
  grid-area: links;
}

.more-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0 10px;
}

@media screen and (min-width: 480px) {
  .more-links {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 720px) {
  .content-block {
    display: grid;
    grid-column-gap: 10px;
    grid-template-columns: 1fr;
    grid-template-areas:
      'about'
      'projects'
      'links';
  }

  .links {
    padding: 0;
  }

  .section-title {
    font-size: 35px;
    text-align: left;
  }

  .links .section-title {
    margin: 10px 0 5px;
  }

  .project {
    padding-left: 10px;
  }

  .more-links {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 960px) {
  .projects {
    display: grid;
    grid-template-areas:
      'header header'
      'demi nhl94'
      'distomatic hudba'
      'dicebaseball _';
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
  }
}

@media screen and (min-width: 1024px) {
  .header {
    margin: 20px auto 0;
    max-width: 1024px;
  }

  .name {
    font-size: 60px;
  }

  .content-block {
    margin: 0 auto;
    max-width: 1024px;
  }

  .projects .section-header {
    margin: 0;
  }

  .more-links {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
