@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,400italic");
@import "syntax-highlight-github.css";

/*
  Photon by HTML5 UP
  html5up.net | @ajlkn
  Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

body {
  -webkit-text-size-adjust: none;
}

mark {
  background-color: transparent;
  color: inherit;
}

/* Basic */

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
  border: none;
}

body {
  background: #fff;
}

body.is-preload *, body.is-preload *:before, body.is-preload *:after {
  -moz-animation: none !important;
  -webkit-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;

}

body, input, select, textarea {
  color: #333;
  font-family: "Source Sans Pro", Helvetica, sans-serif;
  font-size: 100%;
  /* font-weight: 300; */
  line-height: 1.5em;
}

a {
  -moz-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  border-bottom: none;
  color: #0014ca;
  text-decoration: none;
}

a:hover {
  border-bottom: 1px solid #6eb3bd;
  color: #4d959f;
}

strong, b {
  color: black;
  /* font-weight: 550; */ font-weight: bold;
}

em, i {
  font-style: italic;
}

p {
  margin: 0 0 0.75em 0;
}

h1, h2, h3, h4, h5, h6 {
  color: #232323;
  line-height: 1.35em;
  margin: 0.25em 0 0 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
  text-decoration: none;
}

h1 { font-size: 1.75em; }
h2 { font-size: 1.50em; }
h3 { font-size: 1.25em; }
h4 { font-size: 1.20em; }
h5 { font-size: 1.15em; }
h6 { font-size: 1.10em; }

sub {
  font-size: 0.8em;
  position: relative;
  top: 0.5em;
}

sup {
  font-size: 0.8em;
  position: relative;
  top: -0.5em;
}

hr {
  border: 0;
  border-bottom: solid 1px rgba(144, 144, 144, 0.5);
  margin: 0 0 1em 0;
}

hr.major {
  margin: 3em 0;
}

blockquote {
  border-left: solid 4px rgba(144, 144, 144, 0.5);
  font-style: italic;
  margin: 0 0 1em 0;
  padding: 0.5em 0 0.5em 2em;
}

code {
  background: rgba(144, 144, 144, 0.075);
  border-radius: 4px;
  border: solid 1px rgba(144, 144, 144, 0.5);
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  margin: 0 0.25em;
  padding: 0.25em 0.65em;
}

pre {
  -webkit-overflow-scrolling: touch;
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  margin: 0 0 1em 0;
}

pre code {
  display: block;
  line-height: 1.75em;
  padding: 1em 1.5em;
  overflow-x: auto;
}

/* Container */
@media screen and (min-width: 880px) {

  .container.xsmall {
    width: 15em;
  }

  .container.small {
    width: 30em;
  }

  .container.medium {
    width: 45em;
  }

  .container.large {
    width: 75em;
  }

  .container.xlarge {
    width: 90em;
  }

  .container.max {
    width: 100%;
  }
}

