:root {
	--verylight: #ecf1f1;
	--lightbluegrey: #d9e9e4;
	--blue: #27627f;
	--darkblue: #315465;
	--lightgold: #ffeb99;
	--gold: #ffcc33;
	--grey: #666;
}

* {
    margin: 0;
    box-sizing: border-box;
}

body {
	font-family: Cabin, Verdana, sans-serif;
	font-size: 17px;
	background-color: var(--verylight);
}

header {
	width: 100%;
	background-color: var(--gold);
	background-image: url(../images/head.gif);
	background-repeat: repeat-x;
	background-position: center top;
}

main {
	position: relative;
	grid-area: content;
	margin: auto;
	padding: 16px;
	max-width: 900px;
	height: 100%;
	min-height: calc(100vh - 423px);
	background-color: #ffffff;
}

main .heading-image {
	object-fit: cover;
	object-position: top;
	width: 100%;
	height: 50vw;
}

main .dark-line {
	padding: 8px 0;
}

footer {
	background-color: var(--gold);
}

footer a {
	font-weight: 600;
	color: var(--darkblue);
	text-decoration: none;
}

footer a:hover {
	color: var(--blue);
	text-decoration: underline;
}

footer .container {
	justify-content: center;
	margin: auto;
	padding: 16px;
	max-width: 1000px;
}

footer .site-name {
	display: inline-block;
	padding: 16px;
	font-size: 40px;
	font-weight: bold;
	color: #000;
}

footer .site-name:hover {
	text-decoration: none;
}

footer ul {
	list-style: none;
	padding-inline-start: 0px;
	font-size: 16px;
}

footer li {
	margin: 4px 0;
}

h1 {
	padding: 16px 0;
	font-size: 32px;
}

h1.site-name {
	font-family: Quintessential, sans-serif;
	font-size: 50px;
}

h2 {
	padding: 8px 0;
	font-size: 26px;
}

h2.site-name {
	padding: 0;
	font-family: Quintessential, sans-serif;
	font-size: 32px;
	color: var(--grey);
}

h3 {
	margin: 8px 0;
	font-size: 22px;
}

p {
	margin: 16px 0;
	line-height: 23px;
}

a {
	color: var(--blue);
}

blockquote {
	margin: 0 8px;
	font-size: 20px;
}

blockquote p {
	padding: 4px;
}

ol.links  {
	padding-inline-start: 0px;
	padding: 0 32px;
}

ul.breadcrumb {
	display: inline-block;
	list-style: none;
	padding-inline-start: 0px;
	padding: 10px;
	font-size: 14px;
	background-color: var(--verylight);
}

ul.breadcrumb li {
	display: inline;
}

ul.breadcrumb li+li:before {
	padding: 8px;
	content: "/\00a0";
}

ul.breadcrumb li a {
	text-decoration: none;
}

.breadcrumb-with-menu {
	width: 90%;
}

.breadcrumb-no-menu {
	width: 100%;
}

button {
	border: 1px solid var(--lightbluegrey);
	padding: 9px 13px;
	font-size: 16px;
	background-color: #ffffff;
}

.imgleft {
	float:left;
	text-align:left;
}

.imgright {
	float:right;
	text-align:right;
}

.bold {
	font-weight: bold;
}

.centre {
	justify-content: center;
	align-items: center;
	text-align: center;
}

.centred > div > span {
	margin: auto;
}

.padding-8 {
	padding: 8px;
}

.padding-16 {
	padding: 16px;
}

.grid-container {
	display: grid;
	grid-template-columns: repeat(12, [col-start] 1fr);
}

.container > * {
	grid-column: col-start / span 12;
}

.flex-container {
	margin: 16px 0px;
}

.flex-container > div > .small-translation {
	margin: 2px 4px;
	font-size: 14px;
}

.row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 8px;
	width: 100%;
}

.column {
	display: flex;
	flex-direction: column;
	flex-basis: 100%;
	/*flex: 1;*/
}

.column > div {
	padding: 8px;
}

.col-double {
	flex: 2;
}

