/*@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);*/
/*@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800);*/

:root {
  --green1: #068900;
  --green2: #09b300;
  --green3: #089900;
  --darkgreen: #033b00;
  --lightgrey: #d9d9d9;
  --midgrey: #999;
  --darkgrey: #737373;
  --textgrey: #555;
  --headinggrey: #454445;
  --infobox: #f2f2f2;
  --infoboxhover: #e6e6e6;
  --listborder: #e5e5e5;
  --bannerbg: #f6f6f6;
  --bannertext: #3e454c;
  --sidebarborder: #d1cfce;
  --warningred: #bf616a;
  --seealsoborder: var(--green2);
  --seealsoborderhover: var(--green3);
  --detailsborder: var(--midgrey);
  --detailsborderhover: #6c6c6c;
  --placeholder: #999;

}

/*********************************************************************************/
/* Fonts                                                                         */
/*********************************************************************************/

/* montserrat-regular - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url('/fonts/montserrat-v14-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Regular'), local('Montserrat-Regular'),
       url('/fonts/montserrat-v14-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/montserrat-v14-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/montserrat-v14-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/montserrat-v14-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/montserrat-v14-latin-regular.svg#Montserrat') format('svg'); /* Legacy iOS */
}

/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: url('/fonts/montserrat-v14-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Bold'), local('Montserrat-Bold'),
       url('/fonts/montserrat-v14-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/montserrat-v14-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/montserrat-v14-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fonts/montserrat-v14-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/montserrat-v14-latin-700.svg#Montserrat') format('svg'); /* Legacy iOS */
}

