:root {
	--font-size-xs: .75rem;
	--font-size-sm: .86rem;
	--font-size-base: .9rem;
	--font-size-lg: 1rem;
	--fix-size-base: 1rem
}

@media (min-width:1500px) and (min-resolution: 2dppx) {
	:root {
    --font-vw-term: 1.05vw;
    --font-size-xs: clamp(0.75rem, calc(var(--font-vw-term) - 0.23rem), 1.05rem);
    --font-size-sm: clamp(0.86rem, calc(var(--font-vw-term) - 0.12rem), 1.16rem);
    --font-size-base: clamp(0.9rem, calc(var(--font-vw-term) - 0.08rem), 1.2rem);
    --font-size-lg: clamp(1rem, calc(var(--font-vw-term) + 0.02rem), 1.3rem);
	}
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; vertical-align: baseline } article, aside, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block } body { line-height: 1 } ol, ul { list-style: none } blockquote, q { quotes: none } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none } table { border-collapse: collapse; border-spacing: 0 }

html { direction: ltr; height: 100%; min-height: 100%; }
body { min-height: 100%; }
html, html a { -webkit-font-smoothing: antialiased; }

@media (prefers-reduced-motion: no-preference) {
	@view-transition {
		navigation: auto
	}
}

body, select, input, textarea, button {
	font-family: system-ui;
	font-size: var(--font-size-base);
	line-height: 1.5;
	color: #353535;
	outline: none;
}
	a {
		outline: none;
		color: #14555b;
		text-decoration: none;
	}
	a:hover { text-decoration: underline; }
	.meta a { color: #0d3b3f; }

	a img { border: 0 none; }
	a > img { vertical-align: bottom; }

h1, h2, h3, h4, h5, .h2, .h4 {
	margin: 0 0 .7rem 0;
	line-height: normal;
	font-weight: bold;
	text-rendering: optimizeLegibility;
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, .h2:last-child, .h4:last-child {
	margin-bottom: 0;
}

h1 { font-size: calc(var(--font-size-lg) * 1.375); }
h2, .h2 { font-size: calc(var(--font-size-lg) * 1.25); }
h3 { font-size: calc(var(--font-size-lg) * 1.125); }
h4, .h4 { font-size: var(--font-size-lg); }
h5 { font-size: calc(var(--font-size-lg) * .875); }
h6 { font-size: calc(var(--font-size-lg) * .75); }

.title_hide { left: -9999px; position: absolute; top: -9999px; overflow: hidden; width: 0; height: 0; }

.left { float: left; }

	fieldset { border: 1px solid rgba(0,0,0,0.1); padding: 20px; margin-bottom: 25px; }
	fieldset legend { font-weight: bold; }

.grey { color: #4a615d; }
.grey a { color: inherit; }
.grey a:hover { color: #353535; }

sup { vertical-align: super; font-size: smaller; }
sub { vertical-align: sub; font-size: smaller; }

ul { padding-left: 40px; list-style: disc outside; margin-top: 1em; margin-bottom: 1em;}
ol { padding-left: 40px; list-style: decimal outside; margin-top: 1em; margin-bottom: 1em;}

	strong, b { font-weight: bold }
	em, cite, i { font-style: italic }
	caption { text-align: left }
	th, td { vertical-align: middle }
	small { font-size: .9em; }
	hr { height: 0; border: 0; border-top: 2px solid #eeeeef; -moz-box-sizing: content-box; box-sizing: content-box; margin: 20px 0; }

.icon {
	display: inline-block;
	width: 2.22em;
	height: 2.22em;
	fill: #0d3b3fed;
	vertical-align: middle;
}

	.grey .icon { fill: #4a615d; }

body { background: #f3efe7; }

#header:after { clear: both; content: ""; display: table; }

#header { margin-bottom: 1.74em; }
#header { height: 5.56em; }

#content { position: relative; }

.box {
	background-color: #fff;
	margin-bottom: 1.74em;
	border-radius: 2px;
	position: relative;
	box-shadow:0 5px 12px rgba(126,142,177,.2);
}
	.box > .heading { padding: 4% 4%; margin: 0; text-transform: uppercase; }

	.box_in { padding: 2em 2.78em }

	.story .title { margin: -.1em 0 1em 0; font-size: calc(var(--font-size-lg) * 1.25); }
	.story .title > a {
		color: inherit;
		text-decoration: none !important;
		-webkit-transition: all ease .2s; transition: all ease .2s;
	}
	.story .title > a:hover { color: #14555b; }

	.story .box_in > .text { font-size: var(--font-size-base); }
	.story .box_in > .text:after { content: ""; display: block; clear: both; }
	.story .box_in > .text > img[style*="left"] { margin: 2px 4% 4% 0; }
	.story .box_in > .text > img[style*="right"] { margin: 2px 0 4% 4%; }
	.story .box_in > .text img { max-width: 100%; aspect-ratio: auto; height: auto;}

	.story > .meta { font-size: .9em; background-color: #f3efe7; padding: 2% 4%; border-radius: 0 0 2px 2px; }
		.meta:after { clear: both; display: table; content: ""; }
		.meta > ul { list-style: none; padding: 0; margin: 0; }
		.meta > ul > li { display: inline; }
		.meta > ul.left > li { margin-right: 2em; }

		.meta .icon { width: 1.11em; height: 1.11em; margin: -.2em .4em 0 0; }

@media only screen and (max-width: 1235px) {

	body, .page { width: 100%; height: 100%; }
	.page { -webkit-transition: all ease .3s; transition: all ease .3s; }

}

@media only screen and (max-device-width: 480px) {
	body { -webkit-text-size-adjust: 100%; }
}

@media only screen and (max-width: 600px) {
	body, select, input, textarea, button { font-size: 13px/1.5; }

	#content { padding: 15px 15px 0 15px; }

	.box { margin-bottom: 15px; }
	.box > .heading { padding: 20px; }
	blockquote { font-size: 1.1em; }

	.story video { max-width: 100%; }
	.story iframe { max-width: 100%; aspect-ratio: 16 / 9; }

	#header { margin: 0; height: 50px; }

	.box_in { padding: 1.389em; }

	.story > .meta { padding: .694em 1.389em; }
	.meta > ul.left > li { margin-right: .833em; }

	.story .title { font-size: 1.15em; }
	.story .box_in > .text { font-size: 1em; }

	.story_date > * { display: none; }
	.story_date > time { display: inline; }

		.c-captcha img, .c-captcha > input { width: 122px; }

}

p {
    margin-block-start: 0;
    margin-block-end: .7em;
}

p:last-child {
	margin-bottom: 0;
}

.text ul, .text ol {
	margin-top: 0;
  margin-bottom: .7em;
}

.text ul:last-child, .text ol:last-child {
	margin-bottom: 0;
}

.text div+p, .text div+ul, .text div+ol, .text div+h1, .text div+h2, .text div+h3, .text div+h4, .text div+h5, .text div+h6 {
	margin-top: 0.7em;
}
