body {
	margin    : 1em auto;
	max-width : 800px;

	display : grid;
	gap     : 1em;
	
	grid-template-areas:
		"header header"
		"aside main"
		"footer footer";

	grid-template-columns: 170px 1fr;
}

header {
	grid-area: header;

	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"img _t"
		"img address"
		"img nav"
		"img _b";

	>img {
		grid-area : img;
		margin    : 1em .5em;
	}
	
	>address {
		grid-area: address;
		font-size: .8em;
		
		a {
			color      : black;
			font-style : normal;
		}
	}

	>nav {
		grid-area: nav;
	}
	
	ul {
		list-style-type: none;
		display : flex;
		gap     : .5em;
		padding : 0;
		margin  : 0;
	}
}

main {
	grid-area: main;
}

aside {
	grid-area: aside;

	>section {
		padding: 0 4px 4px 4px;
		
		h2 { font-size: 1em; }
				
		ul {
			list-style-type: none;
			padding : 0;
			margin  : 0;

			display        : flex;
			flex-direction : column;
			gap            : .5em;
		}
	}
}

footer {
	grid-area   : footer;
	font-size   : 0.8em;
	border-top  : 1px solid black;
	padding-top : 1em;
}
