:root{--primaryH: 210.0;--primaryS: 100.00%;--primaryL: 45.10%;--secondaryH: 213.9;--secondaryS: 32.39%;--secondaryL: 13.92%;}
:root{--primary-darker: hsl(var(--primaryH) var(--primaryS) 10%);--primary-dark: hsl(var(--primaryH) var(--primaryS) 20%);--primary: hsl(var(--primaryH) var(--primaryS) var(--primaryL));--primary-light: hsl(var(--primaryH) var(--primaryS) 80%);--primary-lighter: hsl(var(--primaryH) var(--primaryS) 90%);--primary-lightest: hsl(var(--primaryH) var(--primaryS) 97%);--secondary-darker: hsl(var(--secondaryH) var(--secondaryS) 10%);--secondary-dark: hsl(var(--secondaryH) var(--secondaryS) 20%);--secondary: hsl(var(--secondaryH) var(--secondaryS) var(--secondaryL));--secondary-light: hsl(var(--secondaryH) var(--secondaryS) 80%);--secondary-lighter: hsl(var(--secondaryH) var(--secondaryS) 90%)}body{color:var(--secondary-dark);font-weight:400}h1,h2,h3,h4,h5,h6{color:var(--primary);font-weight:400}a{text-decoration:none;color:var(--primary)}p{max-width:80ch}figure{max-width:4in}figure img{max-width:4in}figure figcaption{font-style:italic}.page-width,main{max-width:12in;padding-left:1rem;padding-right:1rem}body{margin:0;padding:0;display:flex;flex-direction:column;min-height:100vh}body main{flex:1}nav li.has-subpages{position:relative}nav li.has-subpages::marker{content:"»";color:var(--primary-dark)}nav li.has-subpages.submenu-open::marker{content:"–"}nav li.has-subpages>ul{display:none;padding-left:0}nav li.has-subpages.submenu-open>ul{display:block;position:absolute;z-index:999;top:2rem;left:calc(50% - 0.75in + 0.5rem);background-color:var(--primary-lightest);border:1px solid var(--primary-light);width:1.5in}nav li.has-subpages li{padding:0.2rem}nav li.has-subpages li:hover,nav li.has-subpages li:focus-within{background-color:var(--primary-lighter)}#lightbox{background-color:rgba(0,0,0,0.8);z-index:1000;border:none;position:fixed;left:0;top:0;width:100%;height:100%;padding:0}#lightbox #lightbox-top-bar{max-width:12in;margin:auto;display:flex;flex-direction:row;align-items:center;margin-bottom:0.3rem}#lightbox #lightbox-top-bar h2{font-size:20pt;margin:0;flex:1;color:white;font-weight:200;text-align:center;border:none}#lightbox button{border:none;border-radius:2px;background-color:rgba(0,0,0,0.5);color:var(--secondary-lighter);padding:1rem}#lightbox #lightbox-main{max-width:12in;margin:auto;display:flex;flex-direction:row}#lightbox #img-container{flex:1;overflow:hidden}#lightbox #img-container img{object-fit:cover;width:100%;height:100%}@font-face{font-display:swap;font-family:'Libre Caslon Text';font-style:normal;font-weight:400;src:url("/static/fonts/libre-caslon-text-v5-latin-regular.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:normal;font-weight:300;src:url("/static/fonts/petra-sans.light.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:normal;font-weight:400;src:url("/static/fonts/petra-sans.regular.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:normal;font-weight:500;src:url("/static/fonts/petra-sans.medium.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:normal;font-weight:600;src:url("/static/fonts/petra-sans.semibold.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:normal;font-weight:700;src:url("/static/fonts/petra-sans.bold.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:italic;font-weight:300;src:url("/static/fonts/petra-sans.light-italic.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:italic;font-weight:400;src:url("/static/fonts/petra-sans.italic.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:italic;font-weight:500;src:url("/static/fonts/petra-sans.medium-italic.woff2") format("woff2")}@font-face{font-display:swap;font-family:'Petra Sans';font-style:italic;font-weight:600;src:url("/static/fonts/petra-sans.semibold-italic.woff2") format("woff2")}

