* {
	box-sizing: border-box;
}
body {
	margin: 0;
	padding:0;
	background-color: #fffce5;
	background-repeat: repeat-x;
	font: .875em 'open sans', sans-serif;	/* .875em = 14px [1em = 16px) */
}

header, nav, main, article, footer { display:block; }

p {
	line-height: 1.4;
	margin: 11px 0 10px 0;
	padding: 0;
}
h1 {
	color: #73353A;
	margin:0;
	padding:0;
	font-size: 24px;
	text-align: center;
}
h2 {
	color: #73353A;
	margin:0;
	padding:0;
	font-size: 22px;
	font-weight:400;
	text-transform: uppercase;
}

h4 {
	margin:0;
	padding:0;
}

ul {
	margin:0;
	padding:0;
	list-style-image: url(../img/bullet.gif);
}

a, a:link, a:visited { color: #8B0000; text-decoration: none; }
a:hover, a:focus, a:active { text-decoration: none;}

blockquote{
	background: #F7FDE3;
	color: #606060;
	padding: 10px;
}

figure { margin: 0 0 1em 0; }


/**** 
.wrap : Main Container 
one for the header- one for the content-area */

.wrap {
	 max-width: 900px;
	 margin: 0 auto;
	 padding: 0 1em;
}

/* .wrap.headerfix
	containing: #top, header, #langs, #sandwich, #menu
*/
.wrap.headerfix {
	 position: fixed;
	 top: 0;
	 left:0;
	 min-height: 100px;
	 width: 100%;
	 max-width: 99.9%;
	 background-color: rgba(255, 252, 229, 0.94);
	 z-index: 9000;
}
.wrap.headerfix .hcontainer {
	 position: relative;
	 max-width: 900px;
	 margin: 0 auto;
	 padding:0 1em;
}


/**** Top ***/
#top {
	width: 100%;
	padding-bottom: 0.35em;
	border-bottom: 3px solid #ffee86;
	/*min-height:97px;*/
}

#top header {
	width: 100%;
	text-align:left;
	overflow:hidden;
	padding:16px 0 0;
	font-family: Georgia, Times, 'Times New Roman', serif;
}
#top header a.ah1 { display:inline-block; }

#top header h1 {
	max-width: 11em;
	letter-spacing: 3px;
	font-size: 2.485em;
	font-weight: normal;
	margin: 0;
	padding-left:60px;
	color: black;
	background: url(../img/fk_logo_80_3.png) no-repeat;
	background-position: left center;
	text-align: left;
}

#top header h1 a {
	color: black;
	text-decoration: none;
}

#top header h1 a:hover {
	color: #73353A
}

#top header h2	{
	color: #73353A;
	letter-spacing: 2px;
	font-weight: normal;
	margin: 0 0 .35em 140px;
	padding: 0px;
	font-size: 1.286em; /* 18px */
	text-align: left;
	text-transform: none;
}

#langs {
	display: block;
	position: relative;
	list-style:none;
	float:right;
	margin-top:-45px;
	padding-right:0;
}

#langs li {
	display: inline-block;
	margin-left: .75em;
}
#langs li a {
	color: gray;
	text-decoration: none;
	text-transform:uppercase;
}
#langs li.current a,
#langs li a:hover {
	color: #8B0000;
}

#sandwich {
	display:none;
	position:absolute;
	top:6.65em;
	left:1em;
	width:2.9em;
	text-align:center;
}
#sandwich button:hover,
#sandwich button:focus,
#sandwich button:active {
	opacity:0;
}
#sandwich img { width:30px; height:30px; display:inline-block;}

/**** Main Menu ***/
#menu {
	display: block;
	margin: -0.35em 0 0 0;
	padding: 0;
	line-height:1.3;
	text-align:right;
	font-size: 1.143em; /* = 16px */
	border: 0 none;
	letter-spacing: normal;
}
#menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
	width:100%;
}
#menu >ul >li {
	position:relative;
	list-style: none;
	display:inline-block;
	width:auto;
	margin-left: .5em;
}
#menu >ul >li:first-child {
	margin-left: 0;
}
#menu >ul >li:last-child a {
	padding-right: 0;
}
#menu li a {
	display: block;
	padding: 6px 12px 6px 6px;
	text-decoration: none;
	color: #000;
	text-transform: uppercase;
}
#menu li a:hover {
	color: #8B0000;
}
#menu li.current a,
#menu ul >li.active >a {
	color: gray;
}
#menu li.current a:hover {
	color: #8B0000;
}
/* hide submenues and show them on hover */
#menu ul ul {
	position:absolute;
	left:-9999px;
	top:auto;
	list-style-type:none;
	background-color: #fffce5;
}
#menu ul ul li {
	display:block;
	text-align:left;
}
#menu > ul > li:hover ul {
	left:0;
	top:2em;
}
#menu ul li ul li a {
	padding:3px 6px 3px 6px;
}

#menu ul li:hover ul li a {
	display:block;
}

#menu li a:hover { color: #8B0000; }
#menu li.current a { color: gray; }
#menu li.current a:hover { color: #8B0000; }


/**** Content ***/
#main {
	width: 100%;
	margin:14em 0 4em 0;
	text-align: left;
	padding:0;
	clear: both;
}
.home #main { text-align: center; }

