/* @group Reset */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, main, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

:focus {
  outline: 0; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

/* @end */
/* @group default margin/padding */
/*let's start with the lists*/
/* @end */
/* @group Forms */
form {
  margin: 0; }

legend {
  border: 0;
  *margin-left: -7px;
  text-shadow: 0 1px 1px #d4d4d4; }

input, select, label {
  vertical-align: middle; }

button, input, select, textarea {
  font-size: 100%; }

button, input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

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

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

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

/* @end */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  font: 100%/1.5 'Raleway', sans-serif;
  color: #555; }

img {
  max-width: 100%;
  height: auto; }

h2 {
  font-weight: normal;
  font-size: 120%;
  margin: 0.5em 0; }

h3 {
  font-size: 110%;
  margin: 1em 0 .5em 0;
  font-weight: normal; }

h2 + h3 {
  margin-top: .25em; }

p + h2 {
  margin-top: 1.25em; }

p {
  margin: .5em 0; }

a {
  color: #555;
  text-decoration: underline; }

a:hover {
  color: #000;
  border-color: #aaa; }

blockquote {
  margin-left: 0;
  padding-left: 1.5em;
  padding-right: 2em;
  border-left: 4px solid #ddd;
  font-style: italic;
  color: #777; }

pre, code {
  background: #eee;
  border: 1px solid #ddd; }

pre {
  font-size: 14px;
  line-height: 1.4em;
  padding: 1em;
  border-left: 4px solid #ddd; }

.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1em; }
  .container:after {
    content: " ";
    display: block;
    clear: both; }
  @media (min-width: 700px) {
    .container {
      padding: 0 1.4084507042%; } }

.top-bar {
  border-top: 6px solid #a2a2a2;
  zoom: 1;
  display: none; }
  .top-bar:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  @media (min-width: 700px) {
    .top-bar {
      display: block; } }

.top-nav {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.4084507042%; }
  .top-nav:after {
    content: " ";
    display: block;
    clear: both; }

.top-nav li {
  list-style: none;
  padding: 0;
  margin: 0; }

.top-nav ul > li {
  float: left;
  position: relative; }

.top-nav li a {
  border-top: 6px solid white;
  padding: 0.25em 0;
  margin: 0 1em 0 0;
  text-decoration: none;
  display: block;
  transition: border-top-color 200ms ease;
  color: #555; }

.top-nav li a:hover {
  border-top-color: #a2a2a2; }

.top-nav li.current a {
  border-top-color: #a2a2a2; }

.top-nav ul li ul {
  position: absolute;
  top: 1.7em;
  left: -99999px;
  background: transparent;
  transition: background 300ms ease;
  width: 18em; }

.top-nav ul li:hover ul {
  left: 0;
  background: #aaa; }

form.search {
  float: right;
  margin: 0;
  width: 22.8571428571%; }

form.search input {
  margin: 0;
  padding: 0.25em 0.5em;
  border: 1px solid #000;
  width: 100%;
  background: #aaa;
  color: #000;
  display: inline-block;
  margin: .1em 0 0 0; }

form.search button {
  display: none; }

.breadcrumbs {
  clear: both;
  padding: 1em 0;
  margin: .5em 0;
  border-top: 1px solid #333; }
  .breadcrumbs li {
    list-style: none;
    display: inline-block;
    margin: 0 .75em 0 0;
    color: #999; }
    .breadcrumbs li a {
      color: #999; }

.breadcrumbs li:after {
  content: ">";
  color: #999;
  padding-left: 0.5em;
  padding-right: 0.25em; }

.breadcrumbs li.last:after {
  content: ""; }

.site-title {
  padding: 2.8571428571% 0; }
  .site-title h1 {
    font-size: 180%;
    font-weight: normal; }
  .site-title a {
    text-decoration: none;
    color: #6f6f6f; }

.body {
  padding: 1em 0;
  zoom: 1;
  clear: both; }
  .body:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

h1.page-title {
  font-size: 140%;
  font-weight: normal;
  margin-bottom: .75em; }

.main-content,
.sidebar {
  padding-bottom: 2em; }
  .main-content ul,
  .sidebar ul {
    padding: 0;
    margin: .5em 0 .5em 1.2em; }
    .main-content ul.nav,
    .sidebar ul.nav {
      margin-left: 0; }

@media (min-width: 700px) {
  body.has-sidebar .main-content {
    width: 74.2857142857%;
    float: left;
    margin-right: 2.8571428571%; } }

@media (min-width: 700px) {
  body.has-sidebar .sidebar {
    width: 22.8571428571%;
    float: right;
    margin-right: 0; } }

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

.nav .nav {
  padding-left: 1.5em;
  list-style: disc; }

.nav li {
  margin: 1em 0; }

.nav-tree li {
  margin-top: 0;
  margin-bottom: 0; }

.nav a {
  font-weight: bold; }

.nav-tree li a {
  color: #777; }

.nav .current > a {
  color: #333; }

.align_left {
  /* for images placed in rich text editor */
  float: left;
  margin: 0 1em 0.5em 0;
  position: relative;
  top: 0.5em;
  max-width: 50%; }

.align_right {
  /* for images placed in rich text editor */
  float: right;
  margin: 0 0 0.5em 1em;
  max-width: 50%; }

.align_center {
  /* for images placed in rich text editor */
  display: block;
  margin: 1em auto;
  position: relative;
  top: 0.5em; }

.footer {
  clear: both;
  border-top: 1px solid #a2a2a2;
  padding: .75em 0;
  font-size: .825em; }

.additionals,
.utilities {
  text-align: center;
  margin: .5em 0; }
  .additionals li,
  .utilities li {
    display: inline-block;
    margin: .1em 1.5em .1em 0; }
    .additionals li.item-print,
    .utilities li.item-print {
      display: none; }
      @media (min-width: 700px) {
        .additionals li.item-print,
        .utilities li.item-print {
          display: inline-block; } }
    .additionals li a,
    .utilities li a {
      font-weight: normal; }
  @media (min-width: 700px) {
    .additionals,
    .utilities {
      text-align: left; } }

.edit {
  position: fixed;
  top: 30%;
  right: 0; }
  .edit a {
    text-decoration: none;
    font-size: 12px;
    display: block;
    background: #990000;
    color: white;
    padding: .5em .75em; }

.mobile-header {
  background: #a2a2a2; }
  @media (min-width: 700px) {
    .mobile-header {
      display: none; } }
  .mobile-header .menu-toggle {
    font-size: 140%;
    color: white;
    display: inline-block;
    padding: .5em;
    font-family: Helvetica,Arial, sans-serif; }

.mm-container {
  position: absolute;
  top: 1.75em;
  left: .1em;
  right: .1em;
  background: #a2a2a2; }
  .mm-container form.search {
    float: none;
    width: 50%;
    background: #a2a2a2;
    padding: .5em; }

.mobile-menu ul, .mobile-menu li, .mobile-menu a {
  background: #a2a2a2;
  transition: background 0 ease; }
.mobile-menu li a {
  color: white;
  padding: .5em .5em;
  display: block;
  border-bottom: 1px solid #fff;
  text-decoration: none; }
.mobile-menu li li a {
  padding-left: 1.5em; }

.main-content .image-grid {
  margin: 1.5em 0;
  padding: 0;
  zoom: 1;
  clear: both; }
  .main-content .image-grid:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
.image-grid li {
  margin-bottom: 1em;
  text-align: center; }
  .main-content .image-grid li {
    list-style: none; }
  @media (min-width: 700px) {
    .image-grid li {
      text-align: left;
      width: 30.7692307692%;
      float: left; }
      .image-grid li:nth-child(3n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      .image-grid li:nth-child(3n + 2) {
        margin-left: 34.6153846154%;
        margin-right: -100%;
        clear: none; }
      .image-grid li:nth-child(3n + 3) {
        margin-left: 69.2307692308%;
        margin-right: -100%;
        clear: none; } }

/*********************************************************************
 * 5. Media queries for responsive layout
 *
 */
@media only screen and (max-width: 767px) {
  /* mobile layout */
  body,
  td,
  textarea {
    font-size: 100%; }

  .align_left, .align_right, .align_center {
    display: block;
    float: none;
    margin: 1em auto;
    max-width: 100%; } }
@media only screen and (min-width: 1200px) {
  /* extra-wide desktop layout */
  body, td, textarea {
    font-size: 115%; } }
@media print {
  .mobile-header,
  .mobile-menu,
  .mm-container,
  .utilities {
    display: none; } }
