/* Variables */
:root {
  --color-text: #292929;
  --color-text-light: #898989;
  --color-primary: #9e00ff;
  --color-secondary: #e21ecf;
  --color-nav-decorator: #dfdfdf;
  --color-border: #f1d9ff;
  --color-background: #fff;
  --color-pre-background: #0d001e;
  --color-code-background: #dfdfdf;
  --color-input-border: #ccc;
  --color-input-background: #fafafa;

  --size-container-max-witdh: min(95%, 1100px);
}

/* Header */
header.top {
  margin: 1rem auto 0;
}

/* Building blocks*/
.fr {
  border: 1px solid var(--color-border);
  margin: 1rem auto;
  max-width: min(95%, 1100px);
}

.fr-no-border {
  border: 0;
}

.fr-block {
  padding: 1.5rem;
  border: 1px solid var(--color-border);
}

.fr-block ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fr-block-no-border {
  border: 0;
}

.fr-block ul li {
  margin-bottom: .25rem;
}

.fr-block ul li:last-child {
  margin-bottom: 0;
}

.fr-block *:first-child {
  margin-top: 0;
}

.fr-block *:last-child {
  margin-bottom: 0;
}

.fr-block-m,
.fr-block-s {
  grid-column: span 2;
}

.fr-block-l {
  grid-column: span 4;
}

@media screen and (min-width: 760px) {
  .fr-block-s {
    grid-column: span 1;
  }

  .fr-block-m {
    grid-column: span 2;
  }

  .fr-block-l {
    grid-column: span 3;
  }
}

/* Grids */
.gr {
  display: grid;
}

.gr-home {
  grid-template-columns: repeat(4, 1fr);
}

@media screen and (min-width: 760px) {
  .gr-home {
    grid-template-columns: repeat(4, 1fr);
  }
}

.gr-card {
  grid-template-columns: 1fr;
  max-width: min(95%, 380px);
}

/* Lists */
ol li::marker,
ul li::marker {
  color: var(--color-secondary);
}

ul.h {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1rem;
}

ul.gap-m li {
  margin-top: .5rem;
}

ul.gap-m li:first-child,
ul.gap-l li:first-child {
  margin-top: 0;
}

ul.gap-l li {
  margin-top: 1rem;
}

ul.clean {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Tags */
.tags .tag+.tag {
  margin-left: 0.5rem;
}

.tag {
  background-color: var(--color-code-background);
  display: inline-block;
  padding: .15rem .3rem;
  margin: -0.075rem 0 0 -0.15rem;
  border-radius: .2rem;
}

/* Avatar */
.ava {
  display: block;
  margin: 0 auto;
  border-radius: 50%;
}

.ava-xl {
  width: 12rem;
  height: 12rem;
}

/* Titles */
.t-xl {
  font-size: 3rem;
}

.t-l {
  font-size: 1.5rem;
}

.t-m {
  font-size: 1rem;
}

.t-s {
  font-size: .9rem;
}

/* Helpers */
.din {
  display: inline-block;
}

.db {
  display: block;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-05 {
  margin-bottom: 0.5rem;
}

.mt-0 {
  margin-top: 0;
}

.mt-05 {
  margin-top: 0.5rem;
}

.mt-1 {
  margin-top: 1rem;
}

.mt-3 {
  margin-top: 3rem;
}

.mt-4 {
  margin-top: 4rem;
}

.mt-5 {
  margin-top: 5rem;
}

.ml-05 {
  margin-left: 0.5rem;
}

.ml-1 {
  margin-left: 1rem;
}

.mr-05 {
  margin-right: 0.5rem;
}

.mr-1 {
  margin-right: 1rem;
}

@media screen and (max-width: 760px) {
  .hm {
    display: none;
  }
}

.mw-text {
  max-width: 72ch;
}

/* Color helpers */
.tc-light {
  color: var(--color-text-light);
}