@media screen and (max-width: 879px) {

  .container {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Row */

.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch;
}

.row > * {
  box-sizing: border-box;
}

.row.gtr-uniform > * > :last-child {
  margin-bottom: 0;
}

.row.aln-left {
  justify-content: flex-start;
}

.row.aln-center {
  justify-content: center;
}

.row.aln-right {
  justify-content: flex-end;
}

.row.aln-top {
  align-items: flex-start;
}

.row.aln-middle {
  align-items: center;
}

.row.aln-bottom {
  align-items: flex-end;
}

.row > .imp {
  order: -1;
}

.row > .col-1 {
  width: 8.33333%;
}

.row > .off-1 {
  margin-left: 8.33333%;
}

.row > .col-2 {
  width: 16.66667%;
}

.row > .off-2 {
  margin-left: 16.66667%;
}

.row > .col-3 {
  width: 25%;
}

.row > .off-3 {
  margin-left: 25%;
}

.row > .col-4 {
  width: 33.33333%;
}

.row > .off-4 {
  margin-left: 33.33333%;
}

.row > .col-5 {
  width: 41.66667%;
}

.row > .off-5 {
  margin-left: 41.66667%;
}

.row > .col-6 {
  width: 50%;
}

.row > .off-6 {
  margin-left: 50%;
}

.row > .col-7 {
  width: 58.33333%;
}

.row > .off-7 {
  margin-left: 58.33333%;
}

.row > .col-8 {
  width: 66.66667%;
}

.row > .off-8 {
  margin-left: 66.66667%;
}

.row > .col-9 {
  width: 75%;
}

.row > .off-9 {
  margin-left: 75%;
}

.row > .col-10 {
  width: 83.33333%;
}

.row > .off-10 {
  margin-left: 83.33333%;
}

.row > .col-11 {
  width: 91.66667%;
}

.row > .off-11 {
  margin-left: 91.66667%;
}

.row > .col-12 {
  width: 100%;
}

.row > .off-12 {
  margin-left: 100%;
}

.row.gtr-0 {
  margin-top: 0;
  margin-left: 0em;
}

.row.gtr-0 > * {
  padding: 0 0 0 0em;
}

.row.gtr-0.gtr-uniform {
  margin-top: 0em;
}

.row.gtr-0.gtr-uniform > * {
  padding-top: 0em;
}

.row.gtr-25 {
  margin-top: 0;
  margin-left: -0.5em;
}

.row.gtr-25 > * {
  padding: 0 0 0 0.5em;
}

.row.gtr-25.gtr-uniform {
  margin-top: -0.5em;
}

.row.gtr-25.gtr-uniform > * {
  padding-top: 0.5em;
}

.row.gtr-50 {
  margin-top: 0;
  margin-left: -1em;
}

.row.gtr-50 > * {
  padding: 0 0 0 1em;
}

.row.gtr-50.gtr-uniform {
  margin-top: -1em;
}

.row.gtr-50.gtr-uniform > * {
  padding-top: 1em;
}

.row {
  margin-top: 0;
  margin-left: -2em;
}

.row > * {
  padding: 0 0 0 2em;
}

.row.gtr-uniform {
  margin-top: -2em;
}

.row.gtr-uniform > * {
  padding-top: 2em;
}

.row.gtr-150 {
  margin-top: 0;
  margin-left: -3em;
}

.row.gtr-150 > * {
  padding: 0 0 0 3em;
}

.row.gtr-150.gtr-uniform {
  margin-top: -3em;
}

.row.gtr-150.gtr-uniform > * {
  padding-top: 3em;
}

.row.gtr-200 {
  margin-top: 0;
  margin-left: -4em;
}

.row.gtr-200 > * {
  padding: 0 0 0 4em;
}

.row.gtr-200.gtr-uniform {
  margin-top: -4em;
}

.row.gtr-200.gtr-uniform > * {
  padding-top: 4em;
}

@media screen and (max-width: 736px) {

  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }

  .row > * {
    box-sizing: border-box;
  }

  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }

  .row.aln-left {
    justify-content: flex-start;
  }

  .row.aln-center {
    justify-content: center;
  }

  .row.aln-right {
    justify-content: flex-end;
  }

  .row.aln-top {
    align-items: flex-start;
  }

  .row.aln-middle {
    align-items: center;
  }

  .row.aln-bottom {
    align-items: flex-end;
  }

  .row > .imp-small {
    order: -1;
  }

  .row > .col-1-small {
    width: 8.33333%;
  }

  .row > .off-1-small {
    margin-left: 8.33333%;
  }

  .row > .col-2-small {
    width: 16.66667%;
  }

  .row > .off-2-small {
    margin-left: 16.66667%;
  }

  .row > .col-3-small {
    width: 25%;
  }

  .row > .off-3-small {
    margin-left: 25%;
  }

  .row > .col-4-small {
    width: 33.33333%;
  }

  .row > .off-4-small {
    margin-left: 33.33333%;
  }

  .row > .col-5-small {
    width: 41.66667%;
  }

  .row > .off-5-small {
    margin-left: 41.66667%;
  }

  .row > .col-6-small {
    width: 50%;
  }

  .row > .off-6-small {
    margin-left: 50%;
  }

  .row > .col-7-small {
    width: 58.33333%;
  }

  .row > .off-7-small {
    margin-left: 58.33333%;
  }

  .row > .col-8-small {
    width: 66.66667%;
  }

  .row > .off-8-small {
    margin-left: 66.66667%;
  }

  .row > .col-9-small {
    width: 75%;
  }

  .row > .off-9-small {
    margin-left: 75%;
  }

  .row > .col-10-small {
    width: 83.33333%;
  }

  .row > .off-10-small {
    margin-left: 83.33333%;
  }

  .row > .col-11-small {
    width: 91.66667%;
  }

  .row > .off-11-small {
    margin-left: 91.66667%;
  }

  .row > .col-12-small {
    width: 100%;
  }

  .row > .off-12-small {
    margin-left: 100%;
  }

  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }

  .row.gtr-0 > * {
    padding: 0 0 0 0em;
  }

  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }

  .row.gtr-0.gtr-uniform > * {
    padding-top: 0em;
  }

  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5em;
  }

  .row.gtr-25 > * {
    padding: 0 0 0 0.5em;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -0.5em;
  }

  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.5em;
  }

  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1em;
  }

  .row.gtr-50 > * {
    padding: 0 0 0 1em;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -1em;
  }

  .row.gtr-50.gtr-uniform > * {
    padding-top: 1em;
  }

  .row {
    margin-top: 0;
    margin-left: -2em;
  }

  .row > * {
    padding: 0 0 0 2em;
  }

  .row.gtr-uniform {
    margin-top: -2em;
  }

  .row.gtr-uniform > * {
    padding-top: 2em;
  }

  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3em;
  }

  .row.gtr-150 > * {
    padding: 0 0 0 3em;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -3em;
  }

  .row.gtr-150.gtr-uniform > * {
    padding-top: 3em;
  }

  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4em;
  }

  .row.gtr-200 > * {
    padding: 0 0 0 4em;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -4em;
  }

  .row.gtr-200.gtr-uniform > * {
    padding-top: 4em;
  }
}

