:root {  
	--green: rgb(42, 252, 152);
	--blue: rgb(41, 121, 255);
	--bg-1: #250b0b;
	--bg-2: #520707;
}

html {
	font-family: "Rubik", sans-serif;
}

body {
	background: linear-gradient(to bottom right, var(--bg-1), var(--bg-2));
	background-repeat: no-repeat;
	background-attachment: fixed;
}

#title {
	text-align: center;
	color: var(--green);
      font-size: 50px;
}

.blog-link {
      font-size: 20px;
}

.blog-link:hover {
      color: rgb(152, 255, 228);
}

#about {
	color: rgba(225, 37, 37, 0.694);
}

#about:hover {
	background: rgb(225, 37, 37);
	background-clip: text;
  	-webkit-background-clip: text;
}

::selection {
	color: var(--green);
}

a {
  overflow: hidden;
  position: relative;
  display: inline-block;
  cursor: crosshair;
}

a::before,
a::after {
	content: '';
	position: absolute;
	width: 100%;
	left: 0;
	cursor: crosshair;
}

a::before {
  background-color: rgb(32, 65, 55);
  height: 2px;
  bottom: 0;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1);
  cursor: crosshair;
}

a::after {
  content: attr(data-replace);
  height: 100%;
  top: 0;
  transform-origin: 100% 50%;
  transform: translate3d(200%, 0, 0);
  transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1);
  color: var(--green);
  cursor: crosshair;
}

a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
  cursor: crosshair;
}

a:hover::after {
  cursor: crosshair;
  transform: translate3d(0, 0, 0);
}

a span {
  display: inline-block;
  cursor: crosshair;
  transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1);
}

a:hover span {
  transform: translate3d(-200%, 0, 0);
  cursor: crosshair;
}

/* Presentational Styles */
body {
  display: grid;
  font-family: 'Poppins', sans-serif;
  font-size: 27px;
  line-height: 1.5;
  place-items: center;
}

a {
  text-decoration: none;
  color: var(--blue);
  font-weight: 700;
  vertical-align: top;
  cursor: crosshair;
}

.loader {
      position: fixed;
      top: 0;
      left: 0;
      height: 100vh;
      width: 100vw;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #2f0000;
      transition: opacity 0.5s, visibility 0.5s;
      z-index: 100;
}

.loader-hidden {
      opacity: 0;
      visibility: hidden;
}

.loader::after {
      content: "";
      width: 75px;
      height: 75px;
      border: 15px solid var(--bg-2);
      border-top-color: var(--bg-1);
      border-radius: 50%;
      animation: loading 0.75s ease infinite;
}

@keyframes loading {
      from {
            transform: rotate(0turn);
      }

      to {
            transform: rotate(1turn);
      }
}

::selection {
	color: #00ffcc;
}