/* ==========================================================================
 * main.css – L&R Builds Website Styles
 * Cleaned, formatted, and annotated for production release
 * ==========================================================================
 */
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,700,900");

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

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  -webkit-text-size-adjust: none;
  padding-top: 80px; /* match nav height to prevent overlap */
}

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

input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input, select, textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
}

/* Basic */

@-ms-viewport {
  width: device-width;
}

html {
  box-sizing: border-box;
}

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

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

body, input, textarea, select {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 16pt;
  line-height: 1.75em;
  letter-spacing: 0.025em;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: #be2034;
}

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

a {
  -moz-transition: color .25s ease-in-out;
  -webkit-transition: color .25s ease-in-out;
  -ms-transition: color .25s ease-in-out;
  transition: color .25s ease-in-out;
  text-decoration: underline;
  color: #717479;
}

a:hover {
  text-decoration: none;
}

strong, b {
  font-weight: 700;
  color: #484d55;
}

blockquote {
  border-left: solid 0.5em #ddd;
  padding: 1em 0 1em 2em;
  font-style: italic;
}

em, i {
  font-style: italic;
}

hr {
  border: 0;
  border-top: solid 1px #ddd;
  margin: 2em 0 2em 0;
}

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

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

.nobr {
  white-space: nowrap;
}

br.clear {
  clear: both;
}

p, ul, ol, dl, table, blockquote, form {
  margin-bottom: 2em;
}

iframe {
  overflow: visible !important;
}

/* Container */

.container {
  margin: 0 auto;
  max-width: 68em;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* Slightly tighter padding on small screens */
@media screen and (max-width: 736px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Row */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.row.gtr-25 {
  margin-top: -12.5px;
  margin-left: -12.5px;
}

.row.gtr-25 > * {
  padding: 12.5px 0 0 12.5px;
}

.row.gtr-25.gtr-uniform {
  margin-top: -12.5px;
}

.row.gtr-25.gtr-uniform > * {
  padding-top: 12.5px;
}

.row.gtr-50 {
  margin-top: -25px;
  margin-left: -25px;
}

.row.gtr-50 > * {
  padding: 25px 0 0 25px;
}

.row.gtr-50.gtr-uniform {
  margin-top: -25px;
}

.row.gtr-50.gtr-uniform > * {
  padding-top: 25px;
}

.row {
  margin-top: -50px;
  margin-left: -50px;
}

.row > * {
  padding: 50px 0 0 50px;
}

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

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

.row.gtr-150 {
  margin-top: -75px;
  margin-left: -75px;
}

.row.gtr-150 > * {
  padding: 75px 0 0 75px;
}

.row.gtr-150.gtr-uniform {
  margin-top: -75px;
}

.row.gtr-150.gtr-uniform > * {
  padding-top: 75px;
}

.row.gtr-200 {
  margin-top: -100px;
  margin-left: -100px;
}

.row.gtr-200 > * {
  padding: 100px 0 0 100px;
}

.row.gtr-200.gtr-uniform {
  margin-top: -100px;
}

.row.gtr-200.gtr-uniform > * {
  padding-top: 100px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .row.gtr-25 {
    margin-top: -12.5px;
    margin-left: -12.5px;
  }

  .row.gtr-25 > * {
    padding: 12.5px 0 0 12.5px;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -12.5px;
  }

  .row.gtr-25.gtr-uniform > * {
    padding-top: 12.5px;
  }

  .row.gtr-50 {
    margin-top: -25px;
    margin-left: -25px;
  }

  .row.gtr-50 > * {
    padding: 25px 0 0 25px;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -25px;
  }

  .row.gtr-50.gtr-uniform > * {
    padding-top: 25px;
  }

  .row {
    margin-top: -50px;
    margin-left: -50px;
  }

  .row > * {
    padding: 50px 0 0 50px;
  }

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

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

  .row.gtr-150 {
    margin-top: -75px;
    margin-left: -75px;
  }

  .row.gtr-150 > * {
    padding: 75px 0 0 75px;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -75px;
  }

  .row.gtr-150.gtr-uniform > * {
    padding-top: 75px;
  }

  .row.gtr-200 {
    margin-top: -100px;
    margin-left: -100px;
  }

  .row.gtr-200 > * {
    padding: 100px 0 0 100px;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -100px;
  }

  .row.gtr-200.gtr-uniform > * {
    padding-top: 100px;
  }

}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .row.gtr-25 {
    margin-top: -8.75px;
    margin-left: -8.75px;
  }

  .row.gtr-25 > * {
    padding: 8.75px 0 0 8.75px;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -8.75px;
  }

  .row.gtr-25.gtr-uniform > * {
    padding-top: 8.75px;
  }

  .row.gtr-50 {
    margin-top: -17.5px;
    margin-left: -17.5px;
  }

  .row.gtr-50 > * {
    padding: 17.5px 0 0 17.5px;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -17.5px;
  }

  .row.gtr-50.gtr-uniform > * {
    padding-top: 17.5px;
  }

  .row {
    margin-top: -35px;
    margin-left: -35px;
  }

  .row > * {
    padding: 35px 0 0 35px;
  }

  .row.gtr-uniform {
    margin-top: -35px;
  }

  .row.gtr-uniform > * {
    padding-top: 35px;
  }

  .row.gtr-150 {
    margin-top: -52.5px;
    margin-left: -52.5px;
  }

  .row.gtr-150 > * {
    padding: 52.5px 0 0 52.5px;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -52.5px;
  }

  .row.gtr-150.gtr-uniform > * {
    padding-top: 52.5px;
  }

  .row.gtr-200 {
    margin-top: -70px;
    margin-left: -70px;
  }

  .row.gtr-200 > * {
    padding: 70px 0 0 70px;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -70px;
  }

  .row.gtr-200.gtr-uniform > * {
    padding-top: 70px;
  }

}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .row.gtr-25 {
    margin-top: -12.5px;
    margin-left: -12.5px;
  }

  .row.gtr-25 > * {
    padding: 12.5px 0 0 12.5px;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -12.5px;
  }

  .row.gtr-25.gtr-uniform > * {
    padding-top: 12.5px;
  }

  .row.gtr-50 {
    margin-top: -25px;
    margin-left: -25px;
  }

  .row.gtr-50 > * {
    padding: 25px 0 0 25px;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -25px;
  }

  .row.gtr-50.gtr-uniform > * {
    padding-top: 25px;
  }

  .row {
    margin-top: -50px;
    margin-left: -50px;
  }

  .row > * {
    padding: 50px 0 0 50px;
  }

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

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

  .row.gtr-150 {
    margin-top: -75px;
    margin-left: -75px;
  }

  .row.gtr-150 > * {
    padding: 75px 0 0 75px;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -75px;
  }

  .row.gtr-150.gtr-uniform > * {
    padding-top: 75px;
  }

  .row.gtr-200 {
    margin-top: -100px;
    margin-left: -100px;
  }

  .row.gtr-200 > * {
    padding: 100px 0 0 100px;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -100px;
  }

  .row.gtr-200.gtr-uniform > * {
    padding-top: 100px;
  }

}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .row.gtr-25 {
    margin-top: -7.5px;
    margin-left: -7.5px;
  }

  .row.gtr-25 > * {
    padding: 7.5px 0 0 7.5px;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -7.5px;
  }

  .row.gtr-25.gtr-uniform > * {
    padding-top: 7.5px;
  }

  .row.gtr-50 {
    margin-top: -15px;
    margin-left: -15px;
  }

  .row.gtr-50 > * {
    padding: 15px 0 0 15px;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -15px;
  }

  .row.gtr-50.gtr-uniform > * {
    padding-top: 15px;
  }

  .row {
    margin-top: -30px;
    margin-left: -30px;
  }

  .row > * {
    padding: 30px 0 0 30px;
  }

  .row.gtr-uniform {
    margin-top: -30px;
  }

  .row.gtr-uniform > * {
    padding-top: 30px;
  }

  .row.gtr-150 {
    margin-top: -45px;
    margin-left: -45px;
  }

  .row.gtr-150 > * {
    padding: 45px 0 0 45px;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -45px;
  }

  .row.gtr-150.gtr-uniform > * {
    padding-top: 45px;
  }

  .row.gtr-200 {
    margin-top: -60px;
    margin-left: -60px;
  }

  .row.gtr-200 > * {
    padding: 60px 0 0 60px;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -60px;
  }

  .row.gtr-200.gtr-uniform > * {
    padding-top: 60px;
  }

}
/* Menu */

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