div.row {
  display: flex;
}

/* Column */

div.column3 {
  flex: 33.33%;
  padding: 5px;
}

div.column5 {
  flex: 20%;
  padding: 5px;
}

/* Section/Article */

section.special, article.special {
  text-align: center;
}

header p {
  color: #000000;
  margin: 0 0 1.5em 0;
  position: relative;
}

header h2 + p {
  font-size: 1.25em;
  line-height: 1.5em;
  margin-top: -1em;
}

header h3 + p {
  font-size: 1.1em;
  line-height: 1.5em;
  margin-top: -0.8em;
}

header h4 + p,
header h5 + p,
header h6 + p {
  font-size: 0.9em;
  line-height: 1.5em;
  margin-top: -0.6em;
}

header.major {
  margin: 0 0 0.5em 0;
}

header.major h2, header.major h3, header.major h4, header.major h5, header.major h6 {
  margin: 0 0 0 0;
}

header.major p {
  margin: 0.7em 0 1.4em 0;
}

header.special {
  text-align: center;
  white-space: nowrap;
}

header.special h1 {
  display: inline-block;
  border-bottom: 1px solid black;
  padding-bottom: 0 0.5em 0.3em 0.5em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  max-width: calc(100% - 7em);
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Project icon */

.project-icon {
  display: inline-block;
  border-radius: 1em;
  border: 1px solid aliceblue;
  padding: 0.5em;
  background: #ffe;
  vertical-align: middle;
  font-size: 1rem;
}
.project-icon img {
  width: 4em;
}
.project-counterweight {
  display: inline-block;
  width: 6em;
}

/* Box */

.box {
  border-radius: 4px;
  border: solid 1px rgba(144, 144, 144, 0.5);
  margin-bottom: 2em;
  padding: 1.5em;
}

.box > :last-child,
.box > :last-child > :last-child,
.box > :last-child > :last-child > :last-child {
  margin-bottom: 0;
}

.box.alt {
  border: 0;
  border-radius: 0;
  padding: 0;
}

/* Icon */

.icon {
  text-decoration: none;
  border-bottom: none;
  position: relative;
}

.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: 'Font Awesome 5 Free';
  /* font-weight: 400; */
  padding-left: 0.1em;
  padding-right: 0.1em;
}

