﻿/* !-- Typography ------------------------------------------- */
/* !-- Color ------------------------------------------------ */
/* !-- Mixins and functions --------------------------------- */
/* !-- Responsive mixins -- */
/* !-- Helpers -- */
.sr-only, .assistive-text {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
   position: static;
   width: auto;
   height: auto;
   margin: 0;
   overflow: visible;
   clip: auto;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. */
html {
   line-height: 1.15; /* 1 */
   -ms-text-size-adjust: 100%; /* 2 */
   -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections ========================================================================== */
/** Remove the margin in all browsers (opinionated). */
body {
   margin: 0;
}

/** Add the correct display in IE 9-. */
article, aside, footer, header, nav, section {
   display: block;
}

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 {
   font-size: 2em;
   margin: 0.67em 0;
}

/* Grouping content ========================================================================== */
/** Add the correct display in IE 9-. 1. Add the correct display in IE. */
figcaption, figure, main { /* 1 */
   display: block;
}

/** Add the correct margin in IE 8. */
figure {
   margin: 1em 40px;
}

/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr {
   box-sizing: content-box; /* 1 */
   height: 0; /* 1 */
   overflow: visible; /* 2 */
}

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre {
   font-family: monospace, monospace; /* 1 */
   font-size: 1em; /* 2 */
}

/* Text-level semantics ========================================================================== */
/** 1. Remove the gray background on active links in IE 10. 2. Remove gaps in links underline in iOS 8+ and Safari 8+. */
a {
   background-color: transparent; /* 1 */
   -webkit-text-decoration-skip: objects; /* 2 */
}

/** 1. Remove the bottom border in Chrome 57- and Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] {
   border-bottom: none; /* 1 */
   text-decoration: underline; /* 2 */
   text-decoration: underline dotted; /* 2 */
}

/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */
b, strong {
   font-weight: inherit;
}

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong {
   font-weight: bolder;
}

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp {
   font-family: monospace, monospace; /* 1 */
   font-size: 1em; /* 2 */
}

/** Add the correct font style in Android 4.3-. */
dfn {
   font-style: italic;
}

/** Add the correct background and color in IE 9-. */
mark {
   background-color: #ff0;
   color: #000;
}

/** Add the correct font size in all browsers. */
small {
   font-size: 80%;
}

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup {
   font-size: 75%;
   line-height: 0;
   position: relative;
   vertical-align: baseline;
}

sub {
   bottom: -0.25em;
}

sup {
   top: -0.5em;
}

/* Embedded content ========================================================================== */
/** Add the correct display in IE 9-. */
audio, video {
   display: inline-block;
}

   /** Add the correct display in iOS 4-7. */
   audio:not([controls]) {
      display: none;
      height: 0;
   }

/** Remove the border on images inside links in IE 10-. */
img {
   border-style: none;
}

/** Hide the overflow in IE. */
svg:not(:root) {
   overflow: hidden;
}

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea {
   margin: 0; /* 2 */
}

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */
   overflow: visible;
}

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */
   text-transform: none;
}

/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */
button, html [type="button"], [type="reset"], [type="submit"] {
   -webkit-appearance: button; /* 2 */
}

   /** Remove the inner border and padding in Firefox. */
   button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
      border-style: none;
      padding: 0;
   }

   /** Restore the focus styles unset by the previous rule. */
   button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
      outline: 1px dotted ButtonText;
   }

/** Correct the padding in Firefox. */
fieldset {
   padding: 0;
}

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend {
   box-sizing: border-box; /* 1 */
   color: inherit; /* 2 */
   display: table; /* 1 */
   max-width: 100%; /* 1 */
   padding: 0; /* 3 */
   white-space: normal; /* 1 */
}

/** 1. Add the correct display in IE 9-. 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
   display: inline-block; /* 1 */
   vertical-align: baseline; /* 2 */
}

/** Remove the default vertical scrollbar in IE. */
textarea {
   overflow: auto;
}

