/* site.css — additions on top of the carried Divi CSS. Keep this small: the look comes from the live site's own CSS. */
/* Fonts the live site loaded from Google Fonts, now self-hosted (same faces, latin) */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/open-sans-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/open-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/open-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/open-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/open-sans-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/open-sans-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/open-sans-latin-700-italic.woff2) format('woff2')}
@font-face{font-family:'Boogaloo';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/boogaloo-latin-400-normal.woff2) format('woff2')}
/* Divi's entrance animations needed its scripts; show everything straight away */
.et_animated,.et-waypoint:not(.et_pb_counters),.et_pb_animation_off{opacity:1!important;animation:none!important;transform:none!important}
.et_pb_toggle_close .et_pb_toggle_content{display:none}
.et_pb_toggle_title{cursor:pointer}
.mobile_nav.opened .et_mobile_menu{display:block}
a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1a6dd4;outline-offset:2px}
/* YouTube click-to-play */
.yt-facade{position:relative;aspect-ratio:16/9;max-width:100%;background:#000;margin:0 0 1.5em}
.yt-facade button{all:unset;cursor:pointer;display:block;width:100%;height:100%}
.yt-facade img{width:100%;height:100%;object-fit:cover;display:block}
.yt-facade button::after{content:"";position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:#f00 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/28px no-repeat}
/* form messages (Gravity Forms markup) */
.jb-form-msg{margin:12px 0;font-weight:600;color:#333}
.jb-form-msg--err{color:#b00020}
.jb-form-done{padding:20px;border:1px solid #c3e6cb;background:#f2fbf4;color:#14532d;font-size:18px}
.gfield_error .jb-err{color:#b00020;font-size:14px;margin-top:4px}
.yt-facade.yt-fill{position:absolute;inset:0;aspect-ratio:auto;margin:0}
.jb-h1-img{display:contents}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.jb-privacy-links{list-style:disc;padding-left:1.5em;font-size:16px;line-height:2}
/* PayPal Donate block (replaces the live site's Gravity Forms pledge form on /donations/ and /give/) */
.jb-donate{margin:10px 0 30px;padding:24px;border:1px solid #ddd;background:#fafafa}
.jb-donate p{padding-bottom:12px}
.jb-donate__levels{font-weight:600}
.jb-donate__btn{display:inline-block;background:#ffc439;color:#111!important;border-radius:4px;padding:12px 28px;font:700 18px 'Open Sans',Arial,sans-serif;text-decoration:none}
.jb-donate__btn:hover{background:#f2ba36}
/* Divi contact form messages */
.et_pb_contact_form .jb-form-msg{clear:both}
/* Divi full-screen header (home hero): Divi's script set the window height inline; same effect in CSS */
.et_pb_fullwidth_header.et_pb_fullscreen,.et_pb_fullscreen .et_pb_fullwidth_header_container{min-height:100vh}
/* Compact audio player buttons (play/stop) are inputs styled by the plugin's CSS */
.compact_audio_player_wrapper input{cursor:pointer}
/* fixed header offset: Divi's script set padding-top 54px on #page-container at desktop width (live measured value) */
@media (min-width:981px){.et_fixed_nav #page-container{padding-top:54px!important;margin-top:-1px}}
