/*
# Settings (_settings)
*/
/*
## Variables

### General

$phi: 1.618033988749 - Golden ratio
*/
/*
### Colours

<span style="color: #333">$colour-base - #333</span> <span style="background: #333; color: #FFF;">&nbsp;$colour-base - #333&nbsp;</span>

<span style="color: #339">$colour-highlight - #339</span> <span style="background: #339; color: #FFF;">&nbsp;$colour-highlight - #339&nbsp;</span>

<span style="color: #339">$colour-link - #339</span> <span style="background: #339; color: #FFF;">&nbsp;$colour-link - #339&nbsp;</span>
*/
/*
### Fonts

$font-size - 13

$line-height - 1.4

<span style="font-family: sans-serif;">$font-base - sans-serif</span>

<span style="font-family: sans-serif;">$font-header - sans-serif</span>
*/
/*
### Layout

$width - 960

$columns - 24

$gutter - 12
*/
/*
## Functions

### em($size: $font-size, $context: $fs)

Will convert a pixel based size to an em value.
First value is the target size, the second value is the font-size of the context it is in.

Examples:
`em(26)` // 2em if base font-size is 13px
`em(18, 12)` // 1.5em
*/
/*
### lh($size: $font-size, $context: $fs)

Will provide the same function as 'em' above buth without appending 'em' to the result.
This makes it more suitable to use as a line-height value.

Examples:
`lh(26)` // 2 if base font-size is 13px
`lh(18, 12)` // 1.5
*/
/*
### fluid($columns: 1, $total-columns: $columns)

Will provide the % result of the first value divided by the second.
Suitable for working out columns and general % values.

Examples:
`fluid(2, 6)` // 12.5%
`fluid(10px, 960px)` // 1.041666666666667%
*/
/*
## Mixins

Mixins must to be called using @include (scss) or + (sass)

### vendor($property, $value)

Add vendor prefixes to a property and provide the value for the property

`@include vendor(box-shadow, 0 0 10px 0 #000);`

Outputs:
`-webkit-box-shadow: 0 0 10px 0 #000`
`-moz-box-shadow: 0 0 10px 0 #000`
`-ms-box-shadow: 0 0 10px 0 #000`
`-o-box-shadow: 0 0 10px 0 #000`
`box-shadow: 0 0 10px 0 #000`
*/
/*
### list-reset

Resets current list only

<pre>
ul {
	@include list-reset;
}
</pre>

Outputs:
<pre>
ul {
	margin: 0;
	padding: 0;
}
ul > li {
	list-style: none;
	list-style-image: none;
}
</pre>
*/
/*
### list-reset-full

Reset current and all child lists

<pre>
ul {
	@include list-reset-full;
}
</pre>

Outputs:
<pre>
ul, ul ul, ul ol {
	margin: 0;
	padding: 0;
}
ul li {
	list-style: none;
	list-style-image: none;
}

</pre>
*/
/*
### clearfix

Clear an elements floated children

<pre>
div {
	@include clearfix;
}
</pre>

Outputs:
<pre>
div {
	*zoom: 1;
}
div:before, div:after {
	content: "";
	display: table;
}
div:after {
	clear: both;
}
</pre>
*/
/*
### keyframes($name)

Set animation keyframes over multiple browser extensions

<pre>
.box {
	@include keyframes(my-animation) {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}
}
</pre>

Outputs:
<pre>
.box {
	@-webkit-keyframes my-animation {
	  0%   { opacity: 0; }
	  100% { opacity: 1; }
	}
	@-moz-keyframes my-animation {
	  0%   { opacity: 0; }
	  100% { opacity: 1; }
	}
	@-ms-keyframes my-animation {
	  0%   { opacity: 0; }
	  100% { opacity: 1; }
	}
	@-o-keyframes my-animation {
	  0%   { opacity: 0; }
	  100% { opacity: 1; }
	}
	@keyframes my-animation {
	  0%   { opacity: 0; }
	  100% { opacity: 1; }
	}
}
</pre>
*/
/*
### hidden-full

Completely hide an element

<pre>
div {
	@include hidden-full;
}
</pre>

Outputs:
<pre>
div {
	display: none !important;
	visibility: hidden;
}
</pre>
*/
/*
### max($maxwidth: $width)

A simple max-width media query

<pre>
div {
	@include max(768px) {
		display: none;
	}
}
</pre>

Outputs:
<pre>
@media (max-width: 768px) {
	div {
		display: none;
	}
}
</pre>
*/
/*
### min($minwidth: $width)

A simple min-width media query

<pre>
div {
	@include min(768px) {
		display: block;
	}
}
</pre>

Outputs:
<pre>
@media (min-width: 768px) {
	div {
		display: block;
	}
}
</pre>
*/
/*
### pixel-ratio($pixelratio: 2, $basedpi: 96)

A simple pixel-ratio media query

$basedpi is used for fine control over the dpi query value

<pre>
div {
	@include pixel-ratio {
		background-image: url(image@2x.png);
	}
}
</pre>

Outputs:
<pre>
@media
	(-webkit-min-device-pixel-ratio: 2),
	(   min--moz-device-pixel-ratio: 2),
	(     -o-min-device-pixel-ratio: 2/1),
	(        min-device-pixel-ratio: 2),
	(                min-resolution: 192dpi),
	(                min-resolution: 2dppx) {
		div {
			background-image: url(image@2x.png);
		}
	}
</pre>
*/
/*
### generate($width: 10px, $height: 10px, $position: static)

Create generic styling for :before/:after

$height / $width / $position all control their namesake CSS properties

<pre>
div:after {
	@include generate;
}
</pre>

Outputs:
<pre>
div:after {
	content: "";
	overflow: hidden;
	text-indent: -9999em;
	display: block;
	width: 10px;
	height: 10px;
	position: static;
}
</pre>
*/
/*
### opacity($o: 0.5)

Handle standard & IE opacity

<pre>
div {
	@include opacity(.75);
}
</pre>

Outputs:
<pre>
div {
	opacity: .75;
	filter: alpha(opacity=75);
}
</pre>
*/
/*
### border-radius($val: 10px)

Friendly interface to vendor(border-radius)
*/
/*
### box-shadow($val: 0 0 10px #000)

Friendly interface to vendor(box-shadow)
Allows multiple comma separated values.
*/
/*
### gradient($direction:vertical, $start-color: #fff, $start-position: 0%, $end-color: #000, $end-position: 100%)

Create horizontal / vertical gradients

Note : Does not include IE9 data uri support

<pre>
div {
	@include gradient($start-color: #F00, $end-color: #0F0);
}
</pre>

Outputs:
<pre>
div {
	background-image: -moz-linear-gradient(top, #F00 0%, #0F0 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F00), color-stop(100%, #0F0));
	background-image: -webkit-linear-gradient(top, #F00 0%, #0F0 100%);
	background-image: -o-linear-gradient(top, #F00 0%, #0F0 100%);
	background-image: -ms-linear-gradient(top, #F00 0%, #0F0 100%);
	background-image: linear-gradient(to bottom, #F00 0%, #0F0 100%);
	background-repeat: repeat-y;
}
</pre>
*/
/*
### transform($arguments)

Friendly interface to vendor(transform) w/backface-visibility: hidden
*/
/*
### transition($arguments)

Friendly interface to vendor(transition)
*/
/*
### perspective($val: 0)

Friendly interface to vendor(perspective)
*/
/*
### perspective-origin($val: 50% 50%)

Friendly interface to vendor(perspective-origin)
*/
/*
### transform-origin($val: 50% 50%)

Friendly interface to vendor(transform-origin)
*/
/*
### transform-style($val: preserve-3d)

Friendly interface to vendor(transform-style)
*/
/*
### Placeholders
*/
/*
### boxes($cols: 3, $gutter: 10px, $selector: ".col")

Set the container and its children (as  selected by the selector argument) to be a set of columns.
*/
/*
## Extend

Use these placeholder styles with @extend.

### %debug

Used to highlight items via background-color.
Can be useful for debugging.
*/
/*
### %ellipsis

If the element has overflowing text the text will be truncated and an ellipsis appended to the end.
*/
/*
### %ir

Use when setting an element such as an input button to use a background-image.

Not recommended to use this method unless necessary.
Try and use appropriate elements where possible (`<input type="image" />` for example).
*/
/*
### %clearfix

@extend interface for @include clearfix;
*/
.form-item, .wrap, .columns, .contact-footer, .nav-footer > ul, .home-boxes, .post, .recommended, .grid { *zoom: 1; }
.form-item:before, .wrap:before, .columns:before, .contact-footer:before, .nav-footer > ul:before, .home-boxes:before, .post:before, .recommended:before, .grid:before, .form-item:after, .wrap:after, .columns:after, .contact-footer:after, .nav-footer > ul:after, .home-boxes:after, .post:after, .recommended:after, .grid:after { content: ""; display: table; }
.form-item:after, .wrap:after, .columns:after, .contact-footer:after, .nav-footer > ul:after, .home-boxes:after, .post:after, .recommended:after, .grid:after { clear: both; }

