﻿.left {
  float: left;
}
.right {
  float: right;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  zoom: 1;
  /* ie 6/7 */
}
.horizontal-flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: -ms-flex;
  display: flex;
}
.hide {
  display: none;
}
/*=======================================================================
|Custom Mixins
=======================================================================*/
.box-sizing {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/* --------------------------------------------------
|Flexbox mixins
The spec: http://www.w3.org/TR/css3-flexbox
From https://gist.github.com/jayj/4012969
-------------------------------------------------- */
/*=======================================================================
|Colors
Green: #00B259
Blue: #00AEEF

Dark grey: #5F606B    
Mid grey: #E1E1E1
Light grey: #F2F2F2
=======================================================================*/
/*=======================================================================
|Typography
Body font: Source Sans Pro
Header font: Source Sans Pro
=======================================================================*/
/*@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,700,700i');*/
body.content-page header,
body.search-page header {
  max-height: 370px;
}
body.content-page main,
body.search-page main {
  position: relative;
  margin-top: -200px;
}
body.content-page main > .content,
body.search-page main > .content,
body.content-page main > .search-content,
body.search-page main > .search-content,
body.content-page main > .site-map,
body.search-page main > .site-map {
  display: flex;
  align-items: stretch;
  margin-top: 70px;
  position: relative;
}
body.content-page main > .content nav,
body.search-page main > .content nav,
body.content-page main > .search-content nav,
body.search-page main > .search-content nav,
body.content-page main > .site-map nav,
body.search-page main > .site-map nav,
body.content-page main > .content article,
body.search-page main > .content article,
body.content-page main > .search-content article,
body.search-page main > .search-content article,
body.content-page main > .site-map article,
body.search-page main > .site-map article {
  margin-top: 22px;
}
body.content-page main > .content nav,
body.search-page main > .content nav,
body.content-page main > .search-content nav,
body.search-page main > .search-content nav,
body.content-page main > .site-map nav,
body.search-page main > .site-map nav {
  width: 340px;
  float: left;
  background-color: white;
  padding: 50px 2.2em 2.2em;
  box-sizing: border-box;
}
body.content-page main > .content nav ul,
body.search-page main > .content nav ul,
body.content-page main > .search-content nav ul,
body.search-page main > .search-content nav ul,
body.content-page main > .site-map nav ul,
body.search-page main > .site-map nav ul {
  list-style: none;
}
body.content-page main > .content nav ul li,
body.search-page main > .content nav ul li,
body.content-page main > .search-content nav ul li,
body.search-page main > .search-content nav ul li,
body.content-page main > .site-map nav ul li,
body.search-page main > .site-map nav ul li {
  margin-bottom: 1.2em;
  font-family: 'Source Sans Pro', Arial, sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
}
body.content-page main > .content nav ul li a,
body.search-page main > .content nav ul li a,
body.content-page main > .search-content nav ul li a,
body.search-page main > .search-content nav ul li a,
body.content-page main > .site-map nav ul li a,
body.search-page main > .site-map nav ul li a {
  color: #5F606B;
  display: block;
}
body.content-page main > .content nav ul li a.selected-page,
body.search-page main > .content nav ul li a.selected-page,
body.content-page main > .search-content nav ul li a.selected-page,
body.search-page main > .search-content nav ul li a.selected-page,
body.content-page main > .site-map nav ul li a.selected-page,
body.search-page main > .site-map nav ul li a.selected-page {
  color: #00AEEF;
}
body.content-page main > .content nav ul .level-4-pages,
body.search-page main > .content nav ul .level-4-pages,
body.content-page main > .search-content nav ul .level-4-pages,
body.search-page main > .search-content nav ul .level-4-pages,
body.content-page main > .site-map nav ul .level-4-pages,
body.search-page main > .site-map nav ul .level-4-pages {
  margin-left: 2em;
  margin-top: 22px;
  margin-bottom: -6px;
  width: 100%;
  display: inline-block;
}
body.content-page main > .content nav button,
body.search-page main > .content nav button,
body.content-page main > .search-content nav button,
body.search-page main > .search-content nav button,
body.content-page main > .site-map nav button,
body.search-page main > .site-map nav button {
  display: none;
}
body.content-page main > .content article,
body.search-page main > .content article,
body.content-page main > .search-content article,
body.search-page main > .search-content article,
body.content-page main > .site-map article,
body.search-page main > .site-map article {
  width: calc(100% - 375px);
  float: right;
  background: white;
  padding-top: 50px;
  padding-right: 2.2em;
}
body.content-page main > .content article > *,
body.search-page main > .content article > *,
body.content-page main > .search-content article > *,
body.search-page main > .search-content article > *,
body.content-page main > .site-map article > *,
body.search-page main > .site-map article > * {
  position: relative;
}
body.content-page main > .content article > h1:first-of-type,
body.search-page main > .content article > h1:first-of-type,
body.content-page main > .search-content article > h1:first-of-type,
body.search-page main > .search-content article > h1:first-of-type,
body.content-page main > .site-map article > h1:first-of-type,
body.search-page main > .site-map article > h1:first-of-type {
  position: absolute;
  top: -70px;
  left: 2rem;
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0.33333333em 0.5em;
  color: white;
}
body.content-page main > .content article > *:nth-child(2),
body.search-page main > .content article > *:nth-child(2),
body.content-page main > .search-content article > *:nth-child(2),
body.search-page main > .search-content article > *:nth-child(2),
body.content-page main > .site-map article > *:nth-child(2),
body.search-page main > .site-map article > *:nth-child(2) {
  margin-top: 0;
}
body.content-page main > .content article h2,
body.search-page main > .content article h2,
body.content-page main > .search-content article h2,
body.search-page main > .search-content article h2,
body.content-page main > .site-map article h2,
body.search-page main > .site-map article h2,
body.content-page main > .content article h3,
body.search-page main > .content article h3,
body.content-page main > .search-content article h3,
body.search-page main > .search-content article h3,
body.content-page main > .site-map article h3,
body.search-page main > .site-map article h3,
body.content-page main > .content article h4,
body.search-page main > .content article h4,
body.content-page main > .search-content article h4,
body.search-page main > .search-content article h4,
body.content-page main > .site-map article h4,
body.search-page main > .site-map article h4 {
  color: #474850;
}
body.content-page main > .content article h2,
body.search-page main > .content article h2,
body.content-page main > .search-content article h2,
body.search-page main > .search-content article h2,
body.content-page main > .site-map article h2,
body.search-page main > .site-map article h2 {
  font-size: 2.5em;
}
body.content-page main > .content article h3,
body.search-page main > .content article h3,
body.content-page main > .search-content article h3,
body.search-page main > .search-content article h3,
body.content-page main > .site-map article h3,
body.search-page main > .site-map article h3 {
  font-size: 2em;
}
body.content-page main > .content article h4,
body.search-page main > .content article h4,
body.content-page main > .search-content article h4,
body.search-page main > .search-content article h4,
body.content-page main > .site-map article h4,
body.search-page main > .site-map article h4 {
  font-size: 1.6em;
}
body.content-page main > .content article p,
body.search-page main > .content article p,
body.content-page main > .search-content article p,
body.search-page main > .search-content article p,
body.content-page main > .site-map article p,
body.search-page main > .site-map article p,
body.content-page main > .content article li,
body.search-page main > .content article li,
body.content-page main > .search-content article li,
body.search-page main > .search-content article li,
body.content-page main > .site-map article li,
body.search-page main > .site-map article li,
body.content-page main > .content article table,
body.search-page main > .content article table,
body.content-page main > .search-content article table,
body.search-page main > .search-content article table,
body.content-page main > .site-map article table,
body.search-page main > .site-map article table {
  font-size: 1.2rem;
  color: #5F606B;
}
@media screen and (max-width: 1400px) {
  body.content-page main > .content,
  body.search-page main > .content,
  body.content-page main > .search-content,
  body.search-page main > .search-content,
  body.content-page main > .site-map,
  body.search-page main > .site-map {
    padding: 0;
  }
  body.content-page main > .content article > h1:first-of-type,
  body.search-page main > .content article > h1:first-of-type,
  body.content-page main > .search-content article > h1:first-of-type,
  body.search-page main > .search-content article > h1:first-of-type,
  body.content-page main > .site-map article > h1:first-of-type,
  body.search-page main > .site-map article > h1:first-of-type {
    left: 0;
  }
}
@media screen and (max-width: 1000px) {
  body.content-page main,
  body.search-page main {
    margin-top: -290px;
  }
  body.content-page main > .content,
  body.search-page main > .content,
  body.content-page main > .search-content,
  body.search-page main > .search-content,
  body.content-page main > .site-map,
  body.search-page main > .site-map {
    display: block;
  }
  body.content-page main > .content nav,
  body.search-page main > .content nav,
  body.content-page main > .search-content nav,
  body.search-page main > .search-content nav,
  body.content-page main > .site-map nav,
  body.search-page main > .site-map nav {
    padding: 50px 1em 25px;
    float: left;
    width: 100%;
  }
  body.content-page main > .content nav ul,
  body.search-page main > .content nav ul,
  body.content-page main > .search-content nav ul,
  body.search-page main > .search-content nav ul,
  body.content-page main > .site-map nav ul,
  body.search-page main > .site-map nav ul {
    float: left;
  }
  body.content-page main > .content nav button,
  body.search-page main > .content nav button,
  body.content-page main > .search-content nav button,
  body.search-page main > .search-content nav button,
  body.content-page main > .site-map nav button,
  body.search-page main > .site-map nav button {
    display: inline-block;
    display: none;
    float: left;
    background: none;
    border: none;
    margin-right: 1em;
    margin-top: -6px;
    padding: 10px;
  }
  body.content-page main > .content nav.collapsed li:not(.selected-page-wrap):not(.parent-page-wrap),
  body.search-page main > .content nav.collapsed li:not(.selected-page-wrap):not(.parent-page-wrap),
  body.content-page main > .search-content nav.collapsed li:not(.selected-page-wrap):not(.parent-page-wrap),
  body.search-page main > .search-content nav.collapsed li:not(.selected-page-wrap):not(.parent-page-wrap),
  body.content-page main > .site-map nav.collapsed li:not(.selected-page-wrap):not(.parent-page-wrap),
  body.search-page main > .site-map nav.collapsed li:not(.selected-page-wrap):not(.parent-page-wrap) {
    display: none;
  }
  body.content-page main > .content nav.expanded button,
  body.search-page main > .content nav.expanded button,
  body.content-page main > .search-content nav.expanded button,
  body.search-page main > .search-content nav.expanded button,
  body.content-page main > .site-map nav.expanded button,
  body.search-page main > .site-map nav.expanded button {
    margin-top: -7px;
  }
  body.content-page main > .content article,
  body.search-page main > .content article,
  body.content-page main > .search-content article,
  body.search-page main > .search-content article,
  body.content-page main > .site-map article,
  body.search-page main > .site-map article {
    padding: 0 1em 1em;
    float: left;
    width: calc(100% - 2em);
    margin-top: 0;
  }
  body.content-page main > .content article > h1:first-of-type,
  body.search-page main > .content article > h1:first-of-type,
  body.content-page main > .search-content article > h1:first-of-type,
  body.search-page main > .search-content article > h1:first-of-type,
  body.content-page main > .site-map article > h1:first-of-type,
  body.search-page main > .site-map article > h1:first-of-type {
    position: relative;
    top: 0;
    color: #5F606B;
    background: none;
    padding: 0;
  }
}