/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */
[type="checkbox"], [type="radio"] {
   box-sizing: border-box; /* 1 */
   padding: 0; /* 2 */
}

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
   height: auto;
}

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] {
   -webkit-appearance: textfield; /* 1 */
   outline-offset: -2px; /* 2 */
}

   /** Remove the inner padding and cancel buttons in Chrome and Safari on macOS. */
   [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
      -webkit-appearance: none;
   }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button {
   -webkit-appearance: button; /* 1 */
   font: inherit; /* 2 */
}

/* Interactive ========================================================================== */
/* Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. */
details, menu {
   display: block;
}

/* Add the correct display in all browsers. */
summary {
   display: list-item;
}

/* Scripting ========================================================================== */
/** Add the correct display in IE 9-. */
canvas {
   display: inline-block;
}

/** Add the correct display in IE. */
template {
   display: none;
}

/* Hidden ========================================================================== */
/** Add the correct display in IE 10-. */
[hidden] {
   display: none;
}

/* !-- Typography ------------------------------------------- */
html {
   font-size: 18px;
   line-height: 1.45;
}

body, button, input, textarea {
   font-family: "Lato", "Segoe UI", Tahoma, Verdana, sans-serif;
   font-size: 1rem;
   font-weight: 300;
   color: #3e3e3e;
}

h1, h2, h3, h4, h5, h6 {
   font-weight: 900;
}

h1, .h1, .h-title {
   margin-top: 3rem;
   margin-bottom: 1.5rem;
   font-size: 2rem;
   font-weight: 300;
   line-height: 1.1;
}

.h-title-strong {
   font-weight: 900;
   font-style: italic;
}

h2, .h2, .h-mainhead {
   margin-top: 2rem;
   margin-bottom: 1rem;
   font-size: 1.5rem;
   font-weight: 300;
   line-height: 1.3;
}

h3, .h3, .h-subhead {
   margin-top: 1rem;
   margin-bottom: 0.5rem;
   font-size: 1.1rem;
   font-weight: 900;
   font-style: italic;
}

   h3 + p, .h3 + p, .h-subhead + p {
      margin-top: 0;
   }

h4 {
   margin-top: 1rem;
   margin-bottom: 1rem;
   font-size: 1rem;
   font-weight: 300;
   text-transform: uppercase;
   letter-spacing: 1px;
}

h5 {
   margin-top: 1rem;
   margin-bottom: 1rem;
   font-size: 1rem;
   font-weight: 400;
}

h6 {
   margin-top: 1rem;
   margin-bottom: 1rem;
   font-size: 1rem;
   font-weight: 300;
   font-style: italic;
}

p {
   margin-top: 1rem;
   margin-bottom: 1rem;
}

strong {
   font-weight: 900;
}

a {
    color: #862633;
    text-decoration: none;
    transition: all linear .15s;
}

   a.disabled, a.page-link.disabled {
      color: #878787;
      pointer-events: none;
   }

    a:hover {
        color: #ffca05;
    }

ul {
   margin-left: 0;
   padding-left: 1rem;
   list-style: none;
}

   ul ul, ul ol {
      padding-left: 1rem;
   }

   ul li:before {
      content: "";
      display: block;
      float: left;
      clear: left;
      margin-right: 10px;
      width: 8px;
      height: 20px;
      background: url("../images/checkmark-small.png") center no-repeat;
      background-size: contain;
   }

ol {
   counter-reset: ol-counter;
   margin-left: 0;
   padding-left: 1rem;
   list-style: none;
}

   ol ul, ol ol {
      padding-left: 1rem;
   }

   ol li:before {
      content: counter(ol-counter);
      counter-increment: ol-counter;
      display: block;
      float: left;
      clear: left;
      margin-right: 10px;
      font-size: 14px;
      line-height: 1.6rem;
      font-weight: bold;
      text-align: center;
      color: #FFCA05;
   }

pre {
   border-top: 10px solid #dff7ff;
   padding: 20px;
   font-family: Monaco, monospace;
   font-size: 0.8em;
   line-height: 1.45;
   -moz-tab-size: 4;
   -o-tab-size: 4;
   tab-size: 4;
   background-color: #3e3e3e;
   color: rgba(255, 255, 255, 0.9);
}

code {
   display: inline-block;
   border-radius: 4px;
   padding: 2px 4px;
   font-family: Monaco, monospace;
   font-size: 0.8em;
   line-height: 1.2;
   background-color: #dff7ff;
   color: rgba(0, 0, 0, 0.6);
}

