
html {

	font-size: 18px;

	/* ---------------------------- */
	/* Text Colors */

	--color-intro-headline: #C3C5D3;
	--color-intro-description: #A0A4BA;

	--color-links-category: #535E98;
	--color-links-headline: #35384A;
	--color-links-description: #676279;

	--color-body-text: #333;
	

	/* ---------------------------- */
	/* Layout Colors */

	--color-body-bg: hsl(232, 16%, 15%);

	--color-intro-bg: hsl(232, 18%, 26%);

	--color-links-bg: hsl(300, 11%, 97%);
	--color-links-box-border: hsl(231, 28%, 91%);
	--color-links-box-bg: hsl(231, 28%, 94%);
	--color-links-box-bg__hover: hsl(231, 28%, 91%);

}

html:focus-within {
	scroll-behavior: smooth;
}

body {
	font-family: 'Oxygen', sans-serif;
	color: var(--color-body-text);
	background: var(--color-body-bg);
	margin: 0;
}

[v-cloak] { 
	display: none; 
}

[data-emoji] {
	font-style: normal;
	font-weight: normal;
	font-family: apple color emoji, segoe ui emoji, noto color emoji, android emoji, emojisymbols, emojione mozilla, twemoji mozilla, segoe ui symbol;
}

[data-emoji]:before {
	content: attr(data-emoji);
}


main {
	margin: 2rem auto 2rem auto;
	width: 542px;
	border-radius: 20px;
	overflow: hidden; /* damit border radius auch für intro greift */
	box-sizing: border-box; 
	
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

.intro {
	background-color: var(--color-intro-bg);
	padding: 28px;
}

.links {
	padding: 28px;
	background-color: var(--color-links-bg);
}



/* ---------------------------- */
/* Introduction */


.introduction {
	display: flex;
	align-items: center;
	/*margin-bottom: 1.5rem;*/
}

/*
.introduction img {
	border-radius: 20px;
	width: 82px;
	height: 82px;
}
*/

.introduction__image {
	background-image: url(../images/profile_picture.png);
	background-repeat: no-repeat;
	background-size: contain;
	flex: 0 0 82px;
	height: 82px;
	border-radius: 10px;
	border: 2px solid var(--color-intro-headline);
}

.introduction__text {
	margin-left: 18px;
}


.introduction h2 {
	margin: 0 0 0.3rem 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-intro-headline);
}

.introduction h2 span {
	display: inline-block;
	font-weight: 400;
	font-size: 0.9rem;
	color: var(--color-intro-headline);
	vertical-align: 2px;
	margin-left: 8px;

	/*transform: translate(-50%, -50%);*/
	transform: translate(0%, 0%);
	animation: jump 2s infinite;
}


.introduction__description {
	color: var(--color-intro-description);
	font-size: 1rem;
}





/* ---------------------------- */
/* Links */

.categories__list {
	list-style: none;
    padding: 0;
    margin: 0;
}
.categories__item {
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--color-links-category);
}
.categories__item:not(:last-child) {
	margin-bottom: 16px;
}


.links__list {
	list-style: none;
    padding: 0;
    margin: 6px 0 0 0;
}

.links__item:not(:last-child) {
	margin-bottom: 18px;
}

.links__item a { 
	display: block; 
	text-decoration: none; 
	padding: 16px;
	border-radius: 20px;
	/*padding-left: 50px;*/
	text-decoration: none;
	/*color: var(--color-link);*/
	transition: background-color 120ms linear;
	background-color: var(--color-links-box-bg);
	border: 1px solid var(--color-links-box-border);

	/*
	background-repeat: no-repeat;
	background-size: 40px;
	*/
}

.links__item a:hover {
	background-color: var(--color-links-box-bg__hover);
	transition: background-color 120ms linear;
}

.links__item h3 {
	color: var(--color-links-headline);
	margin: 0 0 0.1rem 0;
	font-size: 1.1rem;
	font-weight: 700;
}

.links__item .description {
	font-size: 0.8rem;
	font-weight: 400;
	color: var(--color-links-description);
}

.links__list__container {
	display: flex;
	/*align-items: center;*/
}

.links__list__favicon {
	/*margin-left: 10px;*/
	margin-top: 2px;
	margin-right: 12px;
	flex: 0 0 48px;
	height: 48px;
	background-repeat: no-repeat;
	background-size: contain;
	
	/*background-origin: content-box; wenn background image padding einbeziehen*/
	padding: 6px;
	flex: 0 0 36px;
	height: 36px;
	text-align: center;
	
	border-radius: 10px;
}

.links__list__favicon__image {
	width: 100%;
	height: 36px
}

.links__list__text {

}


/* ---------------------------- */
/* Logos */

.logo-instagram {
	background-image: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
}

.logo-dribbble {
	background-color: #EA4C89;
}

.logo-github {
	background-color: #FFFFFF;
}

.logo-twitter {
	background-color: #56A2F2;
}

.logo-x {
	background-color: #ffffff;
}

.logo-usolved {
	background-color: #45B6E9;
}

.logo-planrechner {
	background-image: url(../images/planrechner-bg-brands.png);
}


/* ---------------------------- */
/* Animations */

/* Jumping ascii emoji */
@keyframes jump {

	/*move up*/
    0% { transform: translate(0%, 0%) scale(1.25, 0.75); }
    50% { transform: translate(0%, -60%) scale(1, 1); }

    /*jiggle*/
    55% { transform: translate(0%, -60%) rotate(6deg); }
    60% { transform: translate(0%, -60%) rotate(-6deg); }
    65% { transform: translate(0%, -60%) rotate(6deg); }
    70% { transform: translate(0%, -60%) rotate(-6deg); }
    
    /*move down*/
    100% { transform: translate(0%, 0%) scale(1.25, 0.75); }
}


/* Slide in for the link categories */
.slide-enter-active {
	transition: 1.2s;
}

.slide-enter-from {
	transform: translate(120%, 0);
}


/* Fade in for the ascii emoji */
.fade-enter-active,
.fade-leave-active {
	transition: opacity 1s ease;
}

.fade-enter-from,
.fade-leave-to {
	opacity: 0;
}

.introduction__emoji--delay {
	transition-delay: 0.9s
}

/* ---------------------------- */
/* Accessibility Settings */

@media (prefers-reduced-motion: reduce) {
	.introduction h2 span {
		animation: none;
		vertical-align: 5px;
	}
	.fade-enter-active,
	.fade-leave-active {
	  transition: unset;
	}
}


/* ---------------------------- */
/* Media Queries */

@media (max-width: 800px) {

	main {
		margin: 1rem auto 1rem auto;
		width: 90%;
		min-width: 352px;
	}

	.links__item h3 {
		font-size: 1rem;
	}

	.introduction h2 {
		font-size: 1.2rem;
	}

	.introduction h2 span {
		font-size: 0.77rem;
	}

	.introduction__description {
		font-size: 0.75rem;
	}

	.slide-enter-active {
		transition: 1s;
	}
}

/*
@media (max-width: 420px) {

	main {
		margin: 0 auto;
		width: 100%;
		border-radius: 0;
	}

}
*/
