/* -------------------- */
/* COLORS */
/* -------------------- */
/* -------------------- */
/* VARIABLES */
/* -------------------- */
/* -------------------- */
/* GLOBAL */
/* -------------------- */
* {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html,
body {
  width: 100%;
  height: 100%;
  font-size: 16px;
  color: #383838; }

a {
  color: #de4c39;
  text-decoration: none;
  cursor: pointer; }
  a:hover {
    text-decoration: underline; }

a.block,
button.block {
  border: none;
  cursor: pointer;
  position: relative;
  display: inline-block;
  width: auto;
  font-size: 14px;
  padding: 1.25em;
  background-color: #de4c39;
  color: #ffffff;
  text-transform: uppercase;
  margin: 2em auto;
  transition: all ease-in-out 0.4s; }
  a.block:last-child,
  button.block:last-child {
    margin-bottom: 0; }
  a.block:before, a.block:after,
  button.block:before,
  button.block:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0.35em;
    background-color: #982819;
    transition: all ease-in-out 0.2s;
    transition-delay: 0.15s; }
  a.block:before,
  button.block:before {
    top: 0;
    right: 0; }
  a.block:after,
  button.block:after {
    bottom: 0;
    left: 0; }
  a.block span:before,
  a.block span:after,
  button.block span:before,
  button.block span:after {
    content: '';
    position: absolute;
    width: 0.35em;
    height: 0;
    background-color: #982819;
    transition: all ease-in-out 0.2s;
    transition-delay: 0; }
  a.block span:before,
  button.block span:before {
    top: 0;
    left: 0; }
  a.block span:after,
  button.block span:after {
    bottom: 0;
    right: 0; }
  a.block:hover,
  button.block:hover {
    text-decoration: none; }
    a.block:hover:before, a.block:hover:after,
    button.block:hover:before,
    button.block:hover:after {
      width: 100%;
      transition-delay: 0s; }
    a.block:hover span:before,
    a.block:hover span:after,
    button.block:hover span:before,
    button.block:hover span:after {
      height: 100%;
      transition-delay: 0.15s; }

/* a.block */
a.block.block-reverse,
button.block.block-reverse {
  background-color: transparent;
  color: #de4c39; }
  a.block.block-reverse:before, a.block.block-reverse:after,
  a.block.block-reverse span:before,
  a.block.block-reverse span:after,
  button.block.block-reverse:before,
  button.block.block-reverse:after,
  button.block.block-reverse span:before,
  button.block.block-reverse span:after {
    background-color: #de4c39; }

@media not all and (pointer: fine) {
  a.block:before, a.block:after,
  button.block:before,
  button.block:after {
    display: none; }
  a.block span:before,
  a.block span:after,
  button.block span:before,
  button.block span:after {
    display: none; }

  /* a.block */ }
/* a.block pointer: not fine */
a.underline {
  padding-bottom: 1em;
  position: relative; }
  a.underline:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 0.27em;
    background-color: #de4c39;
    transition: all ease-in-out 0.3s; }
  a.underline:hover {
    text-decoration: none; }
    a.underline:hover:after {
      width: 100%;
      left: 0;
      transition: all ease-in-out 0.4s; }
  a.underline.selected:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.27em;
    background-color: #de4c39; }

/* a.underline */
@media not all and (pointer: fine) {
  a.underline:after {
    display: none; }
  a.underline.selected:after {
    display: none; }

  /* a.underline */ }
/* a.underline pointer: not fine */
.clearfix:after {
  content: '';
  display: block;
  width: 100%;
  clear: both; }

h1 {
  color: #de4c39;
  margin-bottom: 1em; }

h2 {
  color: #de4c39;
  margin-bottom: 1em; }

hr.pennant {
  background-color: transparent;
  background-image: url(/img/pennantBorder.png);
  background-repeat: repeat-x;
  background-position: top center;
  background-size: 35em;
  height: 1.75em;
  border: none;
  opacity: 0.5;
  margin: 3.5em auto;
  max-width: 35em; }

hr.tent {
  background-color: transparent;
  background-image: url(/img/tentBorder.png);
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: 14em;
  height: 1.8em;
  border: none;
  opacity: 0.5;
  margin: 5em auto 0; }

img.circle {
  border-radius: 100%; }

img.framed {
  border: 1em solid #ffffff;
  box-shadow: 2px 2px 18px 0 rgba(0, 0, 0, 0.3); }

main p {
  line-height: 1.35; }

section#container {
  font-size: 20px; }

.bg--gray-light {
  background-color: #eaeaeb; }

@media all and (min-width: 768px) {
  h1 {
    font-size: 2em; }

  hr.pennant {
    margin: 6em auto; } }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

/* -------------------- */
/* header#SITE_HEADER */
/* -------------------- */
div#banner,
div#fixedBanner {
  position: relative;
  z-index: 2;
  background-color: #383838;
  padding: 0.75em 30px; }
  div#banner p,
  div#banner a,
  div#fixedBanner p,
  div#fixedBanner a {
    color: #acacae; }
  div#banner a:hover,
  div#fixedBanner a:hover {
    color: #de4c39;
    text-decoration: none; }
  div#banner p:first-child,
  div#fixedBanner p:first-child {
    float: left;
    font-weight: bold; }
  div#banner p:last-child,
  div#fixedBanner p:last-child {
    float: right; }
  div#banner span.fa,
  div#fixedBanner span.fa {
    margin-right: 0.5em; }

