:root {
  --colour-lightbg: #EEBDA0;
  --colour-mediumbg: #9DA8CD;
  --colour-active: #2E276B;
  --colour-main: #F67925;
  --colour-link: #2070A5;
  --colour-sub: #AC5418;
}

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: var(--colour-link);
}
a:hover,
a:focus {
  text-decoration: underline !important;
  color: var(--colour-active);
}

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

h1 {
  margin-top: 0;
  font-size: 2em;
  color: var(--colour-main);
}
h2 {
  font-weight: normal;
  font-size: 1.5em;
  color: var(--colour-main);
}
h3 {
  font-size: 1.2em;
  color: var(--colour-sub);
}
h4 {
  font-size: 1em;
  color: var(--colour-sub);
}
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;
  }

}
#show_password {
  display: inline-block;
  width: 22px;
  height: 12px;
  background-image: url(data:image/png;base64,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);
  background-size: 100% 100%;
}
#show_password.shown {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAYCAYAAACBbx+6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABfpJREFUeNq8V11IVVkUXv5kWmqGYWXmoKBR2QyV+dC9+CANyUwlaBr4EARBTZFD0MyT5H3wYcRKB6khiAIfRhgM/BlsSlPKaxYZ5WRBGYXRryWZWpplZ75vMftwrn91m5oF+5579tl7rW+vv71WwNWrV6W/v186Ojpk5cqVUl9fL+/evZPXr1/LvXv3ZNasWRIWFiY3btyQoKAgWbhwoURERMj9+/c5HxATE/PV0NDQ1729vS6siVmzZk003qMEFB4e3n/58uW+5cuX92JdG97/xrqe4eFhKz4+XgYHB+Xx48cyNjYmWCOYV7kJCQkqNzg4WDZu3CjEmJqaKlFRURIsflBAQICCfvv2bdLz589zAGwDDvrNyMhIuFlz4cKFCfuuXbumz9DQ0KHZs2d3AvifOPhJ8OomT3/oowAHBgYaoO6urq69APvdmzdvQinMsqyPFsaDYbj6+vpcT548KYqOjm6AtcqgSS9l/GfARqMwVerDhw89MGHm+/fvgwxIPp2g586dK8uWLZP58+fr+9OnT+XmzZvy4sULm5/ZxwPDHbIBPCsyMvIvuIEHsjo+pPEpARMoNkfeunWrEL78I7QbYr7Rh3NyctTUHPTHffv2yebNm9XHnUQfra6ulgMHDqjfU5Nr166VO3fu6IEAPggx9P3p06e/Behf4+LiiiF7YEprj5/g6WfOnCkDAwPuK1eutN2+ffsnAxb+JwUFBdLZ2SknTpzQsW3bNrl48aLs2bNnAlgS5/gNvCQrK0tgIQXd3Nysh4Q/6zrKoCzKpGximMzdgnbu3EnfkkePHsmiRYv02djYWAAQlXCBWLMwNzdXNZWfn6+mJy1YsEBBUOMkBKGcOXNGqqqq5Ny5c/oeGxsrISEhGvV5eXmCGBBoU92jvLxctmzZolag65DgKjE9PT35kD2YkpJyKTExUb+TD4JWNGW0tLRIWVmZNDQ0BGZmZlZQ0WDI41k4hAWg1lQEjemzrq7OAnPd4xxJSUkWDmGvh88ypek3ZBh7njIoyymbWIiJ2IiRWPWntbVVKioqwuBbvzuFrVu3znrw4IE1HRnAR44csffB5DrMOzRsnTp1yt5z+PBhnYd1fXhRFmU6MRATsRGjAkZQSVtbW0haWlq1c+Hu3but0dFRH4ZM+DixdffuXRuokxBYEzRstLV06VILvqnrYGILbmQtXrzYevXqlQ8PyqRsJw9iI0ZilcrKSsGpjjsXFBcXT9Agqbu7W7+np6fbczRrSUmJhRtSgWzdunUCaDPoNoZcLpfOkedksohhnLWPE6usWrWq2Pnh0KFD9mZc0T6nP3v2rK7Jzs625/bv32/vRcRbCEQfd3BqmWsNIYh1rqmpyUcGZRrg8F0fPsTq19Vs0gxz9GSXDLMCxxelT3EJt9ttz9XU1NhaNJr8oi7hT9AxQBgoDBj6K4mBxIBymv6LBp2/aY2piN+YmgwxczB1GYAmrRmwnzWt+XtxMCtwnsmfl4AhXg68JP6Xi4MvpaWler8XFhYycxQg4oedghnVKFiUuTEZswWKb1soblNNbx6PRwf/c84Q13KPcTkSeZqM4cg2w8RALMREbAZwwPiOA4GhlT7M48ad/9vLly9TTICyUNmxY4cWPLt27ZLz589rLXHs2DGZN2/etMGNGlq2b98utbW1gjwuuBm1eDp69KhPZpkzZ07X+vXrf0DV5mXns2nTJp+OI3Cy9IQCRFCjelevXu1KTk4unTFjxqgpbg4ePCgZGRmsrrTqIgCsYwxokTKeOMdvXMO13MO95EFeBixlUBZlUjYxTFYbT5mH2WcxCSxZsuRnMPrD6/V6EOWZTMPPnj0T9GbKkIN1LsvOoqKiDxbwzOXt7e36/98uY4wFPFKlB3MdPABlf1LHQebcjDq4AwGxAUDc8Mm9aHG0RXJeJiQCQ/qZlp/RGjLHiLNFYqOLFPfBluujbjoW3QQOs3lXrFjhxTPp+vXr2oRCiE8TOh05m1DwOQnX6EbrpV06ZXy2JnS8xlGMdyPIfkHiL/nUNh+H1sbBnyaW9I8AAwD52nQQnVM2MAAAAABJRU5ErkJggg==);
}

