/**********************************************************************
	html & body
*/

html {
	min-height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	
	min-height: 100vh;
	
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow-y: scroll;
	
	font-family: 'Lato';
	font-weight: 400;
	font-size: 14px;
}



/**********************************************************************
	Überschriften, Absätze, Listen
*/


p {
	margin-top: 20px;
	margin-bottom: 0;
}

a {
	color: inherit;
}

h1 {
	margin-top: 50px;
	margin-bottom: 0;
}

h2 {
	margin-top: 40px;
	margin-bottom: 0;
}

h3 {
	margin-top: 30px;
	margin-bottom: 0;
}

h4 {
	margin-top: 20px;
	margin-bottom: 0;
}

p:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child {
	margin-top: 0;
}

ul {
	margin: 0;
	padding: 0;
	
	list-style-type: none;
}

li {
	display: block;
}



/**********************************************************************
	Formulare
*/

input[type=text],
input[type=tel],
input[type=number],
input[type=email],
input[type=search],
input[type=password] {
	display: block;
	width: 100%;
	
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	border: none;
	border-radius: 0;
	outline: none;
	font-family: inherit;
	font-size: 120%;
}



/**********************************************************************
	Allgemeine Stile
*/

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.center-x {
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
}

.center-y {
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
}

.center-xy {
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



/**********************************************************************
	Buttons
*/

.button {
	display: inline-flex;
	
	padding: 10px 15px;
	
	text-decoration: none;
}

.button i.bi {
	margin-right: 10px;
}




/**********************************************************************
	Mitteilungen
*/

.message {
	margin-top: 20px;
	padding: 10px;
	
	box-sizing: border-box;
	
	border-radius: 5px;
	background-color: rgba(0, 0, 0, 0.05);
}

.message:first-child {
	margin-top: 0;
}

.message.success {
	background-color: #d8f3dc;
}

.message.error {
	background-color: #ffcad4;
}