/* div#banner & div#fixedBanner */
div#fixedBanner {
  width: 100%;
  position: fixed;
  display: none; }

@media all and (min-width: 768px) {
  div#banner,
  div#fixedBanner {
    padding-left: 40px;
    padding-right: 40px; }

  div#fixedBanner {
    display: block; } }
@media all and (min-width: 992px) {
  div#banner,
  div#fixedBanner {
    padding-left: 60px;
    padding-right: 60px; } }
/* -------------------- */
/* header#HEADER */
/* -------------------- */
header#header {
  position: relative;
  z-index: 3;
  background-color: #ffffff;
  padding: 1.41em 30px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 1px solid #eaeaeb;
  /* nav */ }
  header#header a#logo {
    width: 50%;
    max-width: 15em; }
    header#header a#logo img {
      width: 100%; }
  header#header nav {
    float: right;
    /* a#menu */
    /* ul */ }
    header#header nav a#menu {
      font-size: 1.45em;
      color: #383838; }
      header#header nav a#menu span {
        margin-left: 0.5em; }
    header#header nav ul {
      position: absolute;
      background-color: #ffffff;
      top: 100%;
      left: 0;
      width: 100%;
      border-top: 1px solid #acacae;
      border-bottom: 1px solid #acacae;
      text-align: center;
      display: none;
      /* li */ }
      header#header nav ul li {
        list-style-type: none;
        width: 70%;
        border-bottom: 1px solid #acacae;
        margin: 0 auto; }
        header#header nav ul li:last-child {
          border-bottom: none; }
        header#header nav ul li a {
          font-size: 1.45em;
          color: #383838;
          display: block;
          padding-top: 0.75em;
          padding-bottom: 0.75em; }

/* header#header */
@media all and (min-width: 768px) {
  header#header {
    padding-left: 40px;
    padding-right: 40px;
    /* nav */ }
    header#header nav {
      margin-bottom: -1.41em;
      margin-right: -1.41em;
      /* ul */ }
      header#header nav a#menu {
        display: none; }
      header#header nav ul {
        position: relative;
        display: block !important;
        width: auto;
        border: none;
        float: right;
        background-color: transparent; }
        header#header nav ul li {
          display: inline-block;
          width: auto;
          border: none; }
          header#header nav ul li a {
            margin-left: 1em;
            margin-right: 1em; }

  /* header#header */ }
