/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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,
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 {
  display: block; }

nav ul {
  list-style: none; }

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

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

input, select {
  vertical-align: middle; }

/* Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.  */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

/*  apply a natural box layout model to all elements  */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* BODY  */
body {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  display: -ms-grid;
  display: grid;
  grid-template-columns: auto 6.25rem;
  grid-template-areas: "hamburger  social" "header  header" "content  content" "footer  footer" "links  links"; }

/* HAMBURGER  */
div.menuBtn {
  -ms-grid-row: 2;
  grid-area: hamburger;
  background-color: #2d2d2d; }

a.hamburger {
  text-align: center;
  padding-top: .45rem;
  text-decoration: none;
  display: block;
  height: 2.75rem;
  width: 2.75rem;
  background-color: #e6a430;
  color: #2d2d2d;
  font-size: 1.8rem; }

a.hamburger:hover {
  color: white; }

div.social {
  -ms-grid-row: 1;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  background-color: #2d2d2d; }
  div.social a {
    display: block;
    text-align: center;
    padding-top: .4rem;
    height: 2.75rem;
    color: #2d2d2d;
    background-color: #e6a430;
    height: 2.75rem;
    width: 2.75rem;
    border-left: 1px solid #2d2d2d; }
  div.social a:hover {
    color: white; }

/* HEADER  */
header {
  -ms-grid-row: 3;
  grid-area: header;
  background-color: #3c3c3c;
  padding: .3rem 2vw;
  display: grid;
  grid-template-columns: 159px auto; }
  header h1 {
    margin-left: 2vw;
    color: white;
    align-self: center;
    font-size: .7rem;
    line-height: 120%;
    font-weight: 400; }

/* NAVigation  */
nav {
  -ms-grid-row: 6;
  grid-area: links;
  height: 100vh;
  width: 100%;
  background-color: #3c3c3c; }
  nav ul li.ancestor a {
    background: rgba(0, 0, 0, 0.3); }
  nav ul li.active a {
    background: #008cba; }

/* MAIN  */
main {
  -ms-grid-row: 4;
  grid-area: content;
  min-height: 100vh; }
  main div.row {
    clear: both; }
  main div.column {
    padding: 0 2vw; }
  main h1 {
    font-size: 3rem;
    color: #e6a430;
    margin-top: 2rem; }
  main h2 {
    font-size: 2rem;
    color: #008cba;
    margin-top: 1rem; }
  main h3 {
    font-size: 1.5rem;
    color: #3c3c3c;
    margin: 2rem 0 .5rem 0; }
  main h3.part {
    color: #008cba;
    background-color: #efefef;
    text-align: center;
    padding: .3rem 0;
    border-radius: 5px; }
  main h4 {
    font-size: 1.2rem;
    color: #8A8A8A;
    padding-top: 1rem; }
  main p {
    font-size: 1.2rem;
    color: #2d2d2d;
    line-height: 150%;
    padding-top: 1rem; }
  main a {
    color: #008cba;
    font-weight: 700;
    text-decoration: none; }
  main a:hover {
    color: darker(#008cba, 15%);
    text-decoration: underline; }
  main ul {
    list-style-type: none; }
  main ul li {
    padding: .4rem 0;
    color: #6f6f6f;
    line-height: 120%; }
    main ul li a {
      color: #cb8a18; }
  main ol li {
    margin-left: 4%;
    padding-bottom: .3rem; }
  main a.button {
    display: block;
    width: 8rem;
    text-align: center;
    background-color: #008cba;
    border-radius: 10px;
    padding: .5rem 1rem;
    margin: 1rem 0 0 0;
    color: white;
    text-decoration: none;
    transition: background .3s ease; }
  main a.button:hover {
    background-color: #e6a430; }
  main section {
    padding: .5rem;
    background-color: #eee;
    margin-bottom: 1rem;
    text-align: center; }
    main section a {
      display: block;
      padding: .5rem 0;
      margin: .5rem 0;
      text-align: center;
      text-decoration: none;
      border-radius: 10px;
      background-color: #f00;
      color: white;
      font-size: 1.5rem; }
    main section h4 {
      font-size: 1rem;
      color: #008cba; }
  main figure {
    width: 100%; }
  main figure img {
    width: 100%; }
  main table.featureCompare {
    border-collapse: collapse;
    width: 100%;
    border-radius: 10px;
    border: solid 1px #e6a430;
    border-top: none;
    margin-top: .6rem; }
    main table.featureCompare caption {
      padding: .5rem 0;
      font-size: .9rem;
      font-weight: 700;
      color: #008cba;
      border: solid 1px #e6a430;
      border-top-right-radius: 30px;
      border-top-left-radius: 30px;
      border-bottom: none;
      background-color: #fcf4e6; }
    main table.featureCompare th {
      background-color: #fcf4e6;
      padding: 1rem 0;
      color: #e6a430; }
    main table.featureCompare td {
      padding: .5rem 2%;
      text-align: center;
      font-size: .8rem; }
    main table.featureCompare td:nth-child(1) {
      text-align: left; }
    main table.featureCompare tr:nth-child(even) {
      background-color: #edfbff; }
  main ul.footnote li {
    font-size: 75%;
    padding: .3rem 0 .1rem .2rem;
    color: #999;
    list-style-type: circle;
    list-style-position: inside; }
  main a.mybutton {
    display: block;
    max-width: 400px;
    border-radius: 15px;
    background-image: linear-gradient(to bottom, #00b2ed 0%, #008cba 100%);
    padding: .5rem 2rem;
    color: white;
    text-align: center; }
  main a.mybutton:hover {
    color: black;
    text-decoration: none; }

/* FOOTER  */
footer {
  -ms-grid-row: 5;
  grid-area: footer;
  background-color: #2d2d2d;
  color: white;
  font-size: .75rem;
  padding: 1rem 0;
  text-align: center;
  background-image: url(../images/low_contrast_linen.png); }

/*----- Clearfix: Force an Element not to collapse -----*/
.clearfix:after {
  content: "";
  display: table;
  clear: both; }

@media only screen and (max-width: 44.9375em) {
  nav {
    /* Submenus  optional .parent class indicates dropdowns */ }
    nav ul li a {
      display: block;
      padding: 10px 2vw;
      font-size: 1rem;
      background: linear-gradient(#494949 0%, #3c3c3c 100%);
      color: white;
      text-decoration: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.01); }
      nav ul li a span {
        display: none; }
    nav ul > li:first-child {
      border-top: 1px solid rgba(0, 0, 0, 0.2); }
    nav ul > li:hover > a {
      background: rgba(255, 255, 255, 0.2); }
    nav ul li.parent > a:after {
      content: "\25BC";
      color: rgba(255, 255, 255, 0.5);
      float: right;
      font-size: .6rem; }
    nav ul li.parent > a:hover {
      background: rgba(0, 0, 0, 0.5); }
    nav ul li ul {
      display: none;
      background: rgba(0, 0, 0, 0.5);
      border-top: 0 none;
      padding: 0; }
    nav ul li ul a {
      border: 0 none;
      font-size: .8rem;
      padding: .7rem 5%;
      font-weight: normal;
      background: none; }
    nav ul li:hover ul {
      display: block;
      border-top: 0 none; } }
@media only screen and (min-width: 45em) {
  body {
    grid-template-areas: "header social" "links  links" "content  content" "footer  footer";
    grid-template-columns: auto 8rem; }

  div.social {
    padding-right: 2vw;
    -ms-grid-row: 1; }

  /* NAVigation  */
  div.menuBtn {
    display: none; }

  nav {
    -ms-grid-row: 3;
    height: auto; }
    nav a.hamburger {
      display: none; }
    nav ul {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: flex-start;
      margin-left: 2%;
      border-left: 1px solid rgba(0, 0, 0, 0.2);
      background: linear-gradient(#494949 0%, #3c3c3c 100%); }
    nav ul li a {
      display: block;
      border-right: 1px solid rgba(0, 0, 0, 0.2);
      font-size: .9em;
      padding: .7em .9em;
      color: white;
      text-decoration: none;
      /*transition*/
      -webkit-transition: color 0.3s linear;
      transition: color 0.3s linear; }
      nav ul li a span {
        display: none; }
    nav ul li a:hover {
      background: #606060; }
    nav ul li ul {
      /*rules for the sub menu items*/
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      margin: 0;
      z-index: 99;
      position: absolute;
      background-color: #474747;
      width: 22em;
      left: -999em;
      /* pushes the menu way off to the side */ }
    nav ul li ul li {
      width: 100%; }
    nav ul li ul li a {
      border: none;
      border-bottom: 1px solid rgba(0, 0, 0, 0.5); }
    nav ul li:hover ul {
      /* this displays the menus as drop downs  */
      left: auto;
      margin-left: 0; }

  /* HEADER  */
  header {
    -ms-grid-row: 2;
    background-color: #2d2d2d; }
    header h1 {
      font-size: 1.45rem; }
      header h1 br {
        display: none; }

  /* MAIN  */
  main {
    -ms-grid-row: 4;
    min-height: 4rem;
    padding-bottom: 1rem; }
    main section {
      display: grid;
      grid-template-columns: 210px auto; }
    main aside.row {
      display: flex; }
    main aside.row div {
      flex-basis: 50%; }

  footer {
    -ms-grid-row: 5; } }
@media only screen and (min-width: 64em) {
  body {
    background-image: url(../images/bodyTexture.png); }

  header {
    padding: 2rem 0 .5rem 2vw; }
    header h1 {
      font-size: 2rem; }

  nav ul li a span {
    display: inline; }

  main {
    background-color: white; }
    main .row {
      max-width: 72rem;
      background-color: white;
      margin: 0 auto; }
    main div.myFlexGrid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-flow: row wrap; }
      main div.myFlexGrid section {
        width: 48%;
        margin: 0 1% 1rem 1%; } }
