@charset "utf-8";
/* Habitas stylesheet - flexbox version.
   Same look as the original fixed 1024px float layout, but fluid:
   three columns on wide screens, one column below 800px. */

body {
	color: #000;
	background-color: #FFF;
	padding: 0px;
	font-family: Arial, Helvetica, sans-serif;
}

/* Padding and borders count inside widths, so nothing overflows */
#wrapper,
#wrapper * {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
}

#wrapper {
	color: #000;
	background-color: #FFF;
	width: 100%;
	max-width: 1024px;
	border: 1px solid #CCC;
	margin: 0 auto;
}
#wrapper #news p {
	text-align: center;
}
#wrapper #news {
	margin-right: auto;
	margin-left: auto;
	border-top: 1px solid #CCC;
	font-size: 85%;
}
ul {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}
li {
	list-style-type: none;
	padding-bottom: 0px;
	margin: 0px;
}
.last {
	padding: 0px;
	margin-bottom: 10px;
}
p {
	padding: 0px;
	margin: 0px;
}

/* ---------- Old-style header (used by some sub-pages) ---------- */
#wrapper #header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	color: #000;
	background-color: #FFF;
	min-height: 80px;
	border-bottom: 1px solid #CCC;
	width: 100%;
}
#wrapper #header img {
	border: 0;
}
.left {
	flex: 1 1 auto;
	margin: 0px;
	padding: 5px 0 5px 1px;
}
#wrapper #header .left a {
	text-decoration: none;
	border: 0;
	margin: 0px;
	padding: 0px;
}
.right {
	flex: 0 0 auto;
	margin: 0px;
	padding: 30px 10px 0 0;
	max-width: 200px;
}

/* ---------- Top banner: Habitas logo left, CEDaR logo right ---------- */
#wrapper #um {
	color: #666;
	background-color: #FFF;
	width: 100%;
	min-height: 80px;
}
#wrapper #um p {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 4px 12px;
	margin: 3px 0;
	width: 100%;
}
#wrapper #um p a {
	text-decoration: none;
	margin: 0px;
	padding: 0px;
	border: 0;
}
#wrapper #um p img {
	border: 0;
	max-width: 100%;
	height: auto;
}
#wrapper #um p a.cedar-logo img {
	height: 80px;
	width: auto;
	padding-right: 10px;
	padding-bottom: 5px;
}

/* ---------- Content: three columns ---------- */
#wrapper #content {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	color: #666;
	background-color: #FFF;
	width: 100%;
	margin: 0px;
	padding: 0px;
	position: relative;
	border-top: 4px solid #CCC;
	border-bottom: 4px solid #CCC;
}
#wrapper #content .clear {
	display: none; /* floats are gone, so the clearing div is not needed */
}
#wrapper #content img {
	margin-left: 7px;
	max-width: calc(100% - 7px);
	height: auto;
}

/* Links in the content area: full-width blocks with a dotted rule */
#wrapper #content a:link,
#wrapper #content a:visited {
	font-size: 80%;
	text-decoration: none;
	color: #333;
	background-color: #FFF;
	display: block;
	border-bottom: 1px dotted #CCC;
	padding: 6px 2px;
	margin: 0px;
}
#wrapper #content a:hover,
#wrapper #content a:active {
	font-size: 80%;
	text-decoration: none;
	color: #FFF;
	background-color: #AAA;
	display: block;
	padding: 6px 2px;
}

/* The three columns share the width equally */
#wrapper #content #left,
#wrapper #content #mid,
#wrapper #content #right {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-width: 0;
	margin: 0px;
	padding: 0 2px;
}

/* Sections inside the columns fill the column width */
#wrapper #content #left #plant,
#wrapper #content #left #fossil,
#wrapper #content #left #staff,
#wrapper #content #left #books,
#wrapper #content #mid #animal,
#wrapper #content #right #cedar {
	width: 100%;
	margin: 0px;
	padding: 0px;
}

/* Section headings (colours unchanged) */
#wrapper #content h4 {
	color: #FFF;
	margin: 0px;
	padding: 6px;
}
#wrapper #content h5 {
	color: #FFF;
	margin: 0px;
	padding: 4px;
}
#wrapper #content #left #plant h4  { background-color: #6E8C4E; }
#wrapper #content #left #plant h5  { background-color: #8EAD6B; }
#wrapper #content #left #fossil h4 { background-color: #908886; }
#wrapper #content #left #staff h4  { background-color: #C60; }
#wrapper #content #left #books h4  { background-color: #C36; }
#wrapper #content #mid #animal h4  { background-color: #008DB0; }
#wrapper #content #mid #animal h5  { background-color: #0CF; }
#wrapper #content #right #cedar h4 { background-color: #432288; }
#wrapper #content #right #cedar h5 { background-color: #63C; }

/* Books block: cover image on the left, text on the right.
   Assumes .bookimg and .booktxt sit directly inside #books. */
#wrapper #content #left #books {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#wrapper #content #left #books h4 {
	flex: 0 0 100%;
}
#wrapper #content #left #books .bookimg {
	flex: 0 0 68px;
	padding: 2px 9px 0 0;
}
#wrapper #content #left #books .booktxt {
	flex: 1 1 0;
	min-width: 0;
}
#wrapper #content #left #books .booktxt a:link,
#wrapper #content #left #books .booktxt a:visited {
	color: #333;
	background-color: #FFF;
}
#wrapper #content #left #books .booktxt a:hover,
#wrapper #content #left #books .booktxt a:active {
	color: #000;
	background-color: #CCC;
}

/* Hosted block: sits at the right of the middle column */
#wrapper #content #mid #hosted {
	align-self: flex-end;
	width: 100%;
	max-width: 315px;
	margin: 0px;
}
#wrapper #content #mid #hosted h4 {
	color: #FFF;
	background-color: #900;
	padding: 6px;
	margin: 0px;
}

.clear {
	clear: both;
	height: 5px;
}

/* ---------- Footer ---------- */
#wrapper #footer {
	color: #666;
	background-color: #FFF;
	border-top: 1px solid #CCC;
	width: 100%;
}
#wrapper #footer p {
	padding: 4px 0;
	font-size: 70%;
	color: #999;
	background-color: #FFF;
	text-align: center;
	margin: 0px;
	width: 100%;
}
#wrapper #footer p a:link,
#wrapper #footer p a:visited {
	font-size: 100%;
	color: #999;
	background-color: #FFF;
	margin: 0px;
	padding: 2px;
	text-decoration: none;
}
#wrapper #footer p a:hover,
#wrapper #footer p a:active {
	font-size: 100%;
	color: #008DB0;
	background-color: #FFF;
	margin: 0px;
	padding: 2px;
	text-decoration: none;
}

/* ---------- Narrow screens: one column ---------- */
@media (max-width: 800px) {
	#wrapper #content {
		flex-direction: column;
		align-items: stretch;
	}
	#wrapper #content #left,
	#wrapper #content #mid,
	#wrapper #content #right {
		flex: 0 0 auto;
		padding: 0;
	}
	#wrapper #content #mid #hosted {
		align-self: stretch;
		max-width: none;
	}
	/* More readable text and bigger tap targets */
	#wrapper #content a:link,
	#wrapper #content a:visited,
	#wrapper #content a:hover,
	#wrapper #content a:active {
		font-size: 95%;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#wrapper #um p {
		justify-content: center;
	}
}