.icon > .label {
  display: none;
}

.icon:before {
  line-height: inherit;
}

.icon.solid:before {
  /* font-weight: 900 !important; */
}

.icon.brands:before {
  font-family: 'Font Awesome 5 Brands';
}

.icon.style1:before {
  color: #c3e895;
}

.icon.style2:before {
  color: #8addaa;
}

.icon.style3:before {
  color: #6bd4c8;
}

.icon.style4:before {
  color: #57aed3;
}

.icon.style5:before {
  color: #4a87d3;
}

.icon.style6:before {
  color: #6b88e6;
}

.icon.major {
  text-decoration: none;
  color: #555;
  cursor: default;
  display: inline-block;
  margin: 0 0 1.5em 0;
}

.icon.major:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: 'Font Awesome 5 Free';
  /* font-weight: 400; */
}

.icon.major:before {
  font-size: 4em;
  line-height: 1em;
}

/* List */

ol {
  list-style: decimal;
  margin: 0 0 1em 0;
  padding-left: 1.25em;
}

ol li {
  padding-left: 0.25em;
}

ul {
  list-style: disc;
  margin: 0 0 1em 0;
  padding-left: 1em;
}

ul li {
  padding-left: 0.5em;
}

ul.alt {
  list-style: none;
  padding-left: 0;
}

ul.alt li {
  border-top: solid 1px rgba(144, 144, 144, 0.5);
  padding: 0.5em 0;
}

ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

dl {
  margin: 0 0 1em 0;
}

/* Breadcrumb */

ul.breadcrumb {
  padding: 10px 16px;
  list-style: none;
  margin: 0 0 0 0;
  background-color: #eee;
}

ul.breadcrumb a {
  color: #585858;
  border-bottom: none;
  /* font-weight: 500; */
  text-decoration: underline;
}

ul.breadcrumb li {
  display: inline;
  font-size: 18px;
}

ul.breadcrumb li+li:before {
  padding: 8px;
  color: #585858;
  content: "/\00a0";
}

/* Actions */

ul.actions {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: -1em;
  padding-left: 0;
}

ul.actions li {
  padding: 0 0 0 1em;
  vertical-align: middle;
}

ul.actions.special {
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  width: 100%;
  margin-left: 0;
}

ul.actions.special li:first-child {
  padding-left: 0;
}

ul.actions.stacked {
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: 0;
}

ul.actions.stacked li {
  padding: 1.3em 0 0 0;
}

ul.actions.stacked li:first-child {
  padding-top: 0;
}

ul.actions.fit {
  width: calc(100% + 1em);
}

ul.actions.fit li {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}

ul.actions.fit li > * {
  width: 100%;
}

ul.actions.fit.stacked {
  width: 100%;
}

/* Icons */

ul.icons {
  cursor: default;
  list-style: none;
  padding-left: 0;
}

ul.icons a {
  -moz-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  border-bottom: dotted 1px #666;
  color: inherit;
  text-decoration: none;
}

ul.icons a:hover {
  border-bottom-color: transparent !important;
  color: #4d959f;
}

ul.icons li {
  display: inline-block;
  padding: 1em 1.25em 0 0;
}

ul.icons li:last-child {
  padding-right: 0;
}

ul.icons li .icon:before {
  font-size: 1.5em;
}

/* Major Icons */

ul.major-icons {
  list-style: none;
  padding-left: 0;
}