:root { --hero-height: 480px; }
body {
  font-family: "Libre Caslon Text", serif;
  line-height: 2;
  font-size: 10pt;
}
h1 {
font-size: 16pt; }
h2 { font-size: 14pt; }
p { max-width: 9999px !important; }
article p { max-width: 80ch !important; }
main, .page-width { width: calc(100vw - 2rem); margin: auto; }
.no-data { display: none; }
main h2 { border-bottom: 1px solid var(--primary); }

@media (max-width: 600px) {
#latest-news article { flex-direction: column !important; }
#latest-news img {
  max-width: 100% !important;
  width: 100% !important;
  height: 60vw !important;
  object-fit: cover;
}
}

body > header { background-color: var(--primary-darker); box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
main { margin-top: 2.5rem; }

/**************** header ****************/
body > header .logotype {
  font-family: "Libre Caslon Text", serif;
  font-size: 15pt;
  font-variant: small-caps;
}
body > header .logotype a {
  font-weight: bold;
  text-decoration: none;
}

.logotype {
  text-align: center;
}
.logotype a {
  display: flex;
  flex-direction: column;
}
.logotype img {
  width: 32px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
  margin-top: 1.25rem;
}
body > header {
  padding-bottom: 1rem;
}
body > header nav {
  display: flex;
  flex-direction: column;
  justify-content: end;
}
body > header nav ul {
  display: flex;
  flex-direction: row;
  list-style-type: none;
  padding-left: 0;
  margin: auto;
  gap: 1rem;
}

aside { background-color: beige; }
#crumbs ul {
  list-style-type: none;
  padding-left: 0;
  border-bottom: 1px solid var(--primary);
}
#crumbs li {
  display: inline;
  padding-right: 1rem;
}
#crumbs li::before {
  content: "〉";
  font-weight: bold;
}
#crumbs a {
  text-decoration: none;
}
#crumbs ul li:last-child a {
  font-weight: bold;
}
#announcements { padding: 1rem; }
#announcements > p:first-of-type {
  font-weight: bold;
}
@keyframes --slide-fade-in {
  from { opacity: 0; translate: 5rem 0; }
  to { opacity: 100%; translate: 0 0; }
}
@keyframes --fade-in-2 {
  0%, 60% { opacity: 0; }
  100% { opacity: 100%; }
}
#hero {
  display: grid;
  grid-template: 1fr / 1fr;
  place-items: center;
  width: 100%;
  height: var(--hero-height);
  overflow: hidden;
}
#hero > * { grid-column: 1 / 1; grid-row: 1 / 1; }
#hero-background {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: var(--hero-height);
  width: 100%;
  animation-name: --slide-fade-in;
  animation-duration: 0.5s;
}
#hero-background img {
  position: relative;
  z-index: 100;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#hero-text {
  position: relative;
  z-index: 200;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  text-align: center;
  background: linear-gradient(180deg, transparent 0%, transparent 50%, black 100%);
  padding: 1rem;
  animation-name: --fade-in-2;
  animation-duration: 1s;
}
#hero-text h1 {
  color: white;
  font-weight: 300;
}
#gallery ul {
  padding-left: 0;
  list-style-type: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.8rem;
}
#gallery ul img { width: 5rem; }
#services .service-item { clear: both; }
#latest-news article {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
#latest-news article h3 {
  margin-top: 0;
}
#latest-news img {
  max-width: 192px;
  width: 192px;
  height: 192px;
}

main > article figure:first-of-type {
  float: right;
  width: 50%;
  margin: 1rem;
}

footer {
  background-color: var(--primary-lighter);
  margin-top: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  clear: both;
}
footer h2 {
  color:var(--primary-dark);
  font-size: 16pt;
}
footer a {
  color: var(--primary-dark);
}

#services img {float:right;}