ul.menu > li {
  border-left: solid 1px rgba(255, 255, 255, 0.15);
  display: inline-block;
  line-height: 1;
  margin-left: 1.5em;
  padding: 0 0 0 1.5em;
}

ul.menu > li:first-child {
  border-left: 0;
  margin: 0;
  padding-left: 0;
}

@media screen and (max-width: 480px) {
  ul.menu > li {
    border-left: 0;
    display: block;
    line-height: inherit;
    margin: 0.5em 0 0 0;
    padding-left: 0;
  }
}

/* Section/Article */

section,
article {
  margin: 0 0 4em 0;
}

section > :last-child,
article > :last-child,
section:last-child,
article:last-child {
  margin-bottom: 0;
}

header.style1 {
  text-align: center;
  padding: 3em 0 3em 0;
}

header.style1 h2 {
  font-weight: 700;
  font-size: 2em;
  letter-spacing: 0.075em;
  line-height: 1.5em;
}

header.style1 p {
  color: #b1b4b9;
  display: block;
  margin: 1.15em 0 0 0;
  font-size: 1.3em;
  letter-spacing: 0.075em;
  line-height: 1.5em;
}

/* Table */

table {
  width: 100%;
}

table.default {
  width: 100%;
}

table.default tbody tr:nth-child(2n+2) {
  background: #f4f4f4;
}

table.default td {
  padding: 0.5em 1em 0.5em 1em;
}

table.default th {
  text-align: left;
  font-weight: 400;
  padding: 0.5em 1em 0.5em 1em;
}

table.default thead {
  background: #484d55;
  color: #fff;
}

table.default tfoot {
  background: #eee;
}

/* Form */

