*
{
	box-sizing: border-box;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 400;
}

html,
body,
h1,
h2,
h3,
ul,
ol
{
	padding: 0;
	margin: 0;
}

html,
body
{
	min-height: 100%;
}

body
{
	background: #333;
	display: flex;
	padding: 40px 0;
}

h1
{
	font-size: 2rem;
	letter-spacing: -1px;
}

h2
{
	font-size: 1.2rem;
	color: #168;
	margin-bottom: 10px
}

small
{
	font-size: 0.85rem;
}

table
{
	border-spacing: 0 8px;
}

tr:not(:first-of-type):not(:last-of-type)
{
	background: #1681;
}

tr td:first-of-type
{
	border-radius: 8px 0 0 8px;
	overflow: hidden;
}

tr td:last-of-type
{
	border-radius: 0 8px 8px 0;
	overflow: hidden;
}

tr th
{
	text-align: left;
	font-weight: 600;
	padding: 0 8px;
}

tr td
{
	padding: 8px;
}

tr.DarkRow td
{
	background: #1683;
	color: #168;
	font-weight: 600;
}

span
{
	color: #333;
}

b
{
	font-size: inherit;
	font-weight: 600;
}

main
{
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	background: #eee;
}

main .ContentContainer
{
	background: #fff;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	border-radius: 40px 40px 0 0;
	overflow: hidden;
	box-shadow: 0 4px 4px 2px #7a93;
}

.FlexColumn
{
	position: relative;
	display: flex;
	gap: 25px;
	padding: 30px;
}

.FlexColumn > section
{
	flex-grow: 1;
	width: 100%;
	padding: 0 20px;
}

section.Card
{
	background: #fff;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 2px 4px 0 #7a93;
}

.NoBullets
{
	list-style-type: none;
	padding: 0;
}

.LightText
{
	color: #666;
}

.RightText
{
	text-align: right;
}

.CenterText
{
	text-align: center;
}

.LetterIcon
{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 4rem;
	width: 4rem;
	background: #999;
	color: #f8f8f8;
	font-size: 2rem;
	border-radius: 8px;
}


.Page
{
	display: flex;
	flex-direction: column;
	background: #fff;
	margin: auto;
	width: 210mm;
	min-width: 210mm;
	height: 297mm;
	border-radius: 8px;
	overflow: hidden;
}

.ContentContainer
{
	padding: 30px 60px;
}

header
{
	display: flex;
	align-items: center;
	background: #168;
	color: #fff;
}

footer
{
	display: flex;
	justify-content: space-around;
	background: #f8f8f8;
	box-shadow: inset 0 0 4px 0 #7a93;
	font-size: 0.85rem;
}

footer *
{
	font-size: inherit;
}

footer > section
{
	width: 0;
	flex-grow: 1;
	padding: 0 20px;
}


@media print
{
	
	@Page
	{
		size: A4;
		margin: 0;
	}
	
	body
	{
		padding: 0;
	}
	
	.Page
	{
		height: 100vh;
		border-radius: 0;
	}
	
}