
@font-face {
	font-family: 'comic';
	src: url('../font/Komika.woff2') format('woff2');
}
@font-face {
	font-family: 'comic-mono';
	src: url('../font/ComicMono.woff2') format('woff2');
	size-adjust: 90%;
}

:root {
	--color-lilac: #c095e4;
	--color-faded: #fcedf2;
	--color-flesh: #ffd1d4;
	--color-pink: #ffb7c5;
	--color-candy: #ffa0c5;
	--color-love: #e09bd5;
}

body {
	font-family: comic, sans-serif;
	background: var(--color-lilac);
	width: 95%;
	margin-left: auto;
	margin-right: auto;
	font-size: 14pt;
}

@media (min-width: 1200px) {
	body {
		width: 800px;
	}
}
@media (max-width: 1200px) {
	header dl {
		font-size: 120%;
	}
	h1 {
		font-size: 300%;
		margin-bottom: -.6em !important;
	}
}

a {
	font-family: comic-mono, monospace;
	color: black;
	text-decoration-style: wavy;
	text-decoration-color: var(--color-lilac);
}

h1 {
	margin-left: auto;
	margin-right: auto;
	background: url('../img/helle.png');
	background-repeat: no-repeat;
	padding-left: 1.8em;
	background-position-x: -1.8em;
	background-position-y: center;
	width: fit-content;
	background-size: 1.5em auto;
	background-origin: content-box;
	margin-bottom: -.8em;
	white-space: nowrap;
}
hgroup p {
	font-size: 130%;
	text-align: center;
}

h2 {
	margin-bottom: calc(-1.2rem - 1vh);
	margin-top: 0;
}

header dl {
	margin-top: -.5rem;
	display: flex;
	flex-flow: row wrap;
	white-space: nowrap;
}
header dt {
	flex-basis: 18%;
	padding: .0625rem .8rem;
	background: #333;
	text-align: right;
	color: #fff;
}
header dd {
	flex-basis: 70%;
	flex-grow: 1;
	margin: 0;
	padding: .0625rem .5rem;
	background: var(--color-love);
}

section, section div, section dd {
	mask:
	    radial-gradient(3.35vh at 50% 4.5vh,#000 99%,#0000 101%) calc(50% - 3vh) 0/6vh 100%,
	    radial-gradient(3.35vh at 50% -3vh,#0000 99%,#000 101%) 50% 1.5vh/6vh 100% repeat-x;
}


section {
	background: linear-gradient(to right, var(--color-candy), var(--color-pink));
	background-clip: border-box;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: .001rem;
	padding-top: 1.75vh;
	margin-right: 0;
	margin-top: -0.5rem;
}

section + section {
	margin-top: 0.7rem;
}

section p {
	margin: 0;
	padding: 0;
}

section dl div {
	background: linear-gradient(to right, var(--color-pink), var(--color-flesh));
	padding: 0;
	margin: 0;
	padding-bottom: 0.125rem;
	padding-top: calc(.5rem + 1vh);
	margin-top: -2vh;
	margin-bottom: calc(.33rem + 1.5vh);
}

section dl div + div {
	margin-top: -1vh;
}

section dd {
	margin: 0;
	margin-left: 3.25rem;
	margin-right: .75rem;
	margin-bottom: .75rem;
	margin-top: -1vh;
	padding: .5rem;
	padding-top: calc(.5rem + 1.25vh);
	background: linear-gradient(to right, var(--color-flesh), var(--color-faded));
	background-origin: padding-box;
	background-clip: padding-box;
}

section dl:last-child {
	padding-bottom: 0;
	border-bottom: 0;
	margin-bottom: 0;
}

section dt {
	font-weight: bold;
	line-height: 1.5rem;
	margin-left: 1rem;
	padding-top: .33rem;
}

.service-logo::after {
	background-size: 1.5rem auto;
	background-repeat: no-repeat;
	background-position: center right;
	width: min-content;
	white-space: nowrap;
	padding-right: 1.9rem;

}
.email::after {
	content: "✉️";
	padding-left: .4rem;
	margin: 0;
	padding-right: 0;
}
.phone::after {
	content: "☎️";
	padding-left: .4rem;
	margin: 0;
	padding-right: 0;
}
.fedi::after {
	background-image: url('../img/fedi.svg');
	content: " ";
}
.matrix::after {
	background-image: url('../img/matrix.svg');
	content: " ";
	background-size: 2rem auto;
	padding-right: 2.4rem;
}

footer {
	font-size: 80%;
	margin-top: 1rem;
	padding: .0625rem 10rem;
	background: var(--color-love);;
	text-align: center;
}