form label {
  display: block;
  font-weight: 700;
  color: #484d55;
  margin: 0.25em 0 0.5em 0;
}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form select,
form textarea {
  -moz-transition: all .25s ease-in-out;
  -webkit-transition: all .25s ease-in-out;
  -ms-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
  -webkit-appearance: none;
  appearance: none;
  display: block;
  border: 0;
  background: #eee;
  box-shadow: inset 0px 0px 1px 0px #a0a1a7;
  border-radius: 0.35em;
  width: 100%;
  padding: 0.75em 1em 0.75em 1em;
}

form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="password"]:focus,
form select:focus,
form textarea:focus {
  background: #f8f8f8;
}

form input[type="text"],
form input[type="email"]
input[type="password"] {
  line-height: 1em;
}

form select {
  line-height: 1em;
}

form textarea {
  min-height: 8em;
}

form ul.actions {
  margin-top: 0;
}

form ul.actions-center {
  margin-top: 0;
  justify-content: center;
}

form ::-webkit-input-placeholder {
  color: #555 !important;
  font-style: italic;
  line-height: 1.35em;
}

form :-moz-placeholder {
  color: #555 !important;
  font-style: italic;
}

form ::-moz-placeholder {
  color: #555 !important;
  font-style: italic;
}

form :-ms-input-placeholder {
  color: #555 !important;
  font-style: italic;
}

form ::-moz-focus-inner {
  border: 0;
}

/* Image */

.image {
  display: inline-block;
}

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

.image.fit {
  display: block;
  width: 100%;
}

.image.left {
  float: left;
  margin: 0 2em 2em 0;
}

.image.centered {
  display: block;
  margin: 0 0 2em 0;
}

.image.centered img {
  margin: 0 auto;
  width: auto;
}

.image.featured {
  display: block;
  width: 100%;
  margin: 0 0 2em 0;
}

/* Button */

input[type="button"],
input[type="submit"],
input[type="reset"],
button,
.button {
  -moz-transition: all .25s ease-in-out;
  -webkit-transition: all .25s ease-in-out;
  -ms-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
  display: inline-block;
  background: #444;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-decoration: none;
  border-radius: 0.35em;
  border: 0;
  outline: 0;
  cursor: pointer;
  padding: 0 2.25em 0 2.25em;
  font-size: 0.9em;
  min-width: 12em;
  height: 4em;
  line-height: 4em;
}

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

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

input[type="button"].style1,
input[type="submit"].style1,
input[type="reset"].style1,
button.style1,
.button.style1 {
  background: #be2034 url("images/overlay.png");
  color: #fff;
}

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

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

input[type="button"].style2,
input[type="submit"].style2,
input[type="reset"].style2,
button.style2,
.button.style2 {
  background: none;
  color: #606167;
  box-shadow: inset 0px 0px 2px 0px #a0a1a7;
}

input[type="button"].style2:hover,
input[type="submit"].style2:hover,
input[type="reset"].style2:hover,
button.style2:hover,
.button.style2:hover {
  box-shadow: inset 0px 0px 2px 0px #606167;
}

input[type="button"].style2:active,
input[type="submit"].style2:active,
input[type="reset"].style2:active,
button.style2:active,
.button.style2:active {
  box-shadow: inset 0px 0px 2px 0px #202127;
}

input[type="button"].style3,
input[type="submit"].style3,
input[type="reset"].style3,
button.style3,
.button.style3 {
  background: #2f333b url("images/overlay.png");
  color: #fff;
}

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

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

/* List */

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

ul li {
  padding-left: 0.5em;
}

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

ul.style2 li {
  border-top: solid 1px #eee;
  padding: 1.5em 0 0 0;
  margin: 1.5em 0 0 0;
}

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

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

ul.style3 li {
  border-top: solid 1px #eee;
  padding: 0.5em 0 0 0;
  margin: 0.5em 0 0 0;
}

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

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

ol li {
  padding-left: 0.25em;
}

/* Actions */

ul.actions {
  list-style: none;
  padding-left: 0;
  margin: 3em 0 0 0;
}

ul.actions li {
  display: inline-block;
  margin: 0 0.75em 0 0.75em;
  padding-left: 0;
}

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

ul.actions li:last-child {
  margin-right: 0;
}

ul.actions.special {
  text-align: center;
}

/* Feature List */

.feature-list {
  max-width: 58em;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  top: 0.75em;
}

.feature-list section {
  border-top: solid 1px #eee;
  padding: 2em 1.25em 0 1.25em;
  position: relative;
}

@media screen and (min-width: 981px) {
  .feature-list > .row > :nth-child(-n + 2) > section {
    border-top: 0;
    padding-top: 0;
  }
}

.feature-list h3 {
  color: #be2034 !important;
  margin: -0.35em 0 0.75em 0;
  font-size: 1.15em;
  letter-spacing: 0.05em;
}

.feature-list h3:before {
  display: block;
  color: #fff;
  background: #2f333b url("images/overlay.png");
  border-radius: 2.5em;
  text-align: center;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  margin-right: 0.75em;
  position: absolute;
  left: 0;
  margin-top: -0.5em;
}

.feature-list.small section {
  padding-left: 3.5em;
}

.feature-list.small h3:before {
  font-size: 0.8em;
}

/* Icons */

.icon {
  text-decoration: none;
  text-decoration: none;
}

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

.icon:before {
  line-height: inherit;
  font-size: 1.25em;
}

.icon > .label {
  display: none;
}

.icon.solid:before {
  font-weight: 900;
}

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