ul.major-icons li {
  display: inline-block;
  padding: 2.5em;
  text-align: center;
}

ul.major-icons li .icon {
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-radius: 4px;
  border: solid 1px rgba(144, 144, 144, 0.5);
  display: inline-block;
  height: 8em;
  line-height: 8em;
  margin: 0;
  text-align: center;
  width: 8em;
}

ul.major-icons li .icon:before {
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  display: inline-block;
  line-height: inherit;
}

/* Browse */

.browse h2 {
  margin: 0.1em 0 0 0;
  /* font-weight: 550; */
}

.browse a {
  color: #585858;
  border-bottom: none;
  /* font-weight: 550; */
}

.browse a:hover {
  color:#6eb3bd;
}

/* Table */

table {
  margin: 0 auto 1rem auto;
}

table tbody tr {
  border-left: 0;
  border-right: 0;
}

table tbody tr:nth-child(2n + 1) {
  background-color: rgba(144, 144, 144, 0.075);
}

table td {
  padding: 0.5em 0.5em;
  vertical-align: middle;
}

table th {
  color: #555;
  font-size: 0.9em;
  /* font-weight: 400; */
  padding: 0 0.75em 0.75em 0.75em;
  text-align: left;
  vertical-align: bottom;
}

table thead {
  border-bottom: solid 1px rgba(144, 144, 144, 0.5);
}

table tfoot {
  border-top: solid 1px rgba(144, 144, 144, 0.5);
}

table.alt {
  border-collapse: separate;
}

table.alt tbody tr td {
  border: solid 1px rgba(144, 144, 144, 0.5);
  border-left-width: 0;
  border-top-width: 0;
}

table.alt tbody tr td:first-child {
  border-left-width: 1px;
}

table.alt tbody tr:first-child td {
  border-top-width: 1px;
}

table.alt thead {
  border-bottom: 0;
}

table.alt tfoot {
  border-top: 0;
}

table.top td {
  vertical-align: top;
}
table.middle td {
  vertical-align: middle;
}
table.bottom td {
  vertical-align: bottom;
}

table.striped-columns td:nth-child(even), table.striped-columns th:nth-child(even) {
  background-color: rgba(144, 144, 144, 0.075);
}

table.plain tr {
  background: none !important;
}

/* Page content */

.page-content h1, .page-content h2, .page-content h3,
.page-content h4, .page-content h5, .page-content h6 {
  color: #232323;
  margin: 1em 0 0.2em 0;
  font-weight: bold;
}

.page-content h1 { border-bottom: solid 1px rgba(144, 144, 144, 0.5); }
.page-content h2 { border-bottom: solid 1px rgba(144, 144, 144, 0.3); }
.page-content h3 { border-bottom: solid 1px rgba(144, 144, 144, 0.1); }

/* Button */

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  background-color: transparent;
  border-radius: 4px;
  border: 0;
  box-shadow: inset 0 0 0 1px rgba(144, 144, 144, 0.5);
  color: #555 !important;
  cursor: pointer;
  display: inline-block;
  font-size: 0.9em;
  /* font-weight: 400; */
  height: 2.75em;
  letter-spacing: 0.125em;
  line-height: 2.75em;
  padding: 0 2em;
  text-align: center;
  text-decoration: none;
  text-indent: 0.125em;
  font-variant: small-caps;
  white-space: nowrap;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.button:hover {
  background-color: #1567673d;
  border-bottom: none;
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.button:active {
  background-color: rgba(144, 144, 144, 0.2);
}

input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
button.icon:before,
.button.icon:before {
  margin-right: 0.5em;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
button.fit,
.button.fit {
  width: 100%;
}

input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
button.small,
.button.small {
  font-size: 0.7em;
}

input[type="submit"].large,
input[type="reset"].large,
input[type="button"].large,
button.large,
.button.large {
  font-size: 1.25em;
}

input[type="submit"].wide,
input[type="reset"].wide,
input[type="button"].wide,
button.wide,
.button.wide {
  min-width: 12em;
}

input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
  background-color: #555;
  box-shadow: none !important;
  color: #fff !important;
}

input[type="submit"].primary:hover,
input[type="reset"].primary:hover,
input[type="button"].primary:hover,
button.primary:hover,
.button.primary:hover {
  background-color: #626262;
}

input[type="submit"].primary:active,
input[type="reset"].primary:active,
input[type="button"].primary:active,
button.primary:active,
.button.primary:active {
  background-color: #484848;
}

input[type="submit"].disabled, input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
  cursor: default;
  opacity: 0.25;
}

