@font-face {
  font-family: "AleoRegular";
  font-display: swap;
  src: url('/fonts/Aleo-Regular-webfont.woff') format('woff');
}

@font-face {
  font-family: "AleoBold";
  font-display: swap;
  src: url('/fonts/Aleo-Bold-webfont.woff') format('woff');
}
html {
  background: black;
}
body {
  position: relative;
  margin: 0 auto;
  width: 1146px;
  font-family: "AleoRegular", serif;
  font-size: 16px;
  color: white;
}

.chirplink {
  display: none;
}
.more:after {
  content: "\00a0»";
}
a.secure {
  padding-left: 17px;
  background: url(/images/lock.gif) left no-repeat;
}
.clear {
  clear: both;
}
a > img {
  border: 0;
}

header {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin: 40px 0 0 0;
  width: 100%;
}
header > div {
  flex: 1;
}
header > nav {
  flex: 2;
}

main {
  position: relative;
  min-height: 480px;
  line-height: 1.5;
}
main.padded {
  padding: 0 18em 0 8em;
}

.imgright {
  float: right;
  margin: 0 0 1em 1em;
  text-align: center;
}
.imgleft {
  float: left;
  margin: 0 1em 1em 0;
  text-align: center;
}

.image-caption {
  float: right;
  clear: right;
  margin: 0 auto 1.5em 2em;
  text-align: center;
  font-size: 0.85em;
}
.image-caption > p {
  margin: 0;
}

.centred {
  margin: 1em auto;
  max-width: 100%;
  text-align: center;
  font-size: 0.85em;
}

.wide {
  margin: 0 -147px;
  width: 1440px;
  background-position: center center;
}
.wider {
  width: 100vw;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.wide.inverse,
.wide.news {
  padding: 2em 147px 0;
  width: calc(1440px - 294px);
}
.wider.inverse {
  padding: 2em 0 0;
}
.inverse {
  background: #fff;
  color: #333;
}
.news {
  background: #b40202;
  color: #000;
}

h1, h2, h3, h4 {
  font-family: "AleoBold", serif;
  font-weight: normal;
}
h1 {
  font-size: 2em;
}
h2 {
  clear: both;
  border-bottom: 2px solid #ee2f2c;
  font-size: 1.5em;
}
p + h2 {
  margin-top: 1.5em;
}
h3 {
  font-size: 1.2em;
}
h4 {
  font-size: 1em;
}

a:link,
a:visited {
  color: #ee2f2c;
  transition: 0.2s;
}
a:hover,
a:focus {
  text-decoration: underline !important;
  color: #f69030;
}

footer {
  clear: both;
  padding: 0.4em 0;
  text-align: center;
  font-size: 1.5em;
}
#contact a:link,
#contact a:visited {
  padding: 0.5em 2em;
  background: #b40202;
  border: 2px solid #b40202;
  border-radius: 0.5em;
  text-decoration: none;
  color: #fff;
}
#contact a:hover,
#contact a:focus {
  text-decoration: none !important;
  border-color: #fff;
}

