:root {
  --colour-lightpeach: #FFDEBB;
  --colour-peach: #F2BD9D;
  --colour-darkviolet: #581D3B;
}

body {
  position: relative;
  margin: 0 auto;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  color: #333;
}

.chirplink {
  position: absolute;
  bottom: 0;
  left: -100%;
}
.chirplink:focus {
  position: absolute;
  bottom: auto;
  left: auto;
}

.more:after {
  content: "\00a0»";
}

.clear {
  clear: both;
}
div.divider {
  border-bottom: 1px solid #666;
}

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

a:link,
a:visited {
  color: #FF901D;
}
a:hover,
a:focus {
  text-decoration: underline !important;
  color: var(--colour-darkviolet);
}

header {
  background-color: var(--colour-peach);
  background-image: url(/images/banner-bg.jpg);
  background-position: center bottom;
}
header > div {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 900px;
  width: 100%;
}

main {
  margin: 0 auto;
  padding: 1em 2em;
  max-width: 900px;
  width: 100%;
  line-height: 1.5;
}

h1, h2, h3, h4 {
  color: #FF901D;
}
h1 {
  margin-top: 0;
  font-size: 2em;
}
h2 {
  font-weight: normal;
  font-size: 1.5em;
}
h3 {
  font-size: 1.2em;
}
h4 {
  font-size: 1em;
}
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;
}

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

.noborder {
  border: none !important;
}
.hotel {
  padding: 1em 0;
  border-bottom: 1px solid #666;
}
.hotel > div.flex {
  display: flex;
  flex-flow: row nowrap;
}
.hotel > div.flex > div:first-child {
  flex-shrink: 0;
  flex-grow: 1;
}
.hotel > div.flex > div:last-child {
  flex-shrink: 1;
  flex-grow: 0;
}
.hotel h2 {
  border: none;
}
.hotel .subimg {
  float: right;
  margin: 0 0 1em 1em;
  width: 150px;
  text-align: center;
  font-size: 0.8em;
  color: #666;
}
.hotel .subimg img {
  max-width: 100%;
  height: auto;
}

.hotel ul {
  clear: left;
  margin-top: 0;
  padding-top: 1em;
}
.hotel .details {
  clear: both;
  font-style: italic;
}

.hotel .conditions {
  font-size: 0.9em;
}

.hotel .conditions > h4 {
  position: relative;
  font-weight: bold;
  color: #000;
  cursor: pointer;
}
.hotel .conditions > h4::after {
  position: relative;
  display: inline-block;
  left: 0.5em;
  font-size: 0.8em;
  content: "\25BC";
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: 0.1s;
}
.hotel .conditions > h4.opened::after {
  transform: rotate(0deg);
}

.hotel .conditions > h4 + div {
  display: none;
}
.hotel .conditions > h4.opened + div {
  display: block;
}

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

  .hotel > div.flex {
    flex-flow: column nowrap;
  }

  .hotel .subimg {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
    float: none;
    margin: 0 0;
    padding: 0;
    width: auto;
  }
  .hotel .subimg > p {
    flex-basis: calc(50% - 0.5em);;
  }

}
.flex {
  display: flex;
  flex-flow: row wrap;
}
#traditional_owners {
  background-color: var(--colour-lightpeach);
}
#traditional_owners > div {
  margin: 0 auto;
  padding: 20px 0;
  width: 800px;
  line-height: 1.5;
  text-align: center;
  font-style: italic;
}
#traditional_owners > div p {
  margin: 0.25em 0;
}

footer {
  background-color: var(--colour-peach);
  background-image: url(/images/banner-bg.jpg);
  background-size: cover;
  line-height: 1.5;
  font-size: 0.9em;
  color: #fff;
}
footer h4 {
  color: #fff;
}
footer a:link,
footer a:visited {
  color: inherit;
}
footer a:hover,
footer a:focus {
  text-decoration: initial !important;
}
footer > div {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-evenly;
  margin: 0 auto;
  padding: 20px 0;
  width: 960px;
}
footer > div > div {
  padding: 1em;
}
footer > div > div:last-child {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}
#hotlinks {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 1em auto;
}
#hotlinks > div {
  width: calc(25% - 0.5em);
}
#hotlinks > div > a:link,
#hotlinks > div > a:visited {
  display: block;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
}

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

  #hotlinks div {
    width: calc(50% - 0.5em);;
  }

}
#menu_trigger {
  display: none;
}