.col-1 {
	flex: 0 0 8.3%;
}

.col-2 {
	flex: 0 0 16.6%;
}

.col-3 {
	flex: 1 0 25%;
}

.col-4 {
	flex: 0 0 33.3%;
}

.col-5 {
	flex: 0 0 41.67%;
}

.col-6 {
	flex: 0 0 50%;
}

.col-6-small-12 {
	flex: 0 0 100%;
	margin: 0px;
}

.col-8 {
	flex: 0 0 66%;
}

.col-9 {
	flex: 0 0 75%;
}

.col-12 {
	flex: 0 0 100%;
}

.no-top-margin {
	margin-top: 0px;
}

.no-bottom-margin {
	margin-bottom: 0px;
}

.mobile-menu-wrapper {
	position: absolute;
	top: 16px;
	height: 100%;
}

#btnContents {
	cursor: pointer;
	z-index: 1;
	display: inline-block;
	position: sticky;
	top: 16px;
	margin: 16px 8px 0 -48px;
}

#floatingContents {
	z-index: 2;
	display: none;
	position: sticky;
	top: 53px;
	margin: -1px 8px 0 -48px;
	border: 1px solid var(--lightbluegrey);
	padding: 16px;
	width: 256px;
	background-color: #ffffff;
}

.translation {
	font-style: italic;
	color: var(--grey);
}

.learning {
	padding: 4px;
}

.learning p {
	text-align: center;
	font-size: 19px;
}

.literature {
	margin: 8px 0;
	border-radius: 3px;
	box-shadow: 0 2px 8px 0 rgba(128, 128, 128, 0.2), 0 4px 8px 0 rgba(128, 128, 128, 0.2);
	padding: 4px 32px;
}

.literature p, .literature li {
	padding: 8px 0;
	line-height: 32px;
}

.header-nav {
	display: flex;
	justify-content: space-around;
	text-align: center;
	font-size: 14px;
	background-color: var(--lightbluegrey);
}

.header-nav ul {
	display: flex;
	/*justify-content: space-evenly;*/
	list-style-type: none;
	padding: 0;
	width: 100%;
	max-width: 1000px;
	overflow: hidden;
}

.header-nav li {
	display: block;
	margin: 4px 0;
	/*max-width: 160px;*/
	font-weight: bold;
}

.header-nav li:first-child {
	border-right: 1px solid #fff;
}

.header-nav li:nth-child(2) {
	border-left: 1px solid var(--blue);
	border-right: 1px solid #fff;
}

.header-nav li:last-child {
	border-left: 1px solid var(--blue);
}

.header-nav span {
	display: block;
}

.header-nav a {
	text-decoration: none;
	color: #000;
}

.header-nav a:hover {
	color: var(--blue);
}

.text-condensed p {
	padding: 10px 20px;
}

.pagination {
	display: flex;
	padding-inline-start: 0;
	padding-top: 8px;
	justify-content: center;
	list-style: none;
}

.pagination li {
	margin: 0 4px;
	border: 1px solid var(--lightbluegrey);
	border-radius: 4px;
	height: 48px;
	width: 48px;
	font-size: 14px;
	line-height: 45px;
	text-align: center;
}

.pagination li:hover {
	border-color: var(--lightgold);
	background-color: var(--lightgold);
}

.pagination li a {
	display: block;
	text-decoration: none;
}

.main-link {
	border-radius: 16px;
	margin: 16px auto 0;
	padding: 22px 28px;
	font-weight: 500;
	font-size: 20px;
	text-decoration: none;
	text-align: center;
	color: #000;
	background-color: var(--lightgold);
}

.more-links-container {
	margin-top: 16px;
	border-color: var(--verylight);
	border-radius: 10px;
	background-color: var(--lightgold);
	padding: 16px 16px 32px;
}

.more-links-container > h3 {
	margin: 8px 4px 16px;
	padding-bottom: 4px;
}

.more-links {
	padding-top: 10px;
}