/* Main */

.main {
  padding: 0.5em 3em 3em 3em;
}

.main.style1 {
  background: #fff;
  min-height: 80vh; /* resolve the footer issue from sitting in the middle of the page */
}

.main.style2 {
  background-color: #333;
  color: rgba(255, 255, 255, 0.75);
  background-attachment: fixed, fixed;
  background-image: url("/media/site/overlay6.png");
  background-size: auto, cover;
  width: 50%;
  position: relative;
  float: right;
}

.main.style2 a {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}

.main.style2 a:hover {
  color: #ffffff;
}

.main.style2 h1, .main.style2 h2, .main.style2 h3, .main.style2 h4, .main.style2 h5, .main.style2 h6, .main.style2 strong, .main.style2 b {
  color: #ffffff;
}

.main.style2 header p {
  color: #ffffff;
}

.main.style2 header.major:after {
  background: #ffffff;
}

.main.style2 input[type="submit"],
.main.style2 input[type="reset"],
.main.style2 input[type="button"],
.main.style2 button,
.main.style2 .button {
  box-shadow: inset 0 0 0 1px #ffffff;
  color: #ffffff !important;
}

.main.style2 input[type="submit"]:hover,
.main.style2 input[type="reset"]:hover,
.main.style2 input[type="button"]:hover,
.main.style2 button:hover,
.main.style2 .button:hover {
  background-color: rgba(255, 255, 255, 0.125);
}

.main.style2 input[type="submit"]:active,
.main.style2 input[type="reset"]:active,
.main.style2 input[type="button"]:active,
.main.style2 button:active,
.main.style2 .button:active {
  background-color: rgba(255, 255, 255, 0.25);
}

.main.style2 input[type="submit"].primary,
.main.style2 input[type="reset"].primary,
.main.style2 input[type="button"].primary,
.main.style2 button.primary,
.main.style2 .button.primary {
  background-color: #ffffff;
  box-shadow: inset 0 0 0 1px #ffffff !important;
  color: #333 !important;
}

.main.style2 input[type="submit"].primary:hover,
.main.style2 input[type="reset"].primary:hover,
.main.style2 input[type="button"].primary:hover,
.main.style2 button.primary:hover,
.main.style2 .button.primary:hover {
  background-color: rgba(255, 255, 255, 0.125) !important;
  color: #ffffff !important;
}

.main.style2 input[type="submit"].primary:active,
.main.style2 input[type="reset"].primary:active,
.main.style2 input[type="button"].primary:active,
.main.style2 button.primary:active,
.main.style2 .button.primary:active {
  background-color: rgba(255, 255, 255, 0.25) !important;
}

.main.style2 ul.major-icons li .icon {
  border-color: #ffffff;
}

.main.style2 .icon.major {
  color: #ffffff;
}

.main.style3 {
  background-color: #333;
  color: rgba(255, 255, 255, 0.75);
  background-attachment: fixed, fixed;
  background-image: url("/media/site/overlay9.png");
  background-size: auto, cover;
  width: 50%;
  position: relative;
  float: left;
}

.main.style3 a {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}

.main.style3 a:hover {
  color: #ffffff;
}

.main.style3 h1, .main.style3 h2, .main.style3 h3, .main.style3 h4, .main.style3 h5, .main.style3 h6, .main.style3 strong, .main.style3 b {
  color: #ffffff;
}