/* Box */

.box header {
  margin: 0 0 1.5em 0;
}

.box header.style1 {
  position: relative;
  margin: -0.5em 0 0 0;
  padding-top: 0;
}

.box h2 {
  margin: 0 0 0.75em 0;
  font-size: 1.15em;
  letter-spacing: 0.05em;
}

.box h3 {
  margin: 0 0 0.5em 0;
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.box.post-excerpt .image.left {
  position: relative;
  top: 0.5em;
  width: 5em;
}

.box.post-excerpt h3, .box.post-excerpt p {
  margin-left: 7em;
}

/* Wrapper */

.wrapper {
  position: relative;
  padding: 6em 0 9em 0;
}

.wrapper .title {
  position: absolute;
  top: 0;
  left: 50%;
  text-align: center;
  text-transform: uppercase;
  display: block;
  font-weight: 700;
  letter-spacing: 0.25em;
  font-size: 0.9em;
  width: 25em;
  height: 3.25em;
  top: -3.25em;
  line-height: 3.25em;
  margin-bottom: -3.25em;
  margin-left: -12.5em;
  padding-top: 0.5em;
}

.wrapper .title:before {
  content: '';
  position: absolute;
  bottom: -38px;
  left: -35px;
  width: 35px;
  height: 38px;
}

.wrapper .title:after {
  -moz-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1);
  content: '';
  position: absolute;
  bottom: -38px;
  right: -35px;
  width: 35px;
  height: 38px;
}

.wrapper.style1 {
  background: #be2034 url("images/overlay.png");
  color: #eee;
  color: rgba(255, 255, 255, 0.75);
}

.wrapper.style1 .title {
  background: #e97770 url("images/overlay.png");
  color: #fff;
}

.wrapper.style1 h1, .wrapper.style1 h2, .wrapper.style1 h3, .wrapper.style1 h4, .wrapper.style1 h5, .wrapper.style1 h6, .wrapper.style1 strong, .wrapper.style1 b, .wrapper.style1 a {
  color: #fff;
}

.wrapper.style2 {
  background: #fff;
}

.wrapper.style2 .title {
  background: #fff;
  color: #484d55;
  max-width: 100%;
  max-height: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wrapper.style3 {
  background: #f3f3f3 url("images/overlay.png");
}

.wrapper.style3 .title {
  background: #f3f3f3 url("images/overlay.png");
  color: #484d55;
}

.wrapper.style3 .image {
  border: solid 10px #fff;
}

/* Page Wrapper */

#page-wrapper > section {
  margin-bottom: 0;
}

/* Header */

#header {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  position: relative;
  height: 24em;
  background-size: cover;
  padding: 0;
}

#header:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.homepage #header {
  height: 35em;
}

/* Sticky Navigation Bar with Centered Tiny Logo */
#navPanel {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #be2034; /* Brand red */
  z-index: 9999;
  padding: 1em 0 0.5em 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
}

/* Centered Tiny Logo */
.nav-logo {
  text-align: center;
  margin-bottom: 0.5em;
  padding-top: 20px;
}

.nav-logo img {
  height: 40px;
  width: auto;
  max-width: 100px;
}

/* Responsive Nav Menu */
#navPanel nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

#navPanel nav ul li {
  margin: 0.5em 1em;
}

#navPanel nav ul li a {
  color: #ffffff;
  text-decoration: none;
  font-size: 1em;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: color 0.25s ease;
  white-space: nowrap;
}

#navPanel nav ul li a:hover {
  color: #f0f0f0;
}

#navPanel nav ul li a.current {
  font-weight: 700;
  text-decoration: underline;
}

/* Smaller logo on very small screens */
@media screen and (max-width: 480px) {
  .nav-logo img {
    height: 30px;
    max-width: 80px;
  }

  #navPanel nav ul li {
    margin: 0.3em 0.6em;
  }

  #navPanel nav ul li a {
    font-size: 0.9em;
  }
}


/* Wrapper (main) */

#wrapper {
  margin-left: 18em;
}

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

  #wrapper {
    margin-left: 0;
    padding-top: 3.5em;
  }

}

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

  #wrapper {
    padding-top: 0;
  }

}

#header + #wrapper > .wrapper > .inner {
  margin: 0 auto;
}

/* Logo */

#logo {
  max-width: 50%;
  max-height: 50%;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 1.5em;
  bottom: 2.5em;
  padding-top: 15px;
  padding-bottom: 15px;
}

#logo h1 {
  font-weight: 900;
  text-transform: uppercase;
  color: #fff;
  font-size: 2em;
  letter-spacing: 0.25em;
}

#logo p {
  color: #eee;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  margin: 1.25em 0 0 0;
  display: block;
  letter-spacing: 0.2em;
  font-size: 0.9em;
}

/* Intro */

#intro {
  padding-bottom: 8em;
  text-align: center;
}

#intro p.style1 {
  font-size: 1.5em;
  letter-spacing: 0.075em;
}

#intro p.style2 {
  font-weight: 700;
  color: #fff;
  font-size: 2.75em;
  letter-spacing: 0.075em;
  line-height: 1.35em;
  padding: 1em 0 1em 0;
  margin-bottom: 1em;
}

#intro p.style2 a {
  color: inherit;
  text-decoration: none;
}

