@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&display=swap');

:root {
  --secondary-color-100: #434c5e;
  --secondary-color-200: #3b4252;
  --primary-color-100: #d8dee9;
  --primary-color-800: #e5e9f0;
  --primary-color-900: #eceff4;
  --rounded-corner-radius: 12px;
  --img-rounded-corner-radius: 6px;
  --svg-icon-size: 40px;
  --contact-svg-icon-size: 38px;
  --footer-svg-icon-size: 34px;
  --header-font-size: 1.25rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: 'Fira Sans', sans-serif;
  background-color: var(--secondary-color-100);
  color: var(--primary-color-900);
}

body,
main,
section,
footer {
  padding: 0;
  margin: 0;
}

#name {
  text-align: center;
  padding: 0;
  margin: 1em;
  animation: typing 3s steps(13);
  overflow: hidden;
  white-space: nowrap;
  font-family: consolas;
  width: 12ch;
}

@keyframes typing {
  0% {
    width: 0ch;
    border-right: 4px solid black;
  }

  99% {
    width: 12ch;
    border-right: 4px solid black;
  }

  100% {
    width: 13ch;
    border-right: none;
  }
}

.horizontal-container {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.vertical-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.main-contents {
  padding-top: 1em;
  width: 100%;
  height: 100%;
}

#profile-picture {
  border-radius: 900px;
  width: 40%;
  height: auto;
}

#about-me {
  width: 75%;
  font-size: var(--header-font-size);
  text-align: center;
}

#projects {
  width: 100%;
  font-size: var(--header-font-size);
  padding: 1em;
}

#text-editor-bg {
  background-color: rgb(98, 98, 97);
}

#backups-bg {
  background-color: #bf616a;
}

.project-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: var(--rounded-corner-radius);
  color: var(--primary-color-100);
  padding: 1.25em;
  margin: 1em;
}

.project-card:hover {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  transition: ease-in;
}

.project-logo {
  width: var(--project-logo-size);
  height: var(--project-logo-size);
}

.line {
  border-radius: 2px;
  width: 100%;
  height: 2px;
  font-size: 0;
  background-color: var(--primary-color-100);
}

.svg-icon {
  width: var(--svg-icon-size);
  height: var(--svg-icon-size);
}

.spacing--right {
  margin-right: 0.4em;
}

.footer-svg-icon {
  width: var(--footer-svg-icon-size);
  height: var(--footer-svg-icon-size);
}

.contact-svg-icon {
  width: var(--contact-svg-icon-size);
  height: var(--contact-svg-icon-size);
}

#footer {
  margin-top: 1em;
}

.footer-text {
  margin-right: 0.5em;
  color: var(--primary-color-100);
}