/*
### %list-reset

@extend interface for @include list-reset;
*/
.pagination, .carousel-wrap .carousel, .panel-slides-pager ol { margin: 0; padding: 0; }
.pagination > li, .carousel-wrap .carousel > li, .panel-slides-pager ol > li { list-style: none; list-style-image: none; }

/*
### %list-reset-full

@extend interface for @include list-reset-full;
*/
/*
# Normalize (_normalize)

normalize.css v1.0.1 | MIT License | git.io/normalize

Global reset. This file should not be edited.

*/
html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; }

*, *:after, *:before { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; -ms-box-sizing: inherit; -o-box-sizing: inherit; box-sizing: inherit; background-repeat: no-repeat; }

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary { display: block; }

audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }

audio:not([controls]) { display: none; height: 0; }

[hidden] { display: none; }

html { font-size: 100%; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ -ms-text-size-adjust: 100%; /* 2 */ }

html, button, input, select, textarea { font-family: sans-serif; }

body { margin: 0; }

a:focus { outline: thin dotted; }

a:active, a:hover { outline: 0; }

h1 { font-size: 2em; margin: 0.67em 0; }

h2 { font-size: 1.5em; margin: 0.83em 0; }

h3 { font-size: 1.17em; margin: 1em 0; }

h4 { font-size: 1em; margin: 1.33em 0; }

h5 { font-size: 0.83em; margin: 1.67em 0; }

h6 { font-size: 0.75em; margin: 2.33em 0; }

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

mark { background: #ff0; color: #000; }

p, pre { margin: 1em 0; }

code, kbd, pre, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }

pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }

q:before, q:after { content: ''; content: none; }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

dl, menu, ol, ul { margin: 1em 0; }

dd { margin: 0 0 0 40px; }

menu, ol, ul { padding: 0 0 0 40px; }

nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
nav a { text-decoration: none; }

img { border: 0; /* 1 */ -ms-interpolation-mode: bicubic; /* 2 */ }

svg:not(:root) { overflow: hidden; }

figure { margin: 0; }

form { margin: 0; }

fieldset { border: 0; margin: 0; padding: 0; }

legend { border: 0; /* 1 */ padding: 0; white-space: normal; /* 2 */ *margin-left: -7px; /* 3 */ }

