/*
	Configuration
*/
/*
	Foundation
*/
.grid {
  /* (iOS) 8*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .grid > * {
    box-sizing: border-box; }
  .grid.-pad > * {
    padding: 2rem; }
  .grid.-vcenter {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .grid.-hcenter {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  @media (max-width: 512px) {
    .grid > * {
      width: 100%; }
    .grid.-xs-1 > * {
      width: 100%; }
    .grid.-xs-2 > * {
      width: 50%; }
    .grid.-xs-3 > * {
      width: 33.33333%; }
    .grid.-xs-4 > * {
      width: 25%; }
    .grid.-xs-5 > * {
      width: 20%; }
    .grid.-xs-6 > * {
      width: 16.66667%; } }
  @media (min-width: 513px) {
    .grid.-s-1 > * {
      width: 100%; }
    .grid.-s-2 > * {
      width: 50%; }
    .grid.-s-3 > * {
      width: 33.33333%; }
    .grid.-s-4 > * {
      width: 25%; }
    .grid.-s-5 > * {
      width: 20%; }
    .grid.-s-6 > * {
      width: 16.66667%; }
    .grid.-s-7 > * {
      width: 14.28571%; }
    .grid.-s-8 > * {
      width: 12.5%; }
    .grid.-s-9 > * {
      width: 11.11111%; }
    .grid.-s-10 > * {
      width: 10%; }
    .grid.-s-11 > * {
      width: 9.09091%; }
    .grid.-s-12 > * {
      width: 8.33333%; } }
  @media (min-width: 768px) {
    .grid.-m-1 > * {
      width: 100%; }
    .grid.-m-2 > * {
      width: 50%; }
    .grid.-m-3 > * {
      width: 33.33333%; }
    .grid.-m-4 > * {
      width: 25%; }
    .grid.-m-5 > * {
      width: 20%; }
    .grid.-m-6 > * {
      width: 16.66667%; }
    .grid.-m-7 > * {
      width: 14.28571%; }
    .grid.-m-8 > * {
      width: 12.5%; }
    .grid.-m-9 > * {
      width: 11.11111%; }
    .grid.-m-10 > * {
      width: 10%; }
    .grid.-m-11 > * {
      width: 9.09091%; }
    .grid.-m-12 > * {
      width: 8.33333%; } }
  @media (min-width: 1025px) {
    .grid.-l-1 > * {
      width: 100%; }
    .grid.-l-2 > * {
      width: 50%; }
    .grid.-l-3 > * {
      width: 33.33333%; }
    .grid.-l-4 > * {
      width: 25%; }
    .grid.-l-5 > * {
      width: 20%; }
    .grid.-l-6 > * {
      width: 16.66667%; }
    .grid.-l-7 > * {
      width: 14.28571%; }
    .grid.-l-8 > * {
      width: 12.5%; }
    .grid.-l-9 > * {
      width: 11.11111%; }
    .grid.-l-10 > * {
      width: 10%; }
    .grid.-l-11 > * {
      width: 9.09091%; }
    .grid.-l-12 > * {
      width: 8.33333%; } }

/*
Flexgrid-based grid system. For a good intro:
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
*/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  /* Less than or equal to 512*/
  /* Greater than or equal to 513*/ }
  .flex > * {
    -ms-flex: 1 0;
    -webkit-box-flex: 1;
    flex: 1 0; }
    .flex > *.-static {
      -ms-flex: none;
      -webkit-box-flex: 0;
      flex: none; }
  .flex.-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  .flex.-fixed > * {
    -ms-flex: 0 0 20%;
    -webkit-box-flex: 0;
    flex: 0 0 20%; }
  .flex.-pad > * {
    padding: 2rem; }
  .flex.-vtop {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
  .flex.-vcenter {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .flex.-vbottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end; }
  .flex.-hright {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .flex.-hcenter {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .flex.-hbetween {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .flex.-haround {
    -ms-flex-pack: distribute;
    justify-content: space-around; }
  .flex.-bauto > * {
    -ms-flex: 0 0;
    -webkit-box-flex: 0;
    flex: 0 0;
    -ms-flex-preferred-size: auto;
    flex-basis: auto; }
  .flex .break {
    display: none;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%; }
  @media (max-width: 512px) {
    .flex.-pad > * {
      padding: 1rem; }
    .flex > .-xs-1 {
      width: 25%; }
    .flex > .-xs-2 {
      width: 50%; }
    .flex > .-xs-3 {
      width: 75%; }
    .flex > .-xs-4 {
      width: 100%; }
    .flex.-xs-stack {
      -ms-flex-flow: wrap;
      flex-flow: wrap;
      width: 100%;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box; }
      .flex.-xs-stack > * {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        box-sizing: border-box; }
    .flex .break.-xs {
      display: block; } }
  @media (min-width: 513px) and (max-width: 767px) {
    .flex.-s-stack {
      -ms-flex-flow: wrap;
      flex-flow: wrap;
      width: 100%;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box; }
      .flex.-s-stack > * {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        box-sizing: border-box; }
    .flex .break {
      padding: 0;
      margin: 0;
      width: 0;
      height: 0; }
      .flex .break.-s {
        display: block; } }
  @media (min-width: 768px) and (max-width: 1024px) {
    .flex.-m-stack {
      -ms-flex-flow: wrap;
      flex-flow: wrap;
      width: 100%;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box; }
      .flex.-m-stack > * {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        box-sizing: border-box; }
    .flex .break.-m {
      display: block; } }
  @media (min-width: 513px) {
    .flex > .-s-1 {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1; }
    .flex > .-s-2 {
      -webkit-box-flex: 2;
      -ms-flex-positive: 2;
      flex-grow: 2; }
    .flex > .-s-3 {
      -webkit-box-flex: 3;
      -ms-flex-positive: 3;
      flex-grow: 3; }
    .flex > .-s-4 {
      -webkit-box-flex: 4;
      -ms-flex-positive: 4;
      flex-grow: 4; }
    .flex > .-s-5 {
      -webkit-box-flex: 5;
      -ms-flex-positive: 5;
      flex-grow: 5; }
    .flex > .-s-6 {
      -webkit-box-flex: 6;
      -ms-flex-positive: 6;
      flex-grow: 6; }
    .flex > .-s-7 {
      -webkit-box-flex: 7;
      -ms-flex-positive: 7;
      flex-grow: 7; }
    .flex > .-s-8 {
      -webkit-box-flex: 8;
      -ms-flex-positive: 8;
      flex-grow: 8; }
    .flex > .-s-9 {
      -webkit-box-flex: 9;
      -ms-flex-positive: 9;
      flex-grow: 9; }
    .flex > .-s-10 {
      -webkit-box-flex: 10;
      -ms-flex-positive: 10;
      flex-grow: 10; }
    .flex > .-s-11 {
      -webkit-box-flex: 11;
      -ms-flex-positive: 11;
      flex-grow: 11; }
    .flex > .-s-12 {
      -webkit-box-flex: 12;
      -ms-flex-positive: 12;
      flex-grow: 12; } }
  @media (max-width: 768px) {
    .flex.-m-stack-and-below {
      -ms-flex-flow: wrap;
      flex-flow: wrap;
      width: 100%;
      box-sizing: border-box; }
      .flex.-m-stack-and-below > * {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }
  @media (min-width: 768px) {
    .flex > .-m-1 {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1; }
    .flex > .-m-2 {
      -webkit-box-flex: 2;
      -ms-flex-positive: 2;
      flex-grow: 2; }
    .flex > .-m-3 {
      -webkit-box-flex: 3;
      -ms-flex-positive: 3;
      flex-grow: 3; }
    .flex > .-m-4 {
      -webkit-box-flex: 4;
      -ms-flex-positive: 4;
      flex-grow: 4; }
    .flex > .-m-5 {
      -webkit-box-flex: 5;
      -ms-flex-positive: 5;
      flex-grow: 5; }
    .flex > .-m-6 {
      -webkit-box-flex: 6;
      -ms-flex-positive: 6;
      flex-grow: 6; }
    .flex > .-m-7 {
      -webkit-box-flex: 7;
      -ms-flex-positive: 7;
      flex-grow: 7; }
    .flex > .-m-8 {
      -webkit-box-flex: 8;
      -ms-flex-positive: 8;
      flex-grow: 8; }
    .flex > .-m-9 {
      -webkit-box-flex: 9;
      -ms-flex-positive: 9;
      flex-grow: 9; }
    .flex > .-m-10 {
      -webkit-box-flex: 10;
      -ms-flex-positive: 10;
      flex-grow: 10; }
    .flex > .-m-11 {
      -webkit-box-flex: 11;
      -ms-flex-positive: 11;
      flex-grow: 11; }
    .flex > .-m-12 {
      -webkit-box-flex: 12;
      -ms-flex-positive: 12;
      flex-grow: 12; }
    .flex > .-m-13 {
      -webkit-box-flex: 13;
      -ms-flex-positive: 13;
      flex-grow: 13; }
    .flex > .-m-14 {
      -webkit-box-flex: 14;
      -ms-flex-positive: 14;
      flex-grow: 14; }
    .flex > .-m-15 {
      -webkit-box-flex: 15;
      -ms-flex-positive: 15;
      flex-grow: 15; }
    .flex > .-m-16 {
      -webkit-box-flex: 16;
      -ms-flex-positive: 16;
      flex-grow: 16; } }
  @media (min-width: 1025px) {
    .flex > .-l-1 {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1; }
    .flex > .-l-2 {
      -webkit-box-flex: 2;
      -ms-flex-positive: 2;
      flex-grow: 2; }
    .flex > .-l-3 {
      -webkit-box-flex: 3;
      -ms-flex-positive: 3;
      flex-grow: 3; }
    .flex > .-l-4 {
      -webkit-box-flex: 4;
      -ms-flex-positive: 4;
      flex-grow: 4; }
    .flex > .-l-5 {
      -webkit-box-flex: 5;
      -ms-flex-positive: 5;
      flex-grow: 5; }
    .flex > .-l-6 {
      -webkit-box-flex: 6;
      -ms-flex-positive: 6;
      flex-grow: 6; }
    .flex > .-l-7 {
      -webkit-box-flex: 7;
      -ms-flex-positive: 7;
      flex-grow: 7; }
    .flex > .-l-8 {
      -webkit-box-flex: 8;
      -ms-flex-positive: 8;
      flex-grow: 8; }
    .flex > .-l-9 {
      -webkit-box-flex: 9;
      -ms-flex-positive: 9;
      flex-grow: 9; }
    .flex > .-l-10 {
      -webkit-box-flex: 10;
      -ms-flex-positive: 10;
      flex-grow: 10; }
    .flex > .-l-11 {
      -webkit-box-flex: 11;
      -ms-flex-positive: 11;
      flex-grow: 11; }
    .flex > .-l-12 {
      -webkit-box-flex: 12;
      -ms-flex-positive: 12;
      flex-grow: 12; }
    .flex > .-l-13 {
      -webkit-box-flex: 13;
      -ms-flex-positive: 13;
      flex-grow: 13; }
    .flex > .-l-14 {
      -webkit-box-flex: 14;
      -ms-flex-positive: 14;
      flex-grow: 14; }
    .flex > .-l-15 {
      -webkit-box-flex: 15;
      -ms-flex-positive: 15;
      flex-grow: 15; }
    .flex > .-l-16 {
      -webkit-box-flex: 16;
      -ms-flex-positive: 16;
      flex-grow: 16; } }

/*
Standard grid system with rows and columns.
*/
.row {
  display: block;
  box-sizing: border-box;
  font-size: 0; }
  .row > * {
    width: 100%;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top; }
  .row > .-xs-1 {
    width: 8.33333%; }
  .row > .-xs-2 {
    width: 16.66667%; }
  .row > .-xs-3 {
    width: 25%; }
  .row > .-xs-4 {
    width: 33.33333%; }
  .row > .-xs-5 {
    width: 41.66667%; }
  .row > .-xs-6 {
    width: 50%; }
  .row > .-xs-7 {
    width: 58.33333%; }
  .row > .-xs-8 {
    width: 66.66667%; }
  .row > .-xs-9 {
    width: 75%; }
  .row > .-xs-10 {
    width: 83.33333%; }
  .row > .-xs-11 {
    width: 91.66667%; }
  .row > .-xs-12 {
    width: 100%; }
  .row.-hright {
    text-align: right; }
  .row.-hcenter {
    text-align: center; }
  .row.-vcenter > * {
    vertical-align: middle; }
  .row.-vbottom > * {
    vertical-align: text-bottom; }
  @media (min-width: 513px) {
    .row > .-s-1 {
      width: 8.33333%; }
    .row > .-s-2 {
      width: 16.66667%; }
    .row > .-s-3 {
      width: 25%; }
    .row > .-s-4 {
      width: 33.33333%; }
    .row > .-s-5 {
      width: 41.66667%; }
    .row > .-s-6 {
      width: 50%; }
    .row > .-s-7 {
      width: 58.33333%; }
    .row > .-s-8 {
      width: 66.66667%; }
    .row > .-s-9 {
      width: 75%; }
    .row > .-s-10 {
      width: 83.33333%; }
    .row > .-s-11 {
      width: 91.66667%; }
    .row > .-s-12 {
      width: 100%; } }
  @media (min-width: 768px) {
    .row > .-m-1 {
      width: 8.33333%; }
    .row > .-m-2 {
      width: 16.66667%; }
    .row > .-m-3 {
      width: 25%; }
    .row > .-m-4 {
      width: 33.33333%; }
    .row > .-m-5 {
      width: 41.66667%; }
    .row > .-m-6 {
      width: 50%; }
    .row > .-m-7 {
      width: 58.33333%; }
    .row > .-m-8 {
      width: 66.66667%; }
    .row > .-m-9 {
      width: 75%; }
    .row > .-m-10 {
      width: 83.33333%; }
    .row > .-m-11 {
      width: 91.66667%; }
    .row > .-m-12 {
      width: 100%; } }
  @media (min-width: 1025px) {
    .row > .-l-1 {
      width: 8.33333%; }
    .row > .-l-2 {
      width: 16.66667%; }
    .row > .-l-3 {
      width: 25%; }
    .row > .-l-4 {
      width: 33.33333%; }
    .row > .-l-5 {
      width: 41.66667%; }
    .row > .-l-6 {
      width: 50%; }
    .row > .-l-7 {
      width: 58.33333%; }
    .row > .-l-8 {
      width: 66.66667%; }
    .row > .-l-9 {
      width: 75%; }
    .row > .-l-10 {
      width: 83.33333%; }
    .row > .-l-11 {
      width: 91.66667%; }
    .row > .-l-12 {
      width: 100%; } }

/* deprecated and optional */
/*
	Wrappers
	Creates wrapping classes for 200 - 1200 px widths.
	Ex: .-wrap-200
*/
@media (max-width: 512px) {
  .-wrap {
    margin: 0.25rem; } }

@media (min-width: 513px) {
  .-wrap {
    margin: 0 1rem; } }

@media (min-width: 768px) {
  .-wrap {
    margin: 0 2rem; } }

.-wrap-200 {
  max-width: 200px;
  margin: auto; }

.-wrap-20 {
  max-width: 20rem;
  margin: auto; }

.-wrap-400 {
  max-width: 400px;
  margin: auto; }

.-wrap-40 {
  max-width: 40rem;
  margin: auto; }

.-wrap-600 {
  max-width: 600px;
  margin: auto; }

.-wrap-60 {
  max-width: 60rem;
  margin: auto; }

.-wrap-800 {
  max-width: 800px;
  margin: auto; }

.-wrap-80 {
  max-width: 80rem;
  margin: auto; }

.-wrap-1000 {
  max-width: 1000px;
  margin: auto; }

.-wrap-100 {
  max-width: 100rem;
  margin: auto; }

.-wrap-1200 {
  max-width: 1200px;
  margin: auto; }

.-wrap-120 {
  max-width: 120rem;
  margin: auto; }

/*
	Padding
*/
/*
	Hide something at specific breakpoints
*/
@media (max-width: 512px) {
  .-xs-hide {
    display: none; } }

@media (max-width: 767px) {
  .-s-les-hide {
    display: none; } }

@media (min-width: 513px) {
  .-s-hide {
    display: none; } }

@media (min-width: 768px) {
  .-m-hide {
    display: none !important; } }

@media (min-width: 1025px) {
  .-l-hide {
    display: none; } }

@media (max-width: 767px) {
  .-m-or-larger {
    display: none; } }

@media (max-width: 768px) {
  .-l-or-larger {
    display: none; } }

/*
	Show something at specific breakpoints
*/
/*
	Overflow scroll
*/
.-scroll-y {
  overflow-y: auto;
  max-width: 100%; }

.-scroll-x {
  overflow-x: auto;
  max-height: 100%; }

/*
	Elements
*/
/*
	Normalize all Text Elements
*/
html {
  font-size: 16px; }

html, textarea, input, .select span {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif; }

h1, h2, h3, h4, h5, h6, td, li, p, figcaption {
  font-size: 1rem;
  font-weight: normal;
  margin: 1rem 0; }

ul, ol {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2rem; }

li {
  font-size: 1rem;
  line-height: 1.2rem; }

/*
	Style Text Elements
	Based on:
	http://type-scale.com/?size=16&scale=1.414&text=A%20Visual%20Type%20Scale&webfont=Libre+Baskerville&font-family=%27Libre%20Baskerville%27,%20serif&font-weight=400&font-family-headers=&font-weight-headers=inherit&background-color=white&font-color=%23333
*/
p, td, address, time {
  line-height: 1.45rem;
  font-size: 1rem; }

p svg {
  width: 12px;
  height: 12px;
  margin-right: 4px; }

a {
  color: inherit;
  text-decoration: none; }

.mega-header {
  font-size: 5.5rem;
  line-height: 5.7rem;
  font-weight: 700; }

.header {
  font-size: 4rem;
  line-height: 4.3rem;
  font-weight: 700; }

.title {
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1.2; }

.title-small {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1; }

.title-sub {
  font-size: 1.25rem;
  font-weight: 600; }
  @media (min-width: 1025px) {
    .title-sub {
      font-size: 1.45rem; } }

.quote {
  font-style: 1.35rem;
  font-style: italic;
  line-height: 1.6rem;
  font-weight: 300; }

.highlight {
  font-size: 0.75rem;
  font-weight: bold;
  color: #cf102b; }

.detail {
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1rem; }

.code {
  color: #cf102b; }

.cutline, figcaption {
  font-size: 0.707rem; }

hr {
  border: 0;
  width: 100%;
  color: #cf102b;
  background-color: #cf102b;
  height: 2px; }

/*
	Modifiers for Text Elements
*/
.-text-right {
  text-align: right; }

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

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

.-bold {
  font-weight: bold; }

.-horizontal {
  margin: 0;
  padding: 0;
  list-style: none; }
  .-horizontal > li {
    display: inline-block; }

@media (max-width: 767px) {
  .title {
    font-size: 1.75rem; }
  .header, .mega-header {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 2.45rem; }
  .detail {
    font-size: 0.8rem; }
  ul, ol {
    font-size: 0.8rem; }
  li {
    font-size: 0.8rem; } }

table {
  border-collapse: collapse;
  background: #fff;
  border: 1px solid;
  border-color: #eeeeee;
  width: 100%; }
  table th {
    font-weight: bold;
    padding: 8px; }
  table td {
    padding: 8px;
    vertical-align: text-top; }
  table thead {
    text-align: left; }
    table thead tr {
      border-bottom: 2px solid;
      border-color: #eeeeee; }
  table tbody tr {
    border-bottom: 1px solid;
    border-color: #eeeeee; }
  table.-striped tbody tr:nth-of-type(2n+1) {
    background-color: #f9f9f9; }
  table.-hover tbody tr:hover {
    background-color: whitesmoke; }

/*
	Shadows
	Controlled via a depth class, and numbers are based
	on the Google Material Design standard.
*/
.-depth-1, .card {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }

.-depth-2 {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); }

.-depth-3 {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); }

.-depth-4 {
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2); }

.-depth-5 {
  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); }

.-depth-6 {
  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); }

.-depth-7 {
  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); }

/*
	Font colors
*/
.-fg-primary1 {
  color: #cf102b; }

.-fg-primary2 {
  color: #626c76; }

.-fg-secondary1 {
  color: #404040; }

.-fg-secondary2 {
  color: #8c8c8c; }

.-fg-tertiary1 {
  color: #f9f9f9; }

.-fg-tertiary2 {
  color: #ccc; }

.-fg-tertiary3 {
  color: #eee; }

.-fg-facebook {
  color: #3b5998; }

.-fg-flickr {
  color: #0063db; }

.-fg-github {
  color: #4183c4; }

.-fg-googleplus {
  color: #dd4b39; }

.-fg-instagram {
  color: #517fa4; }

.-fg-kickstarter {
  color: #76cc1e; }

.-fg-linkedin {
  color: #007bb6; }

.-fg-pinterest {
  color: #cb2027; }

.-fg-twitter {
  color: #00aced; }

.-fg-vimeo {
  color: #aad450; }

.-fg-youtube {
  color: #b00; }

.-fg-white {
  color: #fff; }

.-fg-green {
  color: #338700; }

.-fg-red {
  color: #cf102b; }

.-fg-black {
  color: #303030; }

.-fg-black-reverse {
  color: #cfcfcf; }

.-fg-blue {
  color: #11aef7; }

.-fg-purple {
  color: #892890; }

/*
	Background colors
*/
/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-primary1 {
  background-color: #cf102b; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-primary2 {
  background-color: #626c76; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-secondary1 {
  background-color: #404040; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-secondary2 {
  background-color: #8c8c8c; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-tertiary1 {
  background-color: #f9f9f9; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-tertiary2 {
  background-color: #ccc; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-tertiary3 {
  background-color: #eee; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-facebook {
  background-color: #3b5998; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-flickr {
  background-color: #0063db; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-github {
  background-color: #4183c4; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-googleplus {
  background-color: #dd4b39; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-instagram {
  background-color: #517fa4; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-kickstarter {
  background-color: #76cc1e; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-linkedin {
  background-color: #007bb6; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-pinterest {
  background-color: #cb2027; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-twitter {
  background-color: #00aced; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-vimeo {
  background-color: #aad450; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-youtube {
  background-color: #b00; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-white {
  background-color: #fff; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-green {
  background-color: #338700; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-red {
  background-color: #cf102b; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-black {
  background-color: #303030; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-black-reverse {
  background-color: #cfcfcf; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-blue {
  background-color: #11aef7; }

/*
		title = primary1
		value = red

		.-bg-primary1: red;
	*/
.-bg-purple {
  background-color: #892890; }

/*
	Media Normalization
	-------------------
*/
img,
svg {
  max-width: 100%;
  height: auto; }

svg {
  fill: currentColor; }

/*
	Aspect Ratios
	-------------
	These allow for responsive embedding of video content based on
	aspect ratio of the media.
*/
.ratio-1x1 {
  display: block;
  height: 0;
  padding: 0 0 100% 0;
  position: relative;
  overflow: hidden; }
  .ratio-1x1 > * {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.ratio-16x9 {
  display: block;
  height: 0;
  padding: 0 0 56.25% 0;
  position: relative;
  overflow: hidden; }
  .ratio-16x9 > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%; }

.ratio-4x3 {
  display: block;
  height: 0;
  padding: 0 0 75% 0;
  position: relative;
  overflow: hidden; }
  .ratio-4x3 > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%; }

/*
	Utility Classes
	---------------
	Classes that are useful for the presentation of media.
*/
.-pos {
  position: relative; }

.-no-overflow {
  overflow: hidden; }

.-cover {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  transform: translateX(-50%) translateY(-50%);
  background-size: cover;
  transition: 1s opacity; }

img.-block {
  display: block;
  width: 100%; }

/*
	Spin Animation
*/
.-spin {
  -webkit-animation-name: spin;
  -webkit-animation-duration: 2.6s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-name: spin;
  -moz-animation-duration: 2.6s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -ms-animation-name: spin;
  -ms-animation-duration: 2.6s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: linear;
  -o-animation-name: spin;
  animation-name: spin;
  -o-animation-duration: 2.6s;
  animation-duration: 2.6s;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -o-animation-timing-function: linear;
  animation-timing-function: linear; }

@-moz-keyframes spin {
  from {
    -moz-transform: rotate(0deg); }
  to {
    -moz-transform: rotate(360deg); } }

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg); } }

@keyframes spin {
  from {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/*
	Normalize Buttons
	-----------------
*/
input[type=button], .select span[type=button],
button,
.button {
  -webkit-appearance: none;
  display: inline-block;
  outline: none;
  border-width: 1px;
  border-style: solid;
  font: inherit;
  font-weight: 500;
  font-size: .85rem;
  -moz-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: box-shadow;
  cursor: pointer;
  padding: .5rem 2.5rem;
  border-radius: 50px;
  text-decoration: inherit;
  margin: 1rem 0;
  text-transform: uppercase;
  text-align: center;
  box-shadow: none;
  user-select: none;
  /*
		Background / Foreground Colors for Hover States
	*/ }
  @media (max-width: 512px) {
    input[type=button], .select span[type=button],
    button,
    .button {
      padding: .5rem 1rem; } }
  input[type=button]::-moz-focus-inner, .select span[type=button]::-moz-focus-inner,
  button::-moz-focus-inner,
  .button::-moz-focus-inner {
    border: 0; }
  input[type=button].-bg-primary1, .select span[type=button].-bg-primary1,
  button.-bg-primary1,
  .button.-bg-primary1 {
    border-color: #cf102b; }
    input[type=button].-bg-primary1:hover, .select span[type=button].-bg-primary1:hover,
    button.-bg-primary1:hover,
    .button.-bg-primary1:hover {
      background-color: #a00c21; }
    input[type=button].-bg-primary1.-outline, .select span[type=button].-bg-primary1.-outline,
    button.-bg-primary1.-outline,
    .button.-bg-primary1.-outline {
      border-color: #cf102b;
      color: #cf102b; }
      input[type=button].-bg-primary1.-outline:hover, .select span[type=button].-bg-primary1.-outline:hover,
      button.-bg-primary1.-outline:hover,
      .button.-bg-primary1.-outline:hover {
        background-color: #cf102b;
        color: white; }
  input[type=button].-bg-primary2, .select span[type=button].-bg-primary2,
  button.-bg-primary2,
  .button.-bg-primary2 {
    border-color: #626c76; }
    input[type=button].-bg-primary2:hover, .select span[type=button].-bg-primary2:hover,
    button.-bg-primary2:hover,
    .button.-bg-primary2:hover {
      background-color: #4b535a; }
    input[type=button].-bg-primary2.-outline, .select span[type=button].-bg-primary2.-outline,
    button.-bg-primary2.-outline,
    .button.-bg-primary2.-outline {
      border-color: #626c76;
      color: #626c76; }
      input[type=button].-bg-primary2.-outline:hover, .select span[type=button].-bg-primary2.-outline:hover,
      button.-bg-primary2.-outline:hover,
      .button.-bg-primary2.-outline:hover {
        background-color: #626c76;
        color: white; }
  input[type=button].-bg-secondary1, .select span[type=button].-bg-secondary1,
  button.-bg-secondary1,
  .button.-bg-secondary1 {
    border-color: #404040; }
    input[type=button].-bg-secondary1:hover, .select span[type=button].-bg-secondary1:hover,
    button.-bg-secondary1:hover,
    .button.-bg-secondary1:hover {
      background-color: #272727; }
    input[type=button].-bg-secondary1.-outline, .select span[type=button].-bg-secondary1.-outline,
    button.-bg-secondary1.-outline,
    .button.-bg-secondary1.-outline {
      border-color: #404040;
      color: #404040; }
      input[type=button].-bg-secondary1.-outline:hover, .select span[type=button].-bg-secondary1.-outline:hover,
      button.-bg-secondary1.-outline:hover,
      .button.-bg-secondary1.-outline:hover {
        background-color: #404040;
        color: white; }
  input[type=button].-bg-secondary2, .select span[type=button].-bg-secondary2,
  button.-bg-secondary2,
  .button.-bg-secondary2 {
    border-color: #8c8c8c; }
    input[type=button].-bg-secondary2:hover, .select span[type=button].-bg-secondary2:hover,
    button.-bg-secondary2:hover,
    .button.-bg-secondary2:hover {
      background-color: #737373; }
    input[type=button].-bg-secondary2.-outline, .select span[type=button].-bg-secondary2.-outline,
    button.-bg-secondary2.-outline,
    .button.-bg-secondary2.-outline {
      border-color: #8c8c8c;
      color: #8c8c8c; }
      input[type=button].-bg-secondary2.-outline:hover, .select span[type=button].-bg-secondary2.-outline:hover,
      button.-bg-secondary2.-outline:hover,
      .button.-bg-secondary2.-outline:hover {
        background-color: #8c8c8c;
        color: white; }
  input[type=button].-bg-tertiary1, .select span[type=button].-bg-tertiary1,
  button.-bg-tertiary1,
  .button.-bg-tertiary1 {
    border-color: #f9f9f9; }
    input[type=button].-bg-tertiary1:hover, .select span[type=button].-bg-tertiary1:hover,
    button.-bg-tertiary1:hover,
    .button.-bg-tertiary1:hover {
      background-color: #e0e0e0; }
    input[type=button].-bg-tertiary1.-outline, .select span[type=button].-bg-tertiary1.-outline,
    button.-bg-tertiary1.-outline,
    .button.-bg-tertiary1.-outline {
      border-color: #f9f9f9;
      color: #f9f9f9; }
      input[type=button].-bg-tertiary1.-outline:hover, .select span[type=button].-bg-tertiary1.-outline:hover,
      button.-bg-tertiary1.-outline:hover,
      .button.-bg-tertiary1.-outline:hover {
        background-color: #f9f9f9;
        color: white; }
  input[type=button].-bg-tertiary2, .select span[type=button].-bg-tertiary2,
  button.-bg-tertiary2,
  .button.-bg-tertiary2 {
    border-color: #ccc; }
    input[type=button].-bg-tertiary2:hover, .select span[type=button].-bg-tertiary2:hover,
    button.-bg-tertiary2:hover,
    .button.-bg-tertiary2:hover {
      background-color: #b3b3b3; }
    input[type=button].-bg-tertiary2.-outline, .select span[type=button].-bg-tertiary2.-outline,
    button.-bg-tertiary2.-outline,
    .button.-bg-tertiary2.-outline {
      border-color: #ccc;
      color: #ccc; }
      input[type=button].-bg-tertiary2.-outline:hover, .select span[type=button].-bg-tertiary2.-outline:hover,
      button.-bg-tertiary2.-outline:hover,
      .button.-bg-tertiary2.-outline:hover {
        background-color: #ccc;
        color: white; }
  input[type=button].-bg-tertiary3, .select span[type=button].-bg-tertiary3,
  button.-bg-tertiary3,
  .button.-bg-tertiary3 {
    border-color: #eee; }
    input[type=button].-bg-tertiary3:hover, .select span[type=button].-bg-tertiary3:hover,
    button.-bg-tertiary3:hover,
    .button.-bg-tertiary3:hover {
      background-color: #d5d5d5; }
    input[type=button].-bg-tertiary3.-outline, .select span[type=button].-bg-tertiary3.-outline,
    button.-bg-tertiary3.-outline,
    .button.-bg-tertiary3.-outline {
      border-color: #eee;
      color: #eee; }
      input[type=button].-bg-tertiary3.-outline:hover, .select span[type=button].-bg-tertiary3.-outline:hover,
      button.-bg-tertiary3.-outline:hover,
      .button.-bg-tertiary3.-outline:hover {
        background-color: #eee;
        color: white; }
  input[type=button].-bg-facebook, .select span[type=button].-bg-facebook,
  button.-bg-facebook,
  .button.-bg-facebook {
    border-color: #3b5998; }
    input[type=button].-bg-facebook:hover, .select span[type=button].-bg-facebook:hover,
    button.-bg-facebook:hover,
    .button.-bg-facebook:hover {
      background-color: #2d4373; }
    input[type=button].-bg-facebook.-outline, .select span[type=button].-bg-facebook.-outline,
    button.-bg-facebook.-outline,
    .button.-bg-facebook.-outline {
      border-color: #3b5998;
      color: #3b5998; }
      input[type=button].-bg-facebook.-outline:hover, .select span[type=button].-bg-facebook.-outline:hover,
      button.-bg-facebook.-outline:hover,
      .button.-bg-facebook.-outline:hover {
        background-color: #3b5998;
        color: white; }
  input[type=button].-bg-flickr, .select span[type=button].-bg-flickr,
  button.-bg-flickr,
  .button.-bg-flickr {
    border-color: #0063db; }
    input[type=button].-bg-flickr:hover, .select span[type=button].-bg-flickr:hover,
    button.-bg-flickr:hover,
    .button.-bg-flickr:hover {
      background-color: #004ca8; }
    input[type=button].-bg-flickr.-outline, .select span[type=button].-bg-flickr.-outline,
    button.-bg-flickr.-outline,
    .button.-bg-flickr.-outline {
      border-color: #0063db;
      color: #0063db; }
      input[type=button].-bg-flickr.-outline:hover, .select span[type=button].-bg-flickr.-outline:hover,
      button.-bg-flickr.-outline:hover,
      .button.-bg-flickr.-outline:hover {
        background-color: #0063db;
        color: white; }
  input[type=button].-bg-github, .select span[type=button].-bg-github,
  button.-bg-github,
  .button.-bg-github {
    border-color: #4183c4; }
    input[type=button].-bg-github:hover, .select span[type=button].-bg-github:hover,
    button.-bg-github:hover,
    .button.-bg-github:hover {
      background-color: #3269a0; }
    input[type=button].-bg-github.-outline, .select span[type=button].-bg-github.-outline,
    button.-bg-github.-outline,
    .button.-bg-github.-outline {
      border-color: #4183c4;
      color: #4183c4; }
      input[type=button].-bg-github.-outline:hover, .select span[type=button].-bg-github.-outline:hover,
      button.-bg-github.-outline:hover,
      .button.-bg-github.-outline:hover {
        background-color: #4183c4;
        color: white; }
  input[type=button].-bg-googleplus, .select span[type=button].-bg-googleplus,
  button.-bg-googleplus,
  .button.-bg-googleplus {
    border-color: #dd4b39; }
    input[type=button].-bg-googleplus:hover, .select span[type=button].-bg-googleplus:hover,
    button.-bg-googleplus:hover,
    .button.-bg-googleplus:hover {
      background-color: #c23321; }
    input[type=button].-bg-googleplus.-outline, .select span[type=button].-bg-googleplus.-outline,
    button.-bg-googleplus.-outline,
    .button.-bg-googleplus.-outline {
      border-color: #dd4b39;
      color: #dd4b39; }
      input[type=button].-bg-googleplus.-outline:hover, .select span[type=button].-bg-googleplus.-outline:hover,
      button.-bg-googleplus.-outline:hover,
      .button.-bg-googleplus.-outline:hover {
        background-color: #dd4b39;
        color: white; }
  input[type=button].-bg-instagram, .select span[type=button].-bg-instagram,
  button.-bg-instagram,
  .button.-bg-instagram {
    border-color: #517fa4; }
    input[type=button].-bg-instagram:hover, .select span[type=button].-bg-instagram:hover,
    button.-bg-instagram:hover,
    .button.-bg-instagram:hover {
      background-color: #406582; }
    input[type=button].-bg-instagram.-outline, .select span[type=button].-bg-instagram.-outline,
    button.-bg-instagram.-outline,
    .button.-bg-instagram.-outline {
      border-color: #517fa4;
      color: #517fa4; }
      input[type=button].-bg-instagram.-outline:hover, .select span[type=button].-bg-instagram.-outline:hover,
      button.-bg-instagram.-outline:hover,
      .button.-bg-instagram.-outline:hover {
        background-color: #517fa4;
        color: white; }
  input[type=button].-bg-kickstarter, .select span[type=button].-bg-kickstarter,
  button.-bg-kickstarter,
  .button.-bg-kickstarter {
    border-color: #76cc1e; }
    input[type=button].-bg-kickstarter:hover, .select span[type=button].-bg-kickstarter:hover,
    button.-bg-kickstarter:hover,
    .button.-bg-kickstarter:hover {
      background-color: #5ca017; }
    input[type=button].-bg-kickstarter.-outline, .select span[type=button].-bg-kickstarter.-outline,
    button.-bg-kickstarter.-outline,
    .button.-bg-kickstarter.-outline {
      border-color: #76cc1e;
      color: #76cc1e; }
      input[type=button].-bg-kickstarter.-outline:hover, .select span[type=button].-bg-kickstarter.-outline:hover,
      button.-bg-kickstarter.-outline:hover,
      .button.-bg-kickstarter.-outline:hover {
        background-color: #76cc1e;
        color: white; }
  input[type=button].-bg-linkedin, .select span[type=button].-bg-linkedin,
  button.-bg-linkedin,
  .button.-bg-linkedin {
    border-color: #007bb6; }
    input[type=button].-bg-linkedin:hover, .select span[type=button].-bg-linkedin:hover,
    button.-bg-linkedin:hover,
    .button.-bg-linkedin:hover {
      background-color: #005983; }
    input[type=button].-bg-linkedin.-outline, .select span[type=button].-bg-linkedin.-outline,
    button.-bg-linkedin.-outline,
    .button.-bg-linkedin.-outline {
      border-color: #007bb6;
      color: #007bb6; }
      input[type=button].-bg-linkedin.-outline:hover, .select span[type=button].-bg-linkedin.-outline:hover,
      button.-bg-linkedin.-outline:hover,
      .button.-bg-linkedin.-outline:hover {
        background-color: #007bb6;
        color: white; }
  input[type=button].-bg-pinterest, .select span[type=button].-bg-pinterest,
  button.-bg-pinterest,
  .button.-bg-pinterest {
    border-color: #cb2027; }
    input[type=button].-bg-pinterest:hover, .select span[type=button].-bg-pinterest:hover,
    button.-bg-pinterest:hover,
    .button.-bg-pinterest:hover {
      background-color: #9f191f; }
    input[type=button].-bg-pinterest.-outline, .select span[type=button].-bg-pinterest.-outline,
    button.-bg-pinterest.-outline,
    .button.-bg-pinterest.-outline {
      border-color: #cb2027;
      color: #cb2027; }
      input[type=button].-bg-pinterest.-outline:hover, .select span[type=button].-bg-pinterest.-outline:hover,
      button.-bg-pinterest.-outline:hover,
      .button.-bg-pinterest.-outline:hover {
        background-color: #cb2027;
        color: white; }
  input[type=button].-bg-twitter, .select span[type=button].-bg-twitter,
  button.-bg-twitter,
  .button.-bg-twitter {
    border-color: #00aced; }
    input[type=button].-bg-twitter:hover, .select span[type=button].-bg-twitter:hover,
    button.-bg-twitter:hover,
    .button.-bg-twitter:hover {
      background-color: #0087ba; }
    input[type=button].-bg-twitter.-outline, .select span[type=button].-bg-twitter.-outline,
    button.-bg-twitter.-outline,
    .button.-bg-twitter.-outline {
      border-color: #00aced;
      color: #00aced; }
      input[type=button].-bg-twitter.-outline:hover, .select span[type=button].-bg-twitter.-outline:hover,
      button.-bg-twitter.-outline:hover,
      .button.-bg-twitter.-outline:hover {
        background-color: #00aced;
        color: white; }
  input[type=button].-bg-vimeo, .select span[type=button].-bg-vimeo,
  button.-bg-vimeo,
  .button.-bg-vimeo {
    border-color: #aad450; }
    input[type=button].-bg-vimeo:hover, .select span[type=button].-bg-vimeo:hover,
    button.-bg-vimeo:hover,
    .button.-bg-vimeo:hover {
      background-color: #93c130; }
    input[type=button].-bg-vimeo.-outline, .select span[type=button].-bg-vimeo.-outline,
    button.-bg-vimeo.-outline,
    .button.-bg-vimeo.-outline {
      border-color: #aad450;
      color: #aad450; }
      input[type=button].-bg-vimeo.-outline:hover, .select span[type=button].-bg-vimeo.-outline:hover,
      button.-bg-vimeo.-outline:hover,
      .button.-bg-vimeo.-outline:hover {
        background-color: #aad450;
        color: white; }
  input[type=button].-bg-youtube, .select span[type=button].-bg-youtube,
  button.-bg-youtube,
  .button.-bg-youtube {
    border-color: #b00; }
    input[type=button].-bg-youtube:hover, .select span[type=button].-bg-youtube:hover,
    button.-bg-youtube:hover,
    .button.-bg-youtube:hover {
      background-color: #880000; }
    input[type=button].-bg-youtube.-outline, .select span[type=button].-bg-youtube.-outline,
    button.-bg-youtube.-outline,
    .button.-bg-youtube.-outline {
      border-color: #b00;
      color: #b00; }
      input[type=button].-bg-youtube.-outline:hover, .select span[type=button].-bg-youtube.-outline:hover,
      button.-bg-youtube.-outline:hover,
      .button.-bg-youtube.-outline:hover {
        background-color: #b00;
        color: white; }
  input[type=button].-bg-white, .select span[type=button].-bg-white,
  button.-bg-white,
  .button.-bg-white {
    border-color: #fff; }
    input[type=button].-bg-white:hover, .select span[type=button].-bg-white:hover,
    button.-bg-white:hover,
    .button.-bg-white:hover {
      background-color: #e6e6e6; }
    input[type=button].-bg-white.-outline, .select span[type=button].-bg-white.-outline,
    button.-bg-white.-outline,
    .button.-bg-white.-outline {
      border-color: #fff;
      color: #fff; }
      input[type=button].-bg-white.-outline:hover, .select span[type=button].-bg-white.-outline:hover,
      button.-bg-white.-outline:hover,
      .button.-bg-white.-outline:hover {
        background-color: #fff;
        color: #626c76; }
  input[type=button].-bg-green, .select span[type=button].-bg-green,
  button.-bg-green,
  .button.-bg-green {
    border-color: #338700; }
    input[type=button].-bg-green:hover, .select span[type=button].-bg-green:hover,
    button.-bg-green:hover,
    .button.-bg-green:hover {
      background-color: #205400; }
    input[type=button].-bg-green.-outline, .select span[type=button].-bg-green.-outline,
    button.-bg-green.-outline,
    .button.-bg-green.-outline {
      border-color: #338700;
      color: #338700; }
      input[type=button].-bg-green.-outline:hover, .select span[type=button].-bg-green.-outline:hover,
      button.-bg-green.-outline:hover,
      .button.-bg-green.-outline:hover {
        background-color: #338700;
        color: white; }
  input[type=button].-bg-red, .select span[type=button].-bg-red,
  button.-bg-red,
  .button.-bg-red {
    border-color: #cf102b; }
    input[type=button].-bg-red:hover, .select span[type=button].-bg-red:hover,
    button.-bg-red:hover,
    .button.-bg-red:hover {
      background-color: #a00c21; }
    input[type=button].-bg-red.-outline, .select span[type=button].-bg-red.-outline,
    button.-bg-red.-outline,
    .button.-bg-red.-outline {
      border-color: #cf102b;
      color: #cf102b; }
      input[type=button].-bg-red.-outline:hover, .select span[type=button].-bg-red.-outline:hover,
      button.-bg-red.-outline:hover,
      .button.-bg-red.-outline:hover {
        background-color: #cf102b;
        color: white; }
  input[type=button].-bg-black, .select span[type=button].-bg-black,
  button.-bg-black,
  .button.-bg-black {
    border-color: #303030; }
    input[type=button].-bg-black:hover, .select span[type=button].-bg-black:hover,
    button.-bg-black:hover,
    .button.-bg-black:hover {
      background-color: #171717; }
    input[type=button].-bg-black.-outline, .select span[type=button].-bg-black.-outline,
    button.-bg-black.-outline,
    .button.-bg-black.-outline {
      border-color: #303030;
      color: #303030; }
      input[type=button].-bg-black.-outline:hover, .select span[type=button].-bg-black.-outline:hover,
      button.-bg-black.-outline:hover,
      .button.-bg-black.-outline:hover {
        background-color: #303030;
        color: white; }
  input[type=button].-bg-black-reverse, .select span[type=button].-bg-black-reverse,
  button.-bg-black-reverse,
  .button.-bg-black-reverse {
    border-color: #cfcfcf; }
    input[type=button].-bg-black-reverse:hover, .select span[type=button].-bg-black-reverse:hover,
    button.-bg-black-reverse:hover,
    .button.-bg-black-reverse:hover {
      background-color: #b6b6b6; }
    input[type=button].-bg-black-reverse.-outline, .select span[type=button].-bg-black-reverse.-outline,
    button.-bg-black-reverse.-outline,
    .button.-bg-black-reverse.-outline {
      border-color: #cfcfcf;
      color: #cfcfcf; }
      input[type=button].-bg-black-reverse.-outline:hover, .select span[type=button].-bg-black-reverse.-outline:hover,
      button.-bg-black-reverse.-outline:hover,
      .button.-bg-black-reverse.-outline:hover {
        background-color: #cfcfcf;
        color: white; }
  input[type=button].-bg-blue, .select span[type=button].-bg-blue,
  button.-bg-blue,
  .button.-bg-blue {
    border-color: #11aef7; }
    input[type=button].-bg-blue:hover, .select span[type=button].-bg-blue:hover,
    button.-bg-blue:hover,
    .button.-bg-blue:hover {
      background-color: #078fce; }
    input[type=button].-bg-blue.-outline, .select span[type=button].-bg-blue.-outline,
    button.-bg-blue.-outline,
    .button.-bg-blue.-outline {
      border-color: #11aef7;
      color: #11aef7; }
      input[type=button].-bg-blue.-outline:hover, .select span[type=button].-bg-blue.-outline:hover,
      button.-bg-blue.-outline:hover,
      .button.-bg-blue.-outline:hover {
        background-color: #11aef7;
        color: white; }
  input[type=button].-bg-purple, .select span[type=button].-bg-purple,
  button.-bg-purple,
  .button.-bg-purple {
    border-color: #892890; }
    input[type=button].-bg-purple:hover, .select span[type=button].-bg-purple:hover,
    button.-bg-purple:hover,
    .button.-bg-purple:hover {
      background-color: #631d68; }
    input[type=button].-bg-purple.-outline, .select span[type=button].-bg-purple.-outline,
    button.-bg-purple.-outline,
    .button.-bg-purple.-outline {
      border-color: #892890;
      color: #892890; }
      input[type=button].-bg-purple.-outline:hover, .select span[type=button].-bg-purple.-outline:hover,
      button.-bg-purple.-outline:hover,
      .button.-bg-purple.-outline:hover {
        background-color: #892890;
        color: white; }
  input[type=button].-box, .select span[type=button].-box,
  button.-box,
  .button.-box {
    border-radius: 0;
    margin: 0; }
  input[type=button].-square, .select span[type=button].-square,
  button.-square,
  .button.-square {
    border-radius: 0;
    border: 1px solid #ccc;
    background: none; }
  input[type=button].-small, .select span[type=button].-small,
  button.-small,
  .button.-small {
    padding: .5rem .75rem; }
  input[type=button].-block, .select span[type=button].-block,
  button.-block,
  .button.-block {
    display: block;
    width: 100%;
    box-sizing: border-box; }
  input[type=button].-outline, .select span[type=button].-outline,
  button.-outline,
  .button.-outline {
    background: none; }
  input[type=button].-circular, .select span[type=button].-circular,
  button.-circular,
  .button.-circular {
    display: inline-block;
    border-radius: 50%; }
    input[type=button].-circular > *, .select span[type=button].-circular > *,
    button.-circular > *,
    .button.-circular > * {
      display: block;
      fill: currentColor; }

.-sticky-nav a {
  color: white;
  text-decoration: none; }
  .-sticky-nav a:link, .-sticky-nav a :visited {
    color: white;
    text-decoration: none; }
  .-sticky-nav a:hover, .-sticky-nav a:active {
    color: #8c8c8c;
    text-decoration: none; }

.-color-swatch img {
  border-radius: 50%;
  width: 50px;
  height: 50px; }

.-color-swatch img:hover {
  -webkit-filter: brightness(50%);
  cursor: pointer; }

.-icon img:hover {
  -webkit-filter: brightness(50%);
  cursor: pointer; }

.-feature-btn:active, .-feature-btn:hover {
  -webkit-filter: brightness(75%); }

/*
	Modifiers for Buttons
	---------------------
*/
.buttons button + button,
.buttons button + .button,
.buttons .button + button,
.buttons .button + .button {
  margin-left: 1rem; }

.cards > .card {
  margin: 2rem; }

.card {
  display: flex;
  flex-direction: column;
  border-radius: 2px;
  background-color: #fff;
  overflow: hidden; }
  .card .media {
    position: relative;
    flex: 0 0; }
    .card .media img {
      display: block;
      border-radius: 2px 2px 0 0; }
    .card .media .content {
      position: absolute;
      bottom: 20px;
      left: 20px;
      right: 20px; }
  .card .content {
    padding: 20px;
    flex: 1 0;
    display: flex;
    align-items: center; }
    .card .content > *:first-child {
      margin-top: 0; }
    .card .content > *:last-child {
      margin-bottom: 0; }
  .card .toolbar {
    padding: 10px 20px;
    background: rgba(0, 0, 0, 0.03);
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    flex: 0 0; }
    .card .toolbar ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      .card .toolbar ul li {
        margin: 0 10px 0 0;
        padding: 0;
        display: inline-block; }

/*
	Standard Form Elements

*/
label, input, .select span,
textarea,
select {
  margin: 1rem 0; }

label, input, .select span,
select {
  cursor: pointer; }

span.field-validation-error {
  color: red; }

input[type=text], .select span,
input[type=password],
.select span[type=password],
input[type=date],
.select span[type=date],
input[type=email],
.select span[type=email],
select,
textarea {
  display: block;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 34px;
  padding: 6px 12px;
  font-size: 1rem;
  line-height: 1.42857143;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  -moz-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; }
  input[type=text]:focus, .select span:focus,
  input[type=password]:focus,
  .select span[type=password]:focus,
  input[type=date]:focus,
  .select span[type=date]:focus,
  input[type=email]:focus,
  .select span[type=email]:focus,
  select:focus,
  textarea:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
  input[type=text].input-validation-error, .select span.input-validation-error,
  input[type=password].input-validation-error,
  .select span[type=password].input-validation-error,
  input[type=date].input-validation-error,
  .select span[type=date].input-validation-error,
  input[type=email].input-validation-error,
  .select span[type=email].input-validation-error,
  select.input-validation-error,
  textarea.input-validation-error {
    box-shadow: 0 0 5px 1px #cf102b; }

textarea {
  height: auto; }

/*form {
			span {
				display: block;
				background: map-get($colors,"tertiary1");
				padding: 0.5rem;
				margin-bottom: 0.5rem;
				margin-top: 0.5rem;
			}

			&.-table {
				width: auto;
			}
			&.-table span {
				display:table-cell;
				background:none;
			}
			&.-table select {
				margin:0;
			}
		}*/
/*
	Form styles
	- Block (default)
	- Inline (not implemented yet)
	- Table
*/
form {
  /*
		Block (default)
	*/
  /*
		Inline
	*/
  /*
		Table
	*/
  /*
		Form and Form Elements State: Invalid
	*/ }
  form label {
    display: block; }
  form.-inline label, form.-inline input, form.-inline .select span, .select form.-inline span {
    display: inline-block;
    width: auto; }
  form.-table {
    display: table;
    width: 100%; }
    form.-table > label {
      display: table-row; }
      form.-table > label > span,
      form.-table > label > input,
      .select form.-table > label > span,
      form.-table > label > textarea,
      form.-table > label > div {
        display: table-cell;
        vertical-align: middle;
        padding: 0.5rem;
        text-align: right; }
        form.-table > label > span:last-child,
        form.-table > label > input:last-child,
        .select form.-table > label > span:last-child,
        form.-table > label > textarea:last-child,
        form.-table > label > div:last-child {
          text-align: left; }
  form .-invalid {
    color: #cf102b; }

/*
	Non-standard Form Elements
	- Requires JavaScript to Implement
	- Progressive Enhancement, Nothing to fallback on
*/
.checkbox {
  cursor: pointer;
  display: inline-block;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  outline: none;
  margin: 1rem 0; }
  .checkbox > span {
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    -moz-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    margin-right: 0.5rem; }
    .checkbox > span::before {
      content: "";
      display: block;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 0;
      height: 0;
      background-color: #11aef7;
      border: 4px solid #fff;
      border-radius: 4px;
      position: relative;
      top: 17px;
      left: 17px;
      opacity: 0.1;
      -moz-transition: all ease-in-out 0.233s;
      -o-transition: all ease-in-out 0.233s;
      -webkit-transition: all ease-in-out 0.233s;
      transition: all ease-in-out 0.233s; }
  .checkbox.-active > span::before {
    width: 100%;
    height: 100%;
    opacity: 1;
    top: 0;
    left: 0; }

.radio {
  cursor: pointer;
  display: inline-block;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  outline: none;
  margin: 1rem 0; }
  .radio > span {
    display: inline-block;
    width: 15px;
    height: 15px;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 50%;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    -moz-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    overflow: hidden;
    vertical-align: middle;
    margin-right: 0.5rem; }
    .radio > span::before {
      content: "";
      display: block;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 0;
      height: 0;
      background-color: #11aef7;
      border: 4px solid #fff;
      border-radius: 50%;
      position: relative;
      top: 17px;
      left: 17px;
      opacity: 0.1;
      -moz-transition: all ease-in-out 0.233s;
      -o-transition: all ease-in-out 0.233s;
      -webkit-transition: all ease-in-out 0.233s;
      transition: all ease-in-out 0.233s; }
  .radio.-active span::before {
    width: 100%;
    height: 100%;
    opacity: 1;
    top: 0;
    left: 0; }

.slider {
  display: flex;
  height: 34px;
  position: relative;
  cursor: pointer;
  margin: 1rem 0; }
  .slider > * {
    display: flex;
    -ms-flex: 1 0;
    -webkit-flex: 1 0;
    flex: 1 0;
    position: relative; }
  .slider .slide {
    position: relative; }
    .slider .slide .line {
      display: block;
      position: relative;
      background-color: #11aef7;
      border-radius: 8px;
      height: 16px;
      width: 0;
      top: 10px;
      left: 0;
      -moz-transition: all ease-in-out .15s;
      -o-transition: all ease-in-out .15s;
      -webkit-transition: all ease-in-out .15s;
      transition: all ease-in-out .15s; }
    .slider .slide::before {
      content: "";
      display: block;
      height: 16px;
      width: 100%;
      background-color: rgba(0, 0, 0, 0.25);
      border-radius: 8px;
      position: absolute;
      top: 10px;
      left: 0; }
  .slider .circle {
    position: absolute;
    left: 0;
    display: inline-block;
    width: 34px;
    height: 34px;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 50%;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-transition: all ease-in-out .15s;
    -o-transition: all ease-in-out .15s;
    -webkit-transition: all ease-in-out .15s;
    transition: all ease-in-out .15s;
    overflow: hidden;
    vertical-align: middle; }
  .slider .value {
    -ms-flex: none;
    -webkit-flex: none;
    flex: none;
    margin-left: 1rem;
    line-height: 34px; }

.switch {
  position: relative;
  height: 34px;
  line-height: 34px;
  padding-left: 84px;
  cursor: pointer;
  display: inline-block;
  margin: 1rem 0; }
  .switch::before {
    content: "";
    display: block;
    height: 16px;
    width: 68px;
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 8px;
    position: absolute;
    top: 10px;
    left: 0;
    -moz-transition: all ease-in-out .15s;
    -o-transition: all ease-in-out .15s;
    -webkit-transition: all ease-in-out .15s;
    transition: all ease-in-out .15s; }
  .switch span {
    display: block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 34px;
    width: 34px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 50%;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-transition: all ease-in-out .15s;
    -o-transition: all ease-in-out .15s;
    -webkit-transition: all ease-in-out .15s;
    transition: all ease-in-out .15s;
    position: absolute;
    top: 0;
    left: 0; }
  .switch.-active::before {
    background-color: #11aef7; }
  .switch.-active span {
    left: 34px; }

.select {
  position: relative; }
  .select span {
    position: relative;
    background: #fff; }
  .select ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    opacity: 0;
    pointer-events: none;
    -moz-transition: all ease-in-out 0.255s;
    -o-transition: all ease-in-out 0.255s;
    -webkit-transition: all ease-in-out 0.255s;
    transition: all ease-in-out 0.255s; }
    .select ul li {
      padding: 0.5rem;
      cursor: pointer;
      border: 1px solid #f9f9f9;
      margin: 0;
      background: #fff; }
      .select ul li + li {
        border-top: 0; }
      .select ul li:hover, .select ul li.-selected {
        background-color: #11aef7; }
  .select.-active {
    z-index: 2; }
    .select.-active::before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.4); }
    .select.-active span {
      border-radius: 4px 4px 0 0; }
    .select.-active ul {
      opacity: 1;
      pointer-events: all; }

.curtain {
  position: relative;
  overflow: hidden; }
  .curtain > .fg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.75);
    color: #fff;
    transition: all linear 0.2s;
    transform: translateY(-100%); }
    .curtain > .fg > div {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      right: 0;
      text-align: center; }
  .curtain:hover > .fg {
    transform: none; }

/*
	Components
*/
.nav,
nav {
  background-color: #303030;
  position: relative;
  min-height: 44px;
  z-index: 3; }
  .nav .hamburger,
  .nav .kabob,
  nav .hamburger,
  nav .kabob {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    color: #fff;
    padding: 6px;
    cursor: pointer; }
    .nav .hamburger img, .nav .hamburger svg,
    .nav .kabob img,
    .nav .kabob svg,
    nav .hamburger img,
    nav .hamburger svg,
    nav .kabob img,
    nav .kabob svg {
      display: inline-block;
      height: 100%; }
    .nav .hamburger > div,
    .nav .kabob > div,
    nav .hamburger > div,
    nav .kabob > div {
      position: absolute;
      top: 100%;
      right: 0;
      transform: scale(0);
      transform-origin: top right;
      transition: all ease-in 0.255s; }
      .nav .hamburger > div > div,
      .nav .kabob > div > div,
      nav .hamburger > div > div,
      nav .kabob > div > div {
        white-space: nowrap; }
    .nav .hamburger:hover, .nav .hamburger:focus, .nav .hamburger:active, .nav .hamburger.-active,
    .nav .kabob:hover,
    .nav .kabob:focus,
    .nav .kabob:active,
    .nav .kabob.-active,
    nav .hamburger:hover,
    nav .hamburger:focus,
    nav .hamburger:active,
    nav .hamburger.-active,
    nav .kabob:hover,
    nav .kabob:focus,
    nav .kabob:active,
    nav .kabob.-active {
      color: #cf102b;
      background-color: #f9f9f9; }
      .nav .hamburger:hover > div, .nav .hamburger:focus > div, .nav .hamburger:active > div, .nav .hamburger.-active > div,
      .nav .kabob:hover > div,
      .nav .kabob:focus > div,
      .nav .kabob:active > div,
      .nav .kabob.-active > div,
      nav .hamburger:hover > div,
      nav .hamburger:focus > div,
      nav .hamburger:active > div,
      nav .hamburger.-active > div,
      nav .kabob:hover > div,
      nav .kabob:focus > div,
      nav .kabob:active > div,
      nav .kabob.-active > div {
        transform: none; }
  .nav > ul,
  nav > ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .nav > ul > li,
    nav > ul > li {
      display: inline-block;
      margin: 0;
      padding: 0; }
      .nav > ul > li > div,
      nav > ul > li > div {
        display: none;
        position: absolute;
        left: 0;
        right: 0; }
  .nav ul li a,
  nav ul li a {
    padding: .5rem 1rem;
    display: block; }
  .nav ul li.-active > a, .nav ul li:hover > a,
  nav ul li.-active > a,
  nav ul li:hover > a {
    color: #cf102b;
    background-color: none;
    text-decoration: none; }
    .nav ul li.-active > a.-active, .nav ul li:hover > a.-active,
    nav ul li.-active > a.-active,
    nav ul li:hover > a.-active {
      color: #cf102b;
      background-color: #f9f9f9; }
  .nav ul li.-active > div, .nav ul li:hover > div,
  nav ul li.-active > div,
  nav ul li:hover > div {
    display: block; }
  .nav .sub-menu > div ul,
  nav .sub-menu > div ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .nav .sub-menu > div li,
  .nav .sub-menu > div a,
  nav .sub-menu > div li,
  nav .sub-menu > div a {
    margin: 0;
    display: inline-block; }
  .nav .sub-menu > div a,
  nav .sub-menu > div a {
    padding: 0.5rem;
    text-decoration: none; }
  .nav .sub-menu > div li + li,
  nav .sub-menu > div li + li {
    border-left: 1px solid #ccc; }
  .nav .mega-dropdown > div a,
  nav .mega-dropdown > div a {
    padding: 0.5rem; }
  .nav .dropdown,
  nav .dropdown {
    position: relative; }
    .nav .dropdown > div ul,
    nav .dropdown > div ul {
      list-style: none;
      margin: 0;
      padding: 0; }
    .nav .dropdown > div li, .nav .dropdown > div a,
    nav .dropdown > div li,
    nav .dropdown > div a {
      margin: 0;
      display: block; }
    .nav .dropdown > div a,
    nav .dropdown > div a {
      padding: 0.5rem;
      text-decoration: none; }
    .nav .dropdown > div li + li,
    nav .dropdown > div li + li {
      border-top: 1px solid #ccc; }
  .nav::after,
  nav::after {
    content: '';
    clear: both;
    display: block;
    width: 0;
    height: 0;
    overflow: hidden; }
  @media (max-width: 768px) {
    .nav > ul > li,
    nav > ul > li {
      display: inline-block; } }

/*
	For Tab and Tab Panel Grouping
*/
/*
	Tabs
*/
.tab {
  display: inline-block;
  outline: 0;
  border: none;
  background: #fff;
  font: inherit;
  box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
  -moz-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: box-shadow;
  cursor: pointer;
  padding: 1rem;
  border-radius: 2px 2px 0 0;
  color: inherit;
  text-decoration: inherit;
  margin: 1rem 0; }
  .tab:active, .tab.-active {
    box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); }

/*
	Tab Panels
*/
.tab-panel {
  display: none; }
  .tab-panel.-active {
    display: block; }

/*
	For Accordion Grouping
*/
/*
	Accordions
*/
.accordion {
  position: relative; }
  .accordion .pane {
    display: none; }
  .accordion.-active .pane {
    display: block; }

#modals {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 3000000000; }
  #modals.-active {
    display: block; }
  #modals.-light {
    background-color: rgba(255, 255, 255, 0.85); }
  #modals .modal {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    background: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4); }
    #modals .modal.-active {
      display: block;
      -moz-transform: translate3d(0, -50%, 0);
      -ms-transform: translate3d(0, -50%, 0);
      -o-transform: translate3d(0, -50%, 0);
      -webkit-transform: translate3d(0, -50%, 0);
      transform: translate3d(0, -50%, 0); }
    #modals .modal.-fullscreen {
      width: 100%;
      max-width: none;
      height: 100%;
      max-height: none;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      transform: none !important; }

.carousel {
  position: relative;
  background-color: #f9f9f9;
  font-size: 0;
  width: 100%;
  height: 50vh;
  overflow: hidden;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  /*
		Stage and Scenes
	*/
  /*
		Stacked
	*/
  /*
		Next and Previous Links
	*/
  /*
		Light UI
	*/ }
  .carousel .stage {
    height: 100%;
    position: relative;
    white-space: nowrap;
    -webkit-transition: all ease-in-out 0.555s;
    transition: all ease-in-out 0.555s; }
    .carousel .stage a {
      pointer-events: all; }
    .carousel .stage > div,
    .carousel .stage > .scene {
      height: 100%;
      width: 100%;
      position: relative;
      display: inline-block;
      white-space: normal;
      -moz-user-select: none;
      -ms-user-select: none;
      -webkit-user-select: none;
      user-select: none;
      background-size: cover;
      background-position: center center;
      vertical-align: top; }
      .carousel .stage > div img,
      .carousel .stage > .scene img {
        width: 100%; }
      @media (max-width: 768px) {
        .carousel .stage > div.-m-left,
        .carousel .stage > .scene.-m-left {
          background-position: left center; }
        .carousel .stage > div.-m-right,
        .carousel .stage > .scene.-m-right {
          background-position: right center; } }
  .carousel.-stack .stage > div,
  .carousel.-stack .stage > .scene {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  .carousel .next,
  .carousel .previous {
    width: 44px;
    position: absolute;
    top: 0;
    bottom: 0;
    color: #303030;
    cursor: pointer;
    z-index: 3; }
    .carousel .next img,
    .carousel .next svg,
    .carousel .previous img,
    .carousel .previous svg {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 100%;
      height: auto;
      padding: 12px;
      box-sizing: border-box; }
      .carousel .next img:active,
      .carousel .next svg:active,
      .carousel .previous img:active,
      .carousel .previous svg:active {
        margin-top: 2px; }
  .carousel .previous {
    left: 0; }
  .carousel .next {
    right: 0; }
  .carousel.-light .next,
  .carousel.-light .previous {
    color: #cfcfcf; }

/* Decided to make the `pos` classes global. */
.pos {
  position: absolute;
  /*	max-width: 50%; */
  box-sizing: border-box; }
  .pos.-top {
    top: 80px; }
  .pos.-bottom {
    bottom: 80px; }
  .pos.-middle {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .pos.-left {
    left: 0;
    padding-left: 80px; }
  .pos.-right {
    right: 0;
    padding-right: 80px; }
  .pos.-center {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
  .pos.-center.-middle {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

body {
  overflow-x: hidden; }

.carousel-continuous {
  /*
		Setup and configuration for 769px and over.
		- Height control
	*/
  position: relative;
  /*
		The "background" image
	*/
  /*
		Overlay positioning
	*/
  /*
		Typography
		- FIXME we don't apply style decisions to typographic HTML tags
		- FIXME we should try to use typography styles that are already in place
	*/
  /*
		Pagination
	*/ }
  @media (min-width: 769px) {
    .carousel-continuous {
      font-size: 0;
      height: 512px;
      width: 100%;
      overflow-x: hidden;
      -moz-user-select: none;
      -ms-user-select: none;
      -webkit-user-select: none;
      user-select: none;
      overflow: hidden;
      height: 512px; }
      .carousel-continuous picture {
        display: block;
        width: 100%;
        height: 100%; } }
  @media (min-width: 1025px) {
    .carousel-continuous {
      height: 565px; } }
  .carousel-continuous picture {
    display: block; }
    .carousel-continuous picture.-no-text {
      height: 100% !important;
      max-height: 100% !important; }
    .carousel-continuous picture img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
    @media (min-width: 513px) and (max-width: 768px) {
      .carousel-continuous picture {
        position: relative;
        display: block;
        height: 500px;
        width: 100%;
        overflow: hidden;
        object-fit: fill;
        object-position: center; }
        .carousel-continuous picture img {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0; } }
  .carousel-continuous .overlay {
    text-align: center; }
    @media (min-width: 769px) {
      .carousel-continuous .overlay {
        width: 80%;
        min-width: 300px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); } }
  .carousel-continuous h1 {
    font-size: 4rem;
    font-weight: bold; }
  .carousel-continuous p {
    font-size: 2.5rem;
    line-height: 2.5rem; }
  @media (max-width: 768px) {
    .carousel-continuous h1 {
      margin-top: 0;
      font-size: 2rem;
      font-weight: bold; }
    .carousel-continuous p {
      font-size: 1.5rem;
      line-height: 1.5rem; } }
  @media (max-width: 512px) {
    .carousel-continuous h1 {
      font-size: 1.3rem;
      font-weight: bold; }
    .carousel-continuous p {
      font-size: 1rem;
      line-height: 1rem; }
    .carousel-continuous button {
      margin: .5rem; } }
  .carousel-continuous .pagination {
    text-align: center;
    font-size: 0; }
    .carousel-continuous .pagination.-no-text {
      bottom: 1rem !important; }
      @media (max-width: 769px) {
        .carousel-continuous .pagination.-no-text {
          bottom: -1rem !important; } }
    .carousel-continuous .pagination a {
      margin: 0;
      display: inline-block;
      box-sizing: border-box;
      padding: 10px; }
      .carousel-continuous .pagination a:before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        box-sizing: border-box;
        border: 1px solid white;
        background-color: rgba(0, 0, 0, 0); }
      .carousel-continuous .pagination a.-active:before, .carousel-continuous .pagination a:hover:before {
        background-color: white; }
    @media (min-width: 769px) {
      .carousel-continuous .pagination {
        position: absolute;
        bottom: 1.5rem;
        left: 0;
        right: 1.5rem;
        font-size: 0;
        text-align: right; } }

/*
	Object-fit detection
*/
@supports (object-fit: cover) {
  .carousel-continuous picture:before {
    content: "objectfit";
    display: none; } }

/*
	How the carousel works for desktop
	TODO: this is difficult to understand and we should
	do a better job of sectioning off this file so
	you quickly know what the desktop and mobile styles
	are
*/
.carousel-continuous {
  /*
		Stage and Scenes
	*/
  /*
		Next and Previous Links
	*/ }
  .carousel-continuous .stage {
    width: 100%;
    height: 100%;
    position: relative; }
    .carousel-continuous .stage > .scene, .carousel-continuous .stage > div {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      -moz-user-select: none;
      -ms-user-select: none;
      -webkit-user-select: none;
      user-select: none;
      background-size: cover;
      background-position: center center;
      font-size: 1rem;
      box-sizing: border-box;
      vertical-align: text-top; }
      .carousel-continuous .stage > .scene.-animate, .carousel-continuous .stage > div.-animate {
        -moz-transition: all ease-in-out .555s;
        -o-transition: all ease-in-out .555s;
        -webkit-transition: all ease-in-out .555s;
        transition: all ease-in-out .555s; }
      .carousel-continuous .stage > .scene.-left, .carousel-continuous .stage > div.-left {
        transform: translateX(-100%); }
      .carousel-continuous .stage > .scene.-right, .carousel-continuous .stage > div.-right {
        transform: translateX(100%); }
  .carousel-continuous .next,
  .carousel-continuous .previous {
    width: 44px;
    position: absolute;
    top: 0;
    bottom: 0;
    cursor: pointer; }
    .carousel-continuous .next img,
    .carousel-continuous .next svg,
    .carousel-continuous .previous img,
    .carousel-continuous .previous svg {
      position: absolute;
      top: 50%;
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 100%;
      height: auto;
      padding: 12px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .carousel-continuous .next img:active,
      .carousel-continuous .next svg:active,
      .carousel-continuous .previous img:active,
      .carousel-continuous .previous svg:active {
        margin-top: 2px; }
    .carousel-continuous .next:hover,
    .carousel-continuous .previous:hover {
      background-color: rgba(0, 0, 0, 0.1); }
  .carousel-continuous .previous {
    left: 0; }
  .carousel-continuous .next {
    right: 0; }

/*
	How the carousel works for mobile
	TODO FIXME - not the right approach we should
	at least be thinking mobile first, and either
	using cascading to change, or adapative
	for larger more complex changes but still use
	established breakpoints.
*/
@media (max-width: 768px) {
  .carousel-continuous .stage {
    background-color: #404040;
    height: 865px; }
    .carousel-continuous .stage > * {
      display: flex;
      flex-direction: column; }
      .carousel-continuous .stage > * picture {
        flex: none; }
      .carousel-continuous .stage > * .overlay {
        flex: none;
        margin: auto 0;
        padding: 1rem;
        background-color: #404040; }
  .carousel-continuous .pagination {
    position: absolute;
    bottom: 340px;
    background: none;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; }
    .carousel-continuous .pagination a {
      padding: 22px 10px; } }

@media (max-width: 512px) {
  .carousel-continuous .stage {
    max-height: 640px;
    overflow: hidden; }
    .carousel-continuous .stage picture {
      max-height: 362px; }
  .carousel-continuous .pagination {
    bottom: 240px; } }

@media (max-width: 320px) {
  .carousel-continuous .pagination {
    bottom: 290px; } }

/*
	Presentation
*/
html, body {
  margin: 0;
  height: 100%; }

.slides {
  position: relative;
  height: 100%; }
  .slides > div {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background-size: cover;
    background-position: center center;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 40px;
    z-index: 2; }
    .slides > div.-fixed {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 1; }

.slides-height {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -100; }
