@font-face{font-family:Verdana;font-weight:400;font-style:normal;font-display:block;src:url('assets/fonts/Verdana.ttf') format('truetype')}
@font-face {
  font-family: 'Lobster';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/Lobster.ttf) format('truetype');
}
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/Orbitron.ttf) format('truetype');
}

:root{--100vh: calc(var(--vh, 1vh) * 100)}*{padding:0;border:0;outline:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-decoration:none;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;margin-block-start:0;margin-block-end:0}*.touch *:hover{pointer-events:none}html,body{width:100%;height:100%;height:var(--100vh);min-width:100%;min-height:100%;min-height:var(--100vh);max-width:100%;max-height:100%;max-height:var(--100vh);scroll-behavior:smooth}body{color:#333;font-family:"Verdana";font-size:14px}body a:not(a.dmm-popup-close, .dmm-nav-link a){color:#008800;border-bottom:1px dotted #008800}body #background-image{width:100%;height:var(--100vh);position:relative;background-image:url("assets/zen-cycle.jpg");background-position:center;background-repeat:no-repeat;background-size:cover}body #nav-banner{width:100%;padding:40px;position:absolute;top:calc(25% - 40px);text-align:center;background-color:rgba(255, 255, 255, 0.8)}@media only screen and (max-width:625px),only screen and (min-width:626px) and (max-width:785px),only screen and (min-width:786px) and (max-width:1000px){body #nav-banner{padding:0;top:0}}body #nav-banner>div{display:block;position:absolute}body #nav-banner>div:first-of-type{line-height:0;right:40px}@media only screen and (max-width:625px),only screen and (min-width:626px) and (max-width:785px),only screen and (min-width:786px) and (max-width:1000px){body #nav-banner>div:first-of-type{margin-top:26px;line-height:unset;position:relative;right:0}}body #nav-banner>div:first-of-type+div{line-height:0;left:40px}body #nav-banner>div:first-of-type+div>div{display:inline}body #nav-banner>div:first-of-type+div>div:not(:first-of-type){margin-left:15px}body #nav-banner>div:first-of-type+div .dmm-nav-link a{font-family:"Lobster";font-size:32px;font-style:italic;color:#008800}@media only screen and (max-width:625px),only screen and (min-width:626px) and (max-width:785px),only screen and (min-width:786px) and (max-width:1000px){body #nav-banner>div:first-of-type+div{position:relative;left:unset;font-size:24px;line-height:24px;padding:29px 0 36px}}body #nav-banner>div:first-of-type h1{font-family:"Orbitron";font-size:50px;text-transform:uppercase}body p{margin-top:2em}body #contact-contents form{margin-top:-40px}body #contact-contents>div>p{display:none}body #bookeo{width:100%;min-height:var(--100vh);background:#fff}body #bookeo>div{max-width:1280px;padding:40px;margin:0 auto}body #bookeo>div h2{border-bottom:1px dotted grey}body #copyright{padding:40px;text-align:center;color:#fff;background:#333}body #copyright a{color:#fff;border-color:#fff}
@media(max-width:625px){body #nav-banner>div:first-of-type+div{line-height:40px}body #nav-banner>div:first-of-type+div>div:not(:first-of-type){margin-left:10px}}

@font-face{font-family:'Material Symbols Outlined';font-weight:100 700;src:url('assets/MaterialSymbolsOutlined.woff2') format('woff2');font-display:block;}
@font-face{font-family:Verdana;font-weight:700;font-style:normal;src:url('assets/fonts/Verdana-Bold.ttf') format('truetype');font-display:block;}
/* DM2 popup layout and fade, adapted to local controls and Zen typography. */
.dmm-popup-contents{width:100%;height:100%;display:none;opacity:0;position:fixed;top:0;z-index:99999;background:rgba(255, 255, 255, 0.9)}.dmm-popup-contents>*{width:min(calc(100vw - 80px), 800px);max-height:calc(var(--100vh) - 80px);display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid rgba(102, 65, 34, 0.25);position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background:#fff}.dmm-popup-contents>* .dmm-popup-close{width:40px;height:40px;border-left:1px solid rgba(102, 65, 34, 0.25);border-bottom:1px solid rgba(102, 65, 34, 0.25);display:block;position:absolute;top:0;right:0;z-index:2;cursor:pointer;font-family:"Material Symbols Outlined";font-size:40px;line-height:40px;text-align:right;background:#fff}.dmm-popup-contents>*>.dmm-popup-body{min-height:0;overflow-x:hidden;overflow-y:auto;padding:40px}.dmm-popup-contents>*>.dmm-popup-body>:first-child,.dmm-popup-contents>*>.dmm-popup-body :first-child::before{margin-top:0}.dmm-popup-close-bottom{text-align:center}@media only screen and (max-width:1194px){.dmm-popup-contents>*{width:100%;height:100%;max-height:unset;border:0}.dmm-popup-contents>*>.dmm-popup-body{flex:1}}
.dmm-popup-contents[hidden]{display:none;}
.dmm-popup-contents:not([hidden]){display:block;}
.dmm-popup-contents{transition:opacity .25s;}
.dmm-popup-contents.is-open{opacity:1;}
body .dmm-popup-contents .dmm-popup-close{color:inherit;font-feature-settings:'liga';font-weight:400;font-style:normal;}
a[href]:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #008800;outline-offset:3px;}
.dmm-popup-close:focus-visible{outline-offset:-3px;}
.dmm-popup-body{overscroll-behavior:contain;}
.dmm-popup-body:focus-visible{outline:2px solid #008800;outline-offset:-3px;}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto;}}

/* Local course calendar; no service integration. */
#bookeo{scroll-margin-top:0;display:flex;flex-direction:column;}
body #bookeo>div{display:flex;flex-direction:column;flex:1;width:100%;}
#bookeo h2{padding-bottom:16px;line-height:1.5;}
.calendar-intro{line-height:1.65;max-width:760px;}
.course-calendar{width:100%;margin:32px auto 0;display:flex;flex-direction:column;flex:1;}
.course-calendar table{display:flex;flex-direction:column;flex:1;width:100%;text-align:center;}
.course-calendar thead{display:block;flex:none;}
.course-calendar tbody{display:flex;flex-direction:column;flex:1;border-top:1px solid #ddd;border-left:1px solid #ddd;}
.course-calendar tr{display:flex;}
.course-calendar tbody tr{flex:1 0 61px;}
.course-calendar th,.course-calendar td{flex:1;min-width:0;}
.course-calendar caption{text-align:left;font-weight:bold;font-size:20px;padding:0 0 20px;}
.course-calendar caption span{display:block;font-size:12px;font-weight:normal;margin-top:8px;}
.course-calendar th{font-size:12px;padding-bottom:12px;color:#555;}
.course-calendar td{display:flex;align-items:center;justify-content:center;border-right:1px solid #ddd;border-bottom:1px solid #ddd;min-height:60px;}
.course-calendar td>span{display:block;}
.course-calendar button{font:inherit;cursor:pointer;color:#006800;background:#f2f8f2;}
.course-calendar td button{width:100%;align-self:stretch;min-height:60px;font-weight:bold;position:relative;}
.course-calendar button:hover{background:#e2f0e2;}
.course-dot{display:block;width:4px;height:4px;border-radius:50%;background:#008800;margin:4px auto 0;}
body .calendar-key{margin-top:16px;font-size:12px;line-height:1.5;}
.course-list{list-style:none;margin-top:24px;}
.course-list li{border-top:1px solid #ddd;}
.course-list button{display:flex;align-items:center;gap:16px;text-align:left;width:100%;padding:16px 12px;line-height:1.6;}
.course-list strong{white-space:nowrap;}
.course-list button>span{margin-left:auto;font-size:12px;}
/* Normal-looking controls remain local and inert. */
.course-action{font:inherit;line-height:1.5;border:1px solid lightgrey;border-radius:5px;padding:16px;color:#333;background:linear-gradient(#eee,lightgrey);cursor:pointer;}
.course-action:hover{background:linear-gradient(lightgrey,#eee);}
.dmm-popup-close-bottom button{font:inherit;color:#008800;border-bottom:1px dotted #008800;background:none;cursor:pointer;}
#about-contents .dmm-popup-body>p:nth-last-child(2){text-align:center;}
#faq-contents .dmm-popup-body>p:not(.dmm-popup-close-bottom){text-align:left;}
.dmm-nav-link a:focus,.dmm-nav-link a:focus-visible{outline:0;box-shadow:none;}
.dmm-nav-link a,.dmm-nav-link a:link,.dmm-nav-link a:visited,.dmm-nav-link a:hover,.dmm-nav-link a:active,.dmm-nav-link a:focus,.dmm-nav-link a:focus-visible{text-decoration:none;border:0;}
@media(max-width:625px){body #bookeo>div{padding:32px 20px 40px;}.course-calendar tbody tr{flex-basis:49px;}.course-calendar td{min-height:48px;}.course-calendar td button{min-height:48px;}.course-list button{flex-wrap:wrap;gap:6px 12px;}.course-list button>span{width:100%;margin-left:0;}}
/* AMD-style flex form: the message takes remaining height; Send ends at 40px. */
#contact-contents>div{height:calc(var(--100vh) - 80px);}
#contact-contents .dmm-popup-body{display:flex;flex-direction:column;flex:1;}
body #contact-contents form{display:flex;flex-direction:column;flex:1;margin-top:4px;text-align:left;min-height:min-content;}
#contact-form label{display:block;margin:20px 0 8px;font-weight:bold;flex:none;}
#contact-form input,#contact-form textarea{display:block;width:100%;padding:14px;border:1px solid lightgrey;border-radius:5px;font:inherit;color:#333;background:#fff;}
#contact-form input{flex:none;}
#contact-form textarea{resize:none;flex:1 0 80px;min-height:80px;}
#contact-form .course-action{width:100%;margin-top:24px;flex:none;}
@media(max-width:1194px){#contact-contents>div{height:100%;}}
@supports(height:100dvh){:root{--100vh:100dvh;}}
@media(prefers-reduced-motion:reduce){.dmm-popup-contents{transition:none;}}