/* header#header $bp--sm_lower */
@media all and (min-width: 992px) {
  header#header {
    padding-left: 60px;
    padding-right: 60px; } }
/* -------------------- */
/* footer#FOOTER */
/* -------------------- */
footer#footer {
  background-color: #383838;
  text-align: center;
  color: #ffffff;
  padding: 30px 30px 15px;
  /* a */
  /* div#copyright */ }
  footer#footer a {
    color: inherit; }
    footer#footer a:hover {
      color: #de4c39;
      text-decoration: none; }
  footer#footer div:not(:last-child) {
    margin-bottom: 3em; }
  footer#footer p#company,
  footer#footer p#phone {
    font-weight: bold;
    font-size: 1.25em; }
  footer#footer address {
    font-style: normal;
    margin: 1em 0; }
  footer#footer div#links p:not(:last-child) {
    margin-bottom: 0.75em; }
  footer#footer a span.fa-facebook {
    font-size: 2em;
    border: 2px solid #ffffff;
    padding: 0.25em 0.4em 0.2em;
    margin-bottom: 0.25em; }
    footer#footer a span.fa-facebook:hover {
      border-color: #de4c39; }
  footer#footer div#copyright {
    color: #acacae;
    font-size: 0.85em;
    line-height: 1.6;
    /* a */ }
    footer#footer div#copyright a {
      color: inherit; }
      footer#footer div#copyright a:hover {
        color: #de4c39;
        text-decoration: underline; }

/* footer#footer */
@media all and (min-width: 768px) {
  footer#footer {
    padding: 40px 40px 20px; }
    footer#footer div#info,
    footer#footer div#links {
      width: 50%;
      margin-bottom: 5em; }
    footer#footer div#info {
      float: left; }
    footer#footer div#links {
      padding-top: 1.25em;
      float: right; }
    footer#footer div#copyright {
      clear: both; }

  /* footer#footer */ }
/* footer#footer $bp--sm_lower */
@media all and (min-width: 992px) {
  footer#footer {
    padding: 60px 60px 30px; }
    footer#footer p#company,
    footer#footer p#phone {
      font-size: 1.75em; }
    footer#footer address,
    footer#footer p#email {
      font-size: 1.15em; }
    footer#footer div#links {
      padding-top: 2em; }
      footer#footer div#links p {
        font-size: 1.15em; }
    footer#footer a span.fa-facebook {
      font-size: 2em;
      border: 2px solid #ffffff;
      padding: 0.25em 0.4em 0.2em;
      margin-bottom: 0.25em; }

  /* footer#footer */ }
/* footer#footer $bp--md_lower */
/* -------------------- */
/* HELPING ELEMENTS */
/* -------------------- */
div#backToTop {
  position: fixed;
  bottom: 1em;
  right: 1em;
  z-index: 1;
  border-radius: 100%;
  overflow: hidden;
  display: none;
  visibility: hidden;
  /* a */ }
  div#backToTop a {
    display: block;
    background-color: #de4c39;
    color: #eaeaeb;
    font-size: 2em;
    padding: 0.3em 0.5em;
    transition: all ease-in-out 0.3s;
    opacity: 0.5; }
    div#backToTop a:hover {
      opacity: 1; }

/* div#backToTop */
@media all and (min-width: 768px) {
  div#backToTop {
    visibility: visible; } }
div#overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #383838;
  opacity: 0;
  z-index: 1; }

@media all and (min-width: 992px) {
  div#overlay {
    display: none; } }
a#adminLink {
  margin: 0;
  text-align: center;
  width: 100%;
  display: none;
  z-index: 999; }

@media all and (min-width: 768px) {
  a#adminLink {
    width: auto;
    position: fixed;
    top: 40%;
    left: -5em;
    transform: rotate(-90deg);
    margin: 0;
    transition: left ease-in-out 0.3s; }
    a#adminLink:hover {
      left: -2.7em; } }
@media not all and (pointer: fine) {
  a#adminLink {
    left: -2.7em; } }
