/*
 * Main Styles
 * Parts borrowed from HTML5 Boilerplate
 *
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
/*
 * Global SCSS Variables
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
/*
 * Text Styles
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
p, blockquote, h4, h5, ul {
  font-family: "Open Sans", arial, san-serif;
  font-size: 0.9em;
  line-height: 1.2em;
  font-weight: 300; }

h1, h2, h3 {
  font-family: "Roboto", arial, san-serif;
  font-weight: 300;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0.5em; }

h1 {
  font-size: 3em; }

h2 {
  font-size: 2.2em; }

h3 {
  font-size: 1.6em; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

textarea {
  max-width: 100%;
  resize: vertical; }

a {
  text-decoration: none; }

p.pad-bottom {
  padding-bottom: 0.9em; }

/*
 * Media Query Mixins
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
/*
 * Header Styles
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
/* For objects that wish to add padding to themselves 
   to reclaim space consumed by the header overlay */
.pad-overlay-header {
  padding-top: 65px; }

.overlay-header {
  position: absolute;
  top: 0;
  z-index: 10;
  width: 100%; }

header {
  height: 65px;
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0.7);
  font-size: 12px; }

@media (max-width: 767px) {
  .logo {
    text-align: center; } }
.logo img {
  max-width: 150px; }

.menu, footer > .dark ul {
  list-style: none;
  right: 0;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-transform: uppercase; }
  @media (max-width: 767px) {
    .menu, footer > .dark ul {
      display: none; } }
  .menu li, footer > .dark ul li {
    display: inline-block;
    margin-right: 7.5px;
    height: 30px; }
    .menu li:last-child, footer > .dark ul li:last-child {
      margin-right: 0; }
  .menu a, footer > .dark ul a {
    font-size: 12px;
    text-decoration: none;
    color: #FFFFFF;
    height: 30px;
    padding: 0 10px;
    display: flex;
    align-items: center; }
    .menu a.active, footer > .dark ul a.active {
      background-color: #880C0C;
      color: white; }
      .menu a.active:hover, footer > .dark ul a.active:hover {
        color: white; }
    .menu a:hover, footer > .dark ul a:hover {
      color: #d94546; }

.mobile-menu-view {
  display: none;
  z-index: 1000;
  position: fixed;
  color: white;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9); }
  .mobile-menu-view ul {
    list-style: none; }
  .mobile-menu-view li {
    font-size: 1.9em;
    margin-bottom: 45px;
    text-align: center;
    line-height: 1.9em; }
  .mobile-menu-view a {
    text-decoration: none;
    color: white;
    font-family: "Roboto", arial, san-serif;
    font-weight: 300;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 0.5em;
    padding: 7.5px; }
  .mobile-menu-view a.btn.large {
    font-size: 1em;
    line-height: 1.2em; }

.mobile-menu-button {
  width: 45px;
  height: 45px;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  right: 10px;
  top: 10px;
  padding: 6px; }
  .mobile-menu-button.open {
    display: none; }
    @media (max-width: 767px) {
      .mobile-menu-button.open {
        display: block; } }
  .mobile-menu-button.close {
    padding: 4px; }
    .mobile-menu-button.close img {
      max-height: 100%; }

.mobile-menu-overlay-header {
  height: 65px; }

