: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: #8b2a21;
}

.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: #04a94c;
}

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,
.card-wrapper .lang {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: var(--main-color-font);
  background-color: var(--bg-theme);
  text-align: center;
  border: var(--border-theme) solid 0.5px;
  cursor: pointer;
  z-index: 10;
}

.card-wrapper .theme {
  right: 0;
  border-radius: 0 12px 0 12px;
}

.card-wrapper .lang {
  left: 0;
  border-radius: 12px 0 12px 0;
  font-size: 12px;
  font-weight: bold;
}

.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: #6b1f18;
  background: linear-gradient(
    147deg,
    #6b1f18 0%,
    #8b2a21 100%
  );
  color: #ffffff;
  border: #8b2a21 solid 0.5px;
}

.body.dark .card-link:hover {
  background: #038c3e;
  background: linear-gradient(
    147deg,
    #038c3e 0%,
    #04a94c 100%
  );
  color: #ffffff;
  border: #04a94c solid 0.5px;
}