button, input, select, textarea { font-size: 100%; /* 1 */ margin: 0; /* 2 */ vertical-align: baseline; /* 3 */ *vertical-align: middle; /* 3 */ }

button, input { line-height: normal; }

button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ *overflow: visible; /* 4 */ }

button[disabled], input[disabled] { cursor: default; }

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ *height: 13px; /* 3 */ *width: 13px; /* 3 */ }

input[type="search"] { -webkit-appearance: textfield; /* 1 */ }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ resize: vertical; }

table { border-collapse: collapse; border-spacing: 0; }

td { vertical-align: top; }

/*
# Base styles: opinionated defaults (_base)
*/
html, button, input, select, textarea { color: #858585; }

body.site { background-color: #F0F0F0; font-family: "Avenir W01", sans-serif; font-size: 1em; font-weight: 200; line-height: 1.375; word-wrap: break-word; }

::-moz-selection { background: #b3d4fc; text-shadow: none; }

::selection { background: #b3d4fc; text-shadow: none; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

img { vertical-align: middle; }

fieldset { border: 0; margin: 0; padding: 0; }

/* Allow only vertical resizing of textareas. */
textarea { resize: vertical; }

/* Text Reset */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { color: #333; margin: 0 0 1em; }

h1, .h1 { color: #769128; font-size: 1.25em; font-weight: 200; line-height: 1.1; }

h2, .h2 { color: #769128; font-size: 1.25em; font-weight: 200; }

p { margin: 0 0 1em; }

/* Links */
a { color: #769128; }

/* Text Alignment */
.justifyleft { text-align: left; }

.justifyright { text-align: right; }

.justifyfull { text-align: justify; }

.justifycentre { text-align: center; }

/* ========================================================================== Chrome Frame prompt ========================================================================== */
.chromeframe { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; }

/* ========================================================================== Helper classes ========================================================================== */
/* Image replacement */
.ir { background-color: transparent; border: 0; overflow: hidden; /* IE 6/7 fallback */ *text-indent: -9999px; }
.ir:before { content: ""; display: block; width: 0; height: 100%; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden { display: none !important; visibility: hidden; }

.hide { display: none; }

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/*
##  Object styles (_objects)

### Images
*/
img { display: inline-block; height: auto; max-width: 100%; }
.oldie img { max-width: none; }
img.right { float: right; margin: 0 0 16px 110px; }
img.left { float: left; margin: 0 110px 16px 0; }
img[style*="left"] { margin: 0 110px 16px 0; }
img[style*="right"] { margin: 0 0 16px 110px; }

figure { margin-bottom: 10px; padding-bottom: 30px; position: relative; }
figure figcaption { bottom: 0; font-size: 0.75em; left: 0; line-height: 1.5; padding: 6px 0; position: absolute; text-align: left; width: 100%; }
figure .fig-img { float: none !important; margin: 0 auto !important; }

@media (min-width: 768px) { .fig-left { float: left; margin-bottom: 1em; margin-right: 110px; } }

@media (min-width: 768px) { .fig-right { float: right; margin-bottom: 1em; margin-left: 110px; } }

.button { background: #769128; border: none; border-radius: 5px; color: #FFF; cursor: pointer; display: inline-block; padding: .5em 1em; text-decoration: none; -webkit-transition: background-color 0.3s linear; -moz-transition: background-color 0.3s linear; -ms-transition: background-color 0.3s linear; -o-transition: background-color 0.3s linear; transition: background-color 0.3s linear; }
.button:hover { background: #354112; }

.lnk { text-decoration: underline; }

.video-embed-frame { padding-bottom: 56.25%; position: relative; width: 100%; }
.video-embed-frame iframe { height: 100%; width: 100%; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }

.overlay { background: url(/site/images/black-50.png); background: rgba(0, 0, 0, 0.75); height: 100%; left: 0; opacity: 0; position: fixed; top: 0; width: 100%; z-index: 100; transition: opacity 0.3s; }
.overlay.hide { display: none; }
.overlay.show { opacity: 1; }

.overlay-box { background: #FFF; border-radius: 10px; box-shadow: 2px 2px 5px #000; color: #333; left: 5%; opacity: 0; padding: 30px; position: fixed; top: 50%; transform: translateY(-50%); transition: opacity 0.3s; width: 90%; z-index: 101; }
@media (min-width: 768px) { .overlay-box { left: 50%; transform: translateY(-50%) translateX(-50%); max-width: 1000px; } }
.overlay-box.hide { display: none; }
.overlay-box.show { opacity: 1; }
.overlay-box a { color: inherit; cursor: pointer; text-decoration: underline; }
.overlay-box h2 { color: inherit; font-size: 2em; line-height: 1.2; margin: 0; }

.cookie { height: 0; line-height: 30px; overflow: hidden; position: relative; background: #858585; -webkit-transition: height 0.3s linear; -moz-transition: height 0.3s linear; -ms-transition: height 0.3s linear; -o-transition: height 0.3s linear; transition: height 0.3s linear; }
.cookie, .cookie a { color: #FFF; }
.cookie a { font-weight: 700; }
.cookie .inner { text-align: center; border-bottom: 1px solid #858585; }
.cookie .lnk-accept-cookies { cursor: pointer; margin-left: 10px; }
.cookie.show { height: 32px; }
.cookie.hide { display: none !important; visibility: hidden; }

.pagination { text-align: center; }
.pagination li { display: inline-block; padding-left: 2px; padding-right: 2px; }
.pagination a { color: #769128; text-decoration: none; }
.pagination .active { font-weight: 500; }
.pagination .active a { color: #333; }

.search-paging { text-align: center; }
.search-paging a { text-decoration: none; }
.search-paging .sisea-page { padding-left: 2px; padding-right: 2px; }
.search-paging .sisea-current-page { color: #333; font-weight: 300; }

.js-scroll-in { position: relative; transition: all 2s; }

.scroll-in-fade { opacity: 0; }
.scroll-in-fade[data-loadimg] { opacity: 0; }
.scroll-in-fade[data-loadimg].scrollIn.imgLoaded { opacity: 1; }
.scroll-in-fade.scrollIn { opacity: 1; }

.scroll-in-up { transform: translateY(200px); }
.scroll-in-up.scrollIn { transform: translateY(0); }

textarea, [type="text"], [type="password"], [type="datetime"], [type="datetime-local"], [type="date"], [type="month"], [type="time"], [type="week"], [type="number"], [type="email"], [type="url"], [type="search"], [type="tel"], [type="color"] { border: 1px solid #CCC; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; padding: 5px; width: 100%; }

select { width: 100%; }

.checkbox label, .radiobutton label { margin-left: 3px; vertical-align: middle; }
.checkbox input, .radiobutton input { vertical-align: middle; }

:-moz-placeholder { color: #999; opacity: .25; }

::-moz-placeholder { color: #999; opacity: .25; }

::-webkit-input-placeholder { color: #999; opacity: .25; }

:-ms-input-placeholder { color: #999; opacity: .25; }

.niceselect-wrapper { background: #FFF; border: 1px solid #000; display: block; height: 1.875em; line-height: 1.75; overflow: hidden; padding: 0 10px; position: relative; z-index: 1; /* This is applied when the user tabs to focus or hovers on a nice select element */ /* Creates the arrow and positions it to the right */ /* Make sure the line-height matches the height of .niceSelect including padding */ /* The height must match the overall height of .niceSelect including padding */ }
.niceselect-wrapper.focus, .niceselect-wrapper:hover { border: 1px solid #333; }
.niceselect-wrapper:after { border-top: 5px solid #000; border-right: 5px solid transparent; border-left: 5px solid transparent; content: "^"; display: block; height: 0; margin-top: -3px; position: absolute; right: 1em; text-indent: -99999em; top: 50%; width: 0; z-index: 5; }
.niceselect-wrapper .niceselect-text { display: block; }
.niceselect-wrapper select { border: 1px solid #eee; bottom: 0; display: block; height: 100%; left: 0; opacity: 0; filter: alpha(opacity=0); position: absolute; right: 0; top: 0; width: 100%; z-index: 10; }

.form-item { margin-bottom: 10px; }
.form-item label { display: block; }

.form-buttons { margin-bottom: 10px; text-align: right; }

.form-errors { background: #FEE; border: 1px solid #F00; color: #F00; padding: 10px; }
.form-errors :last-child { margin-bottom: 0; }

.alert-error, .alert-warning, .alert-success { border-style: solid; border-width: 1px; margin-bottom: 10px; padding: 10px; }
.alert-error *, .alert-warning *, .alert-success * { margin: 0; }
.alert-error * + *, .alert-warning * + *, .alert-success * + * { margin-top: 10px; }

.alert-error { background-color: #FEE; border-color: #F00; color: #F00; }

.alert-warning { background-color: #FFE; border-color: #C90; color: #C90; }

.alert-success { background-color: #EFE; border-color: #090; color: #090; }

.carousel-wrap { overflow: hidden; position: relative; }
.carousel-wrap .carousel { position: relative; }
.carousel-wrap .carousel-item { float: left; }

.hover { cursor: pointer; }

.textcentre:before { content: ''; display: inline-block; height: 100%; line-height: 100%; vertical-align: middle; }

.textcentre-inner { display: inline-block; max-width: 98%; vertical-align: middle; }

.small { font-size: 0.5625em; }

.xsmall { font-size: 0.5em; }

.large { font-size: 0.875em; }

.xlarge { font-size: 1em; }

.clear-right { clear: right; }

.clear-left { clear: left; }

@media only screen and (max-width: 768px) { .gt-ie9 .tbl-mobile, .gt-ie9 .tbl-mobile table, .gt-ie9 .tbl-mobile tbody, .gt-ie9 .tbl-mobile tr, .gt-ie9 .tbl-mobile td { display: block; }
  .gt-ie9 .tbl-mobile thead, .gt-ie9 .tbl-mobile th { display: none; } }

@media only screen and (max-width: 767px) { .tbl-mobile-attr tr { border: 1px solid #769128; margin-bottom: 20px; }
  .tbl-mobile-attr td:before { background-color: #769128; color: #FFF; content: attr(title); display: block; font-weight: 700; } }

/* ShareThis */
.sharethis span { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; -ms-box-sizing: content-box; -o-box-sizing: content-box; box-sizing: content-box; }

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: none; touch-action: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-loading .slick-list { background: #fff url(/site/images/ajax-loader.gif) center center no-repeat; }
.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-list, .slick-track, .slick-slide, .slick-slide img { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; zoom: 1; }
.slick-track:before, .slick-track:after { content: ""; display: table; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; display: none; }
.slick-slide img { display: block; }
.slick-slide img.slick-loading { background: white url(/site/images/ajax-loader.gif) center center no-repeat; padding-bottom: 100%; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

/* Icons */
@font-face { font-family: "slick"; src: url("/site/fonts/slick.eot"); src: url("/site/fonts/slick.eot?#iefix") format("embedded-opentype"), url("/site/fonts/slick.woff") format("woff"), url("/site/fonts/slick.ttf") format("truetype"), url("/site/fonts/slick.svg#slick") format("svg"); font-weight: normal; font-style: normal; }
/* Arrows */
.slick-prev, .slick-next { position: absolute; display: block; height: 20px; width: 20px; line-height: 0; font-size: 0; cursor: pointer; background: transparent; color: transparent; top: 50%; margin-top: -10px; padding: 0; border: none; outline: none; }
.slick-prev:focus, .slick-next:focus { outline: none; }
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: 0.25; }

.slick-prev:before, .slick-next:before { font-family: "slick"; font-size: 20px; line-height: 1; color: white; opacity: 0.85; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.slick-prev { left: -25px; }
.slick-prev:before { content: '\8592'; }

.slick-next { right: -25px; }
.slick-next:before { content: '\8594'; }

/* Dots */
.slick-slider { margin-bottom: 30px; }

.slick-dots { position: absolute; bottom: -45px; list-style: none; display: block; text-align: center; padding: 0px; width: 100%; }
.slick-dots li { position: relative; display: inline-block; height: 20px; width: 20px; margin: 0px 5px; padding: 0px; cursor: pointer; }
.slick-dots li button { border: 0; background: transparent; display: block; height: 20px; width: 20px; outline: none; line-height: 0; font-size: 0; color: transparent; padding: 5px; cursor: pointer; outline: none; }
.slick-dots li button:focus { outline: none; }
.slick-dots li button:before { position: absolute; top: 0; left: 0; content: '\8226'; width: 20px; height: 20px; font-family: "slick"; font-size: 6px; line-height: 20px; text-align: center; color: black; opacity: 0.25; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { opacity: 0.75; }

/*
	=========
	No Script
	=========
*/
.site-alert { background: #FFF; border-bottom: 2px solid #F00; display: block; font-family: sans-serif; font-size: 0.75em; left: 0; padding: 5px 0; text-align: center; top: 0; width: 100%; z-index: 100; }

/* No Script */
.full { position: relative; width: 100%; }

.wrap { margin-left: 5%; margin-right: 5%; width: 90%; }
@media (min-width: 1100px) { .wrap { margin: auto; width: 1000px; } }

.left-col { display: none; }
@media (min-width: 768px) { .left-col { display: block; float: left; padding-bottom: 1px; padding-right: 10px; width: 16.6666%; } }

@media (min-width: 768px) { .main-col { float: left; padding-left: 10px; width: 50%; } }

@media (min-width: 768px) { .right-col { float: right; padding-left: 20px; width: 33.3333%; } }

.mobile-col-1 { width: 25%; }

.mobile-col-2 { width: 50%; }

.mobile-col-3 { width: 75%; }

.mobile-col-4 { width: 100%; }

@media (min-width: 768px) { .tablet-col-1 { width: 12.5%; } }

@media (min-width: 768px) { .tablet-col-2 { width: 25%; } }

@media (min-width: 768px) { .tablet-col-3 { width: 37.5%; } }

@media (min-width: 768px) { .tablet-col-4 { width: 50%; } }

@media (min-width: 768px) { .tablet-col-5 { width: 62.5%; } }

@media (min-width: 768px) { .tablet-col-6 { width: 75%; } }

@media (min-width: 768px) { .tablet-col-7 { width: 87.5%; } }

@media (min-width: 768px) { .tablet-col-8 { width: 100%; } }

@media (min-width: 960px) { .desktop-col-1 { width: 8.3333%; } }

@media (min-width: 960px) { .desktop-col-2 { width: 16.6666%; } }

@media (min-width: 960px) { .desktop-col-3 { width: 25%; } }

@media (min-width: 960px) { .desktop-col-4 { width: 33.3333%; } }

@media (min-width: 960px) { .desktop-col-5 { width: 41.6666%; } }

@media (min-width: 960px) { .desktop-col-6 { width: 50%; } }

@media (min-width: 960px) { .desktop-col-7 { width: 58.3333%; } }

@media (min-width: 960px) { .desktop-col-8 { width: 66.6666%; } }

@media (min-width: 960px) { .desktop-col-9 { width: 75%; } }

@media (min-width: 960px) { .desktop-col-10 { width: 83.3333%; } }

@media (min-width: 960px) { .desktop-col-11 { width: 91.6666%; } }

@media (min-width: 960px) { .desktop-col-12 { width: 100%; } }

@media (min-width: 768px) { .mobile-only, .nav-select, .nav-mobile { display: none; } }

.tablet-only { display: none; }
@media (min-width: 768px) { .tablet-only { display: block; } }
@media (min-width: 960px) { .tablet-only { display: none; } }

.desktop-only { display: none; }
@media (min-width: 960px) { .desktop-only { display: block; } }

@media (min-width: 960px) { .not-desktop { display: none; } }

.tablet-only-ib { display: none; }
@media (min-width: 768px) { .tablet-only-ib { display: inline-block; } }
@media (min-width: 960px) { .tablet-only-ib { display: none; } }

.desktop-only-ib { display: none; }
@media (min-width: 960px) { .desktop-only-ib { display: inline-block; } }

.tablet-up, .nav-main { display: none; }
@media (min-width: 768px) { .tablet-up, .nav-main { display: block; } }

.desktop-up { display: none; }
@media (min-width: 960px) { .desktop-up { display: block; } }

@media (min-width: 960px) { .columns [class*=desktop-col-] { float: left; } }

/*
	=======
	Modules
	=======

	Module level CSS should be placed in this file.
	Modules are self-contained sections of markup.
	Modules can exist with other modules.
	Modules can often include objects.

	EXAMPLES::

	"Site Header" would be a module.

	"Top Navigation" may exist within the "Site Header" markup but it is capable of existing as its own module and so should be done separately.
*/
/*
	===========
	Site Header
	===========
*/
.header-site { background-color: #fff; }
.header-site .logo { display: block; margin-bottom: 20px; padding-top: 10px; text-align: center; }
@media (min-width: 768px) { .header-site .logo { float: left; margin-left: -18px; margin-top: 18px; padding-top: 0; } }
@media (min-width: 768px) { .header-site.header-site-fixed { height: 123px; position: relative; z-index: 100; } }
.header-site.header-site-fixed .header-site_inner { background-color: #FFF; }
@media (min-width: 768px) { .header-site.header-site-fixed .header-site_inner { position: fixed; top: 0; left: 0; width: 100%; } }

/* Site Header */
/*
	===========
	Site Footer
	===========
*/
.footer-site { background-color: #FFF; padding: 10px 0; position: relative; }
.footer-site:before { background-image: url(/site/images/backgrounds/footer.png); content: ''; position: absolute; left: 0; top: -43px; width: 100%; height: 43px; }
@media (min-width: 1100px) { .footer-site { margin-left: auto; margin-right: auto; margin-top: -33px; padding-top: 57px; width: 1100px; } }
.footer-site .logo { display: block; margin-bottom: 20px; text-align: center; }
@media (min-width: 768px) { .footer-site .logo { clear: left; float: left; margin-bottom: 0; } }
.footer-site .logo + .logo { margin-top: 3em; margin-left: 6px; }

.contact-footer { color: #999; font-size: 0.875em; margin-top: 90px; }
@media (min-width: 768px) { .contact-footer { margin-left: 33.3333%; } }
.contact-footer h2 { color: #333; font-size: 1.1428571429em; font-weight: 400; text-transform: none; }
.contact-footer a { color: #999; text-decoration: none; }
.contact-footer .section { float: left; width: 50%; }
@media (min-width: 768px) { .contact-footer .section { width: 25%; } }
.contact-footer .section:nth-child(2), .contact-footer .section:nth-child(4) { clear: left; }
@media (min-width: 768px) { .contact-footer .section:nth-child(2), .contact-footer .section:nth-child(4) { clear: none; } }
.contact-footer .section:nth-child(4) { margin-top: 10px; }

.hero-cress { background-image: url(/site/images/backgrounds/cress.jpg); background-position: center bottom; color: #769128; display: none; font-size: 1.375em; min-height: 325px; margin-top: 25px; padding-bottom: 295px; }
@media (min-width: 768px) { .hero-cress { display: block; margin-top: 0; padding-right: 66.6666%; padding-bottom: 0; } }
.hero-cress a { color: inherit; display: block; font-size: 0.7272727273em; text-decoration: underline; }
.hero-cress a:hover { text-decoration: none; }

.copyright { color: #999; font-size: 0.75em; text-align: center; }
@media (min-width: 768px) { .copyright { float: left; text-align: left; } }

/* Site Footer */
/*
	==========
	Navigation
	==========
*/
.nav-top { background-color: #F4F4F4; padding-bottom: 4px; padding-top: 4px; text-align: right; }
@media (min-width: 768px) { .nav-top { padding-bottom: 0; padding-top: 0; } }
.nav-top ul { display: inline-block; font-size: 0.6875em; line-height: 10px; }
.nav-top li { display: inline-block; padding-right: 6px; }
@media (min-width: 640px) { .nav-top li { padding-right: 10px; } }
.nav-top li + li { border-left: 1px solid #474747; padding-left: 6px; }
@media (min-width: 640px) { .nav-top li + li { padding-left: 10px; } }
.nav-top a { color: #474747; }

.nav-main { clear: right; font-size: 0.875em; line-height: 1; margin-top: 25px; text-align: right; text-transform: uppercase; }
.nav-main > ul > li { display: block; }
@media (min-width: 768px) { .nav-main > ul > li { display: inline-block; } }
.nav-main > ul > li > a { padding: 5px 0; }
@media (min-width: 768px) { .nav-main > ul > li > a { padding: 0 10px 0 16px; } }
@media (min-width: 1024px) { .nav-main > ul > li > a { padding-right: 60px; } }
.nav-main ul ul { padding-left: 10px; }
@media (min-width: 768px) { .nav-main ul ul { left: -999em; padding-left: 0; position: absolute; } }
.nav-main li { position: relative; }
.nav-main li:hover > ul { left: auto; }
.nav-main li:before { background-image: url(/site/images/backgrounds/nav-main.png); content: ''; display: block; position: absolute; left: 0; top: 0; width: 12px; height: 33px; }
.nav-main li:last-child a { padding-right: 0; }
.nav-main a { color: #000; display: block; }
.nav-main .active:before { background-position: 0 -33px; }

.nav-select select { display: block; width: 100%; }

.nav-mobile { margin-bottom: 20px; }
.nav-mobile ul { height: 0; margin: 0; padding: 0; overflow: hidden; position: relative; -webkit-transition: height 0.3s linear; -moz-transition: height 0.3s linear; -ms-transition: height 0.3s linear; -o-transition: height 0.3s linear; transition: height 0.3s linear; }
.nav-mobile ul ul { padding-left: 10px; }
.nav-mobile ul ul li:last-child { border-bottom: none; }
.nav-mobile li { background-image: none; border-bottom: 1px solid #CE3128; margin: 0; padding: 0; }
.nav-mobile li.open > ul { border-top: 1px solid #CE3128; }
.nav-mobile a { color: #858585; display: block; padding: 5px; }
.nav-mobile .open > ul, .nav-mobile.open > ul { height: auto; }
.nav-mobile .nav-mobile-header { background-color: #FFF; background-image: url(/site/images/navicon.svg); background-position: 10px center; background-repeat: no-repeat; border: 1px solid #CE3128; border-radius: 0; color: #CE3128; display: block; padding: 10px; text-align: center; width: 100%; }
.nav-mobile .parent { position: relative; }
.nav-mobile .parent:after { content: "+"; line-height: 30px; position: absolute; right: 0; text-align: center; top: 0; width: 30px; }
.nav-mobile .parent a { margin-right: 30px; }
.nav-mobile .parent.open:after { content: "-"; }

.nav-side { font-size: 0.875em; text-transform: uppercase; }
.nav-side ul ul { padding-left: 10px; }
.nav-side li + li { border-top: 1px solid #CCC; }
.nav-side a { color: #858585; display: block; padding: 5px 0; }
.nav-side .active a { color: #A9A9A9; }

.nav-footer { font-size: 0.875em; overflow: hidden; }
@media (min-width: 768px) { .nav-footer { margin-left: 33.3333%; } }
@media (min-width: 768px) { .nav-footer > ul > li { float: left; width: 25%; } }
.nav-footer > ul > li + li { margin-top: 10px; }
@media (min-width: 768px) { .nav-footer > ul > li + li { margin-top: 0; } }
.nav-footer > ul > li > a { text-transform: uppercase; }
.nav-footer ul ul { padding-top: 8px; }
@media (min-width: 768px) { .nav-footer ul ul { padding-top: 16px; } }
.nav-footer ul ul a { color: #999; }
.nav-footer a { color: #333; }

.nav-terms { color: #999; font-size: 0.75em; margin-top: 10px; text-align: center; }
@media (min-width: 768px) { .nav-terms { float: right; text-align: left; margin-top: 0; } }
.nav-terms a { border-bottom: 1px solid #999; color: inherit; display: block; padding: 8px; }
@media (min-width: 768px) { .nav-terms a { border-bottom: none; display: inline; padding: 0 6px 0 9px; }
  .nav-terms a + a { border-left: 1px solid #999; } }
.nav-terms a:last-child { margin-bottom: 8px; }
@media (min-width: 768px) { .nav-terms a:last-child { margin-bottom: 0; } }

/* Navigation */
/*
	======
	Search
	======
*/
.search { background-color: transparent; background-image: url(/site/images/icons/search-dark.png); border: none; display: none; height: 15px; width: 15px; margin-top: 7.5px; padding: 0; vertical-align: top; -webkit-transition: width 0.3s; -moz-transition: width 0.3s; -ms-transition: width 0.3s; -o-transition: width 0.3s; transition: width 0.3s; }
@media (min-width: 768px) { .search { display: inline-block; } }

.form-search { background-color: #FFF; display: inline-block; -webkit-transition: width 0.3s; -moz-transition: width 0.3s; -ms-transition: width 0.3s; -o-transition: width 0.3s; transition: width 0.3s; vertical-align: middle; width: 110px; }
@media (min-width: 768px) { .form-search { height: 18px; overflow: hidden; position: relative; margin-top: 6px; margin-bottom: 6px; width: 0; } }
.form-search input { border: none; float: left; padding-bottom: 1px; padding-top: 1px; width: 97px; }
.form-search button { background-color: transparent; background-image: url(/site/images/icons/search.gif); border: none; float: left; height: 10px; margin-top: 4px; padding: 0; width: 10px; }
@media (min-width: 768px) { .form-search.open { padding-right: 3px; width: 110px; } }
.form-search.open + .search { width: 0; }

/* Search */
/*
	========
	Carousel
	========
*/
.carousel .carousel-item { height: 200px; }
@media (min-width: 768px) { .carousel .carousel-item { height: 300px; } }
.carousel .carousel-item.item-1 { background: #FCC; }
.carousel .carousel-item.item-2 { background: #CFC; }
.carousel .carousel-item.item-3 { background: #CCF; }
.carousel .carousel-item.item-4 { background: #FCF; }
.carousel .slick-next { right: 10px; }
.carousel .slick-prev { left: 10px; }
.carousel .wrap { height: 200px; }
@media (min-width: 768px) { .carousel .wrap { height: 300px; } }
.carousel .wrap:before { content: ""; display: inline-block; vertical-align: middle; height: 100%; }
.carousel .wrap .text { display: inline-block; vertical-align: middle; }
.carousel .text { background: rgba(255, 255, 255, 0.5); padding: 10px; width: 33.3333%; }

/* Carousel */
/*
	======
	Banner
	======
*/
.banner { background-position: center center; background-size: cover; }
@media (min-width: 1024px) { .banner { background-size: auto; } }
.banner .wrap { height: 416px; height: 25vh; }
@media (min-height: 768px) { .banner .wrap { height: 416px; } }
.banner .wrap:before { content: ''; display: inline-block; vertical-align: middle; height: 100%; line-height: 100%; }
.banner .banner-text { display: inline-block; color: #FFF; font-size: 2.25em; line-height: 1.1111111111; max-width: 98%; padding-bottom: 34px; text-shadow: 0 0 4px black; vertical-align: bottom; }
@media (min-width: 768px) { .banner .banner-text { max-width: 50%; } }
.banner.thin { height: 160px; }

/* Banner */
/*
	===========
	Breadcrumbs
	===========
*/
.breadcrumbs { color: #7e7e7e; font-size: 0.75em; font-weight: 200; padding: 1em 0 2em; text-align: right; }
.breadcrumbs a { color: inherit; text-decoration: none; }

/* Breadcrumbs */
/*
	==========
	Home Boxes
	==========
*/
@media (min-width: 768px) { .home-boxes { margin-left: -10px; margin-right: -10px; }
  .home-boxes .col { float: left; padding-left: 10px; padding-right: 10px; width: 33.3333333333%; }
  .home-boxes .col:nth-child(n) { clear: none; }
  .home-boxes .col:nth-child(3n+1) { clear: left; } }
.home-boxes .col { margin-bottom: 10px; }
.home-boxes .inner { background: #EEF; }

/* Home Boxes */
/*
	========
	Articles
	========
*/
@media (min-width: 768px) { .post .image { float: left; max-width: 180px; } }
@media (min-width: 768px) { .post .image + .text { margin-left: 200px; } }

/* Articles */
/*
	==========
	Home Panel
	==========
*/
.panel { background-attachment: scroll; background-position: center center; background-repeat: no-repeat; background-size: cover; color: #FFF; width: 100vw; min-height: 100vh; text-shadow: 0 0 30px #666; max-width: 100%; }
@media (min-width: 768px) { .panel { background-attachment: scroll; } }
.panel:last-child a { display: none; }
.panel > .wrap { min-height: 100vh; }
.panel p { font-size: 1.5em; }
.panel a { color: inherit; text-decoration: underline; }
.panel .h1, .panel .h2 { color: #FFF; }
.panel .h1 { font-size: 3.125em; text-transform: none; }
.panel .h2 { font-size: 1.375em; text-transform: uppercase; }
@media (min-width: 768px) { .panel .textcentre-inner { max-width: 50%; } }
@media (min-width: 768px) { .panel .textcentre-inner .h1 { width: 75%; } }
.panel.right { text-align: right; }
.panel.right .textcentre-inner { text-align: left; }
@media (min-width: 1025px) { .panel.top { background-attachment: fixed; } }

.panel-content { max-width: 50%; padding-top: 15%; min-width: 288px; }

.panel-next { cursor: pointer; }

.panel-slides { position: relative; }

.panel-slides-pager { padding: 2px; position: fixed; right: 39px; top: 50%; visibility: hidden; z-index: 50; }
@media (min-width: 768px) { .panel-slides-pager { visibility: visible; } }
.panel-slides-pager.fixed { position: absolute; top: auto; bottom: auto; }
.panel-slides-pager ol { text-align: left; }
.panel-slides-pager li { background-color: rgba(255, 255, 255, 0.5); border-radius: 50%; cursor: pointer; display: block; height: 10px; width: 10px; margin-left: auto; margin-right: auto; overflow: hidden; position: relative; text-indent: -9999px; -webkit-transition: background-color 0.3s; -moz-transition: background-color 0.3s; -ms-transition: background-color 0.3s; -o-transition: background-color 0.3s; transition: background-color 0.3s; }
.panel-slides-pager li + li { margin-top: 5px; }
.panel-slides-pager .active { background-color: #FFF; }

/* Home Panel */
/*
	=======
	Content
	=======
*/
.content { background-color: #FFF; margin-bottom: 115px; padding-bottom: 50px; position: relative; }
@media (min-width: 1094px) { .content { margin-left: auto; margin-right: auto; width: 1094px; } }
.content:after { background-image: url(/site/images/backgrounds/content.png); content: ''; height: 49px; left: 0; position: absolute; top: 100%; width: 100%; }
.content > div + * { margin-top: 25px; }
@media (min-width: 768px) { .content > div + * { margin-top: 50px; } }

.content-section-2 { background-color: #f3f6e5; padding-bottom: 25px; padding-top: 25px; position: relative; }
@media (min-width: 768px) { .content-section-2 { padding-bottom: 50px; padding-top: 50px; } }
.content-section-2:before { background-image: url(/site/images/backgrounds/content-flourish.png); position: absolute; width: 179px; height: 142px; top: -98px; left: 27px; }

.recommended { color: #333; margin-left: -10px; margin-right: -10px; }
.recommended img { margin-bottom: 20px; }
.recommended a { color: inherit; }
.recommended .page { padding-left: 10px; padding-right: 10px; }
.recommended .page + .page { margin-top: 20px; }
@media (min-width: 640px) { .recommended .page + .page { margin-top: 0; } }
@media (min-width: 640px) { .recommended .page { float: left; width: 33.3333%; } }

/* Content */
/*
	====
	Grid
	====
*/
.grid { margin-left: -10px; margin-right: -10px; }
.grid a { background-position: center center; background-size: cover; color: #FFF; display: block; padding-top: 240px; overflow: hidden; position: relative; text-decoration: none; }
.grid a:hover .text { margin-top: -10px; padding-bottom: 10px; }
.grid h2 { font-size: 1.1428571429em; margin-left: 20px; margin-right: 20px; margin-bottom: 2em; text-transform: uppercase; }
.grid .item { margin-bottom: 20px; padding-left: 10px; padding-right: 10px; }
@media (min-width: 640px) { .grid .item { float: left; width: 50%; } }
@media (min-width: 960px) { .grid .item { width: 33.3333%; } }
.grid .text { font-size: 0.875em; margin-top: 0; padding-bottom: 0; position: relative; -webkit-transition: margin-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out; -moz-transition: margin-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out; -ms-transition: margin-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out; -o-transition: margin-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out; transition: margin-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out; }
.grid .text:before, .grid .text:after { content: ''; height: 200%; width: 200%; position: absolute; left: -50%; transform-origin: center center; }
.grid .text:before { background-color: #FFF; z-index: 10; transform: rotateZ(12deg); top: 5px; }
.grid .text:after { background-color: rgba(144, 188, 80, 0.8); z-index: 20; transform: rotateZ(-6deg); top: 25px; }
.grid .text-inner { position: relative; z-index: 30; }
.grid .text-inner div { padding: 0 20px 14px; }
.grid .intro { height: 2.5em; overflow: hidden; }

/* Grid */
.latest { padding-top: 50px; }
.latest h2, .latest a { color: #858585; }
.latest h2 { text-transform: uppercase; }

.overlay-region { display: flex; width: 100%; }

.overlay-region_text, .overlay-region_image { width: 100%; }
@media (min-width: 768px) { .overlay-region_text, .overlay-region_image { width: 50%; } }

.overlay-region_image { background-position: center top; background-size: cover; border-radius: 0 20px 20px 0; display: none; margin: -30px -30px -30px 30px; }
@media (min-width: 768px) { .overlay-region_image { display: block; } }
