:root {
  --brown:#611700;
  --orange:#be5214;
  --cream:#fef2dd;
  --text:#252525;
  --gradient:linear-gradient(100deg,#9e2b26 0%,#b84905 100%);
  color-scheme:light;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  line-height:1.5;
  font-size:16px
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:#fff
}
img {
  max-width:100%;
  height:auto
}
a {
  color:var(--orange)
}
button,input,textarea,select {
  font:inherit
}
button,a,input,textarea {
  touch-action:manipulation
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:wait;
  opacity:.65
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid #1474c4;
  outline-offset:4px
}
h1,h2,h3,h4,h5 {
  line-height:1.3;
  margin:0 0 24px;
  font-weight:700;
  color:var(--brown)
}
h1 {
  font-size:50px
}
h2 {
  font-size:40px
}
h3 {
  font-size:24px
}
h4 {
  font-size:22px
}
p {
  margin:0 0 20px
}
ul {
  padding-left:24px
}
button {
  border-radius:0
}
dialog {
  color:var(--text)
}
[hidden] {
  display:none!important
}
.container {
  width:min(1140px,100%);
  margin-inline:auto;
  padding-inline:10px
}
.narrow {
  width:min(900px,100%);
  margin-inline:auto;
  padding-inline:10px
}
.sr-only,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link:focus {
  position:fixed;
  top:8px;
  left:8px;
  background:#fff;
  z-index:1000;
  padding:12px
}
.button,button[type=submit] {
  display:inline-block;
  padding:12px 35px;
  border:1px solid transparent;
  background:var(--gradient);
  color:#fff;
  line-height:1;
  text-decoration:none;
  text-align:center;
  font-size:15px;
  transition:filter .15s
}
.button:hover,button[type=submit]:hover {
  filter:brightness(.9)
}
.button-light {
  background:#fff;
  color:#000;
  border-color:#d7d7d7
}
.actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  flex-wrap:wrap
}
.site-header {
  position:relative;
  z-index:10;
  background:#fff
}
.header-inner {
  width:min(1140px,100%);
  margin:auto;
  min-height:117px;
  padding:10px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  gap:25px
}
.header-address {
  display:flex;
  gap:20px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.5;
  max-width:360px
}
.header-address>img {
  width:45px;
  height:46px;
  object-fit:contain;
  margin-top:5px
}
.header-address a {
  display:inline-block;
  margin-top:4px;
  text-decoration:underline
}
.brand {
  justify-self:center;
  display:block;
  width:205px;
  line-height:0
}
.brand img {
  width:100%;
  height:auto
}
.rent-button {
  justify-self:center;
  padding:16px 35px
}
.primary-navigation {
  position:relative;
  display:flex;
  justify-content:center;
  background:var(--cream);
  width:min(1120px,calc(100% - 20px));
  height:47px;
  margin:0 auto -23px
}
.primary-navigation>a {
  flex:1;
  text-align:center;
  text-transform:uppercase;
  padding:13px 12px;
  color:#252525;
  text-decoration:none;
  font-size:15px;
  border-right:1px solid #eadcc5;
  white-space:nowrap
}
.primary-navigation>a:last-child {
  border:0
}
.primary-navigation a:hover,.primary-navigation a[aria-current=page] {
  color:#fff;
  background:var(--gradient)
}
.menu-toggle,.mobile-actions {
  display:none
}
.home-hero,.page-hero {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  background:#513928
}
.home-hero {
  min-height:0;
  display:block
}
.hero-background {
  position:absolute;
  width:100%;
  height:100%;
  inset:0;
  object-fit:cover;
  z-index:-2
}
.home-hero:after,.page-hero:after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.44);
  z-index:-1
}
.hero-slide {
  opacity:0;
  transition:opacity 1.5s
}
.hero-slide.active {
  opacity:1
}
.home-hero-copy {
  max-width:900px;
  margin:auto;
  padding:211px 10px 100px;
  color:#fff
}
.home-hero h1,.home-hero h2 {
  color:#fff
}
.home-hero h1 {
  font-size:50px;
  margin-bottom:12px
}
.home-hero h2 {
  font-size:25px;
  margin:0
}
.home-hero hr {
  width:200px;
  border:0;
  border-top:2px solid #fff;
  margin:35px auto
}
.home-hero p {
  font-size:16px;
  line-height:24px;
  margin:0 0 24px
}
.home-about {
  background:linear-gradient(90deg,#fff 0 35%,var(--cream) 35%);
  padding:80px 0
}
.about-inner {
  width:min(1140px,100%);
  padding:0 10px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:center
}
.about-inner>img {
  width:calc(100% - 50px);
  height:auto;
  margin-right:50px
}
.about-inner>div {
  padding:0 0 0 10px
}
.about-inner .actions {
  justify-content:flex-start
}
.home-fun {
  padding:80px 0;
  text-align:center;
  background:#fff
}
.home-fun .narrow>p {
  margin-top:36px;
  margin-bottom:65px
}
.photo-carousel {
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:1425px;
  margin:auto
}
.carousel-track {
  display:flex;
  transition:transform .45s;
  gap:0
}
.carousel-slide {
  flex:0 0 20%;
  height:462px;
  display:block
}
.carousel-slide>img {
  height:100%;
  width:100%;
  object-fit:cover
}
.photo-carousel>button {
  position:absolute;
  top:calc(50% - 22px);
  width:44px;
  height:44px;
  border:0;
  background:rgba(0,0,0,.2);
  color:#fff;
  font-size:36px;
  line-height:1
}
.photo-carousel>[data-carousel-prev] {
  left:5px
}
.photo-carousel>[data-carousel-next] {
  right:5px
}
.admission {
  position:relative;
  isolation:isolate;
  padding:80px 0
}
.admission-background {
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover
}
.admission h2 {
  text-align:center;
  margin-bottom:55px
}
.admission-card {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:45px;
  padding:35px 10px
}
.admission-card>img {
  width:180px;
  height:145px;
  object-fit:contain
}
.admission-card>div {
  width:430px
}
.admission-card h3 {
  font-size:24px;
  margin-bottom:16px
}
.admission-card.reverse {
  flex-direction:row-reverse
}
.admission-card p {
  margin:0
}
.current-events {
  text-align:center;
  color:#fff;
  background:var(--gradient);
  padding:55px 10px
}
.current-events h2 {
  color:#fff;
  margin:0 0 35px
}
.visit-callout {
  text-align:center;
  padding:90px 0;
  background:var(--cream)
}
.visit-callout p {
  margin:36px auto 25px
}
.cta {
  text-align:center;
  padding:85px 0 90px;
  background:#fff
}
.cta h2 {
  margin-bottom:35px
}
.site-footer {
  background:var(--gradient);
  color:#fff
}
.footer-inner {
  width:min(1140px,100%);
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:40px;
  padding:65px 10px 40px
}
.site-footer h2 {
  font-size:24px;
  color:#fff;
  margin-bottom:25px
}
.site-footer a {
  color:#fff
}
.footer-inner ul {
  list-style:none;
  padding:0;
  margin:0
}
.footer-inner li {
  padding:12px 0;
  border-bottom:1px solid #ffffff30;
  font-size:14px
}
.footer-inner li>a {
  text-decoration:none;
  text-transform:uppercase
}
.icon-line {
  position:relative;
  padding-left:40px;
  font-size:14px;
  line-height:1.6
}
.icon-line>span {
  position:absolute;
  left:0;
  font-size:30px;
  top:0
}
.copyright {
  text-align:center;
  background:#781e1829;
  padding:18px 10px;
  font-size:14px
}
.footer-policy {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
  padding:14px 10px;
  border-top:1px solid #ffffff30;
  font-size:13px
}
.footer-policy>button {
  border:0;
  background:none;
  padding:0;
  color:#fff;
  text-decoration:underline
}
.footer-policy span>a {
  font-weight:700
}
.simple-footer {
  background:#fff;
  color:var(--text);
  text-align:center;
  padding:25px 10px
}
.simple-footer nav {
  display:flex;
  justify-content:center;
  gap:30px;
  text-transform:uppercase;
  font-size:14px;
  margin-bottom:25px;
  flex-wrap:wrap
}
.simple-footer a,.simple-footer .footer-policy>button {
  color:var(--text)
}
.simple-footer p {
  font-size:14px
}
.map-placeholder {
  min-height:350px;
  background:#f0ece7;
  position:relative;
  text-align:center;
  overflow:hidden;
  isolation:isolate
}
.map-fallback {
  height:100%;
  min-height:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:20px;
  gap:14px
}
.map-fallback>img {
  max-height:150px;
  width:auto;
  object-fit:contain
}
.map-fallback>p {
  margin:0;
  font-size:14px
}
.map-placeholder iframe {
  width:100%;
  height:100%;
  min-height:350px;
  position:absolute;
  inset:0;
  border:0
}
.footer-map {
  min-height:297px
}
.footer-map .map-fallback>p {
  color:#333
}
.footer-map .map-fallback>a {
  color:var(--brown)
}
.page-hero {
  height:425px
}
.page-hero>div {
  position:relative;
  margin-top:40px;
  padding:30px 10px
}
.page-hero h1 {
  color:#fff;
  margin-bottom:20px
}
.breadcrumbs {
  color:#fff
}
.breadcrumbs a {
  color:#fff
}
.vendor-copy {
  padding-top:65px;
  padding-bottom:75px
}
.vendor-copy h2 {
  margin:38px 0 24px
}
.vendor-copy h4 {
  margin-top:35px
}
.vendor-copy img {
  margin:10px 15px 10px 0;
  width:auto;
  max-width:min(100%,400px);
  display:inline-block;
  vertical-align:middle
}
.vendor-copy a:not(.button) {
  word-break:break-word
}
.vendor-copy .button {
  margin:10px 0
}
.vendor-copy p:has(>.button) {
  margin-bottom:8px
}
.visit-page {
  padding-block:65px
}
.visit-page .button {
  margin:8px 0 40px
}
.visit-location {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  margin-top:15px
}
.visit-location h3 {
  margin-bottom:16px
}
.tips {
  margin-top:70px
}
.tip {
  display:grid;
  grid-template-columns:200px 1fr;
  align-items:center;
  gap:20px;
  margin-bottom:18px
}
.tip h3 {
  margin:0
}
.tip p {
  margin:0
}
.gallery-page {
  padding-block:85px
}
.masonry {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:start
}
.masonry.masonry-ready {
  grid-auto-rows:8px
}
.gallery-item {
  display:block;
  min-width:0;
  line-height:0;
  overflow:hidden
}
.gallery-item img {
  display:block;
  width:100%;
  height:auto;
  transition:filter .2s
}
.gallery-item:hover img {
  filter:brightness(.8)
}
.gallery-dialog {
  position:fixed;
  inset:0;
  padding:0;
  border:0;
  background:rgba(0,0,0,.93);
  color:#fff;
  width:100vw;
  max-width:100vw;
  height:100dvh;
  max-height:100dvh;
  margin:0;
  overflow:hidden
}
.gallery-dialog::backdrop {
  background:#000
}
.gallery-dialog button {
  color:#fff;
  background:transparent;
  border:1px solid transparent;
  font-size:15px;
  padding:9px
}
.gallery-dialog figure {
  height:calc(100dvh - 100px);
  margin:65px 75px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  overflow:auto
}
.gallery-dialog figure>img {
  max-height:calc(100dvh - 150px);
  width:auto;
  height:auto;
  object-fit:contain;
  max-width:100%
}
.gallery-dialog.zoomed figure>img {
  max-height:none;
  max-width:none
}
.gallery-dialog figcaption {
  text-align:center;
  margin-top:12px;
  line-height:1.5
}
.gallery-close {
  position:absolute;
  right:15px;
  top:10px;
  font-size:35px!important;
  z-index:2
}
.gallery-top {
  position:absolute;
  right:70px;
  top:12px;
  display:flex;
  align-items:center;
  gap:15px
}
.gallery-prev,.gallery-next {
  position:absolute;
  top:calc(50% - 30px);
  font-size:48px!important;
  width:55px;
  height:65px;
  z-index:1
}
.gallery-prev {
  left:10px
}
.gallery-next {
  right:10px
}
.gallery-status {
  position:absolute;
  bottom:0;
  text-align:center;
  width:100%;
  font-size:14px
}
.contact-main {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  padding-block:70px;
  align-items:center
}
.contact-main h2 {
  margin-bottom:30px
}
.contact-main>div:last-child {
  padding:20px
}
.contact-main>div>p:last-child {
  margin-bottom:0
}
.contact-message {
  padding-bottom:70px
}
.contact-message>h2 {
  text-align:center;
  margin-bottom:45px
}
.owned-form {
  margin:0 auto;
  max-width:1120px
}
.owned-form>label {
  display:block;
  margin-bottom:18px
}
.owned-form input:not([type=checkbox]):not([type=hidden]),.owned-form textarea {
  display:block;
  width:100%;
  padding:15px;
  border:1px solid #c5c5c5;
  border-radius:0;
  color:#252525;
  background:#fff;
  min-height:60px
}
.owned-form textarea {
  resize:vertical
}
.contact-form textarea {
  height:60px
}
.owned-form input[aria-invalid=true],.owned-form textarea[aria-invalid=true] {
  border:2px solid #b22222
}
.owned-form .remember-label {
  display:flex;
  gap:9px;
  align-items:flex-start;
  font-size:14px
}
.remember-label input {
  margin-top:5px
}
.owned-form>button[type=submit] {
  min-height:52px;
  padding:15px 35px;
  width:100%;
  font-size:17px
}
.comment-form>button[type=submit] {
  width:auto
}
.field-error {
  display:block;
  color:#9d1c1c;
  font-size:14px
}
.form-status {
  padding:0;
  min-height:0;
  font-size:15px
}
.form-status:not(:empty) {
  border-left:4px solid #be5214;
  background:#fef2dd;
  padding:14px;
  margin:15px 0
}
.form-status[data-kind=success] {
  border-color:#2c692e
}
.draft-copy {
  border:1px solid #aaa;
  background:#fff;
  padding:12px;
  margin-top:12px
}
.draft-notice {
  margin-top:10px
}
.small {
  font-size:13px;
  line-height:1.5
}
.security-widget {
  margin:15px 0;
  min-height:65px
}
.event-page,.standard-page,.policy-page {
  padding-block:70px;
  min-height:500px
}
.event-page>h1 {
  margin-bottom:30px
}
.event-details {
  margin-bottom:60px
}
.event-details h2 {
  font-size:24px
}
.event-details h3 {
  font-size:20px;
  margin:24px 0 12px
}
.event-details dl {
  display:grid;
  grid-template-columns:150px 1fr;
  max-width:600px;
  margin-bottom:30px
}
.event-details dt {
  font-weight:700
}
.event-details dd {
  margin:0 0 12px
}
.event-details .actions {
  justify-content:flex-start
}
.event-page #respond {
  max-width:900px;
  margin-top:45px
}
.published-comments article {
  border-bottom:1px solid #ddd;
  padding:20px 0
}
.published-comments h3 {
  font-size:20px;
  margin-bottom:8px
}
.published-comments p {
  white-space:pre-wrap
}
.published-comments time {
  font-size:13px
}
.published-comments button,#cancel-reply {
  border:1px solid #ccc;
  padding:8px 16px;
  background:#fff
}
.policy-page {
  max-width:980px
}
.policy-page h2 {
  font-size:26px;
  margin-top:35px
}
.calendar-heading {
  text-align:center;
  padding:100px 10px 45px
}
.calendar-heading>h1 {
  font-size:40px
}
.calendar-section {
  padding-bottom:80px
}
.calendar-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  flex-wrap:wrap;
  margin-bottom:20px
}
.calendar-toolbar h2 {
  font-size:22px;
  color:#777;
  font-weight:400;
  margin:0
}
.calendar-toolbar button {
  border:0;
  background:#f3f3f3;
  padding:9px 12px;
  color:#666;
  min-height:38px
}
.calendar-toolbar button:hover,.calendar-toolbar button[aria-pressed=true] {
  background:#be5214;
  color:#fff
}
.calendar-navigation,.calendar-views {
  display:flex;
  gap:2px
}
.calendar-month {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border-top:1px solid #ddd;
  border-left:1px solid #ddd
}
#owned-calendar {
  container-type:inline-size
}
.calendar-weekday {
  text-align:center;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  background:#fafafa;
  padding:6px;
  font-size:14px
}
.calendar-cell {
  min-height:170px;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  padding:3px;
  min-width:0
}
.calendar-cell.outside-month {
  background:#fafafa;
  color:#888
}
.calendar-cell.today {
  background:#fff7df
}
.calendar-date {
  display:block;
  text-align:right;
  padding:3px;
  font-size:14px
}
.calendar-event {
  display:block;
  width:100%;
  border:0;
  border-left:3px solid #a44712;
  background:#f6e8d4;
  text-align:left;
  color:#611700;
  padding:4px;
  margin:3px 0;
  font-size:13px;
  line-height:1.25;
  overflow-wrap:anywhere
}
.calendar-week-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border:1px solid #ddd
}
.calendar-week-day {
  border-right:1px solid #ddd;
  min-height:380px;
  padding:6px
}
.calendar-week-day>h3 {
  font-size:14px;
  text-align:center;
  margin-bottom:25px;
  color:#555
}
.calendar-agenda-day {
  border:1px solid #ddd;
  min-height:350px;
  padding:25px
}
.calendar-agenda-day h3 {
  font-size:22px
}
.calendar-list-group {
  border-bottom:1px solid #ddd;
  padding:20px 0
}
.calendar-list-group>h3 {
  font-size:20px;
  margin:0 0 15px
}
.calendar-empty {
  padding:30px;
  color:#555
}
.calendar-feed {
  display:inline-block;
  margin-top:20px;
  font-size:14px
}
.event-dialog {
  border:0;
  box-shadow:0 10px 50px #0004;
  max-width:min(500px,calc(100% - 30px));
  padding:30px
}
.event-dialog::backdrop {
  background:#0008
}
.event-dialog>button {
  position:absolute;
  right:10px;
  top:7px;
  border:0;
  background:#fff;
  font-size:26px
}
.event-dialog h2 {
  font-size:26px;
  margin:10px 0
}
.event-dialog p {
  white-space:pre-line
}
.consent-banner {
  position:fixed;
  z-index:100;
  left:16px;
  right:16px;
  bottom:16px;
  margin:auto;
  max-width:980px;
  background:#fff;
  color:#252525;
  border:1px solid #d4d4d4;
  box-shadow:0 3px 18px #0003;
  padding:18px 20px;
  display:flex;
  gap:20px;
  align-items:center
}
.consent-banner p {
  font-size:13px;
  line-height:1.5;
  margin:5px 0 0
}
.consent-banner strong {
  font-size:16px
}
.consent-actions {
  display:flex;
  gap:8px;
  flex:0 0 auto;
  align-items:center
}
.consent-actions>button {
  min-height:42px;
  border:1px solid #611700;
  color:#611700;
  background:#fff;
  padding:10px 12px;
  font-size:13px;
  white-space:nowrap
}
.settings-dialog {
  border:1px solid #ccc;
  width:min(560px,calc(100% - 30px));
  padding:30px;
  max-height:90dvh
}
.settings-dialog::backdrop {
  background:#0008
}
.settings-dialog h2 {
  font-size:28px
}
.settings-dialog label {
  display:block;
  padding:15px 0;
  border-top:1px solid #ddd;
  font-size:16px
}
.settings-dialog label>span {
  display:block;
  font-size:13px;
  padding-left:25px;
  margin-top:6px
}
.settings-dialog input {
  margin-right:8px
}
.dialog-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.dialog-actions>button {
  border:1px solid #611700;
  background:#fff;
  color:#611700;
  padding:10px 15px
}
.translation-control {
  position:fixed;
  z-index:40;
  left:20px;
  bottom:0;
  font-size:13px
}
.translation-control>button {
  background:#ef9800;
  color:#fff;
  border:0;
  padding:12px 22px;
  box-shadow:0 0 6px #0003;
  font-weight:700
}
.translation-control #translate-options {
  background:#fff;
  border:1px solid #ccc;
  max-width:220px;
  padding:12px;
  position:absolute;
  bottom:44px;
  left:0;
  box-shadow:0 0 12px #0002
}
.translation-control #translate-options>button {
  display:block;
  padding:9px 12px;
  border:0;
  background:#fff;
  width:100%;
  text-align:left
}
.translation-control #translate-options>button:hover {
  background:#fef2dd
}
.translation-control #translation-status {
  margin:8px 0 0;
  color:#333
}
.consent-visible .translation-control {
  bottom:160px
}
.noscript-note {
  padding:20px;
  background:#fef2dd;
  text-align:center
}
.goog-te-banner-frame,.skiptranslate>iframe {
  max-width:100%
}
.sunnyside-page {
  max-width:1140px;
  padding:60px 10px 50px;
  text-align:center;
  font-size:21px;
  line-height:1.5
}
.sunnyside-page>img {
  display:block;
  width:501px;
  max-width:100%;
  height:auto;
  margin:0 auto 20px
}
.sunnyside-page>p {
  margin-bottom:20px
}
.archived-post {
  padding:30px 10px 15px
}
.archived-post>.calendar-section {
  padding:10px 0 40px
}
.archived-post #respond {
  margin-top:20px
}
.calendar-event {
  background:var(--event-color,#be5214);
  color:#fff;
  border-left:0;
  border-radius:0;
  padding:4px 2px;
  margin:1px 0;
  font-size:12px
}
.calendar-toolbar {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:15px
}
.calendar-toolbar h2 {
  grid-column:2;
  grid-row:1;
  text-align:center;
  color:#333;
  font-size:40px;
  font-weight:400;
  line-height:1.3
}
.calendar-navigation {
  grid-column:1;
  grid-row:1
}
.calendar-views {
  grid-column:3;
  grid-row:1;
  justify-self:end
}
.calendar-toolbar button,.calendar-feed {
  background:#3498db;
  color:#fff;
  border:1px solid #3498db
}
.calendar-toolbar [aria-pressed=true] {
  background:#34495e;
  border-color:#34495e;
  color:#fff
}
.calendar-feed {
  float:right;
  padding:9px 16px;
  border-radius:3px;
  text-decoration:none
}
.calendar-section:after {
  content:"";
  display:block;
  clear:both
}
.calendar-cell {
  min-height:138px;
  padding:2px 0
}
.calendar-weekday {
  font-weight:700;
  color:#333;
  padding:2px
}
.calendar-date {
  font-style:italic;
  color:#555;
  padding:2px 6px
}
.calendar-date:has(+.calendar-event) {
  margin-bottom:0
}
.published-comments {
  margin:40px 0 15px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:#333
}
.published-comments>h2 {
  font:500 40px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:#333;
  margin:8px 0 16px
}
.comment-list,.comment-children {
  list-style:none;
  padding:0;
  margin:0
}
.comment-children {
  padding-left:30px
}
.comment-entry>article {
  padding:30px 0;
  border-bottom:1px solid #ddd;
  font-size:14.4px;
  line-height:1.5
}
.comment-head {
  display:flex;
  align-items:flex-start;
  position:relative;
  gap:18px;
  line-height:1
}
.comment-avatar {
  width:42px;
  height:42px;
  border-radius:50%;
  background:#ccc;
  flex:0 0 42px;
  position:relative;
  overflow:hidden
}
.comment-avatar:before {
  content:"";
  position:absolute;
  width:14px;
  height:14px;
  background:#fff;
  border-radius:50%;
  left:14px;
  top:8px
}
.comment-avatar:after {
  content:"";
  position:absolute;
  width:25px;
  height:24px;
  background:#fff;
  border-radius:50% 50% 0 0;
  left:8.5px;
  top:24px
}
.comment-date {
  margin-left:auto;
  font-size:11px
}
.comment-body {
  margin-left:60px
}
.comment-body>p {
  margin:10px 0 12px;
  min-height:0
}
.comment-body>p:empty {
  display:none
}
.comment-body>button {
  border:0;
  background:none;
  color:var(--orange);
  font-size:11px;
  text-decoration:underline;
  padding:0
}
.published-comments .comment-children .comment-entry {
  position:relative
}
.comment-children>.comment-entry:before {
  content:"↪";
  position:absolute;
  left:-25px;
  top:45px;
  color:#3498db
}
.plain-page-heading,.vendor-copy,.visit-page,.event-page,.archived-post {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:#333
}
.plain-page-heading {
  padding-top:25px
}
.plain-page-heading h1 {
  color:#333;
  font-weight:500;
  margin:0 0 16px
}
.plain-page-heading .breadcrumbs {
  margin-bottom:15px;
  font-size:16px
}
.vendor-copy {
  padding-top:0;
  padding-bottom:15px
}
.vendor-copy h2,.visit-page h2 {
  color:#333;
  font-weight:500;
  margin:8px 0 16px
}
.vendor-copy h3,.vendor-copy h4,.visit-page h3 {
  color:#333;
  font-weight:500;
  margin:8px 0 16px
}
.vendor-copy img {
  display:block;
  width:auto;
  max-width:100%;
  margin:0
}
.vendor-copy>a.button {
  background:none;
  color:var(--orange);
  padding:0;
  text-align:left;
  text-decoration:underline;
  border:0;
  margin:20px 0
}
.vendor-copy>span {
  display:block;
  margin:15px 0
}
.visit-page {
  padding-top:0;
  padding-bottom:200px
}
.visit-location {
  display:block;
  margin-top:20px
}
.visit-location>div:last-child {
  padding:0
}
.visit-location>img {
  display:block;
  width:610px;
  height:auto;
  max-width:100%;
  margin:15px 0 20px
}
.visit-location .compact-map {
  width:300px;
  min-height:150px;
  height:150px;
  margin:20px 0
}
.compact-map iframe {
  min-height:150px;
  height:150px
}
.tips {
  margin-top:20px
}
.tips>h2 {
  margin-bottom:210px
}
.tip {
  display:grid;
  grid-template-columns:30% 1fr;
  gap:0;
  background:#f7f7f7;
  border:1px solid #ccc;
  min-height:85px;
  margin:0 0 15px
}
.tip>h3 {
  font-size:24px;
  padding:20px 15px;
  border-right:1px solid #ccc;
  margin:0
}
.tip>p {
  font-size:14px;
  padding:20px 15px;
  margin:0
}
.tip:last-child {
  grid-template-columns:55% 1fr
}
.calendar-heading {
  position:relative;
  isolation:isolate;
  background:#42372f;
  padding:100px 10px;
  color:#fff;
  text-align:center;
  overflow:hidden
}
.calendar-heading:after {
  content:"";
  position:absolute;
  inset:0;
  background:#0009;
  z-index:-1
}
.calendar-heading>div {
  max-width:900px;
  margin:auto
}
.calendar-heading h1 {
  color:#fff;
  font-size:50px;
  margin:0 0 20px
}
.calendar-heading p {
  margin:0
}
.calendar-section {
  padding-top:100px
}
.footer-map {
  display:block;
  width:333px;
  max-width:100%;
  min-height:0
}
.footer-map>img {
  display:block;
  width:333px;
  max-width:100%;
  height:auto
}
.map-placeholder {
  position:relative
}
.map-fallback {
  position:absolute;
  inset:0;
  display:block;
  padding:0
}
.map-fallback>img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.65
}
.map-controls {
  position:absolute;
  inset:auto 10px 10px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  background:#fffE;
  padding:8px
}
.map-controls .button {
  font-size:12px;
  padding:9px 12px
}
.map-controls>a {
  font-size:13px
}
.event-page {
  padding:25px 10px 15px
}
.event-details {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  background:#f8f8f8;
  border:1px solid #eee;
  min-height:275px;
  padding:10px 15px;
  margin:0 0 35px
}
.event-details h2,.venue-details h2 {
  font-size:22px;
  font-weight:400;
  line-height:1.3;
  color:#333;
  margin:0 0 8px
}
.event-details dl {
  display:block;
  font-size:14px;
  line-height:1;
  margin:0 0 35px
}
.event-details dt {
  font-weight:700;
  margin:0
}
.event-details dd {
  margin:0 0 8px
}
.event-links {
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  font-size:14px;
  line-height:1
}
.event-links>a:first-child {
  font-weight:700;
  color:#333;
  text-decoration:none
}
.event-links .calendar-feed {
  float:none;
  font-weight:400;
  margin:5px 0 0;
  padding:9px 10px
}
.venue-details {
  display:grid;
  grid-template-columns:250px 1fr;
  background:#f8f8f8;
  border:1px solid #eee;
  min-height:200px;
  padding:10px 15px;
  margin-bottom:40px
}
.venue-details p {
  font-size:22px;
  line-height:1.3
}
.event-page #respond>h2,.archived-post #respond>h2 {
  color:#333;
  font-weight:500;
  margin:8px 0 24px
}
.comment-form {
  max-width:none
}
.comment-form label {
  margin-bottom:25px;
  font-size:16px;
  line-height:1.5
}
.comment-form input:not([type=checkbox]):not([type=hidden]) {
  height:42px;
  min-height:42px;
  border:1px solid #666;
  padding:8px 10px;
  border-radius:3px
}
.comment-form textarea {
  min-height:210px;
  border:1px solid #666;
  border-radius:3px;
  padding:8px 10px
}
.comment-form>button[type=submit] {
  background:#fff;
  color:#c36;
  border:1px solid #c36;
  border-radius:3px;
  width:auto;
  padding:12px 16px
}
.comment-form .remember-label {
  margin-bottom:15px
}
.comment-form>p {
  margin-bottom:25px
}
@media(max-width:1024px) {
  .header-inner {
    gap:15px
  }
  .primary-navigation>a {
    font-size:14px
  }
  .about-inner {
    padding-inline:25px
  }
  .carousel-slide {
    flex-basis:33.333%
  }
  .footer-inner {
    gap:25px;
    padding-inline:25px
  }
  .calendar-toolbar {
    justify-content:center
  }
}
@media(max-width:767px) {
  h1 {
    font-size:50px;
    line-height:1.3
  }
  h2 {
    font-size:40px;
    line-height:1.3
  }
  h3 {
    font-size:22px
  }
  .container,.narrow {
    padding-inline:10px
  }
  .header-inner {
    display:flex;
    justify-content:space-between;
    min-height:98px;
    padding:15px 25px;
    gap:15px
  }
  .brand {
    width:172px
  }
  .header-address,.rent-button {
    display:none
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    align-items:center;
    width:48px;
    height:48px;
    background:#f5f5f5;
    border:0;
    padding:10px;
    margin-right:35px
  }
  .menu-toggle>span {
    display:block;
    width:25px;
    height:3px;
    background:#333
  }
  .primary-navigation {
    display:none;
    height:auto;
    position:absolute;
    left:0;
    right:0;
    top:98px;
    width:100%;
    margin:0;
    background:#fff;
    box-shadow:0 8px 12px #0002;
    z-index:20
  }
  .primary-navigation.open {
    display:flex;
    flex-direction:column
  }
  .primary-navigation>a {
    padding:13px 22px;
    text-align:left;
    border-right:0;
    border-bottom:1px solid #eee
  }
  .mobile-actions {
    display:flex;
    gap:10px;
    padding:0 15px 14px
  }
  .mobile-actions>.button {
    flex:1;
    white-space:nowrap;
    padding:10px 8px;
    font-size:13px
  }
  .mobile-actions>.button:first-child {
    background:#000
  }
  .home-hero {
    min-height:0
  }
  .home-hero-copy {
    padding:211px 10px 100px
  }
  .home-hero h1 {
    font-size:50px;
    line-height:1.3
  }
  .home-hero h2 {
    font-size:24px;
    line-height:1.3
  }
  .home-hero hr {
    margin:28px auto
  }
  .home-hero p {
    font-size:16px;
    line-height:24px
  }
  .home-hero .actions {
    gap:10px
  }
  .actions .button {
    padding:12px 18px;
    font-size:14px
  }
  .home-about {
    padding:80px 0
  }
  .about-inner {
    grid-template-columns:1fr;
    gap:20px;
    padding:0 10px
  }
  .about-inner>img {
    max-width:100%;
    width:calc(100% - 50px)
  }
  .about-inner>div {
    padding:0
  }
  .about-inner .actions {
    justify-content:flex-start
  }
  .home-fun {
    padding:80px 0
  }
  .home-fun .narrow {
    padding-inline:20px
  }
  .home-fun .narrow>p {
    margin:25px 0 40px
  }
  .carousel-slide {
    flex-basis:100%;
    height:462px
  }
  .admission {
    padding:80px 0
  }
  .admission h2 {
    margin-bottom:25px
  }
  .admission-card,.admission-card.reverse {
    flex-direction:column;
    gap:20px;
    padding:30px 15px;
    text-align:center
  }
  .admission-card>div {
    width:100%
  }
  .admission-card>img {
    width:145px;
    height:130px
  }
  .admission-card h3 {
    margin-bottom:15px
  }
  .current-events {
    padding:45px 15px
  }
  .visit-callout {
    padding:60px 10px
  }
  .visit-callout p {
    margin:25px 0
  }
  .cta {
    padding:70px 10px
  }
  .cta h2 {
    font-size:40px;
    margin-bottom:35px
  }
  .cta .actions {
    gap:0
  }
  .cta .actions>.button {
    padding:12px 18px;
    flex:1
  }
  .footer-inner {
    grid-template-columns:1fr;
    gap:35px;
    padding:65px 20px 40px
  }
  .site-footer h2 {
    font-size:24px
  }
  .footer-inner li {
    padding:10px 0
  }
  .footer-policy {
    gap:12px 20px;
    justify-content:center
  }
  .copyright {
    font-size:12px
  }
  .simple-footer nav {
    gap:15px 20px;
    flex-wrap:wrap;
    font-size:13px
  }
  .map-placeholder {
    min-height:320px
  }
  .map-placeholder iframe {
    min-height:320px
  }
  .footer-map {
    min-height:297px
  }
  .page-hero {
    height:430px
  }
  .page-hero>div {
    margin-top:0;
    padding:40px 10px
  }
  .page-hero h1 {
    font-size:50px
  }
  .breadcrumbs {
    font-size:14px
  }
  .vendor-copy {
    padding:40px 15px
  }
  .vendor-copy h2 {
    font-size:30px
  }
  .vendor-copy h4 {
    font-size:22px
  }
  .vendor-copy img {
    margin-right:0;
    width:auto;
    max-width:100%
  }
  .visit-page {
    padding:45px 15px
  }
  .visit-location {
    grid-template-columns:1fr;
    gap:35px;
    margin-top:0
  }
  .visit-location .map-placeholder {
    order:0
  }
  .visit-location h3 {
    font-size:22px
  }
  .visit-page .button {
    width:100%;
    padding-inline:10px;
    margin-bottom:30px;
    font-size:14px
  }
  .tip {
    grid-template-columns:110px 1fr;
    gap:15px;
    margin-bottom:25px
  }
  .tip h3 {
    font-size:20px
  }
  .tips {
    margin-top:50px
  }
  .gallery-page {
    padding:75px 10px
  }
  .masonry,.masonry.masonry-ready {
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:10px
  }
  .masonry .gallery-item {
    grid-row-end:auto!important
  }
  .gallery-dialog figure {
    margin:90px 35px 30px;
    height:calc(100dvh - 130px)
  }
  .gallery-dialog figure>img {
    max-height:calc(100dvh - 180px)
  }
  .gallery-top {
    right:60px;
    left:12px;
    gap:5px;
    justify-content:flex-start
  }
  .gallery-top>button {
    font-size:12px;
    padding:7px
  }
  .gallery-top #gallery-counter {
    font-size:13px;
    white-space:nowrap
  }
  .gallery-prev,.gallery-next {
    width:32px;
    height:50px;
    font-size:35px!important;
    padding:0!important
  }
  .gallery-prev {
    left:0
  }
  .gallery-next {
    right:0
  }
  .gallery-close {
    right:8px
  }
  .gallery-dialog figcaption {
    font-size:13px
  }
  .contact-main {
    grid-template-columns:1fr;
    gap:25px;
    padding:45px 15px
  }
  .contact-main>div:last-child {
    padding:10px 0
  }
  .contact-message {
    padding:0 10px 60px
  }
  .contact-message>h2 {
    font-size:32px;
    margin-bottom:30px
  }
  .owned-form input:not([type=checkbox]):not([type=hidden]),.owned-form textarea {
    min-height:60px
  }
  .owned-form>button[type=submit] {
    width:100%
  }
  .event-page,.standard-page,.policy-page {
    padding:45px 15px
  }
  .event-page>h1 {
    font-size:34px
  }
  .event-details dl {
    grid-template-columns:105px 1fr;
    font-size:14px
  }
  .event-details .actions {
    gap:10px
  }
  .policy-page h2 {
    font-size:24px
  }
  .calendar-heading {
    padding:65px 15px 35px
  }
  .calendar-heading h1 {
    font-size:36px
  }
  .calendar-section {
    padding-inline:20px;
    padding-bottom:60px
  }
  .calendar-toolbar {
    gap:10px;
    margin-bottom:18px
  }
  .calendar-toolbar h2 {
    width:100%;
    text-align:center;
    font-size:23px
  }
  .calendar-toolbar button {
    padding:8px 10px;
    font-size:13px
  }
  .calendar-cell {
    min-height:185px;
    padding:2px
  }
  .calendar-date {
    font-size:12px;
    padding:2px
  }
  .calendar-weekday {
    font-size:12px;
    padding:5px 0
  }
  .calendar-event {
    font-size:10px;
    padding:3px 1px;
    line-height:1.15;
    border-left-width:2px;
    margin-block:2px
  }
  .calendar-week-grid {
    grid-template-columns:1fr
  }
  .calendar-week-day {
    min-height:100px;
    border-bottom:1px solid #ddd;
    border-right:0;
    padding:12px
  }
  .calendar-week-day>h3 {
    text-align:left;
    margin-bottom:10px;
    font-size:15px
  }
  .calendar-week-day .calendar-event,.calendar-agenda-day .calendar-event,.calendar-list-group .calendar-event {
    font-size:14px;
    padding:8px
  }
  .calendar-agenda-day {
    padding:15px;
    min-height:250px
  }
  .calendar-list-group {
    padding:15px 0
  }
  .calendar-list-group>h3 {
    font-size:18px
  }
  .calendar-month {
    width:100%
  }
  .calendar-feed {
    margin-top:15px
  }
  .consent-banner {
    left:8px;
    right:8px;
    bottom:8px;
    padding:14px;
    display:block;
    max-height:calc(100dvh - 30px);
    overflow:auto
  }
  .consent-actions {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:5px;
    margin-top:12px
  }
  .consent-actions>button {
    padding:10px 5px;
    font-size:12px;
    white-space:normal;
    min-height:43px
  }
  .consent-banner p {
    font-size:12px
  }
  .consent-banner strong {
    font-size:15px
  }
  .settings-dialog {
    padding:22px
  }
  .settings-dialog h2 {
    font-size:26px
  }
  .dialog-actions>button {
    padding:10px
  }
  .translation-control {
    left:20px
  }
  .consent-visible .translation-control {
    bottom:225px
  }
  .translation-control>button {
    font-size:12px;
    padding:10px 18px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important
  }
}
@media(max-width:767px) {
  .sunnyside-page {
    padding:75px 15px 55px
  }
  .sunnyside-page>img {
    margin-bottom:25px
  }
  .archived-post {
    padding:4px 10px 15px
  }
  .calendar-toolbar {
    grid-template-columns:1fr;
    gap:12px
  }
  .calendar-toolbar h2 {
    grid-column:1;
    grid-row:1;
    width:100%;
    font-size:28px
  }
  .calendar-navigation {
    grid-column:1;
    grid-row:2;
    justify-self:center
  }
  .calendar-views {
    grid-column:1;
    grid-row:3;
    justify-self:center
  }
  .calendar-cell {
    min-height:138px
  }
  .calendar-event {
    font-size:10px;
    padding:4px 1px;
    border:0
  }
  .archived-post>.calendar-section {
    padding:20px 0 40px
  }
}
@media(max-width:767px) {
  .comment-head {
    gap:12px;
    flex-wrap:wrap
  }
  .comment-date {
    margin-left:54px;
    margin-top:-10px;
    width:calc(100% - 54px)
  }
  .comment-body {
    margin-left:54px
  }
  .comment-children {
    padding-left:20px
  }
  .comment-entry>article {
    padding:25px 0
  }
  .comment-children>.comment-entry:before {
    left:-18px
  }
  .published-comments>h2 {
    font-size:40px
  }
}
@media(max-width:767px) {
  .plain-page-heading {
    padding:4px 10px 0
  }
  .plain-page-heading h1 {
    font-size:50px
  }
  .vendor-copy {
    padding:0 10px 15px
  }
  .vendor-copy h2,.visit-page h2 {
    font-size:40px
  }
  .vendor-copy h4 {
    font-size:24px
  }
  .visit-page {
    padding:0 10px 150px
  }
  .visit-location {
    display:block;
    margin-top:20px
  }
  .visit-location>img {
    width:610px;
    max-width:100%;
    margin:15px 0 20px
  }
  .visit-location h3 {
    font-size:24px
  }
  .tip {
    grid-template-columns:30% 1fr;
    gap:0;
    margin-bottom:15px;
    min-height:85px
  }
  .tip>h3 {
    padding:15px 10px;
    font-size:22px
  }
  .tip>p {
    padding:15px 10px;
    font-size:14px
  }
  .tips>h2 {
    margin-bottom:180px
  }
  .tip:last-child {
    grid-template-columns:55% 1fr
  }
  .calendar-heading {
    padding:100px 10px
  }
  .calendar-heading h1 {
    font-size:50px
  }
  .calendar-section {
    padding-top:80px
  }
  .event-page {
    padding:10px 10px 15px
  }
  .event-details {
    grid-template-columns:1fr;
    gap:20px;
    min-height:300px;
    padding:10px;
    margin-bottom:30px
  }
  .event-details dl {
    font-size:14px;
    margin-bottom:25px
  }
  .event-details h2,.venue-details h2 {
    font-size:22px
  }
  .event-details>div:last-child {
    min-height:80px
  }
  .venue-details {
    grid-template-columns:1fr 1fr;
    gap:20px;
    min-height:200px;
    padding:10px
  }
  .venue-details p {
    font-size:22px
  }
  .comment-form input:not([type=checkbox]):not([type=hidden]) {
    height:42px;
    min-height:42px
  }
  .comment-form textarea {
    min-height:210px
  }
  .comment-form>button[type=submit] {
    width:auto
  }
  .footer-map {
    min-height:0
  }
  .map-placeholder.compact-map {
    min-height:150px
  }
}
.icon-line>img {
  position:absolute;
  left:0;
  top:0;
  width:40px;
  height:40px;
  object-fit:contain
}

