:root {
  --bg-dark: #111114;
  --bg: #1b1b20;
  --bg-light: #282c34;
  --primary: #ff6347;
  --secondary: #a6a6b5;
  --body: #dcdcdc;
  --blue: #40b3ff;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 17px;
  line-height: 1.6;
}

body {
  margin: 0;
  background-color: var(--bg-dark);
  color: var(--body);
  box-sizing: border-box;
  font-family: 'Source Sans 3', sans-serif;
}

a {
  color: var(--secondary);
  text-decoration: none;
}

a:hover {
  color: var(--primary);
}

h1 {
  font-size: 1.5rem;
  margin: 0;
  font-weight: 800;
}

h2 {
  font-size: 1.6rem;
  font-weight: 600;
}

h3 {
  font-size: 1.4rem;
  font-weight: 600;
}

h4 {
  font-size: 1.2rem;
  font-weight: 600;
}

h2,
h3 {
  padding-bottom: 2px;
  border-bottom: 1px solid var(--bg-light);
}

h2,
p {
  margin: 0;
}

h3,
h4 {
  position: relative;
  margin: 1rem 0 0;
}

:is(h3, h4):hover .icon-link:before {
  content: '#';
  display: block;
  position: absolute;
  left: 0;
  padding: 0 0.25em;
  transform: translateX(-100%);
}

code {
  font-family: 'Fira Mono', monospace;
  font-size: 0.9rem;
}

p code {
  background-color: var(--bg-light);
  border-radius: 2px;
  padding: 3px 4px;
}
