@font-face {
	font-family: 'Pinyon';
	src: url(fonts/PinyonScript-Regular.ttf);
}

@font-face {
	font-family: 'Roboto';
	src:url(fonts/Roboto-Regular.ttf);
}


:root {
	--clr-neutral-100: white;
	--clr-neutral-400: lightgrey;
	--clr-neutral-500: grey;
	--clr-neutral-900: black;
	
	--clr-primary-400: coral;
	--clr-primary-700: red;
	
	--clr-accent-400: green;
	
	--ff-regular: Roboto;
	--ff-accent: Pinyon;
	
	--fw-regular: 400;
	--fw-bold: 700;
	
	--fs-300: 0.825rem;
	--fs-400: 1.125rem;
	--fs-500: 1.5rem;
	--fs-600: 2rem;
	--fs-700: 3rem;
}


/* Box sizing rules and default margin */

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

img {
	max-width: 100%;
	display: block;
}


/* Remove list styles on ul, ol Elements */

ul[role='list'],
ol[role='list'] {
	list-style: none;
	margin: 0;
	padding: 0;
}


/* General Webstyles */

body {
	font-family: var(--ff-regular);
	font-weight: var(--fw-regular);
	font-size: var(--fs-400);
	color: var(--clr-neutral-900);
	line-height: 1.2; /* 1.2 ist Standard */
	
	max-width: 950px;
	margin: auto;
}

nav ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin:0;
	justify-content: space-around;
}

nav a {
	display: inline-block;
	color: black;
	text-decoration: none;
	padding: .5rem;
}

nav a:hover,
nav a:focus,
.hero a:hover,
.hero a:focus {
	color: var(--clr-primary-700);
	text-decoration: underline;
}

footer {
	background-color: var(--clr-neutral-500);
}

h1,h2,h3 {
	font-family: Pinyon, serif;
	color: var(--clr-primary-700)
}

h1 {
	font-size: var(--fs-700);
	text-align: center;
	padding-top: 0.5rem;
}

.bold {
	font-weight: var(--fw-bold);
}

.small {
	font-size: var(--fs-300);
}

.right {
	text-align: right;
}

.grid {
	padding: 1rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 1em;
}

.img-left > img {
	border: solid 1px;
	width: 40%;
	float: left;
	transform: rotate(-5deg);
	margin: 0 1em 1em 0;
	padding: 9px;
}

.img-right > img {
	border: solid 1px;
	width: 40%;
	float: right;
	transform: rotate(-5deg);
	margin: 0 0 1em 1em;
	padding: 9px;
}


.footer-social {
	display: flex;
	list-style: none;
	padding: 2rem;
	margin:0;
	justify-content: space-around;
}

.social-img {
	max-width: 45px;
}


/* Specific Webstyles */

/* HERO Banner */
.hero {
	background-image: url(images/bg_hero.jpg);
	background-color: var(--clr-neutral-500);
	background-size: cover;
	background-position: center center;
	margin-bottom: 1rem;
}

.hero a {
	color: var(--clr-neutral-900);
	text-decoration: none;
	font-weight: var(--fw-bold);
}

.hero h2 {
	font-size: var(--fs-600);
	text-align: center;
	padding: 1rem;
}

.network {
	max-width: 600px;
	text-align: center;
	margin: auto;
}

.network ul {
	display: flex;
	list-style: none;
	padding: 1rem 2rem 2rem 2rem;
	margin:0;
	justify-content: space-around;
}


/* Card */
.card {
	background-color: var(--clr-neutral-500);
	background-size: cover;
	background-position: center center;
	background-blend-mode: multiply;
	
	border-radius: 0.5rem;
}

.card-title {
	padding: 1rem 1rem 0rem 0.5rem;
}

.card-title > h3 {
	font-size: var(--fs-600);
}

.card-content {
	color: var(--clr-neutral-100);
	padding: 1rem;
}

.card-btn {
	background-color: var(--clr-accent-400);
	border-radius: 0 0 0 0.5rem;
	width: 40%;
	padding: 0.5rem;
	text-align: center;
}

.card-btn > a {
	color: var(--clr-neutral-100);
	text-decoration: none;
	font-weight: var(--fw-bold);
}


.portrait {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	
}

.portrait_parent {
	position: relative;
	border-radius: 1em;
	width: 49%;
	min-height: 150px;
	background-color: var(--clr-primary-400);
}

.portrait_img {
	position: absolute;
	top: -20%;
	left: 50%;	
	transform: translateX(-50%);
	background-image: url(images/portrait_puppy.jpg);
	background-size: cover;
	background-position: center center;
	background-blend-mode: multiply;
	border: 7px solid var(--clr-neutral-100);
	border-radius: 50%;
	width: 7rem;
	height: 7rem;
}

.portrait_content {
	line-height: 1.5;
	margin: 1em 0 0 1em;	
}

.portrait p {
	position: absolute;
	width: 100%;
	bottom: 0;
	padding: 1rem;
	
	font-size: var(--fs-500);
	
}