/* ---------------------------------------------------------------
   Web Wiz Network Announcements
   Layout and colour for the list, the post page and the admin
   page. Fonts and sizes come from /includes/default_style.css,
   the colours are the site's own greens and blue.
   --------------------------------------------------------------- */

/* Fills the site's own 1280px page width, the same as every other page */
.annWrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 6px 16px 0 16px;
	box-sizing: border-box;
}

/* The site's own style sheet sets headings tight to what follows */
.annWrap h1 {
	margin: 0 0 14px 0;
	line-height: 1.25;
}

.annIntro {
	color: #444444;
	margin: 0 0 26px 0;
	line-height: 1.6;
}

/* ---------- Service filter ---------- */

.annFilter {
	margin: 0 0 30px 0;
	line-height: 2.7;
}

a.annChip, a.annChip:visited {
	display: inline-block;
	padding: 5px 16px;
	margin: 0 8px 0 0;
	border: 1px solid #B1CFBF;
	border-radius: 16px;
	background: #FFFFFF;
	color: #2A4536;
	font-size: 15px;
	line-height: 1.5;
	text-decoration: none;
}

a.annChip:hover, a.annChip:visited:hover {
	background: #B1CFBF;
	color: #000000;
	text-decoration: none;
}

a.annChipOn, a.annChipOn:visited, a.annChipOn:hover, a.annChipOn:visited:hover {
	background: #2A4536;
	border-color: #2A4536;
	color: #FFFFFF;
}

/* ---------- A post in the list, and the post page ---------- */

.annCard {
	border: 1px solid #DDE5E3;
	border-left: 5px solid #B1CFBF;
	border-radius: 5px;
	background: #FFFFFF;
	padding: 24px 28px;
	margin: 0 0 24px 0;
	box-shadow: 0 1px 3px rgba(20,40,35,0.07);
}

.annCardRed {
	border-left-color: #C0392B;
}

.annCardAmber {
	border-left-color: #D99A00;
}

.annCardGreen {
	border-left-color: #2E8B57;
}

.annCardBlue {
	border-left-color: #0062A6;
}

.annCard h2 {
	margin: 0 0 12px 0;
	line-height: 1.3;
}

.annMeta {
	font-size: 14px;
	color: #666666;
	margin: 0 0 16px 0;
	line-height: 2.1;
}

/* Under the title on the post page, before the message */
.annWrap > .annMeta {
	margin: 0 0 24px 0;
}

.annExcerpt {
	color: #333333;
	line-height: 1.65;
}

.annBody {
	line-height: 1.7;
	overflow-wrap: break-word;
}

.annBody img {
	height: auto;
}

/* The message itself: the same rules show it on the post page and in the
   editor on the admin page, so what is typed looks as it will when posted */

.annBody p {
	margin: 0 0 18px 0;
}

.annBody h2, .annBody h3, .annBody h4 {
	margin: 30px 0 12px 0;
	line-height: 1.3;
}

.annBody h2 {
	font-size: 21px;
}

.annBody h3 {
	font-size: 19px;
	font-weight: 600;
}

.annBody h4 {
	font-size: 17px;
	font-weight: 600;
}

.annBody > :first-child {
	margin-top: 0;
}

.annBody > :last-child {
	margin-bottom: 0;
}

.annBody ul, .annBody ol {
	margin: 0 0 20px 0;
	padding-left: 28px;
}

.annBody li {
	margin: 0 0 9px 0;
}

.annBody blockquote {
	margin: 0 0 12px 0;
	padding: 6px 14px;
	border-left: 4px solid #B1CFBF;
	background: #F6F9F8;
}

.annBody code {
	font-family: Consolas, 'Courier New', monospace;
	font-size: 15px;
	background: #EEF2F1;
	padding: 1px 4px;
	border-radius: 3px;
}

.annBody pre {
	padding: 10px 12px;
	border-radius: 4px;
	overflow-x: auto;
}

.annBody hr {
	margin: 16px 0;
}

.annBody table {
	border-collapse: collapse;
	margin: 0 0 20px 0;
	max-width: 100%;
}

.annBody th, .annBody td {
	border: 1px solid #D5DEDB;
	padding: 9px 14px;
	text-align: left;
	vertical-align: top;
	font-size: 16px;
}

.annBody th {
	background: #EEF4F1;
	font-weight: 600;
}

/* ---------- The editor on the admin page ---------- */

.annToolbar {
	margin-top: 6px;
	padding: 5px;
	border: 1px solid #CCCCCC;
	border-bottom: 0;
	border-radius: 5px 5px 0 0;
	background: #F2F5F4;
	line-height: 2.2;
}

.annToolbar button {
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 15px;
	min-width: 34px;
	padding: 4px 9px;
	margin: 0 2px 0 0;
	border: 1px solid #C5CFCB;
	border-radius: 4px;
	background: #FFFFFF;
	color: #222222;
	cursor: pointer;
}

.annToolbar button:hover {
	background: #B1CFBF;
}

.annToolbar button:disabled {
	color: #AAAAAA;
	background: #F2F5F4;
	cursor: default;
}

