* { margin: 0; padding: 0; border: 0; }
html, body { height: 100%; background: #fff; color: #666; font: 16px/22px myriad-pro, sans-serif; color: #333; }
p { margin: 10px 0 0; }
ul { margin: 10px 20px 0; list-style: square; }
ol { margin: 10px 20px 0; }
a { color: #0f67b1; }
a:hover { text-decoration: none; color: #439438; }
b, strong { font-weight: 600; }

::selection { background: #666; color: #fff; }
::-moz-selection { background: #666; color: #fff; }

h1, h2, h3, h4 { color: #0f67b1; margin: 15px 0; font-weight: 600; }
h1 { font-size: 32px; line-height: 34px; margin-top: 0; }
h2 { font-size: 28px; line-height: 30px; }
h3 { font-size: 24px; line-height: 26px; }
h4 { font-size: 20px; line-height: 22px; }
h2 b, h3 b, h2 strong, h3 strong, h4 b, h4 strong { font-weight: 600; }
.textlabel { position: absolute; margin-left: -9999px; }
.pad { height: 30px; }

#header { background: #0f67b1; position: absolute; height: 165px; top: 30px; left: 0; right: 0; z-index: 20; }
.headwrap { max-width: 1400px; padding: 0 30px; height: 165px; position: relative; margin: 0 auto; }
.headerimage { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-size: cover; background-position: center; }
.headercover { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(15,103,177,0.8); }

.logo { width: 178px; height: 140px; position: absolute; top: -25px; left: 20px; background: url('../gfx/logo-border.png') no-repeat center top; background-size: auto 145px; }
.topright { float: right; padding-top: 10px; }
.topright a { float: left; margin-left: 5px; width: 30px; height: 30px; background-size: contain; }
.topright a.fb { background-image: url('../gfx/icon-facebook.png'); }
.topright a.tw { background: #fff url('../gfx/icon-x.svg') no-repeat center; background-size: 18px auto; }
.topright a.li { background: #fff url('../gfx/icon-li.svg') no-repeat center; background-size: 18px auto; }
.topright a.yt { background-image: url('../gfx/icon-yt.png'); }

.searchbox { width: 250px; height: 30px; position: absolute; background: #fff; bottom: 60px; right: 30px; }
input.searchtext { width: 209px; height: 30px; padding: 0 5px; position: absolute; border: 0; -webkit-appearance: none; border-radius: 0; color: #666; font: 14px myriad-pro, sans-serif!important; margin: 0; left: 0; background: transparent!important; }
input.searchtext:focus { color: #333; }
.searchbox input.searchsub { position: absolute; right: 0; width: 31px; height: 30px; padding: 0; border: 0; cursor: pointer; box-sizing: border-box; background: url('../gfx/magnify.png') no-repeat center left; background-size: auto 20px; margin: 0; border-radius: 0; }
input.searchsub:hover, input.searchsub:focus { opacity: 0.8; }

#menu { background: rgba(15,103,177,0.8); position: absolute; bottom: 0; left: 0; right: 0; border-top: 1px solid #70a3ce; font-size: 20px; line-height: 49px; text-align: center; }
.fl_menu { margin: 0; list-style: none; }
.fl_menu li, .fl_menu a { display: inline-block; }
.fl_menu a { color: #fff; font-weight: 600; text-decoration: none; margin: 0 4px; }
.fl_menu a:hover { color: #adc5e0; }
.fl_menu li:before { content: "•"; margin: 0 4px; color: #adc5e0; }
#menu_i_:before, .fl_menu ul li:before { display: none; }
.fl_menu ul { overflow: hidden; position: absolute; margin: 0 0 0 15px; list-style: none; display: none; }
.fl_menu ul li, .fl_menu ul a { display: block; }
.fl_menu ul a { text-align: left; margin: 0; padding: 5px 10px; font-size: 16px; line-height: 22px; background: #0f67b1; }
.fl_menu ul a:hover { color: #fff; background: #adc5e0; }
.fl_menu li:hover ul, .fl_menu li.hovered ul { display: block; }
.fl_menu li.hovered ul { height: auto!important; }
.fl_menu ul ul { display:none!important; }

#header.fixed { position: fixed; top: -116px; }

.maincontent { padding: 225px 30px 30px; max-width: 1400px; margin: 0 auto; }

.lhswrap { float: left; width: 100%; }
.lhs { margin-right: 220px; padding-right: 90px; min-height: 250px; }
.breadcrumbs { font-size: 12px; line-height: 16px; color: #ccc; text-transform: uppercase; margin-bottom: 5px; }
.breadcrumbs a { display: inline-block; margin: 0 3px; color: #666; }
.breadcrumbs a.noleft { margin-left: 0; }

.cms_imgleft { border: 0; margin: 3px 10px 10px 0; float: left; max-width: 250px; height: auto!important; }
.cms_imgright { border: 0; margin: 3px -60px 10px 10px; float: right; max-width: 250px; height: auto!important; clear: right; }
blockquote { background: #efede6; padding: 10px 20px 20px; margin: 20px; }
.lhs ul { list-style: none; }
.lhs ul li:before { color: #0f67b1; content: "\25CF"; position: relative; font-size: 14px; line-height: 14px; margin: 0 7px 0 -14px; }
.lhs li { margin-top: 3px; }
ul.questions { margin-top: -50px; padding-top: 50px; }
.questiontitle { margin-top: -50px; padding-top: 65px; }
.questionanswer { position: relative; border-bottom: 1px solid #eee; padding-bottom: 15px; }

.rhs { float: right; width: 220px; margin-left: -220px; font-size: 16px; line-height: 22px; color: #666; position: relative; }
.rhsbox { background: #efede6; margin-top: 30px; padding: 15px; font-size: 14px; line-height: 20px; }
.rhsbox h4 { margin: 0 0 15px; }
.rhsbox ul { margin: 0; list-style: none; }
.rhsbox ul ul { margin: 5px 10px; }
.rhsbox.boxfirst { margin-top: 0; }
.rhs img { float: right; width: 48px; height: 48px; margin: 3px 0 5px 5px; }
.rhs a.newsheading { display: block; font-weight: 600; }

.footer { background: #0f67b1; color: #fff; text-align: center; padding: 40px 20px; font-size: 12px; line-height: 18px; }
.footer a { color: #fff; }
.divider { color: #adc5e0; margin: 0 5px; }

.topright a:hover, .breadcrumbs a, .footer a:hover { opacity: 0.6; }

.fl_blogintro, .fl_blogpost1, .fl_blogpost2 { margin-top: 30px; border-bottom: 1px solid #eee; padding-bottom: 30px; }
.fl_blogintro { margin-top: 0; }
#fl_commsbox { clear: both; margin: 0; padding: 0; border: 0; background: transparent; }
.fl_commentname, .fl_commentmessage { margin-left: 0; }
.fl_blogentrytitle, .fl_newspreview h2 { margin-bottom: 10px; }
.fl_postinfo { font-size: 12px; line-height: 16px; margin-bottom: 20px; color: #999; }
.fl_comment1, .fl_comment2 { padding: 20px; font-size: 16px; line-height: 20px; }
.fl_comment1 { background: #eceae6; }
.fl_comment2 { background: transparent; }
.fl_commentname { font-size: 12px; line-height: 16px; }
.fl_newsfirst { margin-top: -5px; }
.fl_blogfooter { color: #999; margin-top: 20px; }
h2.fl_blogentrytitle { margin-top: -20px; }
.fl_newspreview h2.fl_blogentrytitle { margin-top: -30px; }
.fl_rsslinks, #fl_tracksbox { display: none; }
.page_blogs .fl_rsslinks { display: block; margin-bottom: 10px; }
.fl_commform { margin-bottom: 20px; }
.fl_tags { font-size: 12px; text-transform: uppercase; }

.fl_mailform label, .fl_commform label, .lhs label { display: block; font-size: 12px; line-height: 16px; text-transform: uppercase; margin: 8px 0 3px; font-weight: 600; color: #666; }
input, textarea { -webkit-appearance: none; border-radius: 0; }
input, textarea, .fl_mailform textarea, select, button { font: 14px myriad-pro, sans-serif; color: #666; border: 0; background: #efede6; width: 500px; margin-right: 5px; display: block; padding: 10px; }
select { width: 520px; }
input.checkbox { border: 0; width: auto; display: inline; background: transparent; -webkit-appearance: checkbox; }
input:hover, textarea:hover, select:hover { background-color: #efede6; }
input:focus, textarea:focus, select:focus { background-color: #efede6; color: #333; }
.signuptcs { width: 508px; font-size: 12px; line-height: 16px; border: 1px solid #eee; padding: 1px 10px; overflow: auto; height: 150px; }
select#usertitle { width: auto; display: inline; }
input#titleother { width: 150px; display: inline; visibility: hidden; }

input.emailsub, input.passsub, input.commentsub, input.formsub, a.button { display: block; width: auto; font-weight: 600; font-size: 16px; margin: 10px 5px 10px 0; padding: 8px 15px; color: #fff; border: 0; background: #0f67b1; border-radius: 2px 2px 3px 3px; border-bottom: 2px solid #0c528e; cursor: pointer; text-decoration: none; -webkit-transition-property: none; transition-property: none; }
a.button { display: inline-block; }
input.emailsub:hover, input.passsub:hover, input.commentsub:hover, input.formsub:hover, a.button:hover { background-color: #639ccc; border-color: #0c528e; color: #fff; }
input.emailsub:active, input.passsub:active, input.commentsub:active, input.formsub:active, a.button:active { background-color: #0c528e; border: 0; color: #fff; margin-top: 12px; }

img.antispam { float: left; border: 1px solid #ccc; margin: 0 6px 6px 0; }
.spamopts { float: left; }
#antispambox { float: left; width: 100%; }
#antispambox #playcaptcha, a.antispamchange { background-color: #eee; display: block; margin-bottom: 6px; }
#playcaptcha, a.antispamchange { width: 36px; height: 36px; overflow: hidden; position: relative; padding: 0; border: 1px solid #ccc; }
#antispambox #playcaptcha { background: #eee url('../gfx/icons/control_play_blue.png') no-repeat center; background-size: 16px auto!important; cursor: pointer; }
#antispambox #playcaptcha:hover, a.antispamchange:hover { border-color: #999; background-color: #dff4ff; }
a.antispamchange:hover img { position: absolute; bottom: 0; }
#antispambox #playcaptcha.playing { background-image: url('../gfx/icons/control_stop_blue.png'); }
#playcaptcha.loading { background-image: url('../gfx/fl_loading.gif')!important; }
#enteredpass { margin-top: 5px; }

.helpwrap { position: absolute; cursor: default; margin: -3px 0 0 0; font-weight: 600; font-size: 14px; color: #666; padding: 2px 10px; }
.helpwrap:hover { color: #666; }
.helpshow { display: none; position: absolute; left: -86px; top: 16px; width: 200px; text-align: center; z-index: 20; font-weight: 500; }
.helpwrap:hover .helpshow { display: block; }
.helparrow { display: block; position: relative; z-index: 19; height: 10px; width: 12px; margin: 0 auto; background: url('../gfx/help-arrow.png'); }
.helpcontent { display: block; position: relative; top: -1px; z-index: 18; background: #f6f6f6; border: 1px solid #ccc; border-radius: 3px; font-size: 14px; line-height: 20px; color: #666; text-transform: none; padding: 8px 5px; }

.resource, .event { margin-top: 20px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; margin-bottom: -21px; padding: 0 10px 20px; background: #fff; clear: left; display: block; text-decoration: none; }
.resource:hover, .event:hover { background: #efede6; border-color: #70a3ce; position: relative; }
.event, .event:hover { color: #333; }
.resource img { float: right; margin: 20px 0 10px 10px; }
.event img { float: right; margin: 0 0 10px 10px; }
.resource .resfoot { font-size: 12px; line-height: 16px; color: #666; display: block; margin-top: 10px; }
.resourceend { height: 30px; }
.resource:last-child, .event:last-child { margin-bottom: 0; }

div.eventinfo { float: right; background: #efede6; width: 250px; margin: 0 -60px 10px 10px; }
div.eventinfo .eventimg { max-width: 100%; }
#map_canvas { height: 250px; }
div.eventinfo p { padding: 0 15px 15px; }

.page_front .breadcrumbs, .page_front h1.maintitle, .page_front .rhs { display: none; }
.page_front .lhs { margin-right: 0; padding-right: 0; }
.frontbox { background: #efede6; display: inline-block; vertical-align: top; width: 32%; margin-top: 2%; }
.frontbox .cms_inplace { display: block; margin: 0 auto; }
.intro { width: 32%; display: inline-block; margin-right: 2%; font-size: 18px; line-height: 24px; color: #666; vertical-align: top; }
#imgfade { width: 66%; background: #ccc; display: inline-block; position: relative; height: 0; padding-bottom: 36%; }
.imgfront { position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; -webkit-transition: none; transition: none; }
.imgfront img { width: 100%; }
.notclickable { cursor: default; }
.blocktext { position: absolute; bottom: 0; left: 0; right: 0; padding: 274px 20px 20px; color: #fff; background: url('../gfx/bg-fade.png') repeat-x bottom; }
.blocktext h2 { color: inherit; font-size: 24px; line-height: 26px; margin: 0; }
.blocktext p { font-size: 18px; line-height: 22px; font-weight: 600; margin-top: 5px; }
.imgfront:hover .blocktext { opacity: 0.6; }
.dots { position: absolute; top: 10px; right: 10px; z-index: 10; }
.dots a { position: static; width: 9px; height: 9px; background: #ccc; float: left; margin-left: 4px; border: 3px solid #fff; border-radius: 50%; }
.dots a.curdot { background: #0f67b1!important; border-color: #fff; }
.dots a:hover { background: #439438; }
.frontbox ul.tweets { max-height: 520px; overflow: auto; -webkit-overflow-scrolling: touch; word-wrap: break-word; }

#box_2 { margin: 2% 2% 0; }
.frontbox p, .frontbox h3, .frontbox ul { padding: 0 15px; }
.frontevent strong { color: #666; }
.frontbox ul small { display: block; text-align: right; color: #666; font-weight: 600; }
.frontbox img { max-width: 100%; display: block; margin: 5px auto; }
.frontbox a.newsheading { font-weight: 600; }
.frontbox .eventdesc { padding: 5px 15px 0; }
p.right { margin-bottom: 15px; text-align: right; }
blockquote.err404 { margin: 0 0 2%; font-size: 20px; line-height: 26px; color: #666; }
.err { color: #c00; }

#fl_loading { display: none; position: fixed; top: 10px; right: 10px; background: #fff; padding: 3px; border: 1px solid #ccc; z-index: 50; }
#cookiebar { font-size: 12px; line-height: 16px; }
#cookiebar a { display: inline-block; }

iframe { max-width: 100%; }
#searchresults div.url { font-size: 12px; line-height: 16px; text-align: right; }
#searchresults #other_pages { margin-bottom: 10px; }

#msgbar { font-family: myriad-pro, sans-serif; }
#fl_gallwrap { z-index: 50; }
.fl_gallinc { margin: 15px 0; }
.gallthumbnail { float: none; display: inline-block; border: 1px solid #0f67b1; margin-bottom: 0; }
.gallthumbnail:hover { border-color: #439438; }

a, .resource, .blocktext { -webkit-transition-duration: 0.2s; transition-duration: 0.2s; -webkit-transition-property:color,background,border,opacity; transition-property:color,background,border,opacity; }

@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx), (min-resolution: 144dpi) {
	.logo { background-image: url('../gfx/logo-border@2x.png'); }
	.topright a.fb { background-image: url('../gfx/icon-facebook@2x.png'); }
	.topright a.yt { background-image: url('../gfx/icon-yt@2x.png'); }
	.searchbox input.searchsub { background-image: url('../gfx/magnify@2x.png'); }
	#searchbutton { background-image: url('../gfx/magnify-r@2x.png')!important; background-size: 16px auto!important; }
}

@media all and (min-width: 1100px) {
	.cms_imgleft, .cms_imgright { max-width: 300px; }
	div.eventinfo { width: 300px; }
	.intro { font-size: 20px; line-height: 26px; }
	.fl_menu a { margin: 0 10px; }

}
@media all and (min-width: 1200px) {
	.cms_imgleft, .cms_imgright { max-width: 350px; }
	div.eventinfo { width: 350px; }
	.intro { font-size: 22px; line-height: 28px; }
}
@media all and (max-width: 979px) {
    html, body { min-width: 320px; -webkit-text-size-adjust:none; }
    #menu { font-size: 16px; }
	.fl_menu a { margin: 0 2px; }
	.fl_menu ul { margin-left: 10px; }
	.fl_menu ul a { padding: 5px 10px; }
	.intro { width: 100%; margin: 0 0 2%; }
	#imgfade { width: 100%; padding-bottom: 55%; }
}

@media all and (max-width: 889px) {
	.lhs { margin-right: 0; padding-right: 0; }
	.cms_imgright, div.eventinfo { margin-right: 0; }
	.rhs { float: none; width: auto; clear: left; margin: 0; padding-top: 30px; }
	.frontbox { height: auto!important; width: 100%; }
	#box_2 { margin: 2% 0 0; }
}

@media all and (max-width: 767px) {
	img { max-width: 100%; }
    input, textarea, .fl_mailform textarea, select { width: 100%; -moz-box-sizing: border-box; box-sizing: border-box; }

	.headerimage, .headercover, .topright, .searchbox, .pad { display: none; }
	#header { top: 0; height: 63px; position: fixed; border-top: 10px solid #fff; }
	.headwrap { height: auto; }
	.logo { position: relative; margin: -5px auto 0; width: 90px; height: 68px; top: 0; left: 0; display: block; background-size: auto 73px;}
	.maincontent { padding-top: 103px; }
	    

	#menubutton, #searchbutton { position: absolute; top: 11px; left: 30px; width: 38px; height: 38px; background: transparent; cursor: pointer; z-index: 10; border: 1px solid #fff; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-user-select: none; }
    #menubutton .rowbar { position: absolute; top: 19px; left: 8px; width: 22px; height: 2px; background: #fff; }
    #menubutton .rowtop { top: 11px; }
    #menubutton .rowbottom { top: 27px; }
    #menubutton.menushown { background: #439438; border-color: #439438; }
    #menubutton.menushown .rowbar { background: #fff; }
    #menubutton:active { background: #fff; border-color: #fff; }
    #menubutton:active .rowbar { background: #0f67b1; }
    
    #searchbutton { left: auto; right: 30px; background: url('../gfx/magnify-r.png') no-repeat center; }
    #searchbutton:active { background-color: #439438; border-color: #439438; -webkit-transition: none; transition: none; }
    
    #menu { display: block; height: auto; position: fixed; top: 73px; left: 0; right: 0; bottom: 0; background: transparent; z-index: 10; overflow: auto; -webkit-overflow-scrolling: touch; }
	#menu.menunone { display: none; }
	.fl_menu { height: auto; display: block; padding: 0; background: #0f67b1; left: 0; right: 0; margin: 0; border-bottom: 1px solid #70a3ce; }
	#menu_i_ { position: relative; left: 0; }
	.fl_menu li { display: block; border: 0!important; width: auto!important; height: auto; float: none; line-height: 16px; }
	.fl_menu li:before { display: none; }
	.fl_menu a { display: block; width: auto!important; font-size: 16px; line-height: 18px; padding: 10px 20px; height: auto; margin: 0; background-image: none!important; }
	.fl_menu a span { display: inline!important; border: 0; position: static!important; margin: 0!important; }
    .fl_menu ul { position: relative; width: auto; margin: 0; padding: 0; background: none; display: none!important; text-align: center;  top: 0; height: auto!important; width: auto!important; left: 0; border: 0; }
    .fl_menu li:hover ul, .fl_menu li.hovered ul { display: block!important; }
    .fl_menu ul li { display: inline-block; width: auto; margin: 0; padding: 0; }
    .fl_menu ul a { border: 0; display: inline-block; font-size: 14px; line-height: 16px; }
	.fl_menu > li.hassubmenu > a:after { position: absolute; right: 10px; content: "\25BC"; font-size: 10px; }
	.fl_menu > li.hovered > a:after, .fl_menu > li:hover > a:after { content: ""; }

}

@media all and (max-width: 599px) {
	.cms_imgleft, .cms_imgright { max-width: 200px; }
	div.eventinfo { width: 200px; }
}

@media all and (max-width: 479px) {
	.cms_imgleft, .cms_imgright { max-width: 150px; }
	.intro { font-size: 16px; line-height: 22px; }
}
@media all and (max-width: 399px) {
	.cms_imgleft, .cms_imgright, .event img { max-width: 120px; }
	.maincontent { padding: 93px 10px 20px; }
	#menubutton { left: 10px; }
	#searchbutton { right: 10px; }
	.footer .divider { display: block; height: 0; overflow: hidden; }
	.footer a.final { display: inline-block; margin-top: 5px; }
	.rhs { padding-top: 20px; }
	.rhsbox { margin-top: 20px; }
	div.eventinfo, .eventinfo .eventimg { width: 100%; }
}

#map_canvas .gm-style-mtc button { display: none!important; }