body,.dark,header .fixed,#cookieBar,#slideMenu>.sm-menu,th,#popup .popup,div.vision h2:before,div.vision h2 span,.centred #content h2 span {background-image:url('/images/layout/texture.png'); background-position:center;}
body,div.vision h2:before,div.vision h2 span,.centred #content h2 span {background-color:#f0f0f0;}
body {color:#6a6a6a; font-size:1.05em; font-family:'Open Sans',Arial,Helvetica,sans-serif;}

a {text-decoration:underline; transition:color 0.2s,background 0.2s; color:#6eb513;}
header a,.calendar a,footer a {text-decoration:none;}
img {max-width:100%; width:auto; height:auto;}
h1,h2,h3,h4,h5,h6,p,ul,ol,table {margin:20px 0;}
h1,h2,h3,h4,h5,h6 {color:#927a5c;}
h1 {font-size:1.8em;}
h2 {font-size:1.5em;}
h3 {font-size:1.2em;}
h4 {font-size:1em;}
header .fixed,div.vision h2:before,#calendar * {box-sizing:border-box;}
ul.row,ul.services,header ul,footer ul,#slideshow ul,.box ul,.box ol,.boxes {padding:0; margin-top:0; margin-bottom:0; list-style:none;}
strong,#slideshow span,header,header a,h1,h2,h3,h4,h5,h6,.boxes .box.button a,.boxes .box.calendar p,.box.calendar time {font-weight:bold;}
header,.top,header .search input,.boxes .box.button a,.boxes .box.calendar p {text-transform:uppercase;}
.top,.bottom>div,#cookieBar,#slideMenu>.sm-menu,th {background-color:#1f1f1f;}
.box,table,#popup .popup,header nav>ul>li:hover ul {box-shadow:0 4px 0 #bfbfbf,0 0 10px rgba(0,0,0,0.015);}
.centred #content h2:before,div.vision h2:before,.people li:before,#slideshow:before,#calendar .location:before,#calendar .location:after {content:''; display:inline-block;}
.float-left {float:left;}
.float-right {float:right;}

header>div,header .fixed {height:80px; line-height:80px;}
header .fixed {background-color:rgba(255,255,255,0.95); position:fixed; top:0; left:0; right:0; z-index:200; box-shadow:0 0 10px rgba(0,0,0,0.1);}
header .row>div:last-child {text-align:right;}
header a {color:#9a9a9a; font-size:1.05em;}
header .logo a {display:inline-block; vertical-align:middle; height:50px; line-height:17px; font-size:1.05em;}
header .logo img {max-height:100%; float:left; padding-right:10px;}
header nav ul {text-align:right; position:relative;}
header nav ul li {display:inline-block;}
header nav ul li a {display:block; padding:8px; height:24px; line-height:24px;}
header nav ul li a:hover,header nav ul li a.active {color:#6eb513;}
header nav>ul ul {min-width:200px; max-width:300px; max-height:0; overflow:hidden; text-align:left; position:absolute; top:auto; left:auto; z-index:100;}
header nav>ul>li:hover ul {max-height:500px; padding:5px 0; background:rgba(255,255,255,0.9); transform:translateX(-5px);}
header nav>ul ul li {display:block;}
header nav>ul ul li a {text-transform:none; height:auto; min-height:20px; line-height:20px; padding:8px 15px;}

header .social {float:right;}
header .social li {float:left; margin-left:10px;}
header .social li:first-child {margin-left:0;}
.social a.facebook {background:url('/images/layout/icon-facebook-css2.png') #7a7a7a; background:url('/images/layout/icon-facebook.png') rgba(122,122,122,1);}
.social a.facebook:hover {background-color:#3b5999;}
.social a.rss {background:url('/images/layout/icon-rss-css2.png') #7a7a7a; background:url('/images/layout/icon-rss.png') rgba(122,122,122,1);}
.social a.rss:hover {background-color:#ff8a00;}
.social a.icon {display:block; text-indent:-999em; width:40px; height:40px; padding:0; margin:10px 0; border-radius:20px; background-size:22px 22px; background-position:9px 9px; background-repeat:no-repeat;}

#slideshow {max-width:1600px; margin:0 auto; padding:0; float:none;}
#slideshow:before {width:100%; padding-top:50%;}
#slideshow ul,#slideshow li {width:100%; height:100%; overflow:hidden; position:absolute; top:0; left:0;}
#slideshow li img {width:100%; height:auto; max-height:none; position:absolute; top:50%; left:0; transform:translateY(-50%);}

#slideshow span {position:absolute; bottom:12px; right:15px; text-transform:uppercase; font-size:1.2em; color:#ffffff; text-shadow:0 0 3px rgba(0,0,0,0.7);}*/

#content section>.box:last-child {margin-bottom:0;}
#content p,#content li {line-height:1.5em;}
#content h2,#content h2+p {clear:left;}
#content li>ul {margin:0;}
#content a {text-decoration:underline;}
.headshot {float:left; max-width:100px; margin:0 15px 10px 0;}

.vision #content h1,.vision #content h2 {text-align:center;}
div.vision {margin-bottom:30px;}
div.vision>div {border:1px solid #bfbfbf; padding:0 20px 10px;}
.centred #content h2,div.vision h2 {padding:0 20px; position:relative; z-index:10;}
div.vision h2 {margin:0 -20px;}
.centred #content h2:before,div.vision h2:before {width:100%; width:calc(100% + 2px); height:50%; height:calc(50% + 2px); border-bottom:1px solid #bfbfbf; position:absolute; top:-1px; left:-1px; right:0; z-index:-1;}
.centred #content h2 span,div.vision h2 span {display:inline-block; padding:0 10px;}
.centred #content h1,.centred #content h2,.people {text-align:center;}

.people {overflow:hidden;}
.people+h2 {margin-top:10px;}
.people li {float:none; display:inline-block; margin:0 0 30px; vertical-align:middle;}
.people li:before {height:100%; height:calc(100% - 20px); min-height:16px; position:absolute; top:10px; right:-1px;}
.people li:not(:last-child):before {border-right:1px solid #bfbfbf;}
.people:not(.name) .text {height:72px;}
.people.name .text {height:48px;}
.people .text>span {position:relative; top:50%; transform:translateY(-50%);}
.people span {display:block;}
.people .pos {font-size:0.9em; font-style:italic;}

.coronavirus a {display:block; padding:15px 20px; margin:20px 0; background:none; border:2px solid currentColor; text-align:center; font-weight:bold; text-transform:uppercase; color:currentColor;}

ul.multi-col {column-count:1; column-gap:40px;}

.box {display:block; background:rgba(255,255,255,0.66); padding:7px 15px; margin:30px 0; position:relative;}
.box.compact {margin:0;}
.box.short {height:100px; margin-top:10px!important;}
.box .top {height:40px; line-height:40px; padding:0 10px; margin:-10px -10px 10px; color:#9a9a9a; font-size:1.05em;}
.box h2 {font-size:1.35em; margin:0 0 0.667em; text-align:center;}
.box li {margin:8px 0;}
.box li ul {padding-left:15px;}
.box.button,.box.button a {transition:background 0.2s,color 0.2s;}
.box.button a {position:absolute; top:0; right:0; bottom:0; left:0; padding:10px 10px 10px 130px; line-height:26px; font-size:1.35em; color:#7a7a7a; text-decoration:none!important;}
.box.button:hover {background:#6eb513; color:#ffffff;}
.box.button:hover a {color:#ffffff;}
.box.button img {height:120px; width:120px; margin:-10px 10px 10px -10px; filter:grayscale(100%); transition:filter 0.2s;}
.box.button:hover img {filter:grayscale(0%);}

ul.featured {margin:0 -30px; text-align:center;}
ul.featured li {padding:10px; float:none; display:inline-block; vertical-align:middle;}
ul.featured li * {display:block;}
ul.featured a {color:#ffffff; text-decoration:none!important; position:relative;}
ul.featured span {padding:40px 10px 10px; background:linear-gradient(to bottom,transparent,rgba(0,0,0,0.5) 90%); text-align:center; position:absolute; bottom:0; left:0; right:0;}

ul.services li {width:100%;}
ul.services time {display:inline-block; width:65px; margin-right:10px; text-align:right; vertical-align:top; font-weight:bold;}
ul.services span {display:inline-block; width:200px; width:calc(100% - 95px);}
ul.services a {font-weight:normal;}

#calendar {margin:-7px -15px;}
#calendar li {margin:0;}
#calendar>li>time>span {display:inline-block; width:100%; padding:10px 15px 5px; font-weight:bold; border-bottom:2px solid #e1e1e1;}
#calendar ul {padding-left:0;}
#calendar .event {min-height:37px; padding:6px 15px; border-bottom:1px solid #e1e1e1; position:relative;}
#calendar>li:last-child .event:last-child {border-bottom:0;}
#calendar .event span {display:block; float:left;}
#calendar time>span {width:65px;}
#calendar .title {width:calc(100% - 105px);}
#calendar .buttons {width:67px; float:right!important; position:relative;}
#calendar .location {display:block; width:26px; height:26px; text-indent:-999em; overflow:hidden; background:#6eb513; position:absolute; top:5px; right:15px;}
#calendar .location:before,#calendar .location:after {position:absolute;}
#calendar .location:before {height:4px; width:4px; border:5px solid #ffffff; border-radius:6px; top:4px; left:6px;}
#calendar .location:after {height:0; width:0; border:6px solid transparent; border-top-color:#ffffff; transform:scaleY(1.4); top:17px; left:7px;}
#calendar .description {padding:15px; margin:30px 0 0; background:#ffffff; border:1px solid #e1e1e1; border-left-width:5px; clear:left;}
#calendar .description p {margin:0;}

.sunday {text-align:center;}
.sunday h3 {margin-bottom:-0.667em;}
.sunday ul {border-top:1px solid #bfbfbf; border-bottom:1px solid #bfbfbf; padding:10px 0; margin:20px 0;}
.sunday ul li {padding:5px 0;}

table {border-collapse:collapse; width:100%; margin-bottom:20px; background:rgba(255,255,255,0.66);}
tr>* {padding:0.6em 10px; border-bottom:1px solid #e1e1e1; vertical-align:top;}
td {font-size:1em;}
th {text-align:left; font-weight:bold; font-size:1.1em; background:#f8f8f8; border-bottom-width:2px;}
tbody tr:last-child {border-bottom:0;}

#map {height:360px; margin:-7px -15px;}

footer .row {border-top:1px solid #bfbfbf; line-height:20px; padding:15px 0; font-size:0.9em;}
footer ul {text-align:center;}
footer li {display:inline-block; margin-right:12px;}
footer a {color:#8a8a8a;}
footer a:hover {color:#6eb513;}
footer a img {display:inline-block; max-height:10px;}

#popup.overlay {position:fixed; top:0; bottom:0; left:0; right:0; background:rgba(0,0,0,0.2); text-align:center; opacity:0;}
#popup.overlay:before {content:''; display:inline-block; height:100%; vertical-align:middle; margin-right:-0.25em;}
#popup .popup {display:inline-block; position:relative; vertical-align:middle; background-color:#f0f0f0; max-width:380px; min-width:280px; padding:20px; margin:10px;}
#popup .popup .close {display:block; height:20px; width:20px; line-height:20px; text-align:center; font-size:1.5em; position:absolute; top:0; right:0; cursor:pointer;}
#popup .popup p {text-align:left; margin:0;}

#slideMenu,#slideMenu>* {padding:0; margin:0;}
#slideMenu>div {height:100%; position:fixed; top:0; bottom:0; z-index:999999; opacity:0; transition:opacity 0.3s,transform 0.3s;}
#slideMenu>.sm-overlay {width:100%; left:0; right:0; background:rgba(0,0,0,0.4); cursor:pointer; transition:background 0.3s;}
#slideMenu>.sm-menu {width:auto; left:0; overflow:hidden; backface-visibility:hidden; transform:translateX(-100%); padding-bottom:48px;}
#slideMenu>.sm-menu>.sm-inner {height:100%; overflow:auto; width:240px;}
#slideMenu.sm-active>div {opacity:1; transform:translateX(0);}
#slideMenu ul {margin:0;}
#slideMenu nav>ul {padding:5px 0;}
#slideMenu ul ul {padding:0;}
#slideMenu ul:not(.social) li a {padding:10px 10px 9px; line-height:18px; border-left:5px solid transparent;}
#slideMenu ul ul a {padding-left:25px!important;}
#slideMenu ul {list-style:none; clear:both;}
#slideMenu ul li a {display:block; color:#ffffff; text-decoration:none;}
#slideMenu ul li.active>a,#slideMenu ul:not(.social) li a:hover {border-left-color:#6eb513;}
#slideMenu .search input {width:100%; height:36px; background-position:10px 13px;}
#slideMenu .social {position:absolute; bottom:10px; left:10px;}
#slideMenu .social li {float:left; margin-right:10px;}

.slideButton {position:relative; display:inline-block; width:40px; height:40px; line-height:40px; cursor:pointer; text-align:left; text-indent:-999em; background:#7a7a7a; text-decoration:none; border-radius:20px;}
.slideButton:before {content:''; position:absolute; left:10px; top:13px; width:20px; height:3px; background:#f0f0f0; box-shadow:0 6px 0 0 #f0f0f0,0 12px 0 0 #f0f0f0; transition:background 0.2s,box-shadow 0.2s;}
.slideButton:hover,.slideButton:focus {background:#6eb513;}

#cookieBar {line-height:28px; text-align:center; color:#ffffff; padding:4px 0; font-size:0.95em; position:fixed; bottom:0; left:0; right:0; z-index:100; transition:transform 0.3s;}
#cookieBar.hidden {transform:translateY(100%);}
#cookieBar * {display:inline-block;}
#cookieBar p {margin:0; padding:0;}
#cookieBar a {height:28px; line-height:27px; margin-left:8px;}
#cookieBar a.cb-enable {background:#6eb513; color:#ffffff; padding:0 8px; border-radius:3px;}

@media(max-width:767px){
	table.responsive {table-layout:auto!important; background:none;}
	table.responsive,table.responsive thead,table.responsive tbody,table.responsive th,table.responsive td,table.responsive tr {display:block;}
	table.responsive td,table.responsive th {line-height:1.8em;}
	table.responsive thead tr {position:absolute; left:-999em;}
	table.responsive tr {border:1px solid #d6d6d6; position:relative; margin-bottom:6px; background:rgba(255,255,255,0.66); box-shadow:0 4px 0 #bfbfbf;}
	table.responsive.headed td {border:none; border-bottom:1px solid #e5e5e5; position:relative; padding:3px 6px 3px 96px;}
	table.responsive.headed td:before {content:attr(data-column); position:absolute; left:0; top:0; bottom:0; padding:3px 0 3px 6px; width:84px; white-space:nowrap; font-weight:bold; border-right:1px solid #e5e5e5; background:#f8f8f8;}
	table.responsive td:last-child {border-bottom:0;}
}
@media(max-width:320px){}
@media(min-width:480px){
	#content h2+p {clear:none;}
	.headshot-align {margin-left:115px;}
}
@media(min-width:768px){
	body {font-size:1em;}
	
	ul.multi-col {column-count:2;}
}
@media(min-width:992px){
	.col-md-2p4 {width:20%;}
	
	#slideshow:before {padding-top:33.333333%;}
	
	.vision #content,.centred #content {margin-top:10px;}
	.vision.col-md-6:nth-child(2n+1) {clear:left;}
	
	ul.multi-col {column-count:3;}
	
	ul.featured span {padding:40px 10px 20px; font-size:1.2em;}
	.sunday ul li.col-md-4:not(:nth-child(3n+3)),.sunday ul li.col-md-6:nth-child(2n+1) {border-right:1px solid #bfbfbf;}
	
	footer ul {text-align:left;}
	footer .row>div:first-child ul {text-align:right;}
	footer .row>div:first-child li {margin:0 0 0 12px;}
}
@media(min-width:1200px){
	header>div,header .fixed {height:120px;}
	header .fixed {padding-top:20px;}
	header .logo a {display:inline-block; margin-top:-3px; height:72px; line-height:24px; font-size:1.25em;}
}