.start-learning {
	background-color: #ffffff;
	margin: 8px 8px 8px 0;
	border-radius: 12px;
	padding: 10px;
	font-size: 20px;
}

.start-learning a {
	text-decoration: none;
}

.more-links ul {
	padding-inline-start: 0px;
}

.more-links li {
	display: inline-block;
	background-color: #ffffff;
	margin: 8px 8px 8px 0;
	border-radius: 12px;
	padding: 10px;
	list-style: none;
}

.big-container {
	grid-template-areas:
		"menu content";
	grid-template-columns: 0fr 4fr;
	gap: 4px;
	margin: auto;
	max-width: 1100px;
}

.big-container > main {
	padding: 32px 16px;
}

.menu-container {
	display: none;
	grid-area: menu;
	background-color: #fff;
}

.menu {
	position: sticky;
	top: 64px;
	padding: 16px 8px;
}

.menu li {
	padding: 8px 0;
	list-style: none;
}

.not-last li:nth-last-child(-n + 2) {
	text-align: right;
}

.last li:last-child {
	text-align: right;
}

.menu a {
	text-decoration: none;
}

.list-alt > div:nth-child(even) {
	background-color: var(--verylight);
}

.list-alt-alt > div:nth-child(odd) {
	background-color: var(--verylight);
}

.list-alt tr:nth-child(even) {
	background-color: var(--verylight);
}

.list-alt span, .list-alt-alt span, .list-alt a {
	margin: 6px 2px;
}

.first-bold > .row > span:first-child {
	font-weight: bold;
}

.one-and-two > .row > span {
	flex: 1;
}

.one-and-one > .row > span {
	flex: 1;
}

.break-left {
	border-left: 2px solid #ffffff;
}

.logo {
	height: 73px;
}

.signature {
	justify-content: right;
	font-size: 15px;
	color: #000;
}

.white-line {
	border-top: 1px solid #fff;
}

.dark-line {
	border-top: 1px solid var(--blue);
}

.vertical-line {
	margin: auto 0px auto;
	height: 28px;
	border-left: 1px solid #fff;
	border-right: 1px solid var(--blue);
}

.frog-image {
	height: 128px;
}

@media only screen and (max-width: 600px) {
	.col-4 {
		flex: 0 0 50%;
	}
	.col-12-small {
		flex: 100%;
	}
	#btnContents {
		margin-left: 0px;
	}
	#floatingContents {
		margin-left: 0px;
	}
	.breadcrumb-with-menu {
		margin-left: 42px;
	}
	li > .row, li > .flex-container {
		margin-left: -32px;
		width: inherit;
	}
	footer ul {
		font-size: 16px;
	}
	footer li {
		margin: 8px 0;
	}
}

@media only screen and (min-width: 600px) {
	main {
		padding: 32px 64px;
	}
	#btnContents {
		margin-left: 0px;
	}
	#floatingContents {
		margin-left: 0px;
	}
	h1.site-name {
		font-size: 60px
	}
	h2.site-name {
		font-size: 40px;
	}
	blockquote {
		padding: 16px;
	}
	.big-container {
		display: grid;
	}
	.header-nav {
		font-size: 16px;
	}
	.breadcrumb-with-menu {
		width: 94%;
		margin-left: 42px;
	}
	.one-and-two > .row > span:last-child {
		flex: 2;
	}
}

@media only screen and (min-width: 768px) {
	.big-container > main {
		padding: 32px 64px;
	}
	main .heading-image {
		height: 350px;
	}
	#btnContents {
		margin-left: -48px;
	}
	#floatingContents {
		margin-left: -48px;
	}
	.breadcrumb-with-menu {
		width: 100%;
		margin-left: 0px;
	}
}

@media only screen and (min-width: 992px) {
	.big-container {
		grid-template-columns: 1fr 3fr;
	}
	.menu-container {
		display: block;
	}
	#btnContents {
		display: none;
	}
	.breadcrumb-with-menu {
		width: 100%;
	}
}

@media only screen and (min-width: 1200px) {
	.menu {
		padding: 16px 4px;
	}
}