/*************************************/

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/open-sans-v17-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('/fonts/open-sans-v17-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-300.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-300 italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('/fonts/open-sans-v17-latin-300italic.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Light Italic'), local('OpenSans-Light-Italic'),
       url('/fonts/open-sans-v17-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-300italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-300italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('/fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('/fonts/open-sans-v17-latin-italic.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Italic'), local('OpenSans-Italic'),
       url('/fonts/open-sans-v17-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-600italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: url('/fonts/open-sans-v17-latin-600italic.eot'); /* IE9 Compat Modes */
  src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
       url('/fonts/open-sans-v17-latin-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-600italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-600italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-600italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-600italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('/fonts/open-sans-v17-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('/fonts/open-sans-v17-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-600.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-800italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  src: url('/fonts/open-sans-v17-latin-800italic.eot'); /* IE9 Compat Modes */
  src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
       url('/fonts/open-sans-v17-latin-800italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-800italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-800italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-800italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-800italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-800 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('/fonts/open-sans-v17-latin-800.eot'); /* IE9 Compat Modes */
  src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
       url('/fonts/open-sans-v17-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v17-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v17-latin-800.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v17-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v17-latin-800.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/*************************************/

/* CMU Serif bold - latin */
@font-face {
    font-family: 'CMU Serif';
    font-style: normal;
    font-weight: bold;
    src: url('fonts/CMUSerif-Bold.eot');
    src: local('CMU Serif Bold'), local('CMUSerif-Bold'),
        url('fonts/CMUSerif-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/CMUSerif-Bold.woff2') format('woff2'),
        url('fonts/CMUSerif-Bold.woff') format('woff'),
        url('fonts/CMUSerif-Bold.ttf') format('truetype'),
        url('fonts/CMUSerif-Bold.svg#CMUSerif-Bold') format('svg');
}




/*********************************************************************************/
/* Text elements                                                                 */
/*********************************************************************************/

a:link, a:visited { color: var(--green1); }
a:hover, a:active { color: var(--green2); }

:where(p, dd, dt, li, small, table, div) a[href^="http"]:not(:has(img))::after {
    content: "";
    background: transparent url(images/external-link.svg) no-repeat;
    background-size: contain;
    background-position: center center;
    margin-left: 4px;
    padding-right: 13px;
    filter: invert(29%) sepia(86%) saturate(1511%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

:where(p, dd, dt, li, small, table, div) a[href^="http"]:not(:has(img)):hover::after, :is(p, dd, dt, li) a[href^="http"]:active::after {
  filter: invert(40%) sepia(92%) saturate(1168%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

footer p a[href^="http"]::after {
    filter: invert(63%) sepia(1%) saturate(0%) hue-rotate(188deg) brightness(96%) contrast(92%);
    margin-left: 3px;
    padding-right: 11px;
}

footer p a[href^="http"]:hover::after, footer a[href^="http"]:active::after{
    filter: invert(85%) sepia(0%) saturate(0%) hue-rotate(354deg) brightness(107%) contrast(85%);
}

:where(p, dd, dt, li, small, table) a[href$=".pdf"]:not(:has(img))::before {
    content: "";
    padding-right: 11px;
    margin-left: 4px;
    margin-right: 3px;
    position: relative;
    bottom: -3px;
    background: transparent url(images/pdf-link.svg) no-repeat;
    filter: invert(29%) sepia(86%) saturate(1511%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

:where(p, dd, dt, li) a[href$=".pdf"]:not(:has(img)):hover::before, :is(p, dd, dt, li) a[href$=".pdf"]:active::before {
  filter: invert(40%) sepia(92%) saturate(1168%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

footer p a[href$=".pdf"]::before {
  display: none;
}

/*
footer p a[href$=".pdf"]::before {
    filter: invert(63%) sepia(1%) saturate(0%) hue-rotate(188deg) brightness(96%) contrast(92%);
    margin-left: 3px;
    padding-right: 8px;
    bottom: -4px;
    border-right: 2px solid transparent;
}

footer p a[href$=".pdf"]:hover::before, footer a[href$=".pdf"]:active::before{
    filter: invert(85%) sepia(0%) saturate(0%) hue-rotate(354deg) brightness(107%) contrast(85%);
}
*/

html, body {
    height: 100%;
    font-size: 16px;
}

body {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    height: 100vh;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    color: var(--textgrey);
}

h1, h2, h3 {
    font-weight: 600;
    color: var(--headinggrey);
    line-height: 180%;
}

main h1 {
  border-bottom: 4px solid var(--green3);
}

#projects section h1 {
  border-bottom: none;
}

main.article h1 { clear: both; }

p, ol { margin-top: 0; }
p { line-height: 180%; }
p.indent { margin-left: 3em; }
main.article p { text-align: justify; }

#home .info-box p {
  margin-bottom: 0;
}

address {
  font-style: normal;
}

table {
    border: none;
    border-collapse: collapse;
    padding-left: 2em;
}

div.table-scroll {
  overflow-x: auto;
}

table.data {
    width: 100%;
    white-space: nowrap;
    table-layout: fixed;
}

table.data tbody {
  display: table;
}

table.data td, table.data th, table.data tr {
    border-top: 1px solid var(--lightgrey);
    padding: 0.5em 1em !important;
}

#membership table, .events table {
    margin-left: 2em;
    margin-bottom: 20px;
}

tr {
    text-align: left;
}

.tr-section {
    padding-left: 3em;
    font-size: 150%;
}

.weed {
    color: red;
}

#membership tr > td:first-child {
    padding-right: 2em;
}

.event table {
  margin-bottom: 30px;
}

.event table td {
  vertical-align: top;
  padding: 5px;
}

.event table td:first-child {
  font-weight: bold;
  text-align: right;
}

#contact table td {
  vertical-align: top;
}

#error table {
    width: 100%;
    table-layout: fixed;
    color: var(--textgrey);
    cursor: auto;
}

#error tr > td:first-child {
    text-align: right;
    padding-right: 1em;
    white-space: normal;
    vertical-align: top;
    max-width: 300px;
    font-weight: bold;
}

#error tr > td:last-child {
    overflow-wrap: break-word;
}

details {
    color: var(--green1);
    margin-bottom:2em;
}

details:hover {
    color: var(--green2);
    cursor: pointer;
}

#error details {
  width: 100%;
  max-width: 70em;
  margin-left: auto;
  margin-right: auto;
}

blockquote {
    max-width: 800px;
}

.container, main { margin: 0 auto; }

.info-box {
    width: auto;
    max-width: 300px;
    float: right;
    padding: 1em;
    background: var(--infobox);
    border: 1em solid #fff;
}

.info-box:hover {
    background: var(--infoboxhover);
}

@media screen and (max-device-width: 600px) {
    .info-box {
        max-width: 100%;
        margin: 0;
    }
    .info-box figure img {
      width: 100%;
    }
    #contact .info-box {
      width: auto;
      float: none;
      min-width: unset !important;
    }
    img.wrap {
      display: block;
      margin: 0 auto;
      max-width: 100%;
      border: none;
    }
    img.right, img.left {
      float: none !important;
      padding: 0;
      padding-bottom: 10px;
    }
    img.flush {
    }
}

#contact .info-box {
  min-width: 350px;
}

#membership .info-box {
  padding-bottom: 0;
}

#events .info-box {
  border: 0;
  padding-top: 0;
  margin-bottom: 30px;
  max-width: 100%;
}

.event-details {
  clear: both;
  padding: 0.1em 1em;
  padding-bottom: 1em;
  margin: 1em 0;
  background: var(--infobox);
  border-left: 5px solid var(--detailsborder);
}

.event-details:hover {
  border-left: 5px solid var(--detailsborderhover);
}

.event-details table {
  display: block !important;
}

.event-details a.button {
  display: block;
  margin: 0 auto;
  max-width: 170px;
}

.event-details > img, .event-details figure {
  float: right !important;
}

.event-details img {
  max-width: 400px;
}

@media screen and (max-width: 800px) {
  .event-details figure {
    width: 100%;
    display: block;
    float: none !important;
    text-align: center;
  }
  .event-details img {
    width: 100%;
  }
}

@media screen and (min-width: 1270px) {
  #bungalook .event-details {
    max-width: 600px;
    display: inline-block;
  }
}


p#jointitle {
  text-align: center;
  font-weight: bold;
  font-size: x-large;
}

div.seealso {
  padding-top: 25px;
  border-left: 5px solid var(--seealsoborder);
  background-color: var(--infobox);
  max-width: 380px;
  padding: 5px 20px 10px;
  margin: 40px 0;
}

div.seealso:hover {
  border-left: 5px solid var(--seealsoborderhover);
}

div.seealso h3,
div.seealso ul {
  margin: 0;
}


/*********************************************************************************/
/* Images                                                                        */
/*********************************************************************************/

#image-home {
  padding: 0 0 1em 1em;
  float: right;
}

#membership p img {
  width: calc(100%/3);
  min-width: 300px;
}

@media screen and (max-width: 500px) {
    #image-home {
        width: 100%;
        object-fit: cover;
        padding: 10px 0;
    }

    #membership p img {
        width: 100%;
        object-fit: cover;
        padding: 10px 0;
    }
}

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

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

.center {
    margin: 0 auto 0 auto;
    text-align: center;
    clear: both;
}

.center > img {
    padding: 1em;
}

.center > a > img {
    padding: 0 10px;
    max-height: 300px;
    max-width: calc(100% - 20px);
}

figure {
    text-align: left;
    position: relative;
    display: inline-block;
    padding: 0;
    margin: 5px;
}

.info-box figure {
  margin: 0;
}

.article figure img {
  max-width: 90%;
  max-height: min(45vh, 800px);
  margin: 0 auto;
  display: block;
}
.article figure {
  margin: 0 auto;
  text-align: center;
  display: block;
  padding-top: 1em;
  padding-bottom: 1em;
}