.main.style3 header p {
  color: #ffffff;
}

.main.style3 header.major:after {
  background: #ffffff;
}

.main.style3 input[type="submit"],
.main.style3 input[type="reset"],
.main.style3 input[type="button"],
.main.style3 button,
.main.style3 .button {
  box-shadow: inset 0 0 0 1px #ffffff;
  color: #ffffff !important;
}

.main.style3 input[type="submit"]:hover,
.main.style3 input[type="reset"]:hover,
.main.style3 input[type="button"]:hover,
.main.style3 button:hover,
.main.style3 .button:hover {
  background-color: rgba(255, 255, 255, 0.125);
}

.main.style3 input[type="submit"]:active,
.main.style3 input[type="reset"]:active,
.main.style3 input[type="button"]:active,
.main.style3 button:active,
.main.style3 .button:active {
  background-color: rgba(255, 255, 255, 0.25);
}

.main.style3 input[type="submit"].primary,
.main.style3 input[type="reset"].primary,
.main.style3 input[type="button"].primary,
.main.style3 button.primary,
.main.style3 .button.primary {
  background-color: #ffffff;
  box-shadow: inset 0 0 0 1px #ffffff !important;
  color: #333 !important;
}

.main.style3 input[type="submit"].primary:hover,
.main.style3 input[type="reset"].primary:hover,
.main.style3 input[type="button"].primary:hover,
.main.style3 button.primary:hover,
.main.style3 .button.primary:hover {
  background-color: rgba(255, 255, 255, 0.125) !important;
  color: #ffffff !important;
}

.main.style3 input[type="submit"].primary:active,
.main.style3 input[type="reset"].primary:active,
.main.style3 input[type="button"].primary:active,
.main.style3 button.primary:active,
.main.style3 .button.primary:active {
  background-color: rgba(255, 255, 255, 0.25) !important;
}

.main.style3 ul.major-icons li .icon {
  border-color: #ffffff;
}

.main.style3 .icon.major {
  color: #ffffff;
}


@media screen and (max-width: 879px) {
  .main {
    padding: 0 1em 2em 1em;
  }

  .main.style2, .main.style3 {
    width:100%;
  }
}

span.avoidwrap { display:inline-block; }

/* List */

ul.major-icons li {
  padding: 2em;
}

ul.major-icons li .icon {
  height: 8em;
  line-height: 8em;
  width: 8em;
}

/* ======= BOXES ======= */

.shadowed-box {
  box-shadow: 4px 4px 4px lightgray;
  background: #eee;
  padding: 0.5em;
  margin-bottom: 0.8em;
}

/* ======= TABS ======= */

/* Tab styling taken from https://www.w3schools.com/howto/howto_js_tabs.asp */

/* Style the tab */
.tab {
  overflow: hidden;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
}

/* Style the buttons that are used to open the tab content */
.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  transition: 0.3s;
}

/* Change background color of buttons on hover */
.tab button:hover {
  background-color: #ddd;
}

/* Create an active/current tablink class */
.tab button.active {
  background-color: #ccc;
}

/* Style the tab content */
.tabcontent {
  display: none;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-top: none;
}

/* ======= ALIGNMENTS ======= */

.left {
  margin-left: 0;
  margin-right: 1em;
}
.right {
  margin-left: 1em;
  margin-right: 0;
}
.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.fit {
  display: block;
  width: 100%
}

.left-text { text-align: left; }
.right-text { text-align: right; }
.center-text { text-align: center; }

table.center, table.left, table.right {
  width: auto;
  display: table;
}

.float-left {
  margin-right: 1em;
}

.float-right {
  margin-left: 1em;
}

.top {
  vertical-align: top;
}
.middle {
  vertical-align: middle;
}
.bottom {
  vertical-align: bottom;
}

@media screen and (min-width: 880px) {
  .float-left {
    float: left;
    max-width: 50%;
  }

  .float-right {
    float: right;
    max-width: 50%;
  }
}