#intro p.style3 {
  font-size: 1.1em;
  width: 48em;
  margin: 0 auto;
}

/* Features */

#features header.style1 {
  padding-bottom: 5em;
}

#features ul.actions {
  margin-top: 5em;
}

/* Highlights */

#highlights .highlight {
  text-align: center;
}

#highlights .highlight h3 {
  color: #be2034;
  margin: 0 0 0.75em 0;
  font-size: 1.15em;
  letter-spacing: 0.05em;
}

/* Standardize spacing between service blocks */
section.highlight {
  margin-bottom: 3em;
}

/* Ensure consistent vertical flow on smaller screens */
@media screen and (max-width: 768px) {
  section.highlight {
    margin-bottom: 2.5em;
  }
}

/* Flexible video wrapper that keeps everything in view */
#video-hero {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  padding-top: 56.25%; /* Maintain 16:9 ratio */
}

.video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bg-video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  background-color: #000;
}

/* Dashboard Card Style */
.dashboard-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  padding: 1.5em;
  margin-bottom: 2em;
}

/* Card Header and Filters */
.card-header {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.card-header h2 {
  margin: 0;
}

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.filters label {
  font-weight: bold;
  margin-right: 0.5em;
}

.filters select {
  padding: 0.4em;
  border-radius: 5px;
  border: 1px solid #ccc;
}

/* Calendar */
.company-calendar-block {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.09);
  padding: 2.5em 2em 2em 2em;
  margin: 3em auto 2em auto;
  max-width: 880px;
  width: 100%;
}

.calendar-events-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.calendar-events-table th {
  background: #be2034;
  color: #fff;
  padding: 1em;
  text-align: left;
  font-size: 1.1em;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.calendar-events-table td {
  padding: 1em 0.7em;
  border-bottom: 1px solid #eaeaea;
  color: #444;
  vertical-align: top;
}

.calendar-events-table tr:nth-child(even) {
  background: #f7f7fa;
}

.event-desc {
  display: block;
  font-size: 0.92em;
  color: #8a8a8a;
  margin-top: 0.3em;
  font-style: italic;
}

.no-events {
  color: #a5a5a5;
  font-style: italic;
  text-align: center;
  margin: 2em 0 1em 0;
}

/* CALENDAR */
/* Fix calendar container overflow */
.calendar-container, .fc, .calendar-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    margin: 0 !important;
    padding: 10px;
    box-sizing: border-box;
}

/* Scale down oversized buttons */
.calendar-button, .fc-button, .btn-calendar, 
button[class*="calendar"], .calendar-nav button {
    font-size: clamp(11px, 2.5vw, 14px) !important;
    padding: clamp(4px, 1vw, 8px) clamp(8px, 2vw, 12px) !important;
    margin: 2px !important;
    white-space: nowrap;
    box-sizing: border-box;
}

/* Fix calendar header layout */
.calendar-header, .fc-toolbar, .calendar-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px !important;
}

/* Main */

#site-footer {
background: #be2034;
color: #ffffff;
padding: 2em 1em;
text-align: center;
font-size: 0.9em;
line-height: 1.6em;
position: sticky;
top: 100%;
z-index: 999;
}

#site-footer .footer-inner {
max-width: 1200px;
margin: 0 auto;
}

.footer-links {
list-style: none;
padding: 0;
margin: 1em 0;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1.5em;
}

.footer-links li a {
color: #ffffff;
text-decoration: none;
font-size: 0.9em;
}

.footer-links li a:hover {
text-decoration: underline;
}

.footer-social {
margin-top: 1em;
}

.footer-social a {
color: #ffffff;
font-size: 1.2em;
margin: 0 0.5em;
display: inline-block;
transition: color 0.3s;
}

.footer-social a:hover {
color: #f0f0f0;
}

/* Footer */

#footer {
background: #282b34 url("images/overlay.png");
color: #eee;
color: rgba(255, 255, 255, 0.5);
padding-bottom: 6em;
}

#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer strong, #footer b, #footer a {
color: #fff;
}

#footer hr {
border-top-color: #333;
border-top-color: rgba(255, 255, 255, 0.05);
}

#footer form input[type="text"],
#footer form input[type="email"],
#footer form input[type="password"],
#footer form select,
#footer form textarea {
background: #ccc;
box-shadow: none;
}

#footer form input[type="text"]:focus,
#footer form input[type="email"]:focus,
#footer form input[type="password"]:focus,
#footer form select:focus,
#footer form textarea:focus {
background: #fff;
}

#footer input[type="button"],
#footer input[type="submit"],
#footer input[type="reset"],
#footer button,
#footer .button {
color: #fff;
box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.5);
}

#footer input[type="button"]:hover,
#footer input[type="submit"]:hover,
#footer input[type="reset"]:hover,
#footer button:hover,
#footer .button:hover {
color: #fff;
box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.65);
}

#footer input[type="button"]:active,
#footer input[type="submit"]:active,
#footer input[type="reset"]:active,
#footer button:active,
#footer .button:active {
box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.75);
}

#footer input[type="button"].style2:active,
#footer input[type="submit"].style2:active,
#footer input[type="reset"].style2:active,
#footer button.style2:active,
#footer .button.style2:active {
box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.75);
}