.article figure figcaption {
  max-width: min(90%, 600px);
  text-align: center;
  margin: 0 auto;
  display: block;
  font-weight: 300;
}

#membership .info-box figure img {
  width: 100%;
}

#quarry figure img {
    margin: 0;
    padding: 0;
    width: calc(100vw / 2 - 50px);
    min-width: 300px;
    max-width: 600px;
}

#cleanup figure img {
  max-width: 800px;
}

#cleanup figure {
  text-align: center;
  margin: 0 auto;
  display: block;
}

#anniversary figure img {
    max-width: 480px;
}

@media screen and (max-width: 650px) {
    #info-box figure img,
    #quarry figure img {
      width: 100% !important;
    }
}

/*figure:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}*/

figure figcaption {
  line-height: 1.6em;
}

#quarry figure figcaption,
#anniversary figure figcaption {
    display: block;
    /*text-align: right;*/
    position: absolute;
    width: 100%;
    font-size: 35px;
    color: #fff;
    left: 0;
    bottom: 33%;
    padding: 0.8em;
    font-weight: 700;
    z-index: 2;
}

.wrap {
    max-height: 280px;
    float: left;
    border: 1em solid #fff;
    border-left: 0;
}

.right {
    float: right !important;
    padding: 1em 0 1em 1em;
    border: 1em solid #fff;
    border-right: 0;
}

.flush {
    border-top: 0;
    border-bottom: 0;
}

.tall {
    max-height: 500px !important;
}

div.caption-container {
  position: relative;
}

@media (min-width: 700px) {
    #projects main img {
      float: left;
      padding: 0 2em 2em 0;
    }
}
@media (max-width: 700px) {
    #projects main img {
        display: block;
        padding: 1em 0;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
        height: auto;
        width: auto\9;
    }
}

@media screen and (min-width: 900px) {
  .event iframe {
    float: right;
    display: inline;
    padding-bottom: 20px;
  }
  .event table {
    display: inline;
  }
}

#picnic table, #birdwalk table, #agm main > table{
  display: block;
}

iframe {
  /* Fix for Google Maps iframes going beyond screen borders */
  max-width: 100%;
}

#peoples-garden iframe {
  width: min(100%, 400px);
  aspect-ratio: 4 / 3;
  border: none;
  float: right;
}

@media screen and (max-width: 600px) {
  #peoples-garden iframe {
    float: unset;
    margin: 0 auto;
    display: block;
  }
}


/*********************************************************************************/
/* Icons                                                                         */
/*********************************************************************************/

.follow {
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
}

.follow p {
  margin-bottom: 0;
}

.follow a {
    text-decoration: none;
}

.social {
  text-align: center;
  width: 35px;
  margin: 0 6px 0 6px;
}

