@import "https://fonts.googleapis.com/css?family=Open+Sans:300,400";

.contact-card-error {
	color: var(--text-error);
}

.contact-card,
.contact-card-content {
	display: flex;
	align-items: center;
}

.contact-card-content {
	font-family: "Open Sans", sans-serif;
	color: var(--text-normal);
	overflow: hidden;
	position: relative;
	animation: animatop 0.9s cubic-bezier(0.425, 1.14, 0.47, 1.125) forwards;
}

.contact-card-content *,
.contact-card-content *:before,
.contact-card-content *:after {
	box-sizing: border-box;
}

.contact-card {
	width: 400px;
	aspect-ratio: 1.75;
	padding: 15px;
	border-radius: var(--radius-s);
	background-color: var(--color-base-30);
	box-shadow: 0px 10px 20px var(--background-modifier-border);
	position: relative;
	overflow: hidden;
	flex-direction: row;
	border: 0.25px solid var(--color-base-35);
}

.contact-card:after {
	content: "";
	display: block;
	border-radius: 30%;
	width: 190px;
	height: 300px;
	background: var(--interactive-accent);
	position: absolute;
	animation: rotatemagic 0.75s cubic-bezier(0.425, 1.04, 0.47, 1.105) 1s both;
}

.contact-card-photo img {
	border-radius: 50%;
	width: 120px;
	z-index: 1;
	position: relative;
}
.contact-card-company-logo img {
	border-radius: var(--radius-s);
	height: 40px;
	position: absolute;
	top: 60%;
	left: 10px;
	background-color: white;
	padding: 4px;
	z-index: 2;
}
.contact-card-info {
	font-size: var(--font-ui-medium);
	position: relative;
	z-index: 2;
	padding: 0px 0px 0px 20px;
}
.contact-card-info * {
	line-height: 1.2;
	margin: 5px;
}
.contact-card-info svg {
	margin: 0px;
	height: 0.75rem;
}
.contact-card-name {
	font-size: var(--font-ui-large);
	margin-bottom: 0px;
}

.contact-card-separator {
	line-height: 0.5em;
}
.contact-card-hidden {
	display: none;
}
.contact-card-title {
	margin-top: 0px;
	font-size: var(--font-ui-medium);
	color: var(--text-accent);
	font-style: italic;
}

.contact-card a {
	margin: 0px;
}

.contact-card a:link,
.contact-card a:visited,
.contact-card a:active {
	text-decoration: none;
	color: inherit;
}

@keyframes animatop {
	0% {
		opacity: 0;
		bottom: -500px;
	}
	100% {
		opacity: 1;
		bottom: 0px;
	}
}
@keyframes animainfos {
	0% {
		bottom: 10px;
	}
	100% {
		bottom: -42px;
	}
}
@keyframes rotatemagic {
	0% {
		opacity: 0;
		transform: rotate(0deg);
		top: -24px;
		left: -253px;
	}
	100% {
		transform: rotate(-30deg);
		top: -24px;
		left: -78px;
	}
}

.theme-dark .contact-card-info svg {
	filter: invert(100%);
}
