:root {
  /* general colors*/
  --blue: #386cc7;
  --dark: #1c1c1c;
  --light: #ffffff;
  --grey: #717171;
  --border: #717171;
  --dark-grey: #474747;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Google Sans", sans-serif;
}

.body.light {
  --bg-theme: #f8f9fa;
  --bg-card: #ffffff;
  --bg-links: #ffffff;

  --border-theme: #717171;
  --main-color-font: #474747;
  --subtitle-color-font: #474747;
  --text-color-font: #e76f51;

  --bg-links-a: #ffffff;
}

.body.dark {
  --bg-theme: #1c1c1c;
  --bg-card: #2e2e2e;
  --bg-links: #474747;

  --border-theme: #717171;
  --main-color-font: #ffffff;
  --subtitle-color-font: #ffffff;
  --text-color-font: #ffd166;

  --bg-links-a: #ffffff;
}

html,
body {
  background-color: var(--bg-theme);
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.5s ease;
}

.card-wrapper {
  position: relative;
  width: 100%;
  max-width: 350px;
}

.card-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--bg-card);
  width: 100%;
  border-radius: 12px;
  padding: 35px;
  gap: 30px;
  border: var(--border-theme) solid 0.5px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.1),
    0 2px 4px rgba(0, 0, 0, 0.1);
  transition: background-color 0.25s ease, color 0.25s ease,
    border-color 0.25s ease, box-shadow 0.25s ease;
}

.card-wrapper .theme {
  width: 40px;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: var(--main-color-font);
  background-color: var(--bg-theme);
  padding: 10px 10px;
  text-align: center;
  border-radius: 0 12px 0 12px;
  border: var(--border-theme) solid 0.5px;
  cursor: pointer;
  z-index: 10;
}

.theme svg {
  width: 20px;
  height: 20px;
}

.card-info {
  text-align: center;
}

.card-profile {
  border-radius: 100%;
  width: 100px;
  border: 0.5px solid var(--border-theme);
}

.card-name {
  font-size: 25px;
  color: var(--main-color-font);
  padding-top: 10px;
}

.card-location {
  margin-top: 10px;
  color: var(--text-color-font);
  font-size: 15px;
  font-weight: bold;
}

.card-bio {
  padding: 10px 0;
  color: var(--subtitle-color-font);
  font-size: 15px;
  width: 100%;
}

.card-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease;
}

.card-link {
  text-decoration: none;
  color: var(--subtitle-color-font);
  background-color: var(--bg-links);
  padding: 12px 20px;
  width: 100%;
  text-align: center;
  border-radius: 12px;
  border: var(--border-theme) solid 0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.card-link svg {
  flex-shrink: 0;
}

.card-link i {
  margin-right: 8px;
}

.card-link:hover {
  background: var(--blue);
  background: linear-gradient(
    147deg,
    rgba(56, 108, 199, 1) 0%,
    rgba(79, 172, 254, 1) 100%
  );
  color: var(--light);
  border: var(--light) solid 0.5px;
}

.text {
  font-size: 13px;
  color: var(--subtitle-color-font);
}

.text a {
  text-decoration: none;
  color: var(--bg-links-a);
  font-style: italic;
  font-weight: bold;
  border: 0.5px solid var(--border-theme);
  padding: 2px 4px;
  border-radius: 5px;
  background-color: #386cc7;
}