/* Restoration Fellowship — base layout styles (self-hosted, replaces the Showit engine stylesheet) */
html,body,div,span,h1,h2,h3,h4,h5,h6,p,a,img,ul,ol,li,form,label,iframe,video,svg,section,header,footer,nav{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
a,a:link,a:visited,a:active,a:focus{color:inherit;text-decoration:none}
b,strong{font-weight:700} em,i{font-style:italic}
ol,ul{list-style:none}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{position:relative;line-height:1;margin:0}

/* page + blocks (canvases) */
.sp{position:relative;width:100%;min-width:320px;overflow-x:hidden;overflow-y:hidden}
.sb{position:relative;width:100%;pointer-events:none}
.sc{position:relative;width:100%;height:100%;margin:0 auto;pointer-events:none}
.ss,.ss-s{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
.ss{display:none}
.ss-s,.ss.sactive{display:block}

/* block background media */
.sb-m{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;background-repeat:no-repeat;background-position:50% 50%;background-size:cover}
.sb-m video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover}
.m .ssp-d,.d .ssp-m{display:none}

/* elements */
.se{position:absolute;display:block;box-sizing:border-box;outline:none;pointer-events:auto;transform-origin:50% 50%}
.se-pc,.se-sl{cursor:pointer}
.se-t{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;background:transparent}
.se-rc a{text-decoration:underline}
.se-rc a:hover{opacity:.8}
.se-t-list ul,.se-t-list ol{margin-left:1.4em}
.se-t-list li{margin-left:1em;padding-left:.1em}
.se-t-list ul{list-style:disc} .se-t-list ol{list-style:decimal}
.se-icon,.se-line{width:100%;height:100%}
.se-icon svg,.se-line svg{width:100%;height:100%;vertical-align:top}
.se-line{overflow:visible}
.se-img,.se-gr{width:100%;height:100%;display:block;background-repeat:no-repeat;background-position:50% 50%;background-size:cover}
.se-simple,.se-button{width:100%;height:100%;box-sizing:border-box;border:0 solid transparent}
.se-button{display:flex;align-items:center;justify-content:center;cursor:pointer}
.d .se-bd,.m .se-bm{overflow:hidden}
.se-il{pointer-events:none}
.si-embed iframe{width:100%;height:100%;border:0}

/* entrance animations (subtle, run once when an element scrolls into view) */
.rf-anim{opacity:0}
.rf-anim.rf-in{animation-fill-mode:both;animation-timing-function:ease-out}
@keyframes rfFadeIn{from{opacity:0}to{opacity:1}}
@keyframes rfSlideInDown{from{opacity:0;transform:translate3d(0,-40px,0)}to{opacity:1;transform:none}}
@keyframes rfSlideInUp{from{opacity:0;transform:translate3d(0,40px,0)}to{opacity:1;transform:none}}
@keyframes rfSlideInLeft{from{opacity:0;transform:translate3d(-40px,0,0)}to{opacity:1;transform:none}}
@keyframes rfSlideInRight{from{opacity:0;transform:translate3d(40px,0,0)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rf-anim{opacity:1!important;animation:none!important}}

/* simple image gallery */
.rf-gal{position:absolute;inset:0;overflow:hidden}
.rf-gal .rf-slide{position:absolute;inset:0;background-size:cover;background-position:50% 50%;opacity:0;transition:opacity .8s}
.rf-gal .rf-slide.on{opacity:1}

/* no-JS fallback: show images */
noscript img.se-img{width:100%;height:100%;object-fit:cover}