/* !-- Backgrounds ------------------------------------------ */
.bg-image, .bg-overlay, .bg-overlay-left-black, .bg-overlay-right-black, .bg-overlay-left-white, .bg-overlay-right-white {
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
}

.bg-overlay, .bg-overlay-left-black, .bg-overlay-right-black, .bg-overlay-left-white, .bg-overlay-right-white {
   position: relative;
}

   .bg-overlay::after, .bg-overlay-left-black::after, .bg-overlay-right-black::after, .bg-overlay-left-white::after, .bg-overlay-right-white::after {
      clear: both;
      content: "";
      display: block;
   }

   .bg-overlay:before, .bg-overlay-left-black:before, .bg-overlay-right-black:before, .bg-overlay-left-white:before, .bg-overlay-right-white:before {
      display: none;
   }

   .bg-overlay > *, .bg-overlay-left-black > *, .bg-overlay-right-black > *, .bg-overlay-left-white > *, .bg-overlay-right-white > * {
      position: relative;
   }

   .bg-overlay > img:first-child, .bg-overlay-left-black > img:first-child, .bg-overlay-right-black > img:first-child, .bg-overlay-left-white > img:first-child, .bg-overlay-right-white > img:first-child {
      display: block;
      max-width: 100%;
      height: auto;
   }

@media (max-width: 899px) {
   .bg-overlay, .bg-overlay-left-black, .bg-overlay-right-black, .bg-overlay-left-white, .bg-overlay-right-white {
      background: none !important;
   }
}

@media (min-width: 900px) {
   .bg-overlay:before, .bg-overlay-left-black:before, .bg-overlay-right-black:before, .bg-overlay-left-white:before, .bg-overlay-right-white:before {
      content: " ";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
   }

   .bg-overlay > img:first-child, .bg-overlay-left-black > img:first-child, .bg-overlay-right-black > img:first-child, .bg-overlay-left-white > img:first-child, .bg-overlay-right-white > img:first-child {
      display: none;
   }
}

@media (min-width: 900px) {
   .bg-overlay-content {
      width: calc(50% - 30px);
      float: left;
      margin-left: 20px;
   }
}

@media (min-width: 900px) {
   .bg-overlay-left-black {
      color: #fff;
   }

      .bg-overlay-left-black:before {
         background-image: linear-gradient(to right, rgba(0, 0, 0, 0.75) 10%, transparent 66%);
      }

      .bg-overlay-left-black .button-outline, .bg-overlay-left-black a.button-outline-primary, .bg-overlay-left-black a.button-outline-secondary, .bg-overlay-left-black a.button-outline-white {
         border-color: #fff;
         color: #fff;
      }

      .bg-overlay-left-black a {
         color: #fff;
      }
}

@media (min-width: 900px) {
   .bg-overlay-right-black {
      color: #fff;
   }

      .bg-overlay-right-black:before {
         background-image: linear-gradient(to left, rgba(0, 0, 0, 0.75) 10%, transparent 66%);
      }

      .bg-overlay-right-black .bg-overlay-content {
         margin-left: 50%;
      }

      .bg-overlay-right-black .button-outline, .bg-overlay-right-black a.button-outline-primary, .bg-overlay-right-black a.button-outline-secondary, .bg-overlay-right-black a.button-outline-white {
         border-color: #fff;
         color: #fff;
      }

      .bg-overlay-right-black a {
         color: #fff;
      }
}

.bg-overlay-left-white {
   color: #3e3e3e;
}

@media (min-width: 900px) {
   .bg-overlay-left-white:before {
      background-image: linear-gradient(to right, white 25%, rgba(255, 255, 255, 0) 70%);
   }
}

@media (min-width: 900px) {
   .bg-overlay-right-white {
      color: #3e3e3e;
   }

      .bg-overlay-right-white:before {
         background-image: linear-gradient(to left, white 25%, rgba(255, 255, 255, 0) 70%);
      }

      .bg-overlay-right-white .bg-overlay-content {
         margin-left: 50%;
      }
}