#footer .title {
background: #282b34 url("images/overlay.png");
color: #eee;
}

#footer header.style1 {
padding-bottom: 6em;
margin-bottom: 6em;
border-bottom: solid 1px rgba(255, 255, 255, 0.05);
}

#footer header.style1 h2 {
color: #fff;
}

#footer header.style1 .p {
color: inherit;
}

#footer .feature-list {
max-width: 100%;
}

#footer .feature-list section {
border-top-color: rgba(255, 255, 255, 0.05);
}

#footer .feature-list h3:before {
background: #3d4249 url("images/overlay.png");
}

/* Copyright */

#copyright {
text-align: center;
padding-top: 6em;
margin-top: 6em;
border-top: solid 1px rgba(255, 255, 255, 0.05);
}

#copyright ul {
display: inline-block;
border-radius: 0.35em;
box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.05);
color: #aaa;
color: rgba(255, 255, 255, 0.25);
padding: 0.75em 2em;
font-size: 0.9em;
}

#copyright ul li {
display: inline-block;
margin-left: 1em;
padding-left: 1em;
border-left: solid 1px #333;
border-left-color: rgba(255, 255, 255, 0.05);
}

#copyright ul li:first-child {
border-left: 0;
margin-left: 0;
padding-left: 0;
}

#copyright a {
color: inherit;
}

#copyright a:hover {
color: #fff;
}

/* XLarge */

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

/* Basic */

body, input, textarea, select {
font-size: 12pt;
}

}

/* Large */

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

/* Basic */

body, input, select, textarea {
font-size: 11pt;
line-height: 1.5em;
letter-spacing: 0.015em;
}

/* Wrapper */

.wrapper {
padding: 4em 0 4em 0;
}

/* Logo */

#logo {
margin-top: -0.5em !important;
margin-bottom: -0.5em !important;
}

#logo h1 {
font-size: 1.75em;
}

/* Intro */

#intro {
padding-bottom: 1.5em;
}

#intro p.style1 {
font-size: 1.25em;
}

#intro p.style2 {
font-size: 2.25em;
}

/* Footer */

#footer {
padding-bottom: 4em;
}

#footer header.style1 {
padding-bottom: 4em;
margin-bottom: 4em;
border-bottom: solid 1px rgba(255, 255, 255, 0.05);
}

/* Copyright */

#copyright {
padding-top: 4em;
margin-top: 4em;
}

}

/* Medium */

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

/* Section/Article */

header br {
display: block;
}

/* Form */

form ul.actions {
text-align: center;
}

/* Feature List */

.feature-list {
max-width: 40em;
}

.feature-list section {
padding-top: 4em;
}

.feature-list > .row > :first-child > section {
border-top: 0;
padding-top: 0;
}

/* Nav */

#nav {
display: block !important;
}

/* Logo */

#logo {
top: 0;
}

/* Intro */

#intro p.style3 {
width: auto;
}

/* Highlights */

#highlights .highlight {
max-width: 40em;
margin-left: auto;
margin-right: auto;
margin-bottom: 3em;
}

/* Footer */

#footer .feature-list {
border-top: solid 1px rgba(255, 255, 255, 0.05);
padding-top: 4em;
}

}

@media screen and (max-width: 980px) and (min-width: 737px) {

#footer .feature-list > .row > :nth-child(2) > section {
border-top: 0;
padding-top: 0;
}

}

/* Small */

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

/* Basic */

  body, input, select, textarea {
  line-height: 1.5em;
  font-size: 10.5pt;
  letter-spacing: 0;
  }

  h2, h3, h4, h5, h6 {
  font-size: 1.2em;
  letter-spacing: 0.05em;
  margin: 0 0 1em 0;
  }

  hr {
  margin: 1em 0 1em 0;
  }

  /* Section/Article */

  section, article {
  clear: both;
  }

  header br {
  display: block;
  }

  header.style1 {
  padding: 0 0 1em 0;
  }

  header.style1 h2 {
  font-size: 1.5em;
  letter-spacing: 0.075em;
  line-height: 1.25em;
  }

  header.style1 p {
  font-size: 1em;
  letter-spacing: 0;
  display: block;
  margin: 0;
  }
}

/* Actions */

ul.actions {
margin: 2em 0 0 0;
}

ul.actions li {
margin: 15px 0 0 0;
display: block;
}

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

/* Feature List */

.feature-list section {
padding: 2em 1.25em 0 1.25em; /* top right bottom left */
}

.feature-list h3:before {
font-size: 0.9em;
}

/* Box */

.box.post-excerpt .image.left {
position: relative;
top: 0.25em;
width: 25%;
margin: 0;
}

.box.post-excerpt h3, .box.post-excerpt p {
margin-left: 32.5%;
}

/* Wrapper */

.wrapper {
padding: 3em 0 6em 0;
}

.wrapper .title {
font-size: 0.9em;
width: 18em;
height: 2.5em;
top: -2.5em;
line-height: 2.5em;
margin-bottom: -2.5em;
margin-left: -9em;
padding-top: 0.5em;
}

.wrapper .title:before, .wrapper .title:after {
height: 15px;
bottom: -15px;
background-size: 100% 100%;
}

/* Header */

#header {
height: 17em;
}