.annToolbar button.annToolRight {
	float: right;
	margin-right: 0;
}

.annEditor {
	min-height: 320px;
	max-height: 70vh;
	overflow-y: auto;
	padding: 14px 16px;
	border: 1px solid #CCCCCC;
	border-radius: 0 0 5px 5px;
	background: #FFFFFF;
}

.annEditor:focus {
	border-color: #2A4536;
	outline: none;
}

.annForm textarea#annSource {
	font-family: Consolas, 'Courier New', monospace;
	font-size: 14px;
}

details.annBox > summary {
	cursor: pointer;
}

/* ---------- Type label and service tags ---------- */

.annPill {
	display: inline-block;
	padding: 2px 11px;
	margin: 0 10px 0 0;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	white-space: nowrap;
	color: #FFFFFF;
}

.annPillRed {
	background: #C0392B;
}

.annPillAmber {
	background: #B97F00;
}

.annPillGreen {
	background: #2E8B57;
}

.annPillBlue {
	background: #0062A6;
}

.annPillGrey {
	background: #6B7773;
}

a.annTag, a.annTag:visited {
	display: inline-block;
	padding: 1px 10px;
	margin: 0 6px 0 4px;
	border-radius: 4px;
	background: #EEF4F1;
	color: #2A4536;
	font-size: 13px;
	line-height: 1.6;
	text-decoration: none;
	white-space: nowrap;
}

a.annTag:hover, a.annTag:visited:hover {
	background: #B1CFBF;
	color: #000000;
	text-decoration: none;
}

/* ---------- Open incident banner at the top of the list ---------- */

.annIncident {
	border: 1px solid #E6B8B2;
	border-left: 5px solid #C0392B;
	border-radius: 5px;
	background: #FDF1EF;
	padding: 22px 28px;
	margin: 0 0 30px 0;
	line-height: 1.7;
}

.annIncident h2 {
	margin: 0 0 12px 0;
}

/* ---------- Paging and small links ---------- */

.annPaging {
	margin: 30px 0;
	text-align: center;
}

.annPaging a, .annPaging span {
	display: inline-block;
	padding: 4px 12px;
	margin: 0 2px;
	border: 1px solid #DDE5E3;
	border-radius: 4px;
	text-decoration: none;
}

.annPaging span {
	background: #2A4536;
	border-color: #2A4536;
	color: #FFFFFF;
}

.annFoot {
	font-size: 14px;
	color: #666666;
	margin: 30px 0;
}

.annEmpty {
	border: 1px dashed #B1CFBF;
	border-radius: 5px;
	padding: 30px 20px;
	text-align: center;
	color: #555555;
}

/* ---------- Admin ---------- */

.annBox {
	border: 1px solid #DDE5E3;
	border-radius: 5px;
	background: #FFFFFF;
	padding: 22px 26px;
	margin: 0 0 22px 0;
	box-shadow: 0 1px 3px rgba(20,40,35,0.07);
}

.annBox h2 {
	margin: 0 0 12px 0;
}

.annBoxRed {
	border-color: #E6B8B2;
	background: #FDF1EF;
}

.annBoxGreen {
	border-color: #BFDCC9;
	background: #F2F8F4;
}

.annBoxAmber {
	border-color: #EDDCAE;
	background: #FDF4DA;
}

.annForm label {
	display: block;
	padding: 5px 0;
}

.annForm .annField {
	margin: 0 0 20px 0;
}

.annForm input[type=text], .annForm input[type=password], .annForm textarea, .annForm select {
	width: 100%;
	max-width: 100% !important;
	box-sizing: border-box;
	padding: 8px;
	height: auto;
}

.annForm input[type=checkbox], .annForm input[type=radio] {
	width: 19px;
	height: 19px;
	vertical-align: middle;
	margin-right: 7px;
}

.annForm input[type=submit] {
	height: auto;
	padding: 11px 22px;
	font-size: 17px;
}

.annForm input.annBtnRed {
	background-color: #C0392B;
}

.annForm input.annBtnRed:hover, .annForm input.annBtnRed:focus {
	background-color: #E0685B;
}

.annForm input.annBtnGreen {
	background-color: #2E8B57;
}

.annForm input.annBtnGreen:hover, .annForm input.annBtnGreen:focus {
	background-color: #5FB485;
}

.annHint {
	font-size: 14px;
	color: #666666;
}

.annCols {
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
}

.annTable {
	width: 100%;
	border-collapse: collapse;
}

.annTable th, .annTable td {
	text-align: left;
	padding: 12px 10px;
	border-bottom: 1px solid #EAEFEE;
	font-size: 15px;
	vertical-align: top;
}

.annTable th {
	font-weight: 600;
	color: #2A4536;
}

.annTable tr.annHidden td {
	color: #999999;
	background: #F7F7F4;
}

.annLogin {
	max-width: 420px;
	margin: 30px auto;
}

@media screen and (max-width : 600px) {

	.annCard, .annBox, .annIncident {
		padding: 12px 13px;
	}

	.annTable .annColDate {
		display: none;
	}

	.annForm input[type=submit] {
		width: 100%;
		margin-bottom: 8px;
	}
}