.filter-green {
  filter: invert(29%) sepia(86%) saturate(1511%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

.filter-green:hover {
  filter: invert(40%) sepia(92%) saturate(1168%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

.filter-red {
  filter: invert(20%) sepia(94%) saturate(7401%) hue-rotate(0deg) brightness(113%) contrast(118%);
}

.filter-red:hover {
  filter: invert(13%) sepia(98%) saturate(5539%) hue-rotate(3deg) brightness(81%) contrast(120%);
}

*:hover:has(> .filter-green) .filter-green {
  filter: invert(40%) sepia(92%) saturate(1168%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

.event .social, #contact table .social {
  width: 16px;
}

#contact .social {
  padding-top: 6px;
}

/*.social a {
    display: inline-block;
    position: relative; 
    z-index: 1;
}

.social span {
    display: inline-block;
    height: 2em;
}

.social object {
    position: relative;
    z-index: -1;
    color: var(--green1);
    height: 2em;
    fill: currentColor;
}
*/

#release svg {
  height: 1em;
}



/*********************************************************************************/
/* Lists                                                                         */
/*********************************************************************************/

ul {
    list-style: none;
    color: var(--textgrey);
}

ul.columns {
  column-count: 2;
  column-width: 500px;
}

ul li::before {
    content: "●";
    color: var(--green1);
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

ul li, ol li {
    padding: 0.25em 0 0.25em 0;
}

nav ul li::before {
    display: none;
}

dl.lines, ul.lines {
    margin: 0;
    list-style: none;
}

dl.lines {
    padding-left: 0.5em;
}

ul.lines {
    padding-left: 1em;
    padding-bottom: 1em;
}

dl.lines dd, ul.lines li {
    border-top: solid 1px var(--listborder);
    padding: 0.80em 0;
    margin: 0;
}

dl.lines dd:last-child, ul.lines li:last-child {
    border-bottom: solid 1px var(--listborder);
}

dt, .dt {
    font-weight: bold;
}

dd, .dd {
    padding-bottom: 1em;
}

@media screen and (min-width: 750px) {
    #events .info-box .dl {
        column-count: 3;
        column-width: 300px;
        -webkit-column-width: 300px;
        -moz-column-width: 300px;
    }
}

#events .info-box .dd { 
  margin-left: 40px;
}

#events .info-box .pair {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

ul.thumbnails {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

ul.thumbnails li {
  background-color: var(--infobox);
  padding: 0;
  padding-right: 10px;
  margin: 20px 0;
  min-height: 150px;
  border-left: 5px solid var(--green3);
  clear: both;
  display: grid;
  grid-template-columns: 220px 1fr;
}

ul.thumbnails li div {
  display: inline;
}

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

ul.thumbnails li:hover {
  background-color: var(--infoboxhover);
  border-left: 5px solid var(--green2);
}

ul.thumbnails li::before {
  content: '';
}

ul.thumbnails li a:first-child {
  grid-column: 1;
}

ul.thumbnails li a {
  text-decoration: none;
}

ul.thumbnails img.thumbnail {
  padding: 0;
  padding-right: 20px;
  margin: 0;
  height: 150px;
  aspect-ratio: 4/3;
  float: left;
  grid-column: 1;
}

ul.thumbnails li span.thumbnail-title {
  font-weight: 600;
  font-size: x-large;
  color: var(--textgrey);
  text-decoration: none;
}

ul.thumbnails li p {
  margin: 0;
  color: var(--textgrey);
}

ul.thumbnails li p.desc {
  font-size: large;
}

ul.thumbnails li p a {
  font-weight: bold;
  text-decoration: underline;
}

ul.thumbnails li p span {
  font-size: unset;
  padding-right: 10px;
}

ul.thumbnails li p span img {
  width: 13px;
}

@media screen and (max-width: 450px) {
  ul.thumbnails li p span {
    display: block;
  }
}


@media screen and (max-width: 750px) {
  ul.thumbnails li img.thumbnail {
    display: none;
  }

  ul.thumbnails li {
    display: block;
    min-height: unset;
    padding-left: 10px;
  }
}


/*********************************************************************************/
/* Buttons                                                                       */
/*********************************************************************************/

.button {
    display: inline-block;
    padding: 1.6em 4em;
    background: var(--green1);
    letter-spacing: 0.30em;
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Montserrat', 'Open Sans', sans-serif;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
}

.box-right .button {
    transform: translate(0, 50%);
}

#contact-button {
  text-align: center;
}

.button:hover, .button:active, .button:focus {
    background: var(--green2);
}

.button-small {
    width: 100%;
    text-align: center;
    padding-left: 0.1em;
    background: var(--darkgreen);
}


/*********************************************************************************/
/* Forms                                                                         */
/*********************************************************************************/

.memberform main h1 {
  border-bottom: none;
  text-align: center;
}

.memberform main > p {
  text-align: center;
}

form {
  max-width: 400px;
  text-align: left;
  padding: 1em;
  background-color: var(--infobox);
  margin: 0 auto;
  margin-bottom: 20px;
}

form section>div:has(p)>h2,
form section>div:has(a)>h3
{
  display: inline;
}
form section>div:has(h2)>p,
form section>div:has(h3)>a
{
  float: right;
}

form section#membership-info > *,
form section>div:has(h2)
{
  margin-top: 20px;
  margin-bottom: 20px;
}

#join form, #renew form {
  max-width: 600px;
}

form label {
  color: var(--nord5);
  white-space: nowrap;
  text-wrap: wrap;
}

form fieldset {
  border: none;
}

form fieldset legend {
  display: none;
}

form p.progress-label {
  text-align: right;
}

form p.progress-label a.form-back {
  float: left;
}

p.forminfo {
  border-left: 4px solid var(--green1);
  padding-left: 10px;
  margin: 10px 0;
  background-color: var(--infoboxhover);
}

p.formerror{
  font-weight: 600;
  border-left: 4px solid var(--warningred);
  padding-left: 10px;
  margin: 10px 0;
  background-color: var(--infoboxhover);
}

form input[type=email],
form input[type=password],
form input[type=text],
form input[type=number],
form input[type=tel] {
  border: 0;
  height: 1.5em;
  margin: 0 0 20px 0;
  padding: 5px 10px;
  width: calc(100% - 20px);
  /*background-color: #ddd;*/
  color: var(--textgrey);
  font-size: 1.5em;
  font-family: 'Open Sans', sans-serif;
}
form input[type=email]:focus,
form input[type=password]:focus,
form input[type=text]:focus,
form input[type=number]:focus,
form input[type=tel]:focus {
  outline: 0;
  border: 0;
  filter: drop-shadow(0 0 3px #ccc);
  background-color: #fff;
  color: var(--textgrey);
}

input[type=number].no-spinner::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    var(--placeholder);
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    var(--placeholder);
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    var(--placeholder);
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    var(--placeholder);
}
::-ms-input-placeholder { /* Microsoft Edge */
   color:    var(--placeholder);
}

::placeholder { /* Most modern browsers support this now. */
   color:    var(--placeholder);
}


form input[type=submit] {
  width: 100%;
  padding: 0;
  height: 3em;
  border: 0;
  cursor: pointer;
  display: inline-block;
  background-color: var(--green1);
  text-decoration: none;
  color: #fff !important;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-size: 1em;
  font-weight: 600;
  border: none;
  outline: none;
}

form input[type=submit]:disabled,
form input[type=submit][disabled]
{
  background-color: var(--midgrey);
}

form input[type=submit]:disabled:hover,
form input[type=submit][disabled]:hover
{
  cursor: default;
}

form div.form-flex-container {
  display: flex;
  flex-flow: row wrap;
  column-gap: 10px;
}

form .form-flex-container {
  justify-content: space-evenly;
}

form div.form-flex-box:has(input[type=text]),
form div.form-flex-box:has(input[type=tel]),
form div.form-flex-box:has(input[type=password])
{
  flex: 1 1 150px;
  min-width: 150px;
}

form p.total {
  font-size: 1.5em;
  text-align: right;
}

form p.total span#total-autorenew {
  font-size: medium;
  line-height: normal;
}

form #donation-amount .form-flex-box {
  align-self: center;
}

form #donation-amount input[type=tel] {
  font-size: 1em;
  margin: 0;
  width: 70px;
}

form label#error {
  color: red;
  font-weight: 600;
}

div.message {
  max-width: 425px;
  margin: 0 auto;
  margin-bottom: 20px;
  border-radius: 6px;
  height: 2em;
  filter: drop-shadow(0 0 3px #111);
}

div.message.error {
  background-color: var(--nord11);
}

div.message.success {
  background-color: var(--nord14);
  color: var(--nord2);
}

div.message span {
  vertical-align: middle;
}

#join form, #renew form {
  position: relative;
}