.bg-primary {
   background-color: #862633;
   color: #fff;
}

   .bg-primary a {
      color: #FFCA05;
   }

.bg-secondary {
   background-color: #FFCA05;
   color: #862633;
}

   .bg-secondary a {
      color: #862633;
   }

/* !-- Buttons ---------------------------------------------- */
.button, .button-primary, .button-secondary, .button-outline,
.button-outline-primary, .button-outline-secondary, .button-outline-white,
.button-outline-success, .button-basic {
   position: relative;
   display: block;
   border: 1px solid transparent;
   padding: 0.75em 1.5em;
   /*box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);*/
   text-align: center;
   text-transform: uppercase;
   text-decoration: none;
   transition: all 0.1s ease-in-out;
   width: 100%;
   max-width: 270px;
   margin: 5px auto;
   font-weight: 300;
   border-radius: 9999px;
}

   .button-small {
      display: inline-block;
      width: auto;
      width: initial;
      padding: .35rem .75rem;
      font-size: 0.8rem;
      text-align: left;
      text-transform: none;
      font-weight: normal;
   }

   .button:disabled, .button-primary:disabled, .button-secondary:disabled,
   .button-outline:disabled, .button-outline-primary:disabled, .button-outline-secondary:disabled,
   .button-outline-white:disabled, .button.disabled {
      pointer-events: none;
      cursor: default;
   }

   .button-primary:disabled, .button-primary.disabled, .button-secondary:disabled, .button-secondary.disabled {
      color: #e2e2e2;
      background: #878787;
      border-color: #878787;
   }

   .button-outline:disabled, .button-outline.disabled, .button-outline-primary:disabled,
   .button-outline-primary.disabled, .button-outline-secondary:disabled, 
   .button-outline-secondary.disabled, .button-outline-white:disabled,
   .button-outline-white.disabled {
      color: #878787;
      border-color: #878787;
   }

   .button:hover, .button-primary:hover, .button-secondary:hover,
   .button-outline:hover, .button-outline-primary:hover,
   .button-outline-secondary:hover, .button-outline-white:hover {
/*      -webkit-transform: translateY(-2px);
      transform: translateY(-2px);
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);*/
      cursor: pointer;
   }

.button-basic, a.button-basic {
   background: #a0a0a0;
   font-weight: 400;
   text-transform: none;
   color: #3e3e3e;
}

.button-primary, a.button-primary {
   border-color: #862633;
   background-color: #862633;
   color: #ffffff;
}

   .button-primary:hover, a.button-primary:hover {
      background-color: #a62f3f;
      text-decoration: none;
   }

   .button-primary:disabled, .button-primary.disabled {
      color: #e2e2e2;
      background: #878787;
      border-color: #878787;
   }

.button-secondary, a.button-secondary {
   border-color: #FFCA05;
   background-color: #FFCA05;
   color: #862633;
}

   .button-secondary:hover, a.button-secondary:hover {
      background-color: #ffd32e;
      text-decoration: none;
   }

.button-outline, .button-outline-primary, .button-outline-secondary,
.button-outline-white, .button-outline-sucess {
   border-color: #862633;
   background: none;
   color: #862633;
}

   .button-outline:hover, .button-outline-primary:hover,
   .button-outline-secondary:hover, .button-outline-white:hover {
      border-color: #a62f3f;
      color: #a62f3f;
      background-color: rgba(134, 38, 51, .1);
   }

.button-outline-secondary {
   border-color: #FFCA05;
   color: #FFCA05;
}

   .button-outline-secondary:hover {
      border-color: #ffd32e;
      color: #ffd32e;
   }

.button-outline-white {
   border-color: #fff;
   color: #fff;
}

   .button-outline-white:hover {
      border-color: #ebebeb;
      color: #ebebeb;
   }

.button-outline-success {
   border-color: #328229;
   color: #328229;
}

   .button-outline-success:hover {
      border-color: #368c2c;
      color: #368c2c;
   }

.btn-group .button {
   width: 100%;
}

/* 
   User Messages
*/

.message {
    display: flex;
    align-items: center;
}

.message-info {
   background: #5bc0de;
   color: #fff;
}