.cta{padding:80px 0}.cta-image{display:block;width:158px;height:134px;object-fit:contain;margin:0 auto 20px}.plain-page-heading .breadcrumbs{color:#333}.plain-page-heading .breadcrumbs a{color:var(--orange)}.contact-main+.cta{border-top:10px solid transparent;border-image:var(--gradient) 1}.contact-message{background:var(--cream);padding:80px 0}.contact-message h2{text-align:center;margin-bottom:80px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form>label{margin:0}.contact-form>label:nth-of-type(3),.contact-form>.security-widget,.contact-form>.security-retry,.contact-form>.form-status,.contact-form>button,.contact-form>.draft-notice{grid-column:1/-1;justify-self:start}.contact-form>label:nth-of-type(3),.contact-form>.security-widget,.contact-form>.form-status,.contact-form>.draft-notice{width:100%}.contact-form input:not([type=hidden]),.contact-form textarea{background:transparent;min-height:52px;height:52px;border:2px solid #be5214;padding:12px;font-size:14px}.contact-form>button[type=submit]{width:auto;padding:12px 30px}.contact-form>.form-status:empty{display:none}
@media(max-width:767px){.cta{padding:80px 10px}.contact-message{padding:80px 10px}.contact-message h2{font-size:40px;margin-bottom:80px}.contact-form{grid-template-columns:1fr}.contact-form input:not([type=hidden]),.contact-form textarea{min-height:52px}.contact-form>button[type=submit]{width:auto}.contact-message .narrow{padding:0}}

.photo-carousel{max-width:1140px}.carousel-slide{flex-basis:25%}.about-inner h2:after{content:"";display:block;width:160px;height:2px;background:var(--brown);margin:30px 0}.home-fun h2:after{content:"";display:block;width:200px;height:2px;background:var(--brown);margin:35px auto}.admission .container>h2:after{content:"";display:block;width:100%;height:10px;background:var(--gradient);margin:25px auto}.admission-card{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:35px 10px}.admission-card>img{width:90px;height:80px;justify-self:end}.admission-card>div{width:100%;max-width:430px;justify-self:start}.admission-card.reverse>img{grid-column:2;grid-row:1;justify-self:start}.admission-card.reverse>div{grid-column:1;grid-row:1;justify-self:end;text-align:right}.current-events{padding:80px 10px}.visit-callout{position:relative;isolation:isolate;background:#fff;padding:80px 0}.callout-background{position:absolute;inset:0;width:100%;height:100%;z-index:-1;object-fit:cover}.visit-image{display:block;width:170px;height:123px;object-fit:contain;margin:0 auto 20px}.visit-callout+.cta{border-top:10px solid transparent;border-image:var(--gradient) 1}
@media(max-width:1024px){.carousel-slide{flex-basis:33.333%}}
@media(max-width:767px){.carousel-slide{flex-basis:100%}.photo-carousel{width:calc(100% - 20px)}.admission-card,.admission-card.reverse{display:flex;flex-direction:column;gap:20px;padding:30px 15px}.admission-card>img{width:90px;height:80px}.admission-card.reverse>div{text-align:center}.current-events{padding:80px 10px}.visit-callout{padding:80px 10px}}
@container(max-width:480px) {
  .calendar-toolbar {
    display:block;
    margin-bottom:20px
  }
  .calendar-toolbar h2 {
    font-size:40px;
    line-height:52px;
    margin:0
  }
  .calendar-toolbar h2:after {
    content:"Calendar";
    display:block;
    height:50px;
    line-height:50px;
    font-size:15px;
    font-style:italic;
    background:#3498db;
    color:#fff
  }
  .calendar-navigation {
    display:grid;
    width:100%;
    justify-self:stretch;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0
  }
  .calendar-navigation [data-calendar-nav=today] {
    grid-column:1/-1
  }
  .calendar-views {
    display:grid;
    width:100%;
    justify-self:stretch;
    grid-template-columns:1fr;
    gap:0
  }
  .calendar-toolbar button {
    width:100%;
    height:50px;
    padding:0;
    border:1px solid #d8ecf9;
    font-size:15px;
    border-radius:0
  }
  .calendar-month {
    display:block;
    border:0
  }
  .calendar-weekday,.calendar-cell.outside-month {
    display:none
  }
  .calendar-cell {
    min-height:52px;
    padding:0 0 1px;
    border:0;
    border-bottom:1px solid #ededed;
    background:#f7f7f7
  }
  .calendar-cell.today {
    background:#fff7df
  }
  .calendar-date {
    height:27px;
    padding:0 2px;
    font-size:16px;
    line-height:24px;
    font-style:normal
  }
  .calendar-month .calendar-event {
    font-size:13.6px;
    line-height:18px;
    padding:3px 2px;
    margin:1px 0 0
  }
}