#join form#.taged:before, #renew form.staged:before {
  content: "";
  background: var(--green3);
  height: 6px;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% / 3);
}

#join #stage-2:before, #renew #stage-2:before {
  width: calc(100% / 3 * 2);
}

#join #stage-3:before, #renew #stage-3:before{
  width: 100%;
}

#membership-type label, #card-select label {
  display: inline-block;
  vertical-align: top;
}

#account form, #account .formlike {
  max-width: 550px;
  margin: 0 0 20px 0;
  margin-bottom: 20px;
  flex-basis: 50%;
  text-align: left;
  padding: 1em;
  background-color: var(--infobox);
}

@media(max-width: 1200px) {
  #account form, #account .formlike {
    flex-basis: 100%;
  }
}

#account .formlike a svg {
  height: 1em;
  padding-right: 4px;
}

#account #manage-family-dialog details form {
}

#account #manage-family-dialog details {
  background: var(--infobox);
  color: var(--textgrey);
  cursor: default;
  padding: 16px;
}

#account #manage-family-dialog details summary {
  color: var(--green1);
  cursor: pointer;
}

#account #manage-family-dialog details summary:has(a:hover) {
  color: var(--green1);
}

#account #manage-family-dialog details summary:hover {
  color: var(--green2);
}

#account #manage-family-dialog details summary span.family-member-top-buttons {
  float: right;
}


#account #account-flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

dialog {
  border: 4px solid var(--green1);
  box-shadow: 2px 0px 5px 2px #333;
  max-width: 600px;
}

dialog div.buttons {
  display: block;
}

dialog button {
    display: inline-block;
    padding: 1.6em 4em;
    border: none;
    background: var(--green1);
    text-decoration: none;
    font-family: 'Montserrat', 'Open Sans', sans-serif;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
  }

dialog button:hover, dialog button:active, dialog button:focus {
    background: var(--green2);
    cursor: pointer;
}

#account-conf {
  background: var(--bannertext);
  margin-bottom: 20px;
  padding-left: 10px;
  color: white;
}

#account-conf span {
  vertical-align: middle;
  line-height: 40px;
}

/*********************************************************************************/
/* Preamble                                                                      */
/*********************************************************************************/

div#header-container {
  background-color: var(--darkgreen);
}
    
header {
    background-color: var(--darkgreen);
    width: 100% !important;
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 1320px;
}

.htitle {
    text-align: center;
    font-size: 200%;
    font-family: 'Montserrat', 'Open Sans', sans-serif;
    padding: 12px 5px;
    background-color: var(--green1);
    color: #fff;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0;
}

h1#nosep {
  display: none;
}

h1#nosep span {
  display: block;
}

@media (max-width: 660px) {
    h1#nosep {display: block;}
    h1#sep {display: none;}
    .htitle {
      font-size: 1.4em; 
      letter-spacing: 0.16em;
      padding: 5px;
    }
}

#logo, nav {
  padding: 0 10px;
}

#logo h1 {
    display: inline-block;
    font-size: 1.7em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #fff;
    padding-left: 10px;
    line-height: 100%;
}

#logo h1:hover {
    color: var(--green2);
}

/*@media screen and (max-width: 500px) and (min-width: 400px) {
    #logo a {
        display: flex;
        flex-direction: column;
    }
    #logo a h1 {
        padding-left: 0;
    }
}*/

#logo a {
    text-decoration: none;
    color: #fff;
    text-align: left;
}

#logo img {
    background-color: #fff;
    width: 85px;
    height: 85px;
    vertical-align: text-bottom;
}

nav li a, nav li span {
    display: block;
    margin: 0 2px;
    padding: 0 0.8em;
    letter-spacing: 0.20em;
    line-height: 46px;
    text-decoration: none;
    font-size: 0.90em;
    font-weight: 600;
    text-transform: uppercase;
    outline: 0;
    color: #fff !important;
}

nav li:hover > a,
nav li.active a,
nav li.active span {
    background: var(--green1);
    color: #fff !important;
}

nav > ul > li:hover > a {
    position: relative;
    z-index: 1;
}

nav li.current > a {
    background: var(--green1);
    color: #fff;
}

nav li ul.l2 {
  position: absolute;
  display: none;
  visibility: hidden;
  opacity: 0;
  background-color: var(--green3);
  margin: 0 15px 0 2px;
  max-width: 300px;
  box-shadow: 2px 0px 5px 2px #333;
  z-index: 1;
}

nav li.l1 .expand-check {
  opacity: 0;
  display: none;
}

nav li.l1 .expand-btn {
  float: right;
  width: 46px;
  height: 46px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  display: none;
}

nav li.l1.parent > a {
  border-bottom: 4px solid var(--green1);

}


@keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Dropdown on hover */
nav li:hover > ul.l2,
nav li ul.l2:hover {
  display: grid;
  visibility: visible;
  opacity: 1;
  animation-name: fadeInOpacity;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 0.2s;
}
@media screen and (any-hover: none) and (max-width: 725px),
    screen and (hover: none) and (max-width: 725px),
    screen and not(pointer: fine) and (max-width: 725px) {
  /* Dropdown on expand */
  nav li.l1 .expand-btn {
    display: block;
  }
  nav li.l1 a:first-child {
    display: inline-block;
    width: calc(100% - 85px);
  }
  nav li.l1 .expand-check:checked ~ ul.l2{
      display: grid;
      visibility: visible;
      opacity: 1;
      animation-name: fadeInOpacity;
      animation-iteration-count: 1;
      animation-timing-function: ease-in;
      animation-duration: 0.2s;
  }
  nav li:hover > ul.l2,
  nav li ul.l2:hover {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
}

nav li ul.l2 li {
  padding: 3px 0 3px 0;

}
nav li ul.l2 li > a {
  line-height: 25px;
  text-transform: none;
  letter-spacing: normal;
  font-size: 1em;
  font-family: 'Open Sans', sans-serif;
  padding-right: 12px;
}

nav {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    flex-wrap: wrap;
    animation: 0.4s ease-out 0s 1 slideInNav;
    animation-timing-function: ease;
}

nav#breadcrumb {
    float: right;
    display: inline-block;
    padding-top: 1.5em;
}