/*
 * Canvas (Section) Styles
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
.accent {
  background-color: #880C0C;
  color: #FFFFFF; }

.darkest {
  background-color: #111111;
  color: #FFFFFF; }

.dark {
  background-color: #202020;
  color: #FFFFFF; }

.light {
  background-color: #F4F4F4;
  color: #0A0A0A; }

.lightest {
  background-color: #FFFFFF;
  color: #0A0A0A; }

.skeleton-height {
  height: 400px; }

.canvas-padding {
  padding-top: 45px;
  padding-bottom: 45px; }

.canvas-padding-small {
  padding-top: 22.5px;
  padding-bottom: 22.5px; }

section {
  padding-top: 45px;
  padding-bottom: 45px; }
  section.no-gutter {
    padding-top: 0;
    padding-bottom: 0; }
  section.no-top-gutter {
    padding-top: 0; }
  section.no-bottom-gutter {
    padding-bottom: 0; }

.section-heading {
  padding-top: 2em;
  padding-bottom: 0.5em;
  margin-bottom: 0; }

/*
 * Button Styles
 *
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
.btn-row.padding {
  padding-top: 15px; }
.btn-row.align-right {
  text-align: right; }
  .btn-row.align-right .btn {
    margin-right: 0;
    margin-left: 15px; }
.btn-row .btn {
  margin-right: 15px; }
  @media (max-width: 767px) {
    .btn-row .btn {
      margin-bottom: 15px; } }

.btn {
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  padding: 15px 30px;
  font-size: 0.9em; }
  .btn.large {
    padding: 20px 30px;
    font-size: 1.08em; }
  .btn.small {
    padding: 9px 20px; }

.btn-outline {
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
  transition: all 0.2s ease-in-out; }
  .btn-outline:hover {
    background-color: #FFFFFF;
    color: #0A0A0A; }

.btn-primary {
  background-color: #880C0C;
  color: #FFFFFF;
  transition: all 0.2s ease-in-out; }
  .btn-primary:hover {
    background-color: #590808; }

.btn-secondary {
  background-color: #FFFFFF;
  color: #0A0A0A;
  transition: all 0.2s ease-in-out; }
  .btn-secondary:hover {
    background-color: #e6e6e6; }

/*
 * Card Styles
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
.card-wrapper {
  display: flex; }

.card {
  background-color: #FFFFFF;
  border: 1px solid #DEDEDE;
  padding: 15px;
  margin-top: 30px; }
  .card img {
    padding: 15px; }
  .card .below-image {
    margin-top: 15px; }
  .card p {
    font-size: 1.2em;
    line-height: 1.5em; }

/*
 * Form Styles
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
form label {
  display: block;
  padding-bottom: 8px;
  margin-top: 20px;
  font-size: 1.35em;
  text-transform: uppercase;
  font-weight: 300;
  font-family: "Roboto", arial, san-serif; }
form input, form textarea {
  max-width: 100%;
  width: 100%;
  font-size: 1.35em;
  padding: 12px 10px;
  border: 1px solid #DEDEDE;
  background-color: #F4F4F4;
  font-family: "Open Sans", arial, san-serif;
  font-weight: 300; }
form textarea {
  min-height: 150px; }

/*
 * Design Overrides
 * Add any overrides for the design being developed
 *
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
/*
 * Redline Design Button Overrides
 *
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
.redline.btn-outline-dark {
  border: none;
  z-index: 1;
  position: relative;
  color: #FFFFFF;
  background-color: transparent;
  overflow: hidden;
  display: inline-block;
  transition: 0.2s color ease-in-out; }
  .redline.btn-outline-dark:before, .redline.btn-outline-dark:after {
    content: '';
    display: block;
    position: absolute; }
  .redline.btn-outline-dark:before {
    bottom: 0;
    left: 0px;
    top: 10px;
    right: 10px;
    border-left: 1px solid #FFFFFF;
    border-bottom: 1px solid #FFFFFF; }
  .redline.btn-outline-dark:after {
    bottom: 10px;
    left: 10px;
    top: 0;
    right: 0px;
    border-right: 1px solid #FFFFFF;
    border-top: 1px solid #FFFFFF; }
  .redline.btn-outline-dark span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    .redline.btn-outline-dark span:before, .redline.btn-outline-dark span:after {
      content: '';
      background-color: #111111;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    .redline.btn-outline-dark span:before {
      right: 10px;
      top: 0;
      border-right: 1px solid #FFFFFF;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .redline.btn-outline-dark span:after {
      bottom: 0;
      left: 10px;
      border-left: 1px solid #FFFFFF;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  .redline.btn-outline-dark:hover {
    background-color: transparent;
    color: #0A0A0A; }
    .redline.btn-outline-dark:hover span:before, .redline.btn-outline-dark:hover span:after {
      background-color: #FFFFFF; }
.redline.btn-outline {
  border: none;
  z-index: 1;
  position: relative;
  color: #880C0C;
  background-color: transparent;
  overflow: hidden;
  display: inline-block;
  transition: 0.2s color ease-in-out; }
  .redline.btn-outline:before, .redline.btn-outline:after {
    content: '';
    display: block;
    position: absolute; }
  .redline.btn-outline:before {
    bottom: 0;
    left: 0px;
    top: 10px;
    right: 10px;
    border-left: 1px solid #880C0C;
    border-bottom: 1px solid #880C0C; }
  .redline.btn-outline:after {
    bottom: 10px;
    left: 10px;
    top: 0;
    right: 0px;
    border-right: 1px solid #880C0C;
    border-top: 1px solid #880C0C; }
  .redline.btn-outline span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    .redline.btn-outline span:before, .redline.btn-outline span:after {
      content: '';
      background-color: #FFFFFF;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    .redline.btn-outline span:before {
      right: 10px;
      top: 0;
      border-right: 1px solid #880C0C;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .redline.btn-outline span:after {
      bottom: 0;
      left: 10px;
      border-left: 1px solid #880C0C;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  .redline.btn-outline:hover {
    background-color: transparent;
    color: #FFFFFF; }
    .redline.btn-outline:hover span:before, .redline.btn-outline:hover span:after {
      background-color: #880C0C; }
.redline.btn-primary {
  background-color: transparent;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: #FFFFFF; }
  .redline.btn-primary span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    .redline.btn-primary span:before, .redline.btn-primary span:after {
      content: '';
      background-color: #880C0C;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    .redline.btn-primary span:before {
      right: 15px;
      top: 0;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .redline.btn-primary span:after {
      bottom: 0;
      left: 15px;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  .redline.btn-primary:hover span:before, .redline.btn-primary:hover span:after {
    background-color: #590808; }
.redline.btn-secondary {
  background-color: transparent;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: #0A0A0A; }
  .redline.btn-secondary span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    .redline.btn-secondary span:before, .redline.btn-secondary span:after {
      content: '';
      background-color: #FFFFFF;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    .redline.btn-secondary span:before {
      right: 15px;
      top: 0;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .redline.btn-secondary span:after {
      bottom: 0;
      left: 15px;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  .redline.btn-secondary:hover span:before, .redline.btn-secondary:hover span:after {
    background-color: #e6e6e6; }
.accent .redline.btn-primary {
  background-color: transparent;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: #880C0C; }
  .accent .redline.btn-primary span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    .accent .redline.btn-primary span:before, .accent .redline.btn-primary span:after {
      content: '';
      background-color: #FFFFFF;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    .accent .redline.btn-primary span:before {
      right: 15px;
      top: 0;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .accent .redline.btn-primary span:after {
      bottom: 0;
      left: 15px;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  .accent .redline.btn-primary:hover span:before, .accent .redline.btn-primary:hover span:after {
    background-color: #e6e6e6; }
.redline.btn-accent {
  background-color: transparent;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: #880C0C; }
  .redline.btn-accent span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    .redline.btn-accent span:before, .redline.btn-accent span:after {
      content: '';
      background-color: #FFFFFF;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    .redline.btn-accent span:before {
      right: 15px;
      top: 0;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .redline.btn-accent span:after {
      bottom: 0;
      left: 15px;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  .redline.btn-accent:hover span:before, .redline.btn-accent:hover span:after {
    background-color: #e6e6e6; }

/*
 * Redline Design Panel Styles
 *
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
.panel p, .panel blockquote {
  font-size: 1.35em;
  line-height: 1.35em;
  margin: 0; }
.panel blockquote {
  margin: 15px 0 0 0;
  font-style: italic; }
.panel li {
  font-size: 1.35em;
  margin-bottom: 0.5em;
  line-height: 1.35em; }
.panel.light {
  background-color: white; }
.panel.transparent {
  background-color: rgba(255, 255, 255, 0.5); }
.panel.bordered-panel {
  padding: 1.5em;
  border: 1px solid #DEDEDE;
  position: relative;
  z-index: 5; }
  @media (max-width: 767px) {
    .panel.bordered-panel {
      margin: 10.05px 15px; } }
.panel.overlay-panel-top {
  margin-top: -12em; }
.panel.overlay-panel-left {
  margin-left: -3em; }
  @media (max-width: 767px) {
    .panel.overlay-panel-left {
      margin-left: 15px; } }
.panel.overlay-panel-right {
  margin-right: -3em; }
  @media (max-width: 767px) {
    .panel.overlay-panel-right {
      margin-right: 15px; } }
.panel .bounded-content {
  padding: 1.5em;
  width: 100%;
  position: relative; }
  .panel .bounded-content:before, .panel .bounded-content:after {
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    width: 40px;
    height: 40px; }
  .panel .bounded-content:before {
    background-image: url("panel-corner-top.svg");
    top: 0;
    left: 0; }
  .panel .bounded-content:after {
    background-image: url("panel-corner-bottom.svg");
    bottom: 0;
    right: 0; }
  .panel .bounded-content.double-padding {
    padding: 3em; }
.accent .panel .bounded-content {
  background-color: transparent;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .accent .panel .bounded-content span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    .accent .panel .bounded-content span:before, .accent .panel .bounded-content span:after {
      content: '';
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    .accent .panel .bounded-content span:before {
      right: 15px;
      top: 0;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .accent .panel .bounded-content span:after {
      bottom: 0;
      left: 15px;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  .accent .panel .bounded-content:before {
    background-image: url("panel-corner-top-light.svg"); }
  .accent .panel .bounded-content:after {
    background-image: url("panel-corner-bottom-light.svg"); }

.accent-sharp-panel {
  padding: 1.5em;
  width: 100%;
  color: #590808;
  background: #f2f2f2;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.9);
  border: 1px solid #d9d9d9; }
  .accent-sharp-panel h2 {
    color: #590808; }
  .accent-sharp-panel p {
    color: #303030; }
  @media (max-width: 1160px) {
    .accent-sharp-panel {
      margin-top: 75px; } }

.hero-container {
  background-image: url("/assets/hero-background.png");
  background-position: center center;
  background-size: cover; }

.panel.hero-panel p {
  font-size: 1.44em; }

.panel.highlight p {
  font-size: 1.35em; }

.tag-row {
  padding: 0 0 15px;
  font-size: 0.8em;
  text-transform: uppercase; }
  .tag-row .tag {
    padding-right: 5px; }
    .tag-row .tag::after {
      padding-left: 5px;
      content: '/'; }
    .tag-row .tag:last-child::after {
      content: ''; }

/*
 * Redline Design Footer Styles
 *
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
footer > .dark {
  color: #AAAAAA; }
  footer > .dark h5 {
    font-size: 1.1em;
    margin-top: 5px;
    margin-bottom: 0; }
  footer > .dark ul {
    font-family: "Roboto", arial, san-serif;
    font-weight: 300;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 0.5em; }

footer > .darkest {
  font-size: 1.1em;
  color: #444444; }

/*
 * Really specific styles
 *
 * Author: Tyler Stone
 * Copyright 2018 Redline Design
 */