.photos-include {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-evenly;
  align-items: center;
}
.video-include {
  position: relative;
  width: 100%;
  height: 0;
  margin: 1em 0;
  padding-bottom: 56%;
}
.video-include > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
fieldset {
  margin: 1em 0;
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #eee;
  background-image: linear-gradient(to bottom, white, white 80%, #eee);
}

form fieldset > fieldset {
  clear: left;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 1em;
}

legend {
  padding: 2px 8px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 -1px 1px rgba(0,0,0,0.4);
  font-size: 0.9em;
  color: #333;
}
fieldset > label {
  float: left;
  clear: left;
  padding-top: 2px;
  width: 120px;
  text-align: right;
  font-size: 0.9em;
  color: #333;
}
fieldset > label::after {
  content: ":";
}
fieldset > label strong {
  color: #c00;
}
fieldset > span {
  display: block;
  margin: 0 0 0 120px;
  padding: 0 0 4px 4px;
}
fieldset > span label {
  cursor: pointer;
}
fieldset > span.validation-errors {
  font-style: italic;
  font-size: 0.9em;
  color: #f33;
}
fieldset input,
fieldset textarea,
fieldset select {
  padding: 2px 4px;
  border: 1px solid #ccc;
  border-radius: 2px;
  background-color: #fff;
  line-height: 1.1;
  font-family: inherit;
  font-size: 1.1em;
}
fieldset input:focus,
fieldset textarea:focus,
fieldset select:focus {
  border: 1px solid #aaa;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
  color: #333;
}

fieldset input[type=image],
fieldset input[type=file] {
  border: none;
}
fieldset input[type=submit],
fieldset input[type=reset],
fieldset input[type=button] {
  padding: 2px 6px;
  border: #b5bbc4 1px solid;
  background-color: #f7fafc;
  background-image: linear-gradient(to bottom, #fff, #dae6f1);
  font-size: 100%;
  color: #333;
}
fieldset input[type=submit]:hover,
fieldset input[type=reset]:hover,
fieldset input[type=button]:hover {
  color: #e36627;
}
fieldset input[type=submit]:active {
  border-color: #666;
}

fieldset input:disabled,
fieldset input:disabled:hover,
fieldset input:disabled:focus {
  color: #999 !important;
}

input.cssform-undo:disabled {
  display: none;
}

button.check-speling {
  padding: 2px 6px;
  background: rgba(255,255,255,0.8);
  border: none;
  line-height: 1.4;
  font-weight: normal;
  color: #666;
  cursor: pointer;
}

a.delete:link {
  white-space: nowrap;
  color: #c00 !important;
}
a.delete:visited {
  color: #c00 !important;
}
a.delete:hover,
a.delete:focus {
  color: #000 !important;
  background-color: yellow !important;
}

.warning {
  margin: 0.5em 0;
  border: 1px solid #f00;
  background-color: #ff0;
  font-size: 0.8em;
  color: #333;
}
p.warning,
.warning p,
span.warning {
  padding: 0.5em;
}
.warning b {
  text-transform: uppercase;
  color: #f00;
}

input:required:invalid,
input:focus:invalid,
textarea:required:invalid,
textarea:focus:invalid {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAT1JREFUeNpi/P//PwMpgImBRMACY/x7/uDX39sXt/67cMoDyOVgMjBjYFbV/8kkqcCBrIER5KS/967s+rmkXxzI5wJiRSBm/v8P7NTfHHFFl5mVdIzhGv4+u///x+xmuAlcdXPB9KeqeLgYd3bDU2ZpRRmwH4DOeAI07QXIRKipYPD35184/nn17CO4p/+cOfjl76+/X4GYAYThGn7/g+Mfh/ZZwjUA/aABpJVhpv6+dQUjZP78Z0YEK7OezS2gwltg64GmfTu6i+HL+mUMP34wgvGvL78ZOEysf8M1sGgZvQIqfA1SDAL8iUUMPIFRQLf+AmMQ4DQ0vYYSrL9vXDz2sq9LFsiX4dLRA0t8OX0SHKzi5bXf2HUMBVA0gN356N7p7xdOS3w5fAgcfNxWtn+BJi9gVVBOQfYPQIABABvRq3BwGT3OAAAAAElFTkSuQmCC');
  background-position: right top;
  background-repeat: no-repeat;
  box-shadow: none;
}
input:required:valid,
textarea:required:valid {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZZJREFUeNpi/P//PwMpgImBRMAy58QshrNPTzP8+vOLIUInisFQyYjhz98/DB9/fmT48/+35v7H+8KNhE2+WclZd+G0gZmJmYGThUNz1fUVMZtvbWT59eUXG9wGZIWMUPj993eJ5VeWxuy8veM/CzPL3yfvH/9H0QBSBDYZyOVm4mGYfn6q4cory5lYmFh+MrEwM/76/YsR7mk2ZjbWP///WP37/y8cqIDhx58fjvtu7XV6//ndT34G/v8FasUsDjKO/+A2PP3wpGLd+TVsfOz8XH6KAT+nHpokcu7h6d9q/BoMxToVbBYqlt9///+1GO4/WVdpXqY/zMqXn13/+vTjI9mj94/y//v9/3e9ZRObvYbDT0Y2xnm///x+wsfHB3GSGLf41jb3rv0O8nbcR66d+HPvxf2/+YZFTHaqjl8YWBnm/vv37yly5LL8+vuLgYuVa3uf/4T/Kd8SnSTZpb6FGUXwcvJxbAPKP2VkZESNOBDx8+9PBm4OwR1TwmYwcfzjsBUQFLjOxs52A2YyKysrXANAgAEA7buhysQuIREAAAAASUVORK5CYII=');
  background-position: right top;
  background-repeat: no-repeat;
}

input::-webkit-input-placeholder {
  color: #ababab;
}
input:-moz-placeholder {
  color: #ababab;
}

input[type="number"] {
  max-width: 4em;
}

#preview_desktop img {
  max-width: 100%;
  height: auto;
}

.cropper {
  display: inline-block;
  margin: 0 1em;
  padding-left: 18px;
  height: 16px;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABRElEQVQ4jZXSsUsVUBzF8Y/yhgKRSOdwFpUgpxZX/4BElxwKcWhJqNbOIiEOBuIQiuioaUsSBRFCBIKjq0KERdoUhIRIOLyr2LNnvgN3+d37Pfzu+f1oQEmGk8yerVUagB/iGbrP1psvCT/BFJ4n2W7IIMkjTGAX47X3lSQV3EEHvmAlyWGB72GyvB1L8itJCzrRg/ZmLOI+ruIulgrcgZkCv8W1JDv4iU/ow6umJHvoTrKfpBU/0IZZDOEzRrGKA8xjJsku1Sms4XWSDfTiO27jJa7jKQZKd29OvneaAUbQjy58xQe8wBXcSvIbG/VCbqotJBkuuRzgQZKFevA5gySwhWmsYxNtSY7qGdRu4g20Yw6t+FNOXdUaHJXaTdXkl5NcaPDXJib5hvf4qDqBxxfB/+rgRINJ1v4Hn+ug6J1qDpfSMVLdY4b2kZcrAAAAAElFTkSuQmCC);
  background-position: left center;
  background-repeat: no-repeat;
}
.cropper:link {
  text-decoration: none !important;
  font-size: 0.75em;
  color: rgba(0,0,0,0) !important;
}
.cropper:visited {
  color: rgba(0,0,0,0) !important;
}
.cropper:hover,
.cropper:focus {
  color: rgba(0,0,0,0.5) !important;
}

