// GLOBAL

html, body, div, section, main, nav, figure, p, a, h1, h2, h3, h4, h5, h6, ul, ol, li { box-sizing: border-box; margin: 0; }
article, aside, details, figcaption, figure, footer, header, main, nav, section, video, summary { display: block; }
a:focus {
  outline: none;
}
a:active,
a:hover {
  outline: 0;
}
img {
  border: 0;
  width: 100%;
  height: 100%;
	vertical-align: middle;
}
svg:not(:root) {
  overflow: hidden;
}
ol, ul {
	list-style: none;
	padding: 0;
}
html {
	font: 100%/1.4 $body;
	font-weight: normal;
	font-smooth: always;
	text-rendering: auto;
	color: $text-prime;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	height: 100%;
	cursor: default;
	background-color: $background;
}

.highlighter {
	display: inline-block;
	position: relative;
  cursor: pointer;
	transition: color 0.15s cubic-bezier(.25, .46, .45, .94);
}
.highlighter::after {
	content: "";
	display: block;
	position: absolute;
	top: 80%;
	background-color: $text-prime;
	height: 2px;
  width: 100%;
	border-radius: 1px;
  transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform 0.25s cubic-bezier(.25, .46, .45, .94);
}
a:hover .highlighter::after {
  transform-origin: 0% 50%;
	transform: scaleX(1);
}
.buttons {
	margin-top: 2vh;
	display: flex;
	justify-content: flex-start;
}
p .highlighter::before {
  content: "";
  display: block;
  position: absolute;
  background-color: hsl(180,12%,87%);
  height: 2px;
	width: 100%;
	border-radius: 1px;
}
p .highlighter::after, p .highlighter::before {
	top: 90%;
}

