/* ==========================================================================
/* ==========================================================================
   Fonts
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap');

/* ==========================================================================
   Typography
   ========================================================================== */

html, body { margin: 0; font-size: 15px; line-height: 155%; }

body { margin: 0; text-align: center; max-width: 100%; overflow-x: hidden; }

body, p, ul, ol, td, th, form, input, textarea, select, button { font-family: 'Open Sans', sans-serif; font-weight: 600; }

p, ul, ol, form { margin: 0.8em 0 0 0; }
p strong, ul strong, ol strong, td strong, th strong, p.bold, ul.bold, ol.bold, td.bold, th.bold, .error, .page_article table th { font-weight: 700; }
p em, ul em, ol em, td em, th em { font-weight: 600; font-style: italic; }

h1, h2, h3, h4, h5, h6, .h1style, .h2style, .h3style, .h4style, .h5style, .h6style { font-family: 'Open Sans', sans-serif; font-weight: 600; margin-bottom: 0; color: #051b3f; }
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong, .h1style strong, .h2style strong, .h3style strong, .h4style strong, .h5style strong, .h6style strong, h1.bold, h2.bold, h3.bold, h4.bold, h5.bold, h6.bold, .h1style.bold, .h2style.bold, .h3style.bold, .h4style.bold, .h5style.bold, .h6style.bold { font-weight: 700; }

h1, .h1style { font-size: 2.20em; line-height: 110%; margin-top: 0.80em; letter-spacing: -0.022em; }
h2, .h2style { font-size: 2.00em; line-height: 115%; margin-top: 0.80em; letter-spacing: -0.019em; }
h3, .h3style { font-size: 1.80em; line-height: 120%; margin-top: 0.80em; letter-spacing: -0.016em; }
h4, .h4style { font-size: 1.60em; line-height: 125%; margin-top: 0.80em; letter-spacing: -0.013em; }
h5, .h5style { font-size: 1.40em; line-height: 130%; margin-top: 0.80em; letter-spacing: -0.010em; }
h6, .h6style { font-size: 1.20em; line-height: 135%; margin-top: 0.80em; letter-spacing: -0.007em; }
@media (min-width: 768px) {
    h1, .h1style { font-size: 3.05em; }
	h2, .h2style { font-size: 2.70em; }
	h3, .h3style { font-size: 2.35em; }
	h4, .h4style { font-size: 2.00em; }
	h5, .h5style { font-size: 1.65em; }
	h6, .h6style { font-size: 1.30em; }
}

h1.ntm, .h1style.ntm { margin-top: 0.15em; }
h2.ntm, .h2style.ntm { margin-top: 0.13em; }
h3.ntm, .h3style.ntm { margin-top: 0.11em; }
h4.ntm, .h4style.ntm { margin-top: 0.09em; }
h5.ntm, .h5style.ntm { margin-top: 0.07em; }
h6.ntm, .h6style.ntm { margin-top: 0.05em; }

/* ==========================================================================
   Basics
   ========================================================================== */

blockquote { background: #f9f9f9; border-left: 10px solid #ccc; margin: 1.5em 0; padding: 0.8em 15px; quotes: "\201C""\201D"; }
blockquote:before { color: #ccc; content: open-quote; font-size: 4em; line-height: 0.1em; margin-right: 0.25em; vertical-align: -0.4em; }
blockquote p { display: inline; }

hr { border-color: #AEAEAE; margin: 1.4em 0 1.0em 0; }

a { color: #96c21e; outline: 0; }
a:hover { color: #051b3f; text-decoration: none; }
a.grey { color: #999 !important; }
a:hover.grey { color: #96c21e !important; }
a.green { color: #96c21e !important; }
a:hover.green { color: #051b3f !important; }
a:hover.green.reverse { color: #FFF !important; }
a.blue { color: #051b3f !important; }
a:hover.blue { color: #96c21e !important; }
a:hover.blue.reverse { color: #FFF !important; }

a.boxbutton, button.boxbutton { text-decoration: none; display: inline-block; color: #FFF; border: 1px solid #96c21e; background-color: #96c21e; font-size: 0.85em; line-height: 120%; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 1.2em 1.6em; }
a.boxbutton.fullwidth, button.boxbutton.fullwidth { display: block; }
a.boxbutton.wide, button.boxbutton.wide { padding: 0.9em 3em; }
a.boxbutton:hover, button.boxbutton:hover { text-decoration: none; color: #96c21e; background-color: transparent; }
a.boxbutton::after, button.boxbutton::after { content: "\f105"; font-family: 'Font Awesome 5 Pro'; margin-left: 0.7em; }
a.boxbutton.reverse, button.boxbutton.reverse { border-color: #FFF; }
a.boxbutton.reverse:hover, button.boxbutton.reverse:hover { border-color: #FFF; background-color: #FFF; color: #96c21e; }
a.boxbutton.light, button.boxbutton.light { color: #96c21e; background-color: transparent; }
a.boxbutton.light:hover, button.boxbutton.light:hover { color: #FFF; background-color: #96c21e; }
a.boxbutton.stackable { display: inline-block; margin: 1em 0.6em 0 0.6em; }

a.dot.green { display: inline-block; color: #96c21e; border: 1px solid #96c21e; border-radius: 100%; padding: 0.2em; font-size: 22px; line-height: 127%; }
a.dot.green:hover { color: #051b3f; border-color: #051b3f; }
a.dot.green.reverse:hover { color: #FFF; border-color: #FFF; }

.page_article ul li::marker { color: #96c21e; }
.reverse .page_article ul li::marker { color: #96c21e; }

.small { font-size: 12.0px !important; line-height: 140% !important; }
.tiny { font-size: 10.5px !important; line-height: 135% !important; }

/* Also in defaults.css but need ed to put in here for cache */
.accordion { margin-top: 0.8em; }
.card { border-radius: 0; }
.card-header h6 { margin: 0; }
.card-header h6 a { display: block; cursor: pointer; }
.card-header h6 a:not([href]) { color: #96c21e !important; }
.card-body { padding-top: 0.4rem; }

/* ==========================================================================
   Colours
   ========================================================================== */

body { color: #333; }

.blue { color: #051b3f !important; }
.green { color: #96c21e !important; }
.grey { color: #999 !important; }
.error { color: #C00; }

.bglgrey { background-color: #f2f2f2; }
.bgblue { background-color: #051b3f; }
.bggreen { background-color: #96c21e; }
.bgwhite { background-color: #FFF; }

/* ==========================================================================
   Forms
   ========================================================================== */

.form1 input[type='text'], .form1 input[type='email'], .form1 textarea { color: #FFF; font-size: 1em; background-color: transparent; border: 0; border-bottom: 1px solid #FFF; border-radius: 0; padding: 0.2em 0; display: block; width: 100%; }
.form1 .has-error input[type='text'], .form1 .has-error textarea { border-color: #C00; }
.form1 button { color: #96c21e; background-color: transparent; border: 0; border-radius: 0; padding: 0; }
.form1 button:hover { color: #FFF; }

.form2 input[type='text'], .form2 input[type='email'], .form2 textarea { color: #666; font-size: 1.5em; font-weight: 600; background-color: #FFF; border: 1px solid #96c21e; border-radius: 0; padding: 0.6em; display: block; width: 100%; }
.form2 .has-error input[type='text'], .form2 .has-error textarea { border-color: #C00; }

#search { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #051b3f; z-index: 999; }
#search form { position: absolute; top: 50%; margin: -1.5em 0; width: 100%; font-size: 1.3em; text-align: center; }
#search form div { border-bottom: 2px solid #FFF; display: inline-block; padding-bottom: 0.1em; }
#search form input { border: 0; color: #FFF; background-color: transparent; }
#search form input:focus { outline: none; }
#search form button { border: 0; background-color: transparent; color: #FFF; }
#search div.sclose { cursor: pointer; position: absolute; top: 0; right: 0; color: #FFF; font-size: 1.3em; padding: 1em; }
@media (min-width: 768px) {
    #search form { font-size: 1.7em; }
    #search form input { width: 15em; }
}
@media (min-width: 992px) {
    #search form { font-size: 1.8em; }
    #search form input { width: 18em; }
}

/* ==========================================================================
   Header
   ========================================================================== */

#headerspace { height: 75px; background-color: #f2f2f2; }
header { position: fixed; width: 100%; z-index: 3; }
#logo { height: 50px; margin: 15px auto 10px auto; display: block; float: left; }
#logo img { max-height: 100%; max-width: auto; }
#greentopbar { background-color: #96c21e; color: #FFF; padding: 25px; }
#greentopbar #search_open { display: inline-block; font-size: 1.2em; line-height: 70%; padding: 0.2em; margin: 0 0.6em 0 0; color: #051b3f; }
#greentopbar #search_open:hover { color: #FFF; cursor: pointer; }
@media (min-width: 992px) {
	#headerspace { height: 140px; }
	#logo { height: 85px; margin: 35px auto 20px auto; }
	#greentopbar { float: right; padding: 13px 18px 0 22px; margin-bottom: 10px; height: 56px; position: relative; z-index: 1; }
	#greentopbar #search_open { margin-right: 1em; }
	#greenfill { height: 56px; background-color: #96c21e; width: 40%; position: absolute; top: 0; right: 0; }
}

/* ==========================================================================
   Navs
   ========================================================================== */

.navnav { font-size: 30px; line-height: 120%; cursor: pointer; position: absolute; top: 0; right: 0; padding: 20px; margin: 0; color: #FFF; }
#navopen { position: absolute; right: 0; }
#navmain { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #051b3f; text-align: left; z-index: 3; }
#navmain ul#navitems { list-style: none; list-style-type: none; position: absolute; left: 10%; top: 50%; padding: 0; margin: -9em 0 0 0; }
#navmain ul#navitems li { font-size: 1.3em; font-weight: 600; margin: 0; padding: 0; color: #FFF; }
#navmain ul#navitems li a { display: block; padding: 0.8em 0 0.4em 0; color: #FFF; text-decoration: none; }
#navmain ul#navitems li a.sel, #navmain ul#navitems li a:hover { text-decoration: none; }
#navmain ul#navitems li a.sel span, #navmain ul#navitems li a:hover span { color: #96c21e !important; }
@media (min-width: 992px) {
	#navopen { display: none; }
	#navmain { display: block; position: static; width: auto; height: auto; float: right; margin: 0; background-color: transparent; }
	#navmain #navclose { display: none; }
	#navmain ul#navitems { position: static; left: auto; top: auto; margin: 0; float: right; }
	#navmain ul#navitems li { display: inline-block; font-size: 1.05em; line-height: 100%; }
	#navmain ul#navitems li a { display: inline-block; color: #FFF; padding: 0 20px; }
	#navmain ul#navitems li a span { display: inline-block; padding: 29px 0 27px 0; border-bottom: 3px solid #051b3f; }
	#navmain ul#navitems li a.sel span, #navmain ul#navitems li a:hover span { color: #FFF !important; border-color: #96c21e; }
	#navmain ul#navitems li.sep { width: 2px; height: 1em; background-color: #FFF; position: relative; top: 0.15em; }
	#navmain ul#navitems li a, #navmain ul#navitems li a span { -o-transition: .5s; -ms-transition: .5s; -moz-transition: .5s; -webkit-transition: .5s; transition: .5s; }
}

#greentopbar ul.members { display: inline-block; list-style: none; list-style-type: none; margin: 0; padding: 0; line-height: 130%; }
#greentopbar ul.members li { display: inline-block; margin: 0; font-size: 1.05em; font-weight: 600; }
#greentopbar ul.members li a { color: #FFF; }
#greentopbar ul.members li a:hover { color: #051b3f; text-decoration: none; }
#greentopbar ul.members li a.blue { color: #051b3f; }
#greentopbar ul.members li a.blue:hover, #greentopbar ul.members li a.blue:active { color: #FFF !important; }
#greentopbar ul.members li.sep { width: 2px; height: 1em; background-color: #051b3f; position: relative; top: 0.15em; margin: 0 10px; }
#greentopbar ul.social { list-style: none; list-style-type: none; margin: 15px 0 0 0; padding: 0; font-size: 1.5em; line-height: 130%; position: absolute; bottom: 1.4em; right: 7%; }
#greentopbar ul.social li { display: inline-block; margin: 0; }
#greentopbar ul.social li a { display: block; color: #FFF; border: 1px solid #FFF; border-radius: 100%; padding: 0.2em; }
#greentopbar ul.social li a:hover { color: #96c21e; border-color: #96c21e; }
@media (min-width: 992px) {
	#greentopbar ul.social { display: inline-block; margin: 0 0 0 3em; font-size: 1.1em; position: static; bottom: auto; right: auto; }
	#greentopbar ul.social li a:hover { color: #051b3f; border-color: #051b3f; }
}

.navfooter { list-style: none; list-style-type: none; padding: 0; margin: 0; }
.navfooter li { margin: 0; }
.navfooter li a { color: #999; }
.navfooter li a:hover {  text-decoration: none; }

footer ul.social { list-style: none; list-style-type: none; margin: 0.3em 0 0 0; padding: 0; font-size: 1.2em; line-height: 130%; }
footer ul.social li { display: inline-block; margin: 0; }
footer ul.social li a { display: block; color: #96c21e; border: 1px solid #96c21e; border-radius: 100%; padding: 0.3em; }
footer ul.social li a:hover { color: #FFF; border-color: #FFF; }

/* ==========================================================================
   Banners
   ========================================================================== */

.banner { background-color: #f2f2f2; background-repeat: no-repeat; padding-bottom: 70%; }
.banner.overlap_banner { padding-bottom: 80%; }
.banner1 { background-image: url(../img/banners/banner-1.png); background-size: 100% auto; background-position: bottom right; }
.banner2 { background-image: url(../img/banners/banner-2.png); background-size: 100% auto; background-position: bottom right; }
.banner3 { background-image: url(../img/banners/banner-3.png); background-size: 100% auto; background-position: bottom right; }
.bannertext p.bigger { font-size: 1.35em; line-height: 140%; }
@media (min-width: 768px) {
	.banner.overlap_banner { padding-bottom: 90%; }
    .bannertext { max-width: 550px; }
}
@media (min-width: 992px) {
	.banner { height: 628px; padding-bottom: 0; }
	.banner.overlap_banner { height: 748px; padding-bottom: 0; }
	.banner1 { background-size: auto 110%; background-position: center right; }
	.banner2 { background-size: auto 110%; background-position: center right; }
	.banner3 { background-size: auto 110%; background-position: bottom right; }
}
@media (min-width: 1112px) {
	.banner { height: 694px; }
	.banner.overlap_banner { height: 814px; }
}
@media (min-width: 1200px) {
	.banner { height: 884px; }
	.banner.overlap_banner { height: 1004px; }
}

/* ==========================================================================
   Clicks
   ========================================================================== */

#standard_article .toplabel { margin-top: 0.1em; font-size: 0.9em; line-height: 155%; }
#standard_article .toplabel span { color: #999; }
#standard_article .toplabel a { color: #999; }
#standard_article .toplabel a:hover { color: #96c21e; }
#standard_article .toplabel a i { color: #96c21e; }
#standard_article .team_image img { max-height: 450px; }
#standard_article .image img { max-height: 700px; }
#standard_article .image, #standard_article .videoWrapper { margin-top: 2em; }
#standard_article ul.download_list { margin-left: 0; padding-left: 0; list-style: none; list-style-type: none; }
#standard_article ul.download_list li { height: 40px; padding-left: 45px; margin-top: 1em; position: relative; line-height: 120%; padding-top: 0.4em; }
#standard_article ul.download_list img { max-width: 40px; max-height: 40px; border: 1px solid #EAEAEA; position: absolute; left: 0; top: 0; }

.click_search_bar { border-bottom: 1px solid #051b3f; margin-top: 3em; margin-bottom: 1em; padding-bottom: 1em; position: relative; z-index: 2; }
.click_search_bar form { margin: 0; display: inline-block; vertical-align: middle; }
.click_search_bar form input { border: 0; color: #051b3f; background-color: #f2f2f2; font-size: 13px; line-height: 100%; height: 37px; padding: 8px 12px; width: 100px; vertical-align: middle; display: inline-block; }
.click_search_bar form input:focus { outline: none; }
.click_search_bar form button { border: 0; background-color: #DADADA; font-size: 13px; line-height: 100%; height: 37px; width: 37px; padding: 8px; color: #FFF; vertical-align: middle; text-align: center; display: inline-block; }
.click_search_bar form button:hover { background-color: #96c21e; }
.click_search_bar .filter_options { display: inline-block; vertical-align: middle; margin-left: 5px; }
.click_search_bar .filter_options p { margin: 0; display: inline-block; font-size: 11px; line-height: 100%; height: 37px; text-transform: uppercase; letter-spacing: 0.1em; padding: 12px 15px; color: #96c21e; border: 1px solid #96c21e; vertical-align: middle; cursor: pointer; }
.click_search_bar .filter_options p:hover { background-color: #96c21e; color: #FFF; }
.click_search_bar .filter_options ul { display: none; margin: 0; list-style: none; list-style-type: none; position: absolute; top: 36px; border: 1px solid #96c21e; padding: 0.6em 0; background-color: #FFF; min-width: 120px; }
.click_search_bar .filter_options ul li { margin: 0; font-size: 0.9em; }
.click_search_bar .filter_options ul li a { display: block; padding: 0.2em 1em; }
.click_search_bar .filter_options ul li a.sel { color: #051b3f; }
@media (min-width: 576px) {
	.click_search_bar form input { width: 150px; }
}

.latest_item { height: 100%; }
.latest_item .image { height: 230px; display: block; background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; margin-top: 1em; margin-bottom: 0.6em; }
.latest_item .date { font-size: 0.8em; line-height: 145%; color: #999; position: relative; margin-top: 0; }
.latest_item .date i { position: absolute; right: 0; top: 0.3em; }
.latest_item h3.title { font-size: 1em; line-height: 130%; }
.latest_item .body { font-size: 0.9em; line-height: 140%; }
.latest_item .more { font-size: 0.9em; margin-bottom: 2em; }
@media (min-width: 576px) {
	.latest_item .image { height: 140px; }
	.latest_item .date { font-size: 0.75em; }
	.latest_item .body { font-size: 0.8em; }
	.latest_item .more { font-size: 0.8em; }
}
@media (min-width: 768px) {
	.latest_item .image { height: 180px; }
	.latest_item .date { font-size: 0.8em; }
	.latest_item .body { font-size: 0.9em; }
	.latest_item .more { font-size: 0.9em; }
}
@media (min-width: 992px) {
	.latest_item .image { height: 220px; }
	.latest_item h3.title { font-size: 1.1em; }
}
@media (min-width: 1200px) {
	.latest_item .image { height: 260px; }
	.latest_item h3.title { font-size: 1.2em; }
}

.search_item { height: 100%; }
.search_item hr { margin-top: 0; border-color: #CCC; }
.search_item .date { font-size: 0.8em; line-height: 145%; color: #999; position: relative; margin-top: 0; }
.search_item .date i { position: absolute; right: 0; top: 0.3em; }
.search_item h3.title { font-size: 1em; line-height: 130%; }
.search_item .body { font-size: 0.9em; line-height: 140%; }
.search_item .image { width: 50px; height: 50px; display: block; background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; margin-top: 1em; margin-bottom: 0.6em; }
.search_item .more { font-size: 0.9em; margin-bottom: 2em; }
@media (min-width: 576px) {
	.search_item .date { font-size: 0.75em; }
	.search_item .body { font-size: 0.8em; }
	.search_item .more { font-size: 0.8em; }
}
@media (min-width: 768px) {
	.search_item .date { font-size: 0.8em; }
	.search_item .body { font-size: 0.9em; }
	.search_item .more { font-size: 0.9em; }
}
@media (min-width: 992px) {
	.search_item h3.title { font-size: 1.1em; }
}
@media (min-width: 1200px) {
	.search_item h3.title { font-size: 1.2em; }
}

.team_list_item { height: 100%; background-color: #FFF; }
.team_list_item .image { height: 170px; display: block; background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; }
.team_list_item .position { background-color: #f2f2f2; margin: 0; padding: 1.3em 0 0.5em 0; }
.team_list_item .info { padding: 1px 15px 23px 15px; }
.team_list_item .info .title { font-size: 1em; }
.team_list_item .info .contact { font-size: 0.8em; line-height: 140%; }
.team_list_item .info .body { font-size: 0.8em; line-height: 150%; }
.team_list_item .info .more { font-size: 0.8em; }
@media (min-width: 576px) {
	.team_list_item .image { height: 250px; }
	.team_list_item .info .title { font-size: 1.3em; }
	.team_list_item .info .body { font-size: 0.9em; line-height: 145%; }
	.team_list_item .info .more { font-size: 0.85em; }
}
@media (min-width: 768px) {
	.team_list_item .image { height: 340px; }
}
@media (min-width: 992px) {
	.team_list_item .image { height: 200px; }
}
@media (min-width: 1200px) {
	.team_list_item .info .title { font-size: 1.4em; }
	.team_list_item .image { height: 240px; }
}

.team_list2_item { height: 100%; background-color: #FFF; margin-bottom: 1.3em; }
.team_list2_item p { font-size: 0.9em; line-height: 145%; }
.team_list2_item .image { height: 200px; display: block; background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; }
.team_list2_item .department { margin-bottom: 1em; }
.team_list2_item .info { background-color: #051b3f; padding: 1px 15px 15px 15px; }
.team_list2_item .info p { color: #FFF; }
.team_list2_item .info a:hover { color: #96c21e; text-decoration: underline; }
.team_list2_item .info .title { font-weight: 700; }
.team_list2_item .info .position { margin-top: 0em; }
.team_list2_item .info .contact { font-size: 0.65em; margin-top: 1.4em; }
@media (min-width: 576px) {
	.team_list2_item .image { height: 200px; }
    .team_list2_item .info { height: 160px; }
}
@media (min-width: 768px) {
    .team_list2_item p { font-size: 0.95em; }
	.team_list2_item .image { height: 240px; }
    .team_list2_item .info { height: 170px; padding: 8px 20px 20px 20px; }
    .team_list2_item .info .contact { font-size: 0.8em; }
}
@media (min-width: 992px) {
	.team_list2_item .image { height: 210px; }
}
@media (min-width: 1200px) {
	.team_list2_item .image { height: 255px; }
}

.news_list_col { margin-top: 2em; }
.news_list_item { height: 100%; }
.news_list_item .image { height: 130px; display: block; background-repeat: no-repeat; background-size: cover; margin-bottom: 0.4em; }
.news_list_item img { margin-bottom: 0.4em; }
.news_list_item hr { margin-top: 0; border-color: #CCC; }
.news_list_item .date { font-size: 0.75em; line-height: 145%; color: #999; position: relative; margin-top: 0; }
.news_list_item .date i { position: absolute; right: 0; top: 0.3em; }
.news_list_item h2.title { font-size: 1em; line-height: 130%; }
.news_list_item .body { font-size: 0.8em; line-height: 140%; }
.news_list_item .more { font-size: 0.8em; margin-bottom: 2em; }
@media (min-width: 576px) {
	.news_list_item .image { height: 200px; }
	.news_list_item .date { font-size: 0.8em; }
	.news_list_item .body { font-size: 0.9em; }
	.news_list_item .more { font-size: 0.9em; }
}
@media (min-width: 768px) {
	.news_list_item .image { height: 180px; }
}
@media (min-width: 992px) {
	.news_list_item h2.title { font-size: 1.1em; }
}
@media (min-width: 1200px) {
	.news_list_item .image { height: 220px; }
	.news_list_item h2.title { font-size: 1.2em; }
}

.pub_list_col { margin-top: 2em; }
.pub_list_item { height: 100%; }
.pub_list_item img { margin-bottom: 0.4em; }
.pub_list_item hr { margin-top: 0; border-color: #CCC; }
.pub_list_item .date { font-size: 0.75em; line-height: 145%; color: #999; position: relative; margin-top: 0; }
.pub_list_item .date i { position: absolute; right: 0; top: 0.4em; }
.pub_list_item h2.title { font-size: 1em; line-height: 130%; }
.pub_list_item .more { font-size: 0.8em; margin-bottom: 2em; position: relative; }
.pub_list_item .more > i { position: absolute; right: 0; color: #96c21e; }
@media (min-width: 576px) {
	.pub_list_item .date { font-size: 0.8em; }
	.pub_list_item .more { font-size: 0.9em; }
}
@media (min-width: 992px) {
	.pub_list_item h2.title { font-size: 1em; }
}

.event_list_col { margin-top: 2em; }
.event_list_item { height: 100%; }
.event_list_item hr { border-color: #CCC; margin-top: 0; }
.event_list_item img { margin-top: 0.6em; }
.event_list_item .date, .event_list_item .time, .event_list_item .location { font-size: 0.75em; line-height: 145%; margin-top: 0; }
.event_list_item .date { color: #999; } 
.event_list_item h2.title { font-size: 1em; line-height: 135%; }
.event_list_item .body { font-size: 0.8em; line-height: 140%; }
.event_list_item .more { font-size: 0.8em; margin-bottom: 2em; position: relative; }
.event_list_item .more > i { position: absolute; top: 0.2em; right: 0; color: #96c21e; }
@media (min-width: 576px) {
	.event_list_item .image { height: 200px; }
	.event_list_item .date, .event_list_item .time, .event_list_item .location { font-size: 0.8em; }
	.event_list_item .body { font-size: 0.9em; }
	.event_list_item .more { font-size: 0.9em; }
}
@media (min-width: 768px) {
	.event_list_item .image { height: 180px; }
}
@media (min-width: 992px) {
	.event_list_item h2.title { font-size: 1.1em; }
}
@media (min-width: 1200px) {
	.event_list_item .image { height: 220px; }
	.event_list_item h2.title { font-size: 1.2em; }
}

/* ==========================================================================
   Calendar
   ========================================================================== */

.calendar { margin-top: 2em; margin-bottom: 1em; }
.calendar .calendar_top { background-color: #051b3f; color: #96c21e; padding: 2em 1em; text-align: center; }
.calendar .calendar_top p.day { font-size: 4em; line-height: 100%; font-weight: 400; margin-top: 0.1em; }
.calendar .calendar_top p.dayofweek { font-size: 0.95em; margin-top: 0; margin-bottom: 1em; }
.calendar .calendar_top p.event, .calendar .calendar_top p.no_event { font-size: 0.8em; line-height: 135%; margin-top: 0.8em; }
.calendar .calendar_top p.event { text-align: left; position: relative; padding-left: 1.6em; }
.calendar .calendar_top p.event span, .calendar .calendar_top p.event a span { color: #96c21e; }
.calendar .calendar_top p.event i { position: absolute; left: 0; top: 0.2em; }
.calendar .calendar_top p.event a { color: #FFF; display: block; }
.calendar .calendar_bottom { border: 1px solid #CCC; padding: 1em 1em; text-align: center; }
.calendar .calendar_bottom .year { margin: 0; font-size: 1.4em; text-align: right; font-weight: 400; position: relative; }
.calendar .calendar_bottom .year i { display: inline-block; font-size: 0.7em; color: #CCC; position: relative; top: -0.15em; margin-right: 0.15em; }
.calendar .calendar_bottom .month { font-size: 0.9em; }
.calendar .calendar_bottom .calendar_row { position: relative; width: 100%; }
.calendar .calendar_bottom .calendar_col { float: left; width: 14.2857%; }
.calendar .calendar_bottom .calendar_col_th { font-size: 0.7em; color: #999; margin-top: 0; }
.calendar .calendar_bottom .calendar_col_td { font-size: 0.85em; line-height: 3em; margin-top: 0.1em; margin-bottom: 0.1em; color: #999; min-height: 1px; position: relative; }
.calendar .calendar_bottom .calendar_col_td a { height: 3em; width: 3em; color: #999; border-radius: 50%; display: inline-block; }
.calendar .calendar_bottom .calendar_col_td a.today { background-color: #999; color: #FFF; }
.calendar .calendar_bottom .calendar_col_td a:hover, .calendar .calendar_bottom .calendar_col_td a.sel, .calendar .calendar_bottom .calendar_col_td a:hover.today { background-color: #96c21e; color: #FFF; }
.calendar .calendar_bottom .calendar_col_td span { font-size: 4px; line-height: 4px; height: 4px; width: 4px; display: inline-block; background-color: #96c21e; border-radius: 50%; position: absolute; bottom: 0; left: 0; right: 0; margin: 0 auto; z-index: 1; }
.calendar .calendar_nav { margin-top: 10px; text-align: center; }
.calendar .calendar_nav a { display: inline-block; background-color: #EAEAEA; color: #999; padding: 0.4em 1.2em; margin: 0 0.2em; }
.calendar .calendar_nav a:hover { background-color: #96c21e; color: #FFF; }
@media (min-width: 768px) {
	.calendar .calendar_bottom .calendar_col_td { font-size: 0.8em; line-height: 1.9em; margin-top: 0.3em; margin-bottom: 0.3em; }
	.calendar .calendar_bottom .calendar_col_td a { height: 2em; width: 2em; }
}
@media (min-width: 1200px) {
	.calendar .calendar_top { padding: 2em 1.7em; }
	.calendar .calendar_bottom { padding: 1em 1.7em; }
	.calendar .calendar_top p.event { padding-right: 0.6em; }
}

/* ==========================================================================
   Twitter
   ========================================================================== */

#twitter_tweets .column { margin-top: 25px; }
#twitter_tweets .tweet { background-color: #FFF; padding: 25px 20px 70px 20px; height: 100%; position: relative; font-size: 0.95em; line-height: 152%; }
#twitter_tweets .tweet .tweet_avatar { display: block; border-radius: 50%; overflow: hidden; float: left; margin-right: 10px; }
#twitter_tweets .tweet .user_name { display: block; margin-top: 0.2em; }
#twitter_tweets .tweet .tweet_time { display: block; color: #999; font-size: 0.9em; position: relative; top: -0.5em; }
#twitter_tweets .tweet .clear { display: block; clear: both; }
#twitter_tweets .tweet .tweet_text { display: block; margin-top: 1em; color: #999; }
#twitter_tweets .tweet .tweet_action { font-size: 0.9em; position: absolute; bottom: 20px; }
#twitter_tweets .tweet .tweet_action.tweet_favorite { right: 20px; }
#twitter_tweets .tweet .tweet_action.tweet_reply { left: 40px; }
#twitter_tweets .tweet .tweet_action.tweet_retweet { left: 60px; }

/* ==========================================================================
   Misc
   ========================================================================== */

.relative { position: relative; }
.boxpadding { padding: 6% 8%; }
.boxpadding_column { padding: 5px 15px 20px 15px; margin: 0.8em 0; }
.boxpadding.min_vert { padding-top: 1px; padding-bottom: 2.5em; }
.underlap { position: absolute; width: 100%; height: 55px; }
.underlap_top { top: 0; }
.underlap_bottom { bottom: 0; }
.overlap { position: relative; z-index: 1; }
.overlap_banner_section { padding-top: 1px; }
.overlap.overlap_banner { margin-top: -40px; }
.col_border2 { border-bottom: 1px solid #CCC; padding-bottom: 1em; }
.page_back { text-align: right; line-height: 120%; }
.page_back a i { display: block; font-size: 1.2em; }
.page_back a:hover { text-decoration: none; }
.icon_left { position: relative; padding-left: 30px; line-height: 140%; font-size: 0.8em; }
.icon_left i { color: #96c21e; position: absolute; left: 0; top: 0.2em; font-size: 20px; }
.icon_left strong { font-size: 1.1em; }
.icon_left a { color: #999 !important; }
.icon_left a strong { color: #333 !important }
.icon_left a:hover, .icon_left a:hover strong { color: #96c21e !important }
@media (min-width: 768px) {
    .underlap { height: 70px; }
	.overlap.overlap_banner { margin-top: -80px; }
	.col_border2 { border-bottom: 0; padding-bottom: 0; }
	.col_border1 { border-right: 1px solid #CCC; }
}
@media (min-width: 992px) {
	.underlap { height: 85px; }
	.overlap.overlap_banner { margin-top: -120px; }
	.boxpadding_column { padding: 15px 30px 35px 30px; }
	.boxpadding.fullwidth { padding-right: 24%; }
	.boxpadding.extra { padding-left: 19%; padding-right: 19%; }
}
@media (min-width: 1200px) {
	.underlap { height: 100px; }
	.boxpadding_column { padding: 20px 35px 40px 35px; }
	.boxpadding.extra { padding-left: 21%; padding-right: 21%; }
}

.accordian_holder { border-bottom: 1px solid #051b3f; }
.accordian { border-top: 1px solid #051b3f; padding-bottom: 0.8em; }
.accordian .accordian_switch { cursor: pointer; position: relative; }
.accordian .accordian_switch .accordian_icon { display: block; position: absolute; right: 0; top: 0; color: #96c21e; border: 1px solid #96c21e; border-radius: 100%; line-height: 123%; font-size: 1.1em; padding: 0.05em; }
.accordian h5.accordian_switch { margin-top: 0.5em; }
.accordian h5.accordian_switch .accordian_icon { font-size: 0.9em; }
.accordian .accordian_content { padding-bottom: 1em; }
.accordian .accordian_content_hidden { display: none; }

.icon_box { height: 165px; text-align: center; margin-top: 20px; position: relative; }
.icon_box.dark, .icon_box.dark_light { background-color: rgba(0,0,0,0.16); }
.icon_box.light, .icon_box.light_dark { background-color: rgba(256,256,256,0.04); }
.icon_box .content { position: absolute; top: 20px; width: 100%; }
.icon_box .content p { font-size: 0.85em; margin-top: 1.1em; line-height: 135%; }
.icon_box .content img { max-width: 80px; }
@media (min-width: 576px) {
	.icon_box { height: 210px; }
	.icon_box .content { top: 30px; }
	.icon_box .content p { font-size: 0.93em; margin-top: 1.6em; }
	.icon_box .content img { max-width: 90px; }
}
@media (min-width: 768px) {
	.icon_box { height: 165px; }
	.icon_box .content { top: 20px; }
	.icon_box .content p { font-size: 0.85em; margin-top: 1.1em; }
	.icon_box .content img { max-width: 80px; }
	.icon_box.dark_light { background-color: rgba(256,256,256,0.04); }
	.icon_box.light_dark { background-color: rgba(0,0,0,0.16); }
}
@media (min-width: 992px) {
	.icon_box { height: 190px; }
	.icon_box .content { top: 25px; }
	.icon_box .content p { font-size: 0.90em; margin-top: 1.4em; }
	.icon_box .content img { max-width: 80px; }
}
@media (min-width: 1200px) {
	.icon_box { height: 210px; }
	.icon_box .content { top: 30px; }
	.icon_box .content p { font-size: 0.93em; margin-top: 1.6em; }
	.icon_box .content img { max-width: 90px; }
}

.share p { margin-top: 3em; margin-bottom: 10px; color: #000; font-size: 0.9em; cursor: pointer; }

#loading { background-color: #051b3f; }
#loading i { color: #96c21e !important; }

/* ==========================================================================
   Footer
   ========================================================================== */

footer { background-color: #051b3f; }
footer .footer_col p, footer .footer_col ul li, footer .form1 button { font-size: 0.9em; line-height: 135%; font-weight: 600; }
footer a { color: #999; }
footer a:hover { color: #96c21e; text-decoration: none; }
footer .logo { display: block; max-width: 120px; margin: 2em 0 0 0; }
@media (min-width: 768px) {
	footer .logo { margin: 2em 0 0 auto; }
}