.message-warning {
   background: #f0ad4e;
   color: #fff;
}

.message-error {
   background: #d9534f;
   color: #fff;
}

.alert-error {
   color: #d9534f;
   font-style: italic;
}

.security-message.card {
    display: flex;
    flex-direction: row;
    align-items: center;
    border-top: 2px solid #862633;
    color: #862633;
}

.security-message span {
    margin-left: .75rem;
}

/*
   Tables
*/
th, td {
   vertical-align: middle;
}

/*
   Columns
*/

.col-md-3-5, .col-md-8-5 {
   position: relative;
   width: 100%;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
}

@media screen and (min-width: 768px) {
   .col-md-3-5 {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 29.1666665%;
      flex: 0 0 29.1666665%;
      max-width: 29.1666665%;
   }

   .col-md-8-5 {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 70.8333335%;
      flex: 0 0 70.8333335%;
      max-width: 70.8333335%;
   }
}

/*
   Cards
*/

.card {
    border-radius: .15rem;
    padding: 0;
    border: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

   .card .card-header {
       border-radius: 0;
      border-bottom-color: #862633;
   }

   .card .card-body {
      padding: 0.45rem;
      flex: 0 0 auto;
   }

   .card .card-title {
      margin-top: 0.5rem;
      text-transform: capitalize;
   }

   .card .list-group {
      font-size: 0.9rem;
      border-radius: 0;
   }

      .card .list-group .list-group-item {
         padding: 0.5rem 1.25rem;
         border-radius: 0 !important;
      }

   .card p {
      text-align: center;
      margin: 0;
   }

   .card .card-link {
      margin: 0 -1px;
      padding: 0 1rem;
      white-space: nowrap;
   }

   .card .card-link:last-child {
      border: 0;
   }

   .card-deck .card:nth-child(n+3) {
      margin-top: 10px;
   }

.card-img-list {
  display: flex;
  flex-direction: row;
  flex-flow: row-reverse;
}

   .card-img-list object {
      align-self: center;
      padding: 0.5rem;
      height: 150px;
      max-width: 150px;
   }

   .card-img-list .list-group {
      width: 100%;
   }

@media screen and (max-width: 992px) {
   .card-img-list {
      margin: 0 auto;
   }
}

@media screen and (max-width: 768px) {
   .card-img-list {
     flex-direction: column;
     flex-flow: column;
   }
}

/*
   Forms
*/

.form-row {
   max-width: 600px;
   margin: 0 auto;
}

.form-control {
   border-radius: 0;
   border: 1px solid #878787;
}

.required {
   color: red;
}

.form-row.collapse.show {
   display: flex;
}

.svg-inline--fa {
   margin: 0 10px;
}

.form-link {
   text-transform: uppercase;
   display: inline-block;
   width: 100%;
   text-align: center;
}

/*
   List Groups
*/

.list-group-item::before {
   display: none;
}

/*
   Pagination
*/

.page-item .page-link {
   border-color: #e2e2e2;
   color: #862633;
}

.page-item:first-child .page-link,
.page-item:last-child .page-link {
   border-radius: 0;
}

/*
   List Groups
*/

.list-group.collapse.show {
   display: flex;
}

/*
   Accordions
*/

.collapse {
   display: flex;
   max-height: 125px;
   overflow: hidden;
}

.collapse:not(.show) {
    display: flex;
}

.collapse.show {
   height: 100%;
   max-height: 100%;
}

.collapsing {
   height: 160px;
}

.collapse + a.collapsed:after {
    content: 'Show More';
}

.collapse + a:not(.collapsed):after {
    content: 'Show Less';
}

.collapse + a {
    padding: .5rem 1rem;
}

.collapse.list-group {
    border-bottom: none;
}

.collapse .list-group-item {
    text-overflow: clip;
    white-space: nowrap;
    border-width: 0;
}

    .collapse .list-group-item:first-child {
        border-top-width: 1px;
    }

    .collapse .list-group-item::after {
        content: "";
        position: absolute;
        z-index: 1;
        left: 0;
        top: 0;
        pointer-events: none;
        background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 1) 100%);
        width: 100%;
        height: 100%;
    }

.text-small {
   font-size: 0.9rem;
}