/*  attributes for all  */
body, h1, h2, h3, h4, h5, h6, p, div, img, a, address, b, i, u, sup, div, span, ul, li {
	margin: 0;
	padding: 0;
	border: 0;
}

/*  tags  */
body
{
	font-family: Arial,Helvetica,Verdana,sans-serif;
	background: #1B396C url(../images/design/bodybg.jpg) center top no-repeat;
	color: #707885;
	text-align: center;
}

a
{
	font-weight: normal;
	color: #1B396C;
	text-decoration: underline;
}
a:hover
{
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6
{
	color: #2C58A0;
}

h1
{
	font-weight: normal;
	font-size: 200%;
	line-height: 100%;
	margin: 0 0 0.75em 0;
}

h2
{
	font-weight: normal;
	font-size: 140%;
	padding: 0.75em 0 0.75em 0;
}

h3
{
	font-weight: normal;
	font-size: 110%;
	margin: 0 0 0em 0;
}

p, address
{
	margin: 0 0 1em 0;
}

ul
{
	list-style-type: square;
	margin: 0 0 1em 1.4em;
}

li
{
	margin: 0 0 0.2em 0;
}

/*  ids  */
#topline
{
	position: relative;
	display: block;
	height: 18px;
	padding: 7px 0 0px 0;
	overflow: hidden;
	color: #FFFFFF;
	font-size: 80%;
}
#topline .center
{
	text-align: right !important;
}
#topline .telephone
{
	font-weight: bold;
}

#menuline
{
	position: relative;
	display: block;
	height: 125px;
	overflow: hidden;
	background: url(../images/design/menubg.png) left top repeat-x;
	color: #707885;
}
#menuline .center
{
	height: 111px;
	padding: 7px 0 7px 0;
}

#logo
{
	position: relative;
	display: block;
	overflow: hidden;
	float: left;
	width: 333px;
	padding: 13px 0 13px 0;
}
#logo img
{
	width: 100%;
}

#menu-button,
#phone-button
{
	display: none;
}

#mainmenu
{
	position: relative;
	display: block;
	overflow: hidden;
	list-style-type: none;
	float: right;
	padding: 45px 0 0 0;
	margin: 0;
}
#mainmenu li
{
	position: relative;
	display: block;
	float: left;
	padding: 0 0 0 15px;
}
#mainmenu a
{
	text-decoration: none;
	color: #707885;
}
#mainmenu a:hover, #mainmenu .selected a
{
	color: #1B396C;
}
#mainmenu a:hover
{
	text-decoration: underline;
}

#titleline
{
	position: relative;
	display: block;
	padding: 20px 0 30px 0;
	color: #FFFFFF;
	font-size: 80%;
	background: url(../images/design/titlelinebg.png) left bottom repeat-x;
}
#titleline b
{
	position: relative;
	display: block;
	font-size: 220%;
	font-weight: normal;
	padding: 0 0 5px 0;
}
#titleline a
{
	color: #ACB9CE;
	text-decoration: none;
}
#titleline a:hover
{
	color: #FFFFFF;
	text-decoration: underline;
}

#content
{
	position: relative;
	display: block;
	overflow: hidden;
	padding: 30px 0 30px 0;
	color: #626B75;
	font-size: 80%;
	background: #FFFFFF url(../images/design/contentbg.png) left top repeat-x;
	border-top: 2px solid #FFFFFF;
	line-height: 150%;
}

#footer
{
	background: url(../images/design/footerbg.png) left top repeat-x;
	color: #FFFFFF;
	padding: 15px 0 15px 0;
}
#footermenu
{
	font-size: 80%;
	list-style-type: none;
	float: right;
}
#footermenu li
{
	display: inline-block;
	margin-left: 1em;
}
#footermenu a
{
	color: #ACB9CE;
	text-decoration: none;
}

/*  classes  */
.center
{
	position: relative;
	display: block;
	overflow: hidden;
	text-align: left;
	margin: 0 auto 0 auto;
	width: 960px;
}
.center > .twoonecolumn > .last
{
	min-height: 512px;
	background: url(../images/design/rightcolbg.png) left top no-repeat;
	padding: 0 30px 0 30px;
	box-sizing: border-box;
}

.onetwocolumn > .column
{
	width: 38.5%;
}

.onetwocolumn > .column.last
{
	width: 59.5%;
}

.imagetextmenu
{
	position: relative;
	display: block;
	overflow: hidden;
	padding: 1em 0 2em 0;
	margin: 0 -1% 0 -1%;
}
.imagetextmenu-item
{
	position: relative;
	display: block;
	float: left;
	border: 1px solid #2C58A0;
	border-radius: 2px;
	background: #F5F5F5;
	width: 48%;
	box-sizing: border-box;
	height: 260px;
	margin: 1%;
	padding: 20px;
	box-shadow: 0 0 5px #CCCCCC;
}
.imagetextmenu-item p
{
	font-size: 90%;
}
.imagetextmenu-item a img
{
	float: right;
	margin: 0 0 10px 20px;
	max-width: 40%;
}
.imagetextmenu-item .heading
{
	font-size: 120%;
	font-weight: bold;
	color: #2C58A0;
}
.imagetextmenu-item .more img
{
	float: none;
	margin: 0;
}

.imageleft, .imageright
{
  max-width: 44%;
}

.gallery img
{
	max-width: 100%;
}

/*  animated header — running ticker (CSS only)  */
.animated-header
{
	--ticker-gap: 1.25rem;                     /* space on each side of the separator dot */
	--ticker-fade: clamp(1.5rem, 6vw, 4rem);   /* width of the left / right fade-out       */
	--ticker-duration: 30s;                    /* time for one full loop; lower = faster   */
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	padding: 1rem 1.5rem;
	overflow: hidden;
	background: #1B396C;
	color: #FFFFFF;
	line-height: 1.15;
	font-weight: bold;
	font-size: clamp(1rem, 1.4vw, 1.25rem);
}

/*  drop the gap left by an image sitting directly above the ticker  */
.imagecenter:has(+ .animated-header),
.imagecenter:has(+ .animated-header) dl
{
	margin-bottom: 0;
}
.imagecenter:has(+ .animated-header) img
{
	display: block;
}

/*  fixed label, stays on the left  */
.animated-header > span
{
	display: flex;
	align-items: center;
	white-space: nowrap;
	margin-right: var(--ticker-gap);
}

/*  ticker viewport: clips the track and fades both edges  */
.animated-header .ticker
{
	position: relative;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--ticker-fade), #000 calc(100% - var(--ticker-fade)), transparent 100%);
	        mask-image: linear-gradient(to right, transparent 0, #000 var(--ticker-fade), #000 calc(100% - var(--ticker-fade)), transparent 100%);
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
}

/*  moving track: one flex row holding the item list twice  */
.animated-header .ticker ul
{
	display: flex;
	width: max-content;
	margin: 0;
	padding: 0;
	list-style: none;
	animation: ticker-scroll var(--ticker-duration) linear infinite;
}
.animated-header .ticker li
{
	display: flex;
	align-items: center;
	margin: 0;
	white-space: nowrap;
}

/*  amber separator dot after every item — part of each item, so the loop stays seamless  */
.animated-header .ticker li::after
{
	content: '';
	flex: none;
	width: .5em;
	aspect-ratio: 1;
	margin: 0 var(--ticker-gap);
	border-radius: 50%;
	background: #E0A23A;
}

/*  the second (duplicate) item set only exists for the seamless wrap  */
@keyframes ticker-scroll
{
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/*  let a reader pause the ticker  */
.animated-header .ticker:hover ul,
.animated-header .ticker:focus-within ul
{
	animation-play-state: paused;
}

/*  reduced motion: no scrolling, wrap the items and drop the duplicate set  */
@media (prefers-reduced-motion: reduce)
{
	.animated-header .ticker
	{
		-webkit-mask-image: none;
		        mask-image: none;
	}
	.animated-header .ticker ul
	{
		width: auto;
		flex-wrap: wrap;
		row-gap: .35em;
		animation: none;
	}
	.animated-header .ticker li[aria-hidden="true"]
	{
		display: none;
	}
}

/*  mobile: stack the label above the ticker  */
@media (max-width: 30rem)
{
	.animated-header
	{
		--ticker-gap: .9rem;
		--ticker-fade: 1.25rem;
		--ticker-duration: 20s;
		grid-template-columns: 1fr;
		row-gap: .4rem;
		padding: .75rem 1rem;
		font-size: 1rem;
	}
	.animated-header > span
	{
		justify-content: center;
		margin-right: 0;
	}
}