#captcha {
  border: 1px outset #666;
}

/* file input drop box */

.attach-file {
  position: relative;
  display: block;
}
.attach-file input[type=file] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  cursor: pointer;
}
.attach-file input[type=file] + div {
  margin: 0 0 0.2em 0;
  padding: 1em;
  background-color: rgba(255,255,255,0.5);
  border: 2px dashed rgba(0,0,0,0.2);
  text-align: center;
  font-size: 2em;
  color: rgba(0,0,0,0.3);
  transition: 0.2s;
}
.attach-file input[type=file]:invalid + div {
  border-color: rgba(255,0,0,0.4);
}
.attach-file:hover input[type=file] + div,
.attach-file input[type=file]:focus + div {
  border-color: rgba(0,0,0,0.4);
  color: rgba(0,0,0,0.4);
}
.attach-file input[type=file]:focus + div {
  box-shadow: 0 0 4px Highlight inset;
}
.attach-file input[type=file]:active + div {
  background: #ccc;
}
.attach-file input[type=file].file-attached + div {
  padding: 2em;
  background-color: rgba(0,255,0,0.2);
  border-color: rgba(0,128,0,0.5);
  font-size: 1em;
  color: rgba(0,128,0,0.75);
}
.attach-file input[type=file] + div strong {
  color: #666;
}

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

  fieldset > label {
    display: block;
    float: none;
    width: auto;
    text-align: left;
  }
  fieldset > span {
    display: block;
    margin: 0 0 4px 0 !important;
    padding: 0;
  }
  #captcha {
    width: 320px;
    height: 90px;
  }

}
.collapse {
  border-collapse: collapse;
}
.collapse tr {
  border: 1px solid #666;
}
.collapse th {
  background-color: #ccc;
  border: 1px dotted #999;
  text-align: left;
}
.collapse td {
  vertical-align: top;
  border: 1px dotted #999;
}