nav#menu {
  margin: 1em auto;
  width: 900px;
}
nav#menu ul {
  display: flex;
  flex-flow: row wrap;
  margin: 0 -0.72em; /* 0.9 x 0.8 */
  padding: 0;
  width: 800px;
  list-style-type: none;
}
nav#menu ul a:link,
nav#menu ul a:visited {
  display: block;
  padding: 0.2em 0.8em;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.9em;
  color: #333;
}
nav#menu ul a.current:link,
nav#menu ul a.current:visited {
  color: #4D0C80;
}
#newsbox {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  column-gap: 1em;
  row-gap: 1em;
}
#newsbox > div {
  flex: 0 0 calc(50% - 2.5em);
  padding: 0 1em 0.5em;
  background-color: var(--colour-darkviolet);
  border-radius: 0 1em 0 1em;
  color: #fff;
}
#newsbox .item div {
  padding: 5px 10px;
  font-size: 0.9em;
}
#newsbox h3 {
  margin-bottom: 0;
}
#newsbox h3 a:link,
#newsbox h3 a:visited {
  text-decoration: none;
  color: #fff;
}

.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: 0.9em;
  color: #666;
}

.morenews a:link,
.morenews a:visited {
  font-size: 0.9em;
}
#popup_msg {
  position: absolute;
  position: fixed;
  right: 1em;
  top: 7em;
  margin-left: 1em;
  padding: 1em 2em;
  max-width: 320px;
  background: #fff;
  background-image: linear-gradient(to bottom right, rgba(0,0,0,0) 75%, rgba(0,0,0,0.1));
  border: 3px solid var(--colour-darkviolet);
  border-radius: 24px / 16px;
  box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
  font-size: 0.9em;
  color: #333;
  transition: 0.5s ease-out;
  z-index: 100;
}
#popup_msg h2 {
  padding: 0 0 4px 0;
  border-bottom: 1px dashed var(--colour-darkviolet);
  font-weight: bold;
  font-size: 1.2em;
}
#popup_msg h2 a:link,
#popup_msg h2 a:visited {
  text-decoration: none;
  color: var(--colour-darkviolet);
}

#popup_msg p.close {
  text-align: right;
  font-size: 0.8em;
}
#popup_msg p.close a:link,
#popup_msg p.close a:visited {
  color: #666;
}
#popup_msg p.close a:hover,
#popup_msg p.close a:focus {
  color: #000;
}
.dates {
  display: flex;
  flex-flow: row nowrap;
  list-style-type: none;
  margin: 0 0 -4px;
  padding: 0;
}
.dates li {
  margin-right: 0.5em;
  padding: 4px 10px;
  background-color: var(--colour-lightpeach);
  border-radius: 0.5em 0.5em 0 0;
  line-height: 1.5em;
  white-space: nowrap;
  font-weight: bold;
  color: #0A1F3D;
  transition: 0.2s;
}
.dates li.current,
.dates li:hover {
  background-color: var(--colour-darkviolet);
  color: #fff;
}
.dates li:last-child {
  margin: 0 0 0 auto;
  background-color: #f2f2f2;
  color: #333;
}
.dates li:last-child a:before {
  display: inline-block;
  width: 0.8em;
  height: 0.9em;
  background-image: url(/images/ical.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.dates a:link,
.dates a:visited {
  text-decoration: none;
  font-weight: bold;
  color: inherit;
}
.dates li.current strong,
.dates a:hover,
.dates a:focus {
  text-decoration: none !important;
  color: #fff;
}
.dates li:last-child:hover a:link,
.dates li:last-child:hover a:visited {
  color: var(--colour-darkviolet);
}
.dates a.current {
  cursor: default;
}

#calendar {
  position: relative;
  margin: 0 0;
  padding: 4px;
  border: 2px solid var(--colour-darkviolet);
  background-color: #fff;
}
#calendar h3 {
  margin-left: 4px;
}
#calendar h4 {
  margin: 8px 0;
}

.program {
  border-collapse: collapse;
  margin: 1em 0;
}
.program tr.hilite {
  background-color: var(--colour-lightpeach);
  background-image: none;
}
.program td {
  padding: 6px 8px 0;
  vertical-align: top;
  line-height: 16px;
  font-size: 0.9em;
}
.program td > p,
.program .full > p {
  margin-top: 0;
}
p.time {
  margin: 0;
}

.program .flex {
  padding: 0;
  border: solid #ccc;
  border-width: 1px 0 0;
}
.program .flex > div {
  flex: 1;
  padding: 5px 10px;
  border: solid #ccc;
  border-width: 0 0 0 1px;
}
.program .flex > div h4 {
  margin: 5px 0;
}