.homepage #header {
height: 20em;
}

/* Logo */

#logo {
text-align: center;
padding-left: 2em;
padding-right: 2em;
}

#logo h1 {
font-size: 1.5em;
letter-spacing: 0.2em;
}

#logo p {
margin: 1.25em 0 0 0;
display: block;
letter-spacing: 0.2em;
font-size: 0.9em;
}

/* Intro */

#intro {
text-align: center;
padding-right: 2em;
padding-left: 2em;
padding-bottom: 5em;
margin: 0 auto;
}

#intro p.style1 {
margin-bottom: 1.5em;
}

#intro p.style2 {
font-size: 1.5em;
letter-spacing: 0.05em;
line-height: 1.25em;
padding: 1.25em;
}

/* Features */

#features header.style1 {
padding-bottom: 4em;
}

#features ul.actions {
margin-top: 4em;
}

/* Content */

#content {
padding: 0 0 2em 0;
}

#content header.style1 {
padding-bottom: 2.5em;
}

/* Footer */

#footer {
padding-bottom: 0;
}

#footer header.style1 {
padding-bottom: 0;
margin-bottom: 2em;
border-bottom: 0;
}

#footer .feature-list {
border-top: 0;
padding-top: 0;
}

/* Copyright */

#copyright {
padding-top: 0;
margin-top: 4em;
border-top: 0;
}

#copyright ul {
padding: 1em 2em;
width: 100%;
}

#copyright ul li {
display: block;
margin: 0.5em 0 0 0;
border-left: 0;
padding: 0;
}

#copyright ul li:first-child {
margin-top: 0;
}

/* FullCalendar: Fix compact/squished layout on employee page */
#calendar,
.company-calendar-block #calendar,
.dashboard-card #calendar {
min-width: 320px;
max-width: 100%;
width: 100% !important;
min-height: 580px;
max-height: none;
margin: 0 auto 2em auto;
background: #fff;
border-radius: 14px;
box-shadow: 0 4px 18px rgba(0,0,0,0.11);
padding: 2em 1.2em 2em 1.2em;
box-sizing: border-box;
overflow: visible;
}

/* Ensure FullCalendar stretches full width inside its card */
.fc {
width: 100% !important;
min-width: 320px;
max-width: 1100px;
margin: 0 auto !important;
background: none;
}

/* Make the calendar grid tall and comfortable */
.fc-view-harness,
.fc-daygrid-body,
.fc-scrollgrid-sync-table {
min-height: 460px !important;
height: auto !important;
max-height: none !important;
}

/* Prevent header, buttons, or title from squishing the grid */
.fc-header-toolbar {
flex-wrap: wrap;
gap: 2em;
margin-bottom: 2em !important;
padding: 0.6em 0 0.7em 0;
}

.fc-toolbar-title {
font-size: 2.15em !important;
font-weight: 800 !important;
color: #be2034 !important;
margin: 0 2em;
}

/* Responsive: fix mobile squishing */
@media (max-width: 800px) {
#calendar,
.dashboard-card #calendar {
min-width: 99vw !important;
max-width: 99vw !important;
padding: 1em 0.2em 1em 0.2em;
}
.fc {
min-width: 240px !important;
max-width: 99vw !important;
}
.fc-toolbar-title {
font-size: 1.3em !important;
text-align: center;
margin: 0.5em 0 0.5em 0;
}
}