table.files {
  border-collapse: separate;
}
table.files th {
  background-color: #efefef;
  vertical-align: top;
  text-align: left;
  white-space: nowrap;
  font-weight: normal;
  font-size: 0.8em;
  color: #234;
}
table.files td,
table.files th {
  border: 1px solid #999;
  padding: 0.25em 0.5em;
}
table.files td p {
  margin: 0.5em 0;
}

.noborder {
  border: none !important;
}
.flex {
  display: flex;
  flex-flow: row wrap;
}

.wider h2 {
  margin-left: auto;
  margin-right: auto;
  width: 1146px;
}

.flex.four,
.flex.three {
  margin: 0 auto;
  padding-bottom: 2em;
  max-width: 1146px;
  font-size: 0.95em;
}
.flex.four > div ul {
  margin: 1em 0;
  padding: 0 0.5em 0 1.5em;
}

.flex.four > div {
  flex: 1;
  padding-right: 1em;
}
.flex.three > div {
  flex: 1;
  padding-right: 2em;
}

/* Photo Galleries */

.gallery {
  margin: 1em auto;
}
.gallery.flex {
  justify-content: space-between;
  column-gap: 1em;
  row-gap: 1em;
  font-size: 0.9em;
}
.gallery.flex > div {
  width: calc(33% - 1em);
  padding: 0 0 0.5em;
  background-color: #121212;
  text-align: center;
}
.gallery.flex img {
  width: 100%;
  height: auto;
}
fieldset {
  background: #333;
  border-color: #666;
}
fieldset label {
  color: #ccc;
}
#home_intro {
  width: 100%;
  align-items: center;
}
#home_intro div:first-child {
  flex: 2;
  text-align: center;
}
#home_intro div:nth-child(2) {
  flex: 1;
  line-height: 1.5;
  font-size: 1.1em;
}
#contactmap {
  width: 100%;
  height: 320px;
}

#mapButtons {
  margin: 10px;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
}
#mapButtons a:link, #mapButtons a:visited {
  padding: 3px 8px;
  border: 1px solid #a9bbdf;
  border-radius: 2px;
  background: #fff;
  background-image: linear-gradient(to bottom, #fefefe, #f3f3f3);
  text-decoration: none;
  font-family: Tahoma, Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #000;
}
#mapButtons a:hover, #mapButtons a:focus {
  border-color: #7791d0;
  text-decoration: none !important;
}