.about-panel h2 {
  margin-bottom: 0; }
.about-panel h3 {
  color: #880C0C;
  font-size: 1.4em; }

.case-study-panel {
  padding: 200px 0;
  background-color: #DEDEDE;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  color: inherit; }
  .case-study-panel p {
    color: #666; }
  .case-study-panel .tag-row {
    color: #880C0C; }
  .case-study-panel:hover .sub-panel {
    opacity: 1; }
  .case-study-panel .sub-panel {
    opacity: 0;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: rgba(255, 255, 255, 0.97);
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.3);
    transition: all ease 0.2s; }
  @media (max-width: 1160px) {
    .case-study-panel {
      background-size: contain;
      border: none;
      padding: 200px 0 20px; }
      .case-study-panel .sub-panel {
        opacity: 1; } }

@media (max-width: 1160px) {
  .mobile-margin-bottom {
    margin-bottom: 15px; } }

.about-image {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 500px; }

.video-overlay-section {
  height: 675px;
  overflow: hidden;
  position: relative; }
  .video-overlay-section video {
    opacity: 0.85;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    min-height: 100%;
    min-width: 100%;
    width: auto;
    filter: blur(3px); }

.dark-overlay {
  width: 100%;
  height: 675px;
  position: absolute;
  top: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.7); }

.sub-hero-icon img {
  padding: 60px 0;
  max-width: 80%; }
@media (max-width: 1160px) {
  .sub-hero-icon {
    text-align: center; }
    .sub-hero-icon img {
      padding: 20px 0 60px; } }

.viridios-hero {
  height: 650px;
  background-image: url("/assets/viridios.png");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: contain;
  background-position-y: 75px; }
  @media (max-width: 1160px) {
    .viridios-hero {
      background-position: center top;
      height: 500px;
      background-position-y: 40px; } }

.viridios-container {
  display: flex;
  flex-direction: column;
  justify-content: center; }
  @media (max-width: 1160px) {
    .viridios-container {
      justify-content: flex-end;
      margin-bottom: 15px; } }

a.accent-bounded-link {
  background-color: transparent;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: white; }
  a.accent-bounded-link span {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
    a.accent-bounded-link span:before, a.accent-bounded-link span:after {
      content: '';
      background-color: #590808;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      -webkit-transform: skew(135deg);
      transform: skew(135deg);
      transition: all 0.2s ease-in-out; }
    a.accent-bounded-link span:before {
      right: 15px;
      top: 0;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    a.accent-bounded-link span:after {
      bottom: 0;
      left: 15px;
      -webkit-transform-origin: top right;
      transform-origin: top right; }
  a.accent-bounded-link:hover span:before, a.accent-bounded-link:hover span:after {
    background-color: #420606; }

.blockquote-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 0; }

blockquote {
  font-size: 1.9em;
  line-height: 1.4em;
  text-align: center; }
  @media (max-width: 767px) {
    blockquote {
      margin-left: 0;
      margin-right: 0; } }

cite {
  text-align: right;
  display: block;
  margin-right: 40px;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 300;
  font-family: "Roboto", arial, san-serif; }
  @media (max-width: 767px) {
    cite {
      margin-right: 0; } }

.service-card img {
  height: 175px; }

html {
  font-size: 0.9em;
  background: #ffffff;
  height: 100%; }

body {
  min-height: 100%;
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100vh;
  color: #0A0A0A;
  font-family: "Open Sans", arial, san-serif;
  font-size: 0.9em; }

main {
  flex: 1 0 auto; }

*:focus {
  outline: none; }

/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
  display: none !important;
  visibility: hidden; }

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.invisible {
  visibility: hidden; }

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

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

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

.pull-to-top {
  position: relative;
  z-index: 100; }

.center-horizontal {
  margin-left: auto;
  margin-right: auto; }

.center-vertical {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }

.flex-center-vertical {
  display: flex;
  justify-content: center;
  flex-direction: column; }

.center-both {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.consume-height {
  height: 100%; }

.no-margin {
  margin: 0; }

.pad-left {
  padding-left: 15px; }

.pad-right {
  padding-right: 15px; }

.double-gutter {
  margin: 30px; }

@media (max-width: 767px) {
  .mobile-center {
    text-align: center; } }