nav ul {
    padding-left: 0 !important;
    margin: 5px 0; /* set a small vertical margin for nav-under-logo mode */
}

#nav-check {
  opacity: 0;
}
#nav-check + #nav-btn > svg :not(:first-child) {
  transform-origin: 50% 50%;
  transform-box: fill-box;
  transition: transform 0.5s, opacity 0.5s;
}
#nav-check:not(:checked) + #nav-btn > svg :nth-child(2) {
  transform:  translate(0, 0) rotate(0);
}
#nav-check:checked + #nav-btn > svg :nth-child(2) {
  transform:  translate(0, 20px) rotate(45deg);
}
#nav-check:checked + #nav-btn > svg :nth-child(3) {
  opacity: 0;
}
#nav-check:checked + #nav-btn > svg :nth-child(4) {
  transform:  translate(0, -20px) rotate(-45deg);
}
#nav-check:checked ~ nav {
  display: flex;
}
#nav-btn {
  margin-left: auto; /* pushes button to right - like float: right */
  display: none;
  /*width: 26px;
  height: 26px;*/
  padding-right: 20px;
  cursor: pointer;
  z-index: 1;
}

.expand-btn svg :not(:first-child) {
  transform-origin: 100% 100%;
  transform-box: fill-box;
  transition: transform 0.5s, opacity 0.5s;
}
.expand-btn svg :nth-child(2) {
  transform: rotate(45deg);
}
.expand-btn svg :nth-child(3) {
  transform-origin: 0% 100%;
  transform: rotate(-45deg);
}
.expand-check:checked + .expand-btn svg :nth-child(2) {
  transform: translateY(-8px) translate(23px, 23px) rotate(45deg) scaleX(2);
}
.expand-check:checked + .expand-btn svg :nth-child(3) {
  transform: translateY(-8px) translate(-23px, 23px) rotate(-45deg) scaleX(2);
}

#nav-btn svg rect:first-child,
.expand-btn svg rect:first-child {
  filter: invert(29%) sepia(86%) saturate(1511%) hue-rotate(84deg) brightness(98%) contrast(105%);
}

@media screen and (any-hover: hover) {
  #nav-btn:hover svg rect:first-child,
  .expand-btn:hover svg rect:first-child {
    filter: invert(40%) sepia(92%) saturate(1168%) hue-rotate(84deg) brightness(98%) contrast(105%);
  }
}

@media (max-width: 360px) {
  /* Maximise space in header on small screens */
  #nav-btn {
    padding-right: 7px !important;
  }
  header #logo {
    padding-left: 7px;
  }
  header #logo h1 {
    padding-left: 0;
  }
}

@media (max-width: 1100px) {
  /* Horizontal small logo / nav-under-logo */
  header {
    justify-content: center;
  }
  #logo h1 {
    font-size: 1.4em;
  }
  #logo img {
    height: 68px;
    width: 68px;
  }
  #home #featured {
    height: 15em !important;
    background-size: 150% !important;
    /*background-position: 15% 70% !important;*/
  }
}

@media (max-width: 725px) {
  /* Vertical nav */
  #nav-btn {
    display: block;
  }
  nav {
    display: none;
    width: 100%;
  }
  nav  ul {
    width: 100%;
    max-width: unset !important;
  }
  #logo {
    margin-left: auto; /* centres logo */
  }

  nav li ul.l2 {
    position: unset;
    width: 100%;
  }
}

@media (min-width: 725px) {
  nav li {
      float: left;
  }
  nav ul {
    display: flex;
    align-items: center;
  }
}


@media (min-width: 725) and (max-width: 895px) {
  /* Nav-under-logo */
  header #logo h1 {
    margin: 12px 0 0 0;
  }
}

/* Sign in button */
nav > ul > li:last-child a {
  text-transform: none;
  letter-spacing: normal;
  background: #4c566a;
  padding: 5px 10px;
  line-height: normal;
  vertical-align: middle;
  border-radius: 20px;
}

nav > ul li:last-child a:hover,
nav > ul li:last-child a:active
{
  background: #5d6678;
}

/* Login banner */
div#login-banner {
  background-color: #4c566a;
  color: white;
  min-height: 44px;
}

div#login-banner a {
  color: var(--lightgrey);
}

div#login-banner a:hover,
div#login-banner a:active
{
  color: #ccc;
}

div#login-banner span {
  float: left;
}

div#login-banner p {
  line-height: 100%;
  max-width: 1320px;
  width: 100%;
  margin: 10px auto;
  text-align: right;
}

div#login-banner p img {
  height: 1.5em;
  vertical-align: middle;
  padding-right: 20px;
}


/*********************************************************************************/
/* Banner                                                                        */
/*********************************************************************************/

#banner-wrapper {
    flex-shrink: 0;
    overflow: hidden;
    padding: 3em 20px;
    background: var(--bannerbg);
}

#banner {
    max-width: 1300px;
}

#banner h2 {
    margin: 0em;
    padding: 0em;
    font-weight: 400;
    font-size: 3em;
    color: var(--bannertext);
}

#banner span {
    display: block;
    padding-top: 0.50em;
    font-size: 1.4em;
    color: var(--green1);
}

@media (min-width: 1055px) {
    #banner .box-left {
        float: left;
        padding-left: 0;
        margin-left: 0;
        max-width: 40%;
    }
    #banner .box-right {
        float: right;
        padding-right: 0;
        margin-right: 0;
    }
}