#directions_panel {
  display: none;
  padding: 0.5em 1em;
  background: #fff;
  background: rgba(255,255,255,0.8);
  page-break-inside: avoid;
}
nav ul {
  float: right;
  display: table-row;
  margin: 0 0 0 auto;
  padding: 0;
  list-style-type: none;
  font-size: 0.95em;
}
nav li:first-child {
  display: none;
}
nav li {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
nav ul a:link,
nav ul a:visited {
  display: block;
  padding: 0 0.6em;
  text-transform: uppercase;
  text-decoration: none;
  color: #ccc;
}
nav ul a:hover,
nav ul a:focus {
  text-decoration: none !important;
  color: #fff;
}
nav ul a:active {
  text-decoration: underline !important;
}

.submenu {
  position: absolute;
  right: 0;
  margin: 0 0 1em;
  padding: 1em 0;
  width: 14em !important;
  background: rgba(255,255,255,0.1);
  list-style-type: none;
  font-size: 0.95em;
}
.submenu li {
  display: block;
}
.submenu li.current {
  background-color: rgba(255,255,255,0.2);
}
.submenu .prefix {
  display: none;
}
.submenu .secure a::after,
.submenu .secure strong::after {
  content: "\00a0\1F512";
}
.submenu a:link,
.submenu a:visited {
  display: block;
  padding: 4px 1em;
  text-decoration: none;
  color: white;
  transition: 0.25s;
}
.submenu a:hover,
.submenu a:focus {
  background-color: rgba(255,255,255,0.1);
  text-decoration: none !important;
}
.submenu strong {
  display: block;
  padding: 4px 1em;
  font-weight: normal;
}

.subnav {
  display: flex;
  list-style-type: none;
  margin: 1em 0;
  padding: 0;
}
.subnav > li {
  display: inline-block;
}
.subnav li.prefix::after {
  content: ":";
}
.subnav li:not(:first-child)::before {
  content: "\00a0\00a0|\00a0\00a0";
}
.subnav li.prefix + li::before {
  content: "\00a0";
}
.rss {
  text-align: center;
}
.rss a:link, .rss a:visited {
  padding-left: 40px;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAOCAMAAABw6U76AAAAt1BMVEX/ZgD///8/GgH/yKR9MwL/mlflVgDhm3fGRADwXQDVdkT/j0T7ZADwzbv/eiLoWAD4YgD/9e7/4MzKUBHxpXf78+7/hTPxupnZglXdUgDUVxH/1rv/cBH02sz9wZndj2b+4MzpoHf/o2b/uIj8tojKRgDXYyL/rXfbZSLnYRHWTQDmn3f/693/mVXkdy7tmGbteTPrl2b/5tWfQQPYd0QhDgH88+7otJnsWwD0XwD99O76llXOXSKFxRG4AAAAqklEQVR42oWPRw7CQAwAbcqW9JCE3kPovbf/v4sVwkKYQ+YyPoxsGfbFXNZQhlxKf5Fn22QeoSFMAaoVNAzJPJIywQ0scWH1XOmTWaREjNJHrM+0PxVkvikN70/RQsT+BAIyiwzHLGgPOmaIgczPuXjR4DmiKdEVZB55Z9xBOFrZXZRzMo/ggcn2/XktEuSfCJQCuKrsNrasSDUcIFP0S6C18/UnOhRyOb0A0VkO6WtrQTIAAAAASUVORK5CYII=);
  text-decoration: none;
  font-size: 12px;
  color: #333;
}

.news h2 {
  padding-top: 1em;
  color: #fff;
}
.news h2 a:link, .news h2 a:visited {
  text-decoration: none;
  color: #fff;
}
.news h3, .news h3 a:link, .news h3 a:visited {
  color: #000;
}
.news a:hover, .news a:focus {
  text-decoration: none;
  color: inherit;
}
.collapse thead th {
  padding: 4px 8px;
  background: #333;
  border: none;
}
.collapse tbody td {
  padding: 4px 8px;
  border: none;
  background: #454545;
}
.collapse tr {
  border-color: #000;
}
.collapse tbody td a:link,
.collapse tbody td a:visited {
  color: #fff;
}
.collapse tbody td a:hover,
.collapse tbody td a:focus {
  color: #b40202;
}
@media only screen and (max-width: 1145px) {

  body {
    width: 100%;
  }

header {
  margin: 1em auto 0;
  width: calc(100% - 2em);
}

nav ul {
  position: absolute;
  top: -1em;
  right: 0;
  z-index: 100;
}
nav li {
  display: none;
  text-align: right;
  font-size: 1.1em;
}
nav li:first-child {
  display: block;
  font-size: 5em;
}
nav.active li {
  display: block;
}
nav li a:link,
nav li a:visited {
  padding: 0.6em 2em;
  background: #ccc;
  color: #333;
}
nav li a:hover,
nav li a:focus {
  background: #fff;
  color: #000;
}
nav li:first-child a:link,
nav li:first-child a:visited {
  padding: 0 0.5em !important;
  background: transparent;
  color: #fff;
}

main.padded {
  display: block;
  padding: 0 18em 0 2em;
}
main.padded > p {
  margin: 1em 0;
  width: 100%;
}

.submenu {
  margin-top: 0;
}

section {
  padding: 0 1em;
}

.wider h2 {
  margin-left: 1em;
  margin-right: 1em;
  width: auto;
}

#home_intro {
  padding: 0 1em;
  width: calc(100% - 2em);
}
#home_intro div:first-child {
  flex: 1;
}

.flex.four {
  justify-content: space-around;
  margin: 0 auto;
}
.flex.four > div {
  flex: auto;
  max-width: 270px;
  padding: 0;
}

.flex.three {
  justify-content: space-around;
}
.flex.three > div {
  flex: auto;
  max-width: 382px;
  padding: 0;
}

.wide {
  margin: 0;
  padding: 0 2em;
  width: calc(100% - 4em);
}

aside.wide {
  padding: 0;
  width: 100%;
}
.wide img {
  max-width: 100%;
  height: auto;
}