.password-check.ok {
  box-shadow: 0 0 3px #090;
}
.password-check.weak {
  box-shadow: 0 0 3px orange;
}
.password-check.vulnerable {
  box-shadow: 0 0 3px #f00;
}

.password-strength {
  display: none;
  font-size: 0.9em;
}
.password-check.ok ~ .password-strength {
  display: block;
  color: #090;
}
.password-check.weak ~ .password-strength {
  display: block;
  color: orange;
}
.password-check.vulnerable ~ .password-strength {
  display: block;
  color: #f33;
}

.password-meter {
  display: none;
  margin: 2px;
  height: 0.5em;
  overflow: hidden;
  background: linear-gradient(to right, red, orange 25%, yellow 50%, green 75%);
  border-radius: 1em 0;
  text-align: right;
}
.password-meter div {
  display: inline-block;
  width: 0;
  height: 100%;
  background: rgba(255,255,255,0.8);
  border-left: 1px solid #999;
  border-radius: 0 0 1em 0;
  vertical-align: top;
}
.password-check.ok ~ .password-meter,
.password-check.weak ~ .password-meter {
  display: block;
}
.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: black;
  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);;
  }

}
.button-links {
  display: flex;
  flex-flow: row nowrap;
}
.button-links div {
  border-radius: 0.5em;
}
.button-links div,
.button-links div.medium {
  background-color: var(--colour-mediumbg);
}
.button-links div.light {
  background-color: var(--colour-lightbg);
}
.button-links div.main {
  background-color: var(--colour-main);
}

.button-links div:nth-child(n+2) {
  margin-left: 2em;
}
.button-links div a:link,
.button-links div a:visited {
  display: block;
  padding: 0.5em 1em;
  text-decoration: none;
  text-shadow: 0 0 2px white;
  font-weight: bold;
  color: black;
}
.button-links div a:hover,
.button-links div a:focus {
  text-decoration: underline;
}
.button-links div:empty {
  display: none;
}
.flex {
  display: flex;
  flex-flow: row wrap;
}
.flex.nowrap {
  flex-flow: row nowrap;
}
#traditional_owners {
  background-color: var(--colour-lightbg);
}
#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-active);
  background-image: url(/images/banner-bg.png);
  background-size: cover;
  line-height: 1.5;
  font-size: 0.9em;
  color: white;
}
footer h4 {
  color: white;
}
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;
}
a.edit:link,
a.edit:visited {
  white-space: nowrap;
  text-decoration: none;
  color: magenta;
}
header {
  background-color: var(--colour-active);
  background-image: url(/images/banner-bg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
header > div {
  margin: 0 auto;
  max-width: 900px;
  width: 100%;
  height: 245px;
  background-image: url(/images/banner-fg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
#hotlinks {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 1em auto;
}
form #hotlinks { /* edit mode */
  flex-flow: column nowrap;
  row-gap: 1em;
}
#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,
nav#menu ul a:hover,
nav#menu ul a:focus {
  color: var(--colour-active);
}
#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-active);
  border-radius: 0 1em 0 1em;
  color: white;
}
#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: white;
}

.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: white;
  background-image: linear-gradient(to bottom right, rgba(0,0,0,0) 75%, rgba(0,0,0,0.1));
  border: 3px solid var(--colour-active);
  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-active);
  font-weight: bold;
  font-size: 1.2em;
}
#popup_msg h2 a:link,
#popup_msg h2 a:visited {
  text-decoration: none;
  color: var(--colour-active);
}

#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: black;
}
.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-lightbg);
  border-radius: 0.5em 0.5em 0 0;
  line-height: 1.5em;
  white-space: nowrap;
  font-weight: bold;
  transition: 0.2s;
}
.dates li.current,
.dates li:hover {
  background-color: var(--colour-active);
  color: white;
}
.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: white;
}
.dates li:last-child:hover a:link,
.dates li:last-child:hover a:visited {
  color: var(--colour-active);
}
.dates a.current {
  cursor: default;
}

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

.program {
  border-collapse: collapse;
  margin: 1em 0;
}
.program tr.hilite {
  background-color: var(--colour-lightbg);
  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-lightbg);
  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: black;
}
.speakers > li h4 {
  font-weight: normal;
}

.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: white;
  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: black;
}

@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-mediumbg);
}
#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: white;
  border-radius: 0.5em;
  vertical-align: middle;
}
.format {
  margin: 1em 0;
  border-collapse: collapse;
}
.format thead {
  background-color: var(--colour-active);
  vertical-align: bottom;
  color: white;
}
.format thead th {
  padding: 2px 8px;
  border-bottom: 1px solid white;
  vertical-align: bottom;
  text-align: left;
}
.format td {
  padding: 2px 8px;
  background: white;
  color: black;
}
.format tbody tr:nth-child(2n) td {
  background: var(--colour-lightbg);
}

.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: white !important;
    line-height: 78px;
    font-size: 3em;
  }
  #menu_trigger a:link,
  #menu_trigger a:visited {
    padding: 0 !important;
    font-weight: normal;
    color: black !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: black;
    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: white;
  }
  nav#menu ul a.current:link, 
  nav#menu ul a.current:visited {
    color: var(--colour-lightbg);
  }

  header {
    padding: 78px 1em 0 1em;
  }

  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;
  }
  header > div {
    background-image: url(/images/banner-fg-text.png);
  }

}