/* Zendesk Table – Color Status Rows */
.zendesk-table tr.status-new { background: #eaf6fb !important; }
.zendesk-table tr.status-open { background: #e8fbe9 !important; }
.zendesk-table tr.status-pending { background: #fff7e5 !important; }
.zendesk-table tr.stale-ticket { background: #f8e1e6 !important; }
.zendesk-table tr:hover { background: #f0ecff !important; transition: background 0.2s; }

/* Priority Badges with Animation and Icon */
.badge {
display: inline-flex;
align-items: center;
gap: 0.5em;
font-weight: bold;
border-radius: 1.1em;
padding: 0.25em 1.1em 0.25em 0.8em;
font-size: 1em;
letter-spacing: 0.02em;
vertical-align: middle;
background: #eee;
}

.badge-urgent {
background: #ffe6e6;
color: #d12222;
border: 1.5px solid #d12222;
animation: pulse-red 1.5s infinite;
}
.badge-high {
background: #fff3e0;
color: #f6993f;
border: 1.5px solid #f6993f;
animation: bounce-orange 1.3s infinite;
}
.badge-normal {
background: #e8f5e9;
color: #388e3c;
border: 1.5px solid #388e3c;
}
.badge-low {
background: #e5f0ff;
color: #1976d2;
border: 1.5px solid #1976d2;
}
@keyframes pulse-red {
0% { box-shadow: 0 0 0 0 #fbc4c4; }
70% { box-shadow: 0 0 0 8px rgba(245,54,92,0); }
100% { box-shadow: 0 0 0 0 #fbc4c4; }
}
@keyframes bounce-orange {
0%,100% { transform: translateY(0); }
50% { transform: translateY(-6px); }
}

/* Font Awesome icon tweaks in badge */
.badge .fa-exclamation-circle, .badge .fa-arrow-up,
.badge .fa-circle, .badge .fa-arrow-down {
margin-right: 0.3em;
font-size: 1.07em;
}
.badge-urgent .fa-exclamation-circle { color: #d12222; }
.badge-high .fa-arrow-up { color: #f6993f; }
.badge-normal .fa-circle { color: #388e3c; }
.badge-low .fa-arrow-down { color: #1976d2; }

/* Zendesk Table Styles */
.zendesk-table {
width: 100%;
border-radius: 11px;
overflow: hidden;
background: #fff;
box-shadow: 0 2px 12px rgba(190,32,52,0.05);
font-size: 1.06em;
}

.zendesk-table thead tr {
background: #be2034;
color: #fff;
font-weight: 700;
font-size: 1.11em;
border-radius: 11px 11px 0 0;
}

.zendesk-table th, .zendesk-table td {
padding: 0.8em 1.2em;
text-align: left;
}

.ticket-row:hover {
background: #f9f9f9;
}

@media (max-width: 768px) {
.zendesk-table {
font-size: 0.9em;
}
.card-header {
flex-direction: column;
}
.filters {
flex-direction: column;
}
.zendesk-table {
font-size: 0.9em;
}
}

.zendesk-section select,
.zendesk-section .zendesk-dropdown,
select.zendesk-dropdown {
background: #be2034 !important;
color: #fff !important;
border: none !important;
border-radius: 0.35em !important;
padding: 0.7em 1.2em !important;
font-weight: 700 !important;
font-size: 1em !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.07) !important;
outline: none !important;
cursor: pointer !important;
appearance: none !important;    /* Remove default browser dropdown arrow for more control */
-webkit-appearance: none !important;
-moz-appearance: none !important;
transition: background 0.3s, color 0.3s, box-shadow 0.2s;
}

/* Filter Dropdowns – Match Button Styles */
.filter-dropdown, .reset-style {
background: #be2034 !important;
color: #fff !important;
border: none !important;
border-radius: 0.35em !important;
padding: 0.7em 2.1em 0.7em 1.1em !important;
font-weight: 700 !important;
font-size: 1em !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.07) !important;
outline: none !important;
cursor: pointer !important;
appearance: none !important;
-webkit-appearance: none !important;
-moz-appearance: none !important;
transition: background 0.3s, color 0.3s, box-shadow 0.2s;
margin-right: 1.2em;
}
.filter-dropdown:focus, .reset-style:focus {
background: #a41a2c !important;
color: #fff !important;
}

.filter-dropdown option {
background: #be2034;
color: #fff;
}

.filters label {
color: #484d55;
font-weight: 600;
font-size: 1em;
margin-right: 0.3em;
}
.filters button.style1 {
margin-left: 0.5em;
}

@media (max-width: 750px) {
.zendesk-table th, .zendesk-table td {
  padding: 0.55em 0.7em;
  font-size: 0.92em;
}
.filters {
  flex-direction: column;
  align-items: stretch;
  gap: 0.6em;
}
}

/* Add spacing between Zendesk filter dropdowns and column titles */
.filters {
display: flex;
flex-wrap: wrap;
gap: 1.1em 1.5em;   /* row gap, column gap */
margin-bottom: 1.1em !important;
}

.filter-dropdown, .reset-style {
margin-right: 1em !important;   /* space between dropdowns */
margin-bottom: 0.3em !important;
}

.zendesk-table {
margin-top: 0.5em !important;
}

/* On mobile, make sure spacing stacks nicely */
@media (max-width: 600px) {
.filters {
  flex-direction: column;
  gap: 0.6em 0;
  margin-bottom: 0.7em !important;
}
.filter-dropdown, .reset-style {
  margin-right: 0 !important;
  margin-bottom: 0.7em !important;
}
}

#loading-area,
#success-message,
#result {
display: none;
}

/* If needed, center the spinner + text */
#loading-area {
text-align: center;
margin-top: 1em;
}
#spinner {
/* your spinner dimensions / animation */
width: 3rem;
height: 3rem;
border: 4px solid rgba(0, 0, 0, 0.1);
border-top-color: #be2034;
border-radius: 50%;
animation: spin 1s linear infinite;
margin: 0 auto 0.5rem;
}
@keyframes spin {
to { transform: rotate(360deg); }
}

/* === Streamlit === */
#chatFrame {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;       /* Fill 100% of parent’s width */
  height: 400px !important;     /* Will be overridden by JS later */
  border: none !important;
  overflow: visible !important;  /* No internal scrollbar */
  overflow-x: visible !important; /* Force both axes to be visible, overriding the inline “overflow: hidden” */
  overflow-y: visible !important; /* Force both axes to be visible, overriding the inline “overflow: hidden” */
  margin: 0 !important;
  padding: 0 !important;
}

#chat-embed-container {
  height: auto !important;       /* Remove any fixed height */
  overflow: visible !important;  /* Allow iframe to expand */
  display: block !important;     /* If it was being hidden */
  visibility: visible !important;
}

#ask-container {
  position: absolute;        /* pinch to viewport edges */
  top: 0; left: 0; right: 0; bottom: 0;
  overflow: hidden;           /* no scrollbars */
}

#ask-container iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: none;
  overflow: hidden;
}

/* ==========================================================================
 * Copyright © 2025 L&R Builds LLC.
 * All rights reserved.
 * ========================================================================== */