.wide.inverse,
.wide.news {
  padding: 2em 2em 0;
  width: calc(100% - 4em);
}

}

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

  body {
    font-size: 18px;
  }

img {
  max-width: 100%;
  height: auto;
}

.nomobile {
  display: none;
}

header > div {
  flex: 2;
}

nav ul {
  top: -1.6em;
}

#home_intro {
  display: block;
}
#home_intro div:nth-child(2) {
  padding: 1em 1em;
  text-align: center;
}

main.padded {
  padding: 0 2em;
}

.submenu {
  position: static;
  padding: 0.5em 1em;
  width: auto !important;
}
.submenu .prefix {
  display: block;
  position: relative;
  padding: 4px 0;
  text-transform: uppercase;
  cursor: pointer;
}
.submenu .prefix::after {
  position: absolute;
  right: 0;
  content: "\00a0\2193";
  color: #ccc;
}
.submenu li {
  display: none;
}
.submenu.active li {
  display: block;
}
.submenu.active .prefix {
  text-decoration: underline;
}
.submenu.active .prefix::after {
  content: "\00a0\2191";
}

  footer {
    background: #b40202;
  }
  #contact {
    margin: 0;
  }
  #contact a:link,
  #contact a:visited {
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
  }
  #contact a:hover,
  #contact a:focus {
    text-decoration: underline !important;
  }

}

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

  main.padded {
    padding: 0 1em;
  }

  .imgleft,
  .imgright {
    display: block;
    float: none;
    margin: 1em auto;
  }

  .image-caption {
    float: none;
    margin: 1em auto;
  }

  .wider {
    width: auto;
  }

  fieldset {
    padding: 1em;
  }
  fieldset input, fieldset textarea {
    width: calc(100% - 0.5em);
  }

  .gallery.flex > div {
    width: calc(50% - 1em);
  }

}
body:has(#lightbox_viewer.active) { /* prevent background scroll */
  overflow: hidden;
}