.program .flex > div:last-child {
  border-right: 1px solid #ccc;
}
.program tr:last-child td.flex {
  border-bottom: 1px solid #ccc;
}

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

  .dates li:last-child {
    display: none;
  }

}
#home_speakers {
  display: flex;
  flex-flow: row wrap;
}
#home_speakers > div {
  flex-basis: calc(20% - 2em);
  padding: 1em;
  text-align: center;
}
#home_speakers img {
  max-width: 100%;
  height: auto;
}

.speakers {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: repeat(auto-fill, auto);
  grid-gap: 1em;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.speakers > li {
  padding: 1em;
  background-color: var(--colour-lightpeach);
  cursor: pointer;
}
.speakers > li img {
  display: block;
  margin: -1em 0 -1em -1em;
  max-width: calc(100% + 2em);
  height: auto;
}
.speakers > li h3 {
  padding-top: 0.5em;
  color: #000;
}
.speakers > li h4 {
  font-weight: normal;
  color: #FF901D;
}

.speaker-bio {
  display: none;
}

#modal_container {
  display: none;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  max-width: none;
  height: 100vh;
  background: rgba(0,0,0,0.2);
  z-index: 100;
}
#modal_window {
  position: relative;
  padding: 2em;
  width: calc(80% - 4em);
  max-width: 800px;
  max-height: calc(80vh - 4em);
  overflow: auto;
  background: #fff;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
  text-align: center;
}
#modal_window .close {
  cursor: pointer;
}
#modal_window .close::after {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  font-size: 2em;
  content: "\00d7";
}
#modal_window .speaker-bio {
  display: block;
  text-align: left;
}
#modal_window h3 {
  color: #000;
}
#modal_window h4 {
  color: #FF901D;
}

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

  #home_speakers > div {
    flex-basis: calc(50% - 2em);
  }

  .speakers {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}
#sponsors_container {
  background-color: var(--colour-peach);
}
#sponsors {
  padding: 1em 0;
  text-align: center;
}
#sponsors h2 {
  margin-top: 0;
  border: none;
  color: black;
}
#sponsors h4 {
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: normal;
  color: black;
}
#sponsors p {
  display: inline-block;
  padding: 20px 10px;
  background: #fff;
  border-radius: 0.5em;
  vertical-align: middle;
}
.format {
  margin: 1em 0;
  border-collapse: collapse;
}
.format thead {
  background-color: var(--colour-darkviolet);
  vertical-align: bottom;
  color: #fff;
}
.format thead th {
  padding: 2px 8px;
  border-bottom: 1px solid #fff;
  vertical-align: bottom;
  text-align: left;
}
.format td {
  padding: 2px 8px;
  background: #fff;
  color: #000;
}
.format tbody tr:nth-child(2n) td {
  background: var(--colour-lightpeach);
}

.collapse th, .collapse td {
  padding: 4px 8px;
}

table.col4 {
  width: 100%;
}
table.col4 td {
  width: 20%;
}
table.col4 td:first-child {
  width: 50%;
}
/* tablet */
@media only screen and (max-width: 899px) {

  body {
    width: 100%;
  }

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

  #menu_trigger {
    display: block !important;
    background: #fff !important;
    line-height: 78px;
    font-size: 3em;
  }
  #menu_trigger a:link,
  #menu_trigger a:visited {
    padding: 0 !important;
    font-weight: normal;
    color: #000 !important;
  }

  nav#menu {
    position: absolute;
    top: 0;
    margin: 0;
    width: 100%;  
    text-align: center;
    font-size: 1em;
  }
  nav#menu ul {
    flex-flow: column nowrap;
    margin: 0;
    width: auto;
  }
  nav#menu li {
    display: none;
    margin: 0;
    background: #000;
    text-align: center;
  }
  nav#menu.active li {
    display: block;
  }
  nav#menu ul a:link,
  nav#menu ul a:visited {  
    display: block;
    padding: 0.75em 0;
    color: #fff;
  }
  nav#menu ul a.current:link, 
  nav#menu ul a.current:visited {
    color: #FFBC76;
  }

  header {
    padding-top: 78px;
    background-size: cover;
  }
  header > div {
    padding: 1em 1em;
    max-width: calc(100% - 2em);
  }

  main {
    max-width: calc(100% - 2em);
    padding: 1em 1em;
  }

  #traditional_owners > div {
    padding: 20px 20px;
    width: auto;
  }

  footer > div {
    max-width: 100%;
    flex-flow: column nowrap;
    text-align: center;
  }

  .social {
    margin: 1em auto 2em;
    justify-content: center;
  }

}

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

  #newsbox {
    flex-flow: column nowrap;
  }

}
#lightbox_overlay {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: #000; 
  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: #fff;
  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: #000;
  box-shadow: none;
  color: #fff;
}

#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: #fff;
}

}