/* .inner containing left and right column */
#main .inner { max-width:100%; margin:0; padding:0; }

#main .col {
	float: right;
	min-height:1em;
	margin-bottom:3em;
}

/* article */
#main .col.col_1 {
	width: 60%;
	padding-left: 1em;
	
	/* hyphens not supported by chrome, yet (Aug 2019) */
	-webkit-hyphens: auto; /* iOS Safari */
	-ms-hyphens: auto;
	hyphens: auto;	
}

/* pic-container */
#main .col.col_2 {
	display:block;
	width: 40%;
	padding-top: 4.35em;
}

#main .col figure,
#main .col figure img {
	max-width: 100%;
	height:auto;
}

/* special on HOME */
.home #main .col {
	float: none;
}
.home #main .col.col_1 {
	float: none;
	width: auto;
	padding-left:0;
	padding-right: 0;
}
.home #main .col.col_2 {
	display:none;
}


#main h2 {
	margin: 0 0 1em 0;
	letter-spacing: 0.04em;
}
.home #main h2 {
	text-align: center;
}

#main h3,
#main h4 {
	margin: 0;
	padding: 1.5em 0 0 0;
}
#main h4 {
	padding-top: .5em;
}

#main h4 + p,
#main h4 + ul {
	margin-top: 0;
}
.contact #main h3 {
	padding-top: 1.5em;
}

#main p { text-align: justify; }
.home #main p { text-align: center; }


/**** Classses ***/

.clear {
	display: block;
	clear: both;
	width: 100%;
	height:1px;
	overflow:hidden;
}

/* Hide visually, but remain approachable for screenreader */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	white-space: nowrap;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
}

/**** Footer ***/
#footer {
	position: fixed;
	bottom: 0;
	right: 5%;
	left: 5%;
	width:99%;
	max-width: 900px;
	margin: 0 auto;
	padding: 0 1em 10px 1em;
	text-align: center;
	/*background-color: #fffce5;*/
	background-color: rgba(255, 252, 229, 0.94); /* same as header */
}
#footer p {
	margin: 1em 0 0 0;
	padding: .75em 0 .35em 0;
	border-top: dotted 1px #999;
}


/* ====== MEDIA QUERIES ============================ */

@media screen and (max-width:950px) {
	img	 { max-width:100%; height: auto; }
	.wrap { padding: 0 1em; width:auto; }
}

@media screen and (max-width:680px) {
	.wrap,
	.wrap.headerfix,
	.wrap.headerfix .hcontainer {
		position: relative;
		max-width: 100%;
	}

	#top header { width:100%; }
	#top header h2	{
		margin: 0 0 0 100px;
		font-size: 16px;
		letter-spacing:1px;
	}
	#top #langs { padding-right: 12px; }

	#menu li a { padding: 6px 8px; }
	#menu > ul > li:last-child > a { padding-right: 12px; }

	#main { margin: 5em 0 3em 0; }
	#main .col {
		float: none;
		margin-bottom:2em;
	}
	/* article */
	#main .col.col_1 {
		width: auto;
		padding-left: 0;
		padding-right: 1em;
	}
	/* pic-container */
	#main .col.col_2 {
		width: auto;
		padding-top: 2em;
	}
}

/* Responsive display of navigation */
@media screen and (max-width:540px) {
	#langs {
		float: none;
		margin-top: 2em;
		text-align: right;
	}

	#sandwich { display:block; }
	#sandwich button {
		display:block; margin:0; padding:0;
		background-color:transparent;
		border:0 none;
		cursor:pointer;
		z-index:8000;
		text-align:left;
	}
	#sandwich button:hover,
	#sandwich button:focus,
	#sandwich button:active { opacity:0.66; }
	
	#menu {
		display:none;
		margin: 1em 0 0;
		line-height:1.4;
		padding-bottom: 1em;
		border-bottom: 3px solid #ffee86;
		letter-spacing: 0.075em;
	}
	#menu > ul > li { display:block; text-align: left; margin-left: 0; width:auto; }
	#menu > ul > li:first-child { margin-left: 0; }
	#menu li a { font-size:97%;	}
	#menu li a { padding: 6px; }
	#menu > ul > li:hover ul {
		left:0;
		top:auto;
		padding:0;
	}
	#menu ul ul {
		position: relative;
		display: block;
		width:auto;
		left: 0;
		padding:0;
	}
	#menu ul ul li { padding-left:1.5em; }

	#main { margin-top: 5.25em; }

	#footer {
		position: relative;
		bottom: 0;
		right: 0;
		left: 0;
		margin: 1em auto 0 auto;
	}
}
@media screen and (min-width:541px) {
	#menu{ display:block; }
}

@media screen and (max-width:350px) {
	.wrap.headerfix .hcontainer { padding:0;}
	#top header h1 { font-size: 2em; letter-spacing: 2px;}
	#top header h2 { margin-left: 72px; }
	#sandwich { left: 0; top:6em; }

}
@media screen and (max-width:300px) {
	#top header h1 { font-size: 1.35em; letter-spacing: 1px;}
	#top header h2 { font-size: 94%; }
	#sandwich { top: 5.35em; }
}
@media screen and (max-width:280px) {
	#top header h1 { font-size: 1.35em; letter-spacing: 1px;}
	#top header h2 { font-size: 94%; }
	#sandwich { top: 5.25em; }
}
