/* Historical programme: three genuine data columns, preserving source order. */
.source-content .source-modern .festival-programme-table{display:table;width:100%;max-width:none;border-collapse:collapse;table-layout:fixed;margin:28px 0 40px;font:16px/1.65 CELCIT,Arial,sans-serif;border:0;color:var(--ink)}
.source-content .source-modern .festival-programme-table th,.source-content .source-modern .festival-programme-table td{border:0;text-align:left;vertical-align:top;padding:24px 24px 24px 0;background:transparent;overflow-wrap:anywhere}
.source-content .source-modern .festival-programme-table th{font-size:11px;letter-spacing:.1em;font-weight:600;padding:16px 24px 16px 0;border-block:1px solid #6f8e84;color:#426359}
.source-content .source-modern .festival-programme-table th:first-child{width:23%}
.source-content .source-modern .festival-programme-table th:nth-child(2){width:30%}
.source-content .source-modern .festival-programme-table th:nth-child(3){width:47%}
.source-content .source-modern .festival-programme-table tbody tr{border-bottom:1px solid #c4cec3}
.source-content .source-modern .festival-programme-table tbody tr:hover{background:#e9eee5}
.source-content .source-modern .festival-programme-table td:last-child,.source-content .source-modern .festival-programme-table th:last-child{padding-right:0}
.source-content .source-modern .festival-programme-table .programme-date{font-size:14px;line-height:1.8}
.source-content .source-modern .festival-programme-table .programme-date strong{font-size:17px;font-weight:600}
.source-content .source-modern .festival-programme-table .programme-company{font-size:14px;line-height:1.8}
.source-content .source-modern .festival-programme-table .programme-company strong{font-size:17px;font-weight:600}
.source-content .source-modern .festival-programme-table .programme-show{font-size:15px}
.source-content .source-modern .festival-programme-table .programme-show a{font:500 25px/1.2 Georgia,serif;letter-spacing:-.025em;text-decoration:none;color:var(--ink);display:inline-block;margin:0 0 7px}
.source-content .source-modern .festival-programme-table .programme-show a:hover{text-decoration:underline;text-underline-offset:5px;color:#00676b}
.source-content .source-modern .festival-programme-table font{color:inherit}
.source-content .source-modern .festival-programme-table em{font-style:normal;color:var(--muted)}
.source-content .source-modern .festival-programme-table a:focus-visible{outline:2px solid #00676b;outline-offset:5px}

/* Production photography is manual and uncropped. The full existing slide
   node moves here, including every caption, credit and original-image link. */
.source-content .source-modern .performance-carousel{display:block;width:100%;max-width:none;margin:38px 0 48px;clear:both}
.source-content .source-modern.performance-content>.performance-carousel:first-child{margin-top:0}
.source-content .source-modern.performance-content p,.source-content .source-modern.performance-content ul,.source-content .source-modern.performance-content ol{max-width:76ch}
.source-content .source-modern.performance-content .performance-carousel p{max-width:none}
.source-content .source-modern .performance-stage{display:block;min-width:0;background:#e5e8de;border-top:1px solid #bdc8bb}
.source-content .source-modern .performance-slide{display:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;position:relative!important;opacity:1!important;transform:none!important}
.source-content .source-modern .performance-slide.is-active{display:block!important}
.source-content .source-modern .performance-slide.is-active img{animation:performance-reveal .35s ease-out}
@keyframes performance-reveal{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.source-content .source-modern .performance-slide.is-active img{animation:none}}
.source-content .source-modern .performance-slide a:has(img),.source-content .source-modern .performance-slide picture{display:block;width:100%;position:static}
.source-content .source-modern .performance-slide img{display:block;width:100%;height:clamp(320px,46vw,580px);max-height:580px;max-width:none;object-fit:contain;background:#e5e8de;margin:0;opacity:1;transform:none}
.source-content .source-modern .performance-slide figcaption,.source-content .source-modern .performance-slide .source-media-caption,.source-content .source-modern .performance-slide .gallery-caption,.source-content .source-modern .performance-slide .bdt-custom-gallery-content{font:13px/1.6 CELCIT,Arial,sans-serif;color:#43564b;text-align:left;padding:16px 20px;background:#edf0e8;margin:0}
.source-content .source-modern .performance-slide .bdt-gallery-item-title{font:500 17px/1.4 CELCIT,Arial,sans-serif;margin:0 0 5px;letter-spacing:0;max-width:none}
.source-content .source-modern .performance-slide .bdt-gallery-item-text{font:13px/1.6 CELCIT,Arial,sans-serif;margin:0}
.source-content .source-modern .performance-slide .bdt-overlay{position:static!important;opacity:1!important;transform:none!important;background:transparent!important;padding:0}
.source-content .source-modern .performance-slide .su-image-carousel-item-content,.source-content .source-modern .performance-slide .bdt-custom-gallery-inner,.source-content .source-modern .performance-slide .bdt-gallery-thumbnail{position:static;display:block;height:auto;overflow:visible}
.source-content .source-modern .performance-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;border-block:1px solid #bdc8bb;padding:13px 0}
.source-content .source-modern .performance-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:transparent;border:1px solid #9cab9e;color:var(--ink);font:13px/1.4 CELCIT,Arial,sans-serif;cursor:pointer}
.source-content .source-modern .performance-controls button:hover{background:#e5ece2}
.source-content .source-modern .performance-status{font:12px/1.5 CELCIT,Arial,sans-serif;letter-spacing:.1em;font-variant-numeric:tabular-nums;color:#476354;white-space:nowrap}
.source-content .source-modern .performance-thumbnails{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:15px 2px 8px;scrollbar-width:thin}
.source-content .source-modern .performance-thumbnail{display:block;position:relative;flex:0 0 96px;width:96px;height:72px;border:2px solid transparent;background-color:#e5e8de;background-position:center;background-repeat:no-repeat;background-size:contain;padding:0;cursor:pointer;opacity:.7}
.source-content .source-modern .performance-thumbnail:hover{opacity:1}
.source-content .source-modern .performance-thumbnail.is-active{border-color:#39766c;opacity:1}
.source-content .source-modern .performance-thumbnail span{position:absolute;right:3px;bottom:3px;background:#183e35e6;color:#fff;font:10px/1.4 CELCIT,Arial,sans-serif;padding:2px 5px;min-width:16px}
.source-content .source-modern .performance-carousel button:focus-visible,.source-content .source-modern .performance-carousel a:focus-visible{outline:3px solid #006b70;outline-offset:3px}
.source-content .source-modern .performance-gallery-context{margin-top:20px}
@media(max-width:900px){
 .source-content .source-modern .festival-programme-table th:first-child{width:25%}
 .source-content .source-modern .festival-programme-table th:nth-child(2){width:30%}
 .source-content .source-modern .festival-programme-table th:nth-child(3){width:45%}
 .source-content .source-modern .festival-programme-table th,.source-content .source-modern .festival-programme-table td{padding-right:17px}
 .source-content .source-modern .festival-programme-table .programme-show a{font-size:22px}
}
@media(max-width:650px){
 .source-content .source-modern .festival-programme-table,.source-content .source-modern .festival-programme-table tbody{display:block;width:100%}
 .source-content .source-modern .festival-programme-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .source-content .source-modern .festival-programme-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 22px;padding:25px 0}
 .source-content .source-modern .festival-programme-table td{display:block;width:auto;padding:0;font-size:13px}
 .source-content .source-modern .festival-programme-table td:before{content:attr(data-label);display:block;margin-bottom:8px;font:10px/1.4 CELCIT,Arial,sans-serif;letter-spacing:.09em;color:#476354}
 .source-content .source-modern .festival-programme-table .programme-show{grid-column:1/-1}
 .source-content .source-modern .festival-programme-table .programme-show a{font-size:26px}
 .source-content .source-modern .festival-programme-table .programme-date strong,.source-content .source-modern .festival-programme-table .programme-company strong{font-size:16px}
 .source-content .source-modern .performance-carousel{margin:28px 0 35px}
 .source-content .source-modern .performance-slide img{height:clamp(230px,72vw,400px);max-height:400px}
 .source-content .source-modern .performance-slide .bdt-custom-gallery-content,.source-content .source-modern .performance-slide figcaption{padding:13px 14px}
 .source-content .source-modern .performance-controls button{padding:9px 14px}
 .source-content .source-modern .performance-thumbnail{flex-basis:78px;width:78px;height:60px}
}
@media print{
 .source-content .source-modern .performance-slide{display:block!important;break-inside:avoid}
 .source-content .source-modern .performance-slide img{height:auto;max-height:400px}
 .source-content .source-modern .performance-controls,.source-content .source-modern .performance-thumbnails{display:none}
}