#lightbox_overlay {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: black; 
  opacity: 0.7;
}
#lightbox_viewer {
  display: none;
  z-index: 1010;
  position: fixed; 
  left: 50%; 
  top: 100px;
  padding: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  background: white;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  line-height: 1.4;
  color: #666;
}
#lightbox_image_container {
  position: relative;
  padding-bottom: 4px;
  min-width: 160px;
  min-height: 160px;
  max-height: 100%;
  text-align: center;
}
#lightbox_image_container img {
  max-width: 100%;
}
#lightbox_loading {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(data:image/gif;base64,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);
  background-position: center center;
  background-repeat: no-repeat;
}
#lightbox_prev,
#lightbox_next {
  display: block;
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background-repeat: no-repeat;
  cursor: pointer;
}
#lightbox_prev { left: 0; }
#lightbox_prev:hover {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAklJREFUeNrU2ltPwjAUB/B2oDj1I5ioiUR98Nnv/+izD0o0QRM/goi4Qe3wFBuyS6/rf01OGsIk+3FmL4dyIQQzaZxzFrFxipGMTOurtpGx1npBsW1N9z9m6ZuOqu7ngPoRvV9hShmF9prpuCgw04w3PAU6qgJNVMjPfaNrzmW3ousUaN312VmyNNWjjmWcKhR9ce+yy+n9Md0zh4S1oE4k5KXmqZjTdSMNxqFgHahZyyP/YZKpJDBXFP3tWdeAkQTmibqiUVEN+6ILmQ0AdS27pYwfGvY3JpnLBoBa1MDSPoqBUF80jxV1K4/eYSlR0WCpUVFgCKjgMBRUUBgSKhgMDRUEhogKAYNE+cJgUT4waJQrDB7lAhsEyhWmqkk2qJs+UbYwla1My1ZugLptQgmfElfMjNUVXvZQd7SX+qb9VC8oV9i2UquXyBpQ9wRRsdv9xkYlrSuiwQR962uZkYvWC4V4oP9FFbtiJ4/8Q4ArTNXSV/L+ph24R/ZXxT2Sccj+i57RcZklSmWsoBFuSfNTG+6pmhJoapj0hfPKGA3hCwPccxOOWVR3Y8MUrrDEzfrEuYyKg8C5DvfwOJ95DBrnO0HD4rxXHrQ8gsMFWVIh4oKtFdFwQRfBSLjgq3sUXJRtCwIu2n4sNS7qRjMlLvoOOhAup/3c2PSeeykNBMDtw3COHHniXhnykSNPHO6RIx8c7JEjC9y0BnXJEI8cWeI+9dIeHcRc0vvGR444wJlgm6OzJdv7MQP5TLDQAIwyUjLDw85N7VeAAQDVB1mOzbRUqgAAAABJRU5ErkJggg==);
  background-position: left 50%;
}
#lightbox_next { right: 0; }
#lightbox_next:hover {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAk9JREFUeNrc2s1OAjEQAOC2sCLiI5iIiQY9ePb9j549KNFETHwEURGkTpMpDGSXdvtDB5tMCiEl/ZjdLjtbqbUWPk1KuXqJ0YFQpDdtCfFLeo2RrTXNv9vyeyjKjK2w7+DnBrOAmJP3IjcuBUxgdsy4I4hjiB78am+Y1SF0MxIrnG74acmRkLSpgIxZWA+ib1E4+Ql0pxAn+HmF2ZQylyABTBKYmWwFkNeaY/4ZukFpnAocJwHwvuOEHpfGhcI0zO/MsVoVxbWB2aXbLuVzmN8lV1zbjFmYWdJ/IL5gfiOOuJBDcQMGMY3BYbDImLaHIl6rPjniQjJ2ELjgVZE7TkWMZY1TkePZ4mJh9s8tO5xKkXaOOJXqZOWGSwbjhksK44RLDuOCywLjgMsGK43LCvPAXbfEdQmuLMwDd+OB65OsKZ+s7QXWgDP3c994s3rrGPvMMmM1OHuzOrcBuDvH2IlYV515wbjWFaMb1jho0bWyARm5d4wdivVzAc0GRlAdxNgSuakmPzjGXuGCsxDrhx3lYTWoHi7hA0A9OsaOsGg0w/NxKTye4qjCqCcP1BQvDXwy5kCNW6LmosUzN/UfUdlgpVFZYBxQyWFcUElhnFDJYNxQSWAcUSlgLFGxMLaoGBhrVCiMPSoEdhCo0IzRLUd9jqjQjG3AYlDad+tdZljdlqMXjqioVXHXlqPSqBjYzi1HpVFtYXVbji4aCi9FUSEZo8VOM2lTxT3fKpF9lEbZc8X3z+72dcy1dXYh9rAvONWeYE0AgmSv2GbnpvYnwACZ+Vt9L3+oIgAAAABJRU5ErkJggg==);
  background-position: right 50%;
}
#lightbox_prev.nohover:hover,
#lightbox_next.nohover:hover {
  background-image: none;
  cursor: auto;
}
#lightbox_details {
  position: relative;
  overflow: hidden;
  transition: 0.4s max-height;
}
#lightbox_caption {
  font-weight: bold;
}
#lightbox_caption span {
  font-weight: normal;
}
#lightbox_counter {
  display: block;
  clear: left;
  font-size: 0.9em;
}

#lightbox_close {
  position: absolute;
  right: 0;
  bottom: -0.1em;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.9em;
  color: inherit;
}
#lightbox_close:hover,
#lightbox_close:focus {
  text-decoration: none !important;
  cursor: pointer;
  color: #666;
}
#lightbox_close::before {
  content: "\2717";
  padding-right: 0.15em;
  text-decoration: none;
  font-size: 1.1em;
  color: #666;
}
#lightbox_close:hover::before,
#lightbox_close:focus::before {
  color: #c33;
}

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

  #lightbox_viewer {
    flex-flow: column nowrap;
    justify-content: space-around;
    left: 0 !important;
    top: 0 !important;
    margin: 0 auto !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    height: calc(100% - 20px) !important;
    max-height: none !important;
    background: black;
    box-shadow: none;
    color: white;
  }

  #lightbox_image_container {
    max-height: none;
  }
  #lightbox_image_container img {
    min-width: 0;
    max-height: 100%;
  }

  #lightbox_close::before {
    color: #666;
  }
  #lightbox_close:hover {
    color: white;
  }

}
