		/*
  Running Squiz Matrix
  Developed by Squiz - http://www.squiz.net
  Squiz, Squiz Matrix, MySource, MySource Matrix and Squiz.net are registered Trademarks of Squiz Pty Ltd
  Page generated: 23 January 2018 20:57:25
*/


@hover: #0080FF;
@light-background: #CCC;

/* =============================================================================
   HTML5 display definitions
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

/* =============================================================================
   Base
   ========================================================================== */

* { box-sizing: border-box; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

html, button, input, select, textarea { font-family: 'Open Sans', sans-serif; color: #222; }

body { margin: 0; font-size: 1em; line-height: 1.4; }

/* =============================================================================
   Links
   ========================================================================== */

a, a:visited {
  color: #00e;
  -webkit-transition: color .25s linear;
  transition: color .25s linear;
}
a:hover { color: #0080FF; }
a:focus { outline: thin dotted; }

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

.button, .button:visited, .button:active {
  color: #FFF;
  background: #0080FF;
  padding: .5em 1em;
  font-size: .75em;
  border-radius: 5px;
  text-decoration: none;
  -webkit-transition: background-color .25s linear;
  transition: background-color .25s linear;
}

.button:hover, .button:focus {
  color: #FFF;
  background: #4596FE;
}

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

h1 {
  font-size: 2.441em;
  line-height: 1.2;
  font-weight: 400;
  margin: 0;
  padding: 0 0 .7em 0;
}

h2, .form-section-title {
  font-size: 1.953em;
  line-height: 1.2;
  font-weight: 400;
  margin: 0;
  padding: .4765em 0;
}

h3 {
  font-size: 1.563em;
  line-height: 1.2;
  font-weight: 400;
  margin: 0;
  padding: .2815em 0;
}

h4 {
  font-size: 1.25em;
  line-height: 1.2;
  font-weight: 400;
  margin: 0;
  padding: .125em 0;
}

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

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

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

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

pre, code, kbd, 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: 85%; }

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

/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 1em 0; padding: 0 0 0 2em; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

/* =============================================================================
   Embedded content
   ========================================================================== */

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

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

/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }

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

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

label { cursor: pointer; }

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

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

button, input { line-height: normal; }

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

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

input[type="checkbox"], input[type="radio"] { padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

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

textarea { overflow: auto; vertical-align: top; resize: vertical; }

input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

/* =============================================================================
   Tables
   ========================================================================== */

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

/* =============================================================================
   Chrome Frame Prompt
   ========================================================================== */

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }

/* ==========================================================================
   Primary Styles
   ========================================================================== */

body {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; 
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

p {
  padding: 0;
  margin: 0;
}

p+p, p+h2, p+h3, p+div {
  padding-top: .5em;
}

.header-utilities-wrapper {
  background: #CCC;
  padding: 5px 0;
}

.header-utilities {
  max-width: 960px;
  margin: 0 auto;
  text-align: right;
  font-weight: 400;
  line-height: 25px;
}

.header-utilities a {
  padding: 0 5px;
  text-decoration: none;
}

.header-utilities a, .header-utilities a:visited {
  color: #000;
  -webkit-transition: color .25s linear;
  transition: color .25s linear;
}
.header-utilities a:hover, .header-utilities a:focus, .header-utilities a:active {
  color: #0080FF;
}

.icon-with-text {
  margin-right: 5px;
}

.social-links {
  display: inline-block;
}

.search-input {
  margin-left: 10px;
  height: 25px;
  padding: 0 0 0 10px;
  background: #FFF;
  color: #000;
  border-radius: 12px;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
  display: inline-block;
}

.search-input form {
  height: 100%;
  padding-bottom: 0;
  margin-bottom: 0;
}

.search-input label {
  margin-right: 10px;
}

.search-input input[type="text"] {
  background: none;
  color: #000;
  vertical-align: top;
  border: 0;
  padding: 0px;
  width: 140px;
  height: 100%;
  line-height: 100%;
}

.search-input input[type="text"]:hover, #search-input input[type="text"]:focus {
  border: 0;
  outline: 0;
}

.site-search-button {
  vertical-align: top;
  border: 0;
  background: none;
  height: 25px;
  width: 25px;
  margin-right: 5px;
  color: #000;
}

.site-search-button:hover {
  color: #0080FF;
}

.admin-button {
  display: inline-block;
}

.admin-button button {
  padding: 0 5px;
  background: none;
  display: inline;
  border: none;
  -webkit-transition: color .25s linear;
  transition: color .25s linear;
}

.admin-button button:hover, .admin-button button:focus {
  color: #0080FF;
}

.login-button {
  display: inline-block;
}

.admin-tools-wrapper {
  display: none;
  background: #999;
  padding: 10px 0;
}

.admin-tools {
  max-width: 960px;
  margin: 0 auto;
  text-align: right;
  font-weight: 400;
  line-height: 25px;
}

.admin-tools ul {
  margin: 0;
  padding: 0;
}

.admin-tools li {
  display: inline-block;
  list-style: none;
}

.branding-nav-wrapper {
  padding: 15px 0 0 0;
  border-bottom: 1px solid #CCC;
}

.branding-nav {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.no-flexbox .branding-nav {
  display: table;
}

.branding {
  padding: 0 20px 15px 20px;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
}

.no-flexbox .branding {
  display: table-cell;
}

.logo {
  margin: 0;
  padding: 0;
}

.logo img {
  float: left;
  margin-right: 15px;
}

.logo a, .logo a:visited, .logo a:hover, .logo a:focus, .logo a:active {
  color: #000;
  text-decoration: none;
}

.nav-toggle {
  display: none;
  font-size: 1.5em;
  font-weight: 400;
  color: #000;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.main-nav {
  display: block;
  flex: 1;
  text-align: center;
  border-top: 1px solid #dde;
}

.no-flexbox .main-nav {
  display: table-cell;
  vertical-align: bottom;
}

.main-nav ul {
  list-style: none;
  max-width: 960px;
  margin: 0 auto;
}

.main-nav li {
  display: inline-block;
  zoom: 1;
  *display: inline;
  font-size: 1.25em;
  font-weight: 400;
  padding: 0 20px;
}

.main-nav li:first-child {
}

.main-nav a, .main-nav a:visited {
  color: #000;
  text-decoration: none;
  width: 100%;
}

.main-nav a:hover, .main-nav a:focus, .main-nav a:active {
  color: #0080FF;
}

.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: relative;
  overflow: hidden;
  zoom: 1;
}

.nav-collapse.opened {
  max-height: 9999px;
}

.js .nav-collapse.closed {
    max-height: none;
}

.disable-pointer-events {
  pointer-events: none !important;
}

.announcement-wrapper {
  background: #DDE;
}

.announcement-body, .news-list {
  max-width: 960px;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  position: relative;
}

.announcement-body h2, .news-list h2 {
  font-size: 1.75em;
  padding: 0.5em 0 .25em 0;
}

.announcement-body h2:first-child, .news-item:first-child h2 {
  padding-top: 0;
}

.news-utils {
  position: absolute;
  right: 5px;
  top: 5px;
  border-radius: 6px;
  background: fadeout(@hover,25%);
  padding: 3px 10px;
  box-shadow: 3px 3px 3px rgba(0,0,0,.125);
}

.icon-button {
  color: #FFF;
  -webkit-transition: text-shadow .25s;
  transition: text-shadow .25s;
  background: none;
  border: none;
  padding: 0 1px;
}

.icon-button:hover {
  text-shadow: 0 0 5px #FFF;
}

.no-textshadow .icon-button:hover {
  color: #FF6;
}

.JSfunction {
  cursor: pointer;
}

.main {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.main-content {
  max-width: 960px;;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.home .main-content {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.home .body-content {
  width: 100%;
  margin: 0;
  padding: 0;
}

.home-intro-wrapper {
  width: 100%;
  background: #AAA;
}

.home-intro {
  max-width: 960px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.no-flexbox .home-intro {
  display: table;
}

.intro-image {
  max-width: 50%;
}

.intro-image img {
  width: 100%;
  height: auto;
}

.intro-text {
  -webkit-flex: 1 1;
  -ms-flex: 1 1;
  flex: 1 1;
  -webkit-align-self: flex-start;
  -ms-align-self: flex-start;
  align-self: flex-start;
  padding: 10px;
}

.no-flexbox .intro-image, .no-flexbox .intro-text {
  display: table-cell;
  width: 50%;
  vertical-align: top;
}

.intro-text h1 {
  font-size: 2em;
  padding: 0 0 .5em 0;
}

.news-wrapper {
  width: 100%;
}

.news-list {
  margin: 0 auto;
  max-width: 960px;
}

.news-item {
  position: relative;
}

.home-intro-wrapper+.features-wrapper {
  padding-top: 50px;
}

.features {
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 50px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
}

.no-flexbox .features {
  display: table;
  border-spacing: 20px;
}

.feature-item {
  -webkit-flex: 1 1;
  -ms-flex: 1 1;
  flex: 1 1;
  margin-right: 20px;
  background: @light-background;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.feature-item:last-child {
  margin-right: 0;
}

.no-flexbox .feature-item {
  display: table-cell;
}

.feature-image {
  width: 100%;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.feature-image img {
  width: 100%;
  height: auto;
}

.feature-content {
  margin: 10px;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.feature-content h2 {
  font-size: 1.5em;
  padding: 0 0 .125em 0;
}

.feature-content h3 {
  font-size: 1.25em;
  padding: .125em 0;
}

.nav-sec {
  flex: 0 0 25%;
  padding: 1em;
  border-right: 1px solid #CCC;
}

.nav-sec ul {
  list-style: none;
  font-size: 1.35em;
  font-weight: 400;
  padding: 0;
  margin: 1em 0;
}

.nav-sec li {
  margin-bottom: .75em;
}

.nav-sec a, .nav-sec:visited {
  color: #000;
  text-decoration: none;
}

.nav-sec a:hover, .nav-sec a:focus, .nav-sec a:active {
  color: #0080FF;
}

.nav-sec ul ul {
  font-size: .85em;
  padding-left: 1em;
  margin-top: .5em;
}

.body-content {
  line-height: 1.75;
  padding: 1.7em 1em;
  flex: 1 1 auto;
}

.no-flex .body-content {
  width: 75%;
}

.right {
  float: right;
  margin-left: 5px;
}

.left {
  float: left;
  margin-right: 5px;
}

.panel {
  background-color: #EEE;
  border: 1px solid #888;
  border-radius: 4px;
  margin-bottom: 20px;
  position: relative;
  padding: 15px;
}

.panel h2, .panel h3 {
  background-color: #CCC;
  color: #000;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  padding: 10px 15px;
  margin: -15px -15px 10px;
}

.close-panel {
  position: absolute;
  right: 0;
  top: 0;
  background: none;
  border: none;
}

.portrait {
  border: 1px solid #999;
  border-radius: 3px;
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 10px;
  width: 124px;
  padding: 0;
  vertical-align: top;
}

.portrait img {
  width: 100%;
  height: auto;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}

.portrait figcaption {
  text-align: center;
  padding: 2px 5px;
  background: @light-background;
}

.aligned-elements ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aligned-elements li {
  margin-bottom: 10px;
}

.aligned-elements label {
  width: 220px;
  float: left;
  text-align: right;
  font-weight: bold;
  margin-right: 10px;
}

.aligned-elements.w9 label {
  width: 9em;
}

.aligned-elements.w14 label {
  width: 14em;
}

.aligned-elements div {
  display: inline-block;
}

.newsletter-thumb {
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 2px 2px 2px #ccc;
  padding: 2px;
}

.admin-note {
  color: #F00;
}

.page-footer {
  border-top: 1px #CCC solid;
}

.footer-content {
  max-width: 960px;
  margin: 0 auto;
  padding: 10px 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}

.footer-content p {
  margin: 0;
  padding: 0;
}

.footer-content p+p {
  margin-top: 5px;
}

.footer-links {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.footer-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-list li {
  padding: 0 5px;
  display: inline;
  border-right: 1px solid #666;
}

.footer-list li:first-child {
  padding-left: 0;
}

.footer-list li:last-child {
  border-right: none;
  padding-right: 0;
}







/* ==|== media queries ======================================================
   EXAMPLE Media Query for Responsive Design.
   This example overrides the primary ('mobile first') styles
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media (max-width: 960px) {
  .branding-nav {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
  }

  .no-flexbox .branding-nav {
    display: block;
  }

  .no-flexbox .branding, .no-flexbox .main-nav {
    display: block;
  }

  .branding {
    width: 100%;
    text-align: center;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #CCC;
  }

  .main-nav {
    width: 100%;
    text-align: center;
  }

  .footer-content {
    padding: 10px;
  }
}

@media (max-width: 900px) {
  .intro-image {
    border-right: 1px solid #666;
    max-width: 50%;
    padding-right: 10px;
  }
}

@media (max-width: 820px) {
  .aligned-elements.w14 label {
    float: none;
    display: block;
    text-align: left;
  }
}

@media (max-width: 740px) {
  .home-intro {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .intro-image {
    border: none;
    padding: 0;
    width: 100%;
    max-width: 100%;
  }

  .features {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 20px;
  }

  .feature-item {
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-right: 0;
    margin-bottom: 20px;
  }

  .feature-image {
    width: 50%;
    -webkit-align-self: center;
    -ms-align-self: center;
    align-self: center;
  }

  .feature-content {
    -webkit-flex:  1 1 0;
    -ms-flex:  1 1 0;
    flex: 1 1 0;
  }
}

@media (max-width: 680px) {
  .nav-toggle {
    display: block;
    width: 100%;
    text-align: center;
  }

  .nav-collapse li {
    width: 100%;
    display: block;
    padding: 0;
  }

  .nav-collapse a {
    display: inline-block;
    width: 100%;
    padding: 5px 0;
  }

  .js .nav-collapse {
    position: absolute;
  }

  .main-content {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .main-content > .nav-toggle {
    padding-top: 15px;
  }

  .nav-sec {
    width: 100%;
    text-align: center;
    margin: 0;
  }

  .nav-sec ul {
    font-size: 1.5em;
    margin: 0;
    padding: 0;
  }

  .nav-sec li {
    margin: 0;
  }

  .body-content {
    margin-top: 15px;
    border-top: 1px solid #CCC;
    width: 100%;
  }
}


@media (max-width: 620px) {
  .feature-item {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .feature-image {
    width: 100%;
  }

  .feature-content {
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  .footer-content {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .copyright-notice {
    margin-top: 5px;
  }
}

@media (max-width: 520px) {
  .aligned-elements.w9 label {
    float: none;
    display: block;
    text-align: left;
  }
}  

@media (max-width: 440px) {
  .footer-content {
    text-align: center;
  }
  .footer-list li {
    display: block;
    padding: 0;
    border: none;
  }
}


/* ==|== non-semantic helper classes ========================================
   Please define your styles before this section.
   ========================================================================== */

/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }

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

/* 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; }

/* Contain floats: h5bp.com/q */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }



/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}