@media (max-width: 1055px) {
    #banner .box-left {
        float: none;
        text-align: center;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    #banner .box-left span {
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    #banner .box-right {
        float: none;
        display: table;
        margin: 0 auto;
        padding-bottom: 30px;
    }
}

/*********************************************************************************/
/* Page                                                                          */
/*********************************************************************************/

main {
    overflow: hidden;
    padding-bottom: 2em;
    max-width: 1300px;
    padding: 10px;
    flex: 1 0 auto;
    width: calc(100% - 20px);
}

main.article {
  max-width: 1000px;
}

a#skip-link {
    color: #000;
    background: var(--lightgrey);
    font-weight: bold;
    /* margin: 0 auto; */
    position: absolute;
    /* transform: translateY(-100%); */
    left: calc(50% - 189px / 2);
    padding: 4px;
    font-size: x-large;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border-bottom: 4px solid var(--green2);
    top: 10px;
    transform: translateY(-100vh);
}

a#skip-link:hover {
  color: var(--textgrey);
  transform: translateY(0%);
}

a#skip-link:focus {
  transform: translateY(0%);
}


span#main {
  /* Always-present span to allow linking to first contentful part of page */
  visibility: hidden;
  height: 0;
  width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

#home main {
    padding: 20px 20px 0 20px;
    display: flex;
}

#projects main {
    display: flex;
    flex-direction: column;
}

#events main {
  /* Fix for content not forcing full width */
  width: calc(100% - 20px);
}

#error {
    display: table;
    width: 100%;
    text-align: center;
}

/*********************************************************************************/


/* Content                                                                       */


/*********************************************************************************/

#content {
    padding-bottom: 2em;
}

@media (max-width: 1024px) {
    
    #home main {
        display: inline-block;
        padding: 10px;
    }
    
    #sidebar {
        width: 100% !important;
        border-top: 1px solid var(--sidebarborder);
        padding-left: 0 !important;
    }
    
    #sidebar aside {
        margin-top: 2em;
        padding: 0;
    }
    
    #sidebar aside * {
        max-width: 600px;
        padding-left: calc((100% - 600px) / 2);
    }

    .fb_iframe_widget {
        text-align: center !important;
        display: block !important;
    }
    
}


/*********************************************************************************/
/* Sidebar                                                                       */
/*********************************************************************************/

aside {
    overflow: hidden;
    display: block;
    padding: 2.80em 0em;
    border-top: 1px solid var(--sidebarborder);
}

#sidebar {
    width: 450px;
    padding-left: 30px;
}

#sidebar aside {
    width: inherit;
    padding-top: initial;
}

#sidebar :first-child {
    padding-top: 0;
    border-top: 0;
}


/*********************************************************************************/
/* Featured                                                                        */
/*********************************************************************************/

#home #featured {
    background-image: url(images/banner-1920px.jpg);
    background-position: 25% 47%;
    background-size: cover;
    height: 29em;
    display: flex;
    flex-direction: column;
}

#badge-wrapper {
  max-width: 1300px;
  margin: 0 auto;
  margin-top: auto;
  width: 100%;
}

#badge-container {
  max-width: 400px;
  text-align: center;
  float: right;
}

#home #badge-container {
  float: unset;
}

@media screen and (max-device-width: 540px) {
  #home #badge-container h1 {
    font-size: 1.3em;
    width: 300px;
  }
  #home #badge-container h1 > span {
    font-size: 5em !important;
    -webkit-text-stroke: 3px white !important;
  }
  #home #badge-container p {
    font-size: 1.1em;
    width: 300px;
  }
}

@media screen and (min-device-width: 540px) and (max-device-width: 950px) {
  #home #badge-container h1 > span {
    font-size: 4em !important;
    -webkit-text-stroke: 3px white !important;
  }
}

#anniversary #badge-container {
  float: unset;
  margin: 0 auto;
  margin-top: 50px;
}

#anniversary #badge-container a {
  pointer-events: none;
  cursor: normal;
}

#anniversary #badge-container p a {
  display: none;
}

#anniversary #badge-container h1 span {
  font-size: 150px;
}

#badge-container h1 {
  color: white;
  font-family: Montserrat, sans-serif;
  animation: 1s ease-out 0s 1 slideIn;
  animation-timing-function: ease;
}

#badge-container a {
  text-decoration: none;
  color: white;
}

#badge-container h1:hover, #badge-container h1:active {
    color: var(--lightgrey) !important;
}

#badge-container h1:hover > span, #badge-container h1:active > span {
  background: rgba(255, 255, 255, 0.4);
  -webkit-background-clip: text;
}

#home #badge-container h1 > span {
  font-size: 200px;
  -webkit-text-stroke: 4px white;
}

#badge-container h1 > span {
  font-size: 100px;
  color: transparent;
  -webkit-text-stroke: 3px white;
  background: rgba(0, 0, 0, 0.4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: 'CMU Serif';
  font-weight: bold;
}

#badge-container p {
  display: block;
  color: white;
  letter-spacing: 0.2em;
  font-weight: 600;
  margin-bottom: 20px;
  font-size: 20px;
  backdrop-filter: blur(5px);
  padding: 0 5px;
  border: 1px solid white;
}

#badge-container p a {
  letter-spacing: 2px;
}

#home #badge-container p {
  border: unset;
  backdrop-filter: unset;
}

#badge-container p a:hover, #badge-container p a:active {
    color: var(--lightgrey) !important;
}

#badge-container p:hover {
  border: 1px solid var(--midgrey) !important;
}

#home #badge-container p:hover {
  border: unset !important;
}

@keyframes slideIn {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slideInNav {
  0% {
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}


#badge-container h1, #badge-container h1 > span, #badge-container p, #badge-container p a {
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    -ms-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

#featured {
    flex-shrink: 0;
    background-size: cover;
    height: 15em;
}

#anniversary #featured {
    background-image: url(images/latrobe-river-1920px.jpg);
    background-position: 50% 50%;
}

#quarry #featured {
    background-image: url(images/quarry-1920x800.jpg);
    background-position: 50% 60%;
}

#projects #featured, #learn #featured {
    background-image: url(images/channel-10.jpg);
    background-position: 25% 43%;
}

#events #featured {
    background-image: url(images/birdwalk.jpg);
    background-position: 25% 43%;
}

#contact #featured {
    background-image: url(images/tourist-rd-1920px.jpg);
    background-position: 0% 55%;
}

#membership #featured {
    background-image: url(images/treeferns-1920px.jpg);
    background-position: 0% 40%;
}

#spinulosa #featured {
    background-image: url(images/banksia.jpg);
    background-position: 50% 50%;
}

#mistletoebird #featured {
    background-image: url(images/bungalook-wetland.jpg);
    background-position: 50% 40%;
}

#error #featured {
    background-image: url(images/fog-1920px.jpg);
    background-position: 0% 55%;
}

#error #featured h1 {
    font-size: 600%;
    text-align: center;
    margin: 0;
    color: #fff;
    position: relative;
    top: 30px;
    text-shadow: #ccc 1px 1px 3px;
}


/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/

footer {
    flex-shrink: 0;
    overflow: hidden;
    padding: 1em 0em 0em 0em;
    background-color: var(--darkgreen);
    width: 100% !important;
}

footer p {
    letter-spacing: 0.20em;
    text-align: center;
    text-transform: uppercase;
    font-size: 80%;
    color: var(--darkgrey);
}

footer p#acknowledgement {
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.9em;
  line-height: 1.6em;
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 20px;
}

footer a:link, footer a:visited {
    text-decoration: none;
    color: var(--midgrey);
}

footer a:hover, footer a:active {
    color: var(--lightgrey) !important;
}

@media screen and (max-device-width: 751px) {
  footer span.bull {
    display: none;
  }
}

@media screen and (min-device-width: 750px) {
  footer br.line {
    display: none;
  }
}

#error footer {
    display: table-row;
    height: 75px;
}

#error footer p {
    margin-top: 1em;
}


/*********************************************************************************/
/* Announcements                                                                 */
/*********************************************************************************/

div.agm {
  text-align: center;
  padding: 15px;
  background-color: var(--green1);
}

.agm a[href^="http"]::after { display: none; }


.agm h1, .agm h2, .agm h3, .agm h4, .agm p, .agm a {
    color: #fff !important;
    padding: 0;
    margin: 0;
}

.agm h3 a {
  text-decoration: none;
}

div.agm h3 {
  font-size: 2.5rem;
  padding: 0;
}

div.agm h4 {
  color: #f2f2f2;
  line-height: normal;
  margin-bottom: 3px;
}

div.agm a:hover, div.agm a:active {
    color: var(--lightgrey) !important;
}

div.agm, .button, nav li a, .info-box, .event-details, .seealso, #logo h1, .social, .card, header, ul.thumbnails li {
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    -ms-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

div.agm:hover {
    background-color: var(--green3);
}

div.agm.xmas {
  position: relative;
}

div.xmas-wrap {
  position: relative;
}

div.agm.xmas::before {
  content: ' ';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  background-image: url('/images/xmas.png');
  background-size: 80px;
  background-repeat: no-repeat;
  background-position: top 60px right;
}

div#announcement {
  background-color: var(--warningred);
}

div#announcement p {
  margin: 0 auto;
  text-align: center;
  color: #fff;
  padding: 10px;
  font-size: large;
}

div#announcement a:link, div#announcement a:visited { color: var(--green2); }
div#announcement a:hover, div#announcement a:active { color: var(--green3); }

/*********************************************************************************/
/* Cards                                                                         */
/*********************************************************************************/

div.card-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  padding-bottom: 10px;
}

.card {
  flex: 20%;
    max-width: 300px;
    background: var(--green1);
    border: 4px solid #fff;
    display: inline-block;
    width: 300px;
    flex-wrap: wrap;
    color: #fff;
}

.card:hover {
    background: var(--green2);
}

.card a {
    color: #fff;
    text-decoration: none;
}

.card img {
  padding: 0 15px 15px 15px;
  margin: 0 auto;
  display: block;
  width: calc(100% - 30px);
}

@media screen and (max-width: 842px) {
  .card img {
    width: 270px !important;
  }
}

.cardtext {
  min-height: 58px;
  padding: 16px 4px 0 4px;
  text-align: center;
}


/*********************************************************************************/
/* Slideshows (see also slideshow.css)                                           */
/*********************************************************************************/

.event div.slideshow {
  max-width: 600px !important;
}

.event div.slideshow img {
  max-height: 451px;
}

@media screen and (min-width: 1271px) {
  #bungalook div.slideshow {
    float: right;
  }
}

#peoples-garden div.slideshow {
  max-width: 750px !important;
  margin: 0 auto;
  padding: 10px;
}




/*********************************************************************************/
/* Print styles                                                                  */
/*********************************************************************************/

@media print {

    * {-webkit-print-color-adjust:exact;}
    
    #quarry figure img,
    #anniversary figure img {
        width: calc(100vw / 2 - 30px);
    }
    
    nav,
    #banner-wrapper,
    #breadcrumb,
    #announcement
    {
        display: none !important;
    }

    header {
        background-color: #fff;
        border-bottom: 1px solid var(--sidebarborder);
        margin-bottom: 20px;
    }
    
    header h1 {
        color: var(--green1) !important;
    }
    
    footer {
        background-color: #fff;
        border-top: 1px solid var(--sidebarborder);
        font-size: 68%;
    }

    #badge-container p a { display: none; }
    
}