/* -------------------- */
/* section#INTRO */
/* -------------------- */
section#container {
  text-align: center; }

/* -------------------- */
/* MAIN */
/* -------------------- */
main {
  padding: 30px; }
  main span.fa-spinner {
    font-size: 2.5em;
    margin: 4em auto; }

/* main */
/* -------------------- */
/* div#GALLERY */
/* -------------------- */
#gallery {
  width: 100%;
  display: none;
  /* start with it hidden so we don't see a flash while the jQuery sizes the images */
  /* ul#filter */
  /* .gallery--item */
  /* pointer: *not* fine */
  /* .item--container */ }
  #gallery ul#filter {
    list-style-type: none;
    width: 100%;
    text-align: center;
    font-size: 0.75em;
    margin-bottom: 30px;
    /* li */ }
    #gallery ul#filter li {
      display: inline-block;
      /* a */ }
      #gallery ul#filter li:not(:last-child):after {
        content: '|';
        margin: 0;
        color: #eaeaeb; }
      #gallery ul#filter li a {
        color: #383838;
        padding: 0.25em 0.75em;
        transition: all ease-in-out 0.2s; }
        #gallery ul#filter li a:hover, #gallery ul#filter li a.selected:hover {
          text-decoration: none;
          background-color: #de4c39;
          color: #383838; }
        #gallery ul#filter li a.selected {
          color: #de4c39; }
  #gallery .gallery--wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: -0.75em; }
  #gallery .gallery--item {
    padding: 0.75em;
    width: 50%;
    overflow: hidden;
    cursor: pointer;
    transition: transform ease-in-out 0.2s; }
    #gallery .gallery--item:hover {
      position: relative;
      transform: scale(1.15); }
  @media not all and (pointer: fine) {
    #gallery .gallery--item:hover {
      transform: none; } }
  #gallery .item--container {
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center; }
    #gallery .item--container img {
      width: 100%;
      height: 100%;
      flex: 1 0 auto; }

/* #gallery */
@media all and (min-width: 768px) {
  main {
    padding: 40px; }

  #gallery .gallery--item {
    width: 33.33333%; }

  /* #gallery */ }
/* $bp--sm_lower */
@media all and (min-width: 992px) {
  section#container {
    padding: 60px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start; }

  main {
    padding: 0 0 0 40px;
    order: 2;
    width: 70%; }

  section#sidebar {
    order: 1;
    width: 30%; }

  #gallery ul#filter {
    font-size: 1em;
    margin-bottom: 45px;
    text-align: left; } }
/* $bp--md_lower */
/* -------------------- */
/* section#SIDEBAR */
/* -------------------- */
section#sidebar {
  padding: 30px; }
  section#sidebar p:not(:last-child) {
    margin-bottom: 1.25em;
    line-height: 1.35; }

/* -------------------- */
/* LIGHTBOX ELEMENTS */
/* -------------------- */
div#overlay--lightbox {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #383838;
  opacity: 0;
  z-index: 999; }

div#lightbox {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  opacity: 0; }

.lightbox--arrow {
  position: fixed;
  z-index: 9999;
  padding: 50px;
  top: calc(44% - 50px);
  font-size: 4em;
  color: #eaeaeb;
  opacity: 0.7;
  transition: all ease-in-out 0.2s; }
  .lightbox--arrow:hover {
    color: #de4c39;
    opacity: 1; }
  .lightbox--arrow#lightbox--arrow-left {
    padding-left: 30px;
    left: 0; }
  .lightbox--arrow#lightbox--arrow-right {
    padding-right: 30px;
    right: 0; }

@media all and (min-width: 768px) {
  .lightbox--arrow {
    font-size: 7em;
    top: calc(40% - 50px); }
    .lightbox--arrow#lightbox--arrow-left {
      padding-left: 50px; }
    .lightbox--arrow#lightbox--arrow-right {
      padding-right: 50px; } }
/* $bp--sm_lower */

/*# sourceMappingURL=gallery.css.map */
