/* Jeff Crockett Memorial Foundation – static site styles (faithful to the old Twenty Seventeen look) */
:root{--text:#201f47;--head:#121132;--navy:#142059;--amber:#fcb900;--rule:#eee;--soft:#f7f7f7}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Libre Franklin","Helvetica Neue",helvetica,arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:#fff}
img{max-width:100%;height:auto}
.entry-content,.site-footer{overflow-wrap:anywhere}
a{color:var(--head);text-decoration:underline}
a:hover,a:focus{color:#000;text-decoration:none}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:100}
.skip-link:focus{left:0}

/* header */
.site-header{position:relative}
.header-image{background:#000 var(--banner) center/cover no-repeat;min-height:320px;display:flex;align-items:center}
.logo-link{display:block;margin:0 auto;padding:20px}
.custom-logo{width:300px;height:300px;display:block}
@media (min-width:960px){.header-image{min-height:520px}.logo-link{margin:0 0 0 max(20px,calc((100% - 1000px)/2));padding:0}}
.main-nav{background:#fff;border-bottom:1px solid var(--rule);position:relative;z-index:10}
.menu-toggle{display:block;width:100%;background:#fff;border:0;padding:1rem;font:800 1rem "Libre Franklin",sans-serif;color:var(--head);cursor:pointer}
.menu-wrap{display:none}
.menu-wrap.is-open{display:block}
.menu,.sub-menu{list-style:none;margin:0;padding:0}
.menu>li>a,.sub-menu a{display:block;padding:.75rem 1.25rem;color:var(--head);text-decoration:none;font-size:14px}
.menu a:hover,.menu a:focus,.menu a[aria-current]{text-decoration:underline}
.sub-menu a{padding-left:2.5rem}
@media (min-width:768px){
 .menu-toggle{display:none}
 .menu-wrap{display:block}
 .menu{display:flex;flex-wrap:wrap;justify-content:center;max-width:1100px;margin:0 auto}
 .menu>li{position:relative}
 .menu>li>a{padding:1.1rem .9rem}
 .has-sub>a::after{content:"";display:inline-block;margin-left:.4em;border:4px solid transparent;border-top-color:currentColor;vertical-align:-2px}
 .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#fff;border:1px solid var(--rule);box-shadow:0 3px 8px rgba(0,0,0,.08)}
 .sub-menu a{padding:.7rem 1rem}
 .has-sub:hover>.sub-menu,.has-sub:focus-within>.sub-menu{display:block}
}

/* content */
.site-content{padding:2.5rem 0 3rem}
.entry-title{font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--head);margin:0 0 2rem}
.entry-content h1,.entry-content h2,.entry-content h3{color:var(--head);line-height:1.3;margin:2rem 0 1rem}
.entry-content h2{font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.entry-content h1{font-size:1.25rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.entry-content h3{font-size:1.1rem}
.entry-content p,.entry-content ul,.entry-content ol{margin:0 0 1.5rem}
.has-text-align-center{text-align:center}
.has-text-color,.has-background{padding:.9rem 1rem}
.has-white-color{color:#fff !important}
.has-luminous-vivid-amber-background-color{background:var(--amber);color:#1a1a1a;padding:1rem 1.25rem}
.has-luminous-vivid-amber-background-color a{color:#1a1a1a}
.has-medium-font-size{font-size:1.25em}
.has-small-font-size{font-size:.875em}
.alignleft{float:left;margin:0 1.5rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.5rem}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-block-image{margin:0 0 1.5rem}
.wp-block-image.aligncenter{text-align:center}
.wp-block-table table{width:100%;border-collapse:collapse}
.wp-block-table td{padding:.75rem;border:1px solid var(--rule);text-align:center}
.wp-block-table.is-style-stripes tr:nth-child(odd){background:var(--soft)}
.wp-block-media-text{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center;padding:1rem;margin:0 0 1.5rem}
.wp-block-media-text.has-luminous-vivid-amber-background-color{background:var(--amber)}
.wp-block-media-text__media img{display:block;margin:0 auto}
@media (min-width:700px){.wp-block-media-text{grid-template-columns:minmax(120px,30%) 1fr}}
.wp-block-embed,.wp-block-embed__wrapper{margin:0 0 1.5rem}
.wp-block-embed iframe,.wp-block-embed__wrapper iframe{max-width:100%}
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper{position:relative;padding-top:56.25%}
.wp-block-embed.wp-embed-aspect-16-9 iframe{position:absolute;inset:0;width:100%;height:100%}
.wp-block-gallery{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1.5rem}
.wp-block-gallery .wp-block-image,.wp-block-gallery>a{flex:1 1 calc(50% - 1rem);margin:0}
@media (min-width:800px){.wp-block-gallery .wp-block-image{flex-basis:calc(33.33% - 1rem)}}
.wp-block-gallery.columns-2 .wp-block-image{flex-basis:calc(50% - 1rem)}
.wp-block-gallery img{width:100%;height:auto;display:block}
iframe{max-width:100%;border:0}
.file-block .pdf-embed{width:100%;height:600px;border:1px solid var(--rule)}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;padding:.7rem 1.4rem;border:0;font:800 14px "Libre Franklin",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.btn:hover,.btn:focus{background:#000;color:#fff}
.btn.is-disabled{background:#999;cursor:default;pointer-events:none}

/* panels on the home page */
.panel{border-top:1px solid var(--rule);margin-top:3rem;padding-top:1rem}
.post-card{margin:0 0 2.5rem}
.post-card h3{margin:.25rem 0 .75rem}
.posted{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#767676;margin:0 0 .5rem}
.more{font-weight:600}

/* carousel (replaces MetaSlider) */
.carousel{position:relative;max-width:700px;margin:0 auto 2rem;background:var(--soft)}
.slide{display:none;margin:0;padding:1rem;text-align:center}
.slide.is-active{display:block}
.slide img{max-height:450px;width:auto;margin:0 auto;display:block}
.slide figcaption{margin-top:1rem;font-size:.95rem}
.carousel-nav{display:flex;justify-content:center;gap:.75rem;padding:0 0 1rem}
.carousel-nav button{background:var(--navy);color:#fff;border:0;width:2.5rem;height:2.5rem;font-size:1.5rem;line-height:1;cursor:pointer}

/* testimonials */
.testimonial{border:1px solid var(--rule);padding:1.25rem;margin:0 0 2rem}
.testimonial h3{margin-top:0}
.t-name{font-weight:800;margin-top:1rem}
.t-link{font-size:.9rem}

/* forms */
.site-form{max-width:640px}
.site-form label{display:block;font-weight:600;margin:0 0 1rem}
.site-form input[type=text],.site-form input[type=email],.site-form textarea{display:block;width:100%;padding:.6rem;border:1px solid #bbb;font:inherit;margin-top:.25rem}
.site-form fieldset{border:0;padding:0;margin:0 0 1rem}
.site-form legend{font-weight:600;margin-bottom:.5rem}
.name-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.name-row legend{grid-column:1 / -1}
.choice{font-weight:400 !important;display:flex !important;gap:.5rem;align-items:flex-start;margin:0 0 .5rem !important}
.req{color:#b00}
.hp{position:absolute;left:-9999px}
.form-status{margin-top:1rem;font-weight:600}
.note{font-size:.9rem}

/* gear section */
.gear{margin:2.5rem 0}
.gear-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:700px){.gear-grid{grid-template-columns:1fr 1fr}}
.gear-card{border:1px solid var(--rule);padding:1.25rem;text-align:center}
.gear-photo{background:var(--soft);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:#767676;margin-bottom:1rem}
.gear-card h3{margin:.25rem 0}
.gear-amount{font-size:1.25rem;font-weight:800;margin:0 0 .5rem !important}

/* footer */
.site-footer{border-top:1px solid var(--rule);background:var(--soft);padding:2.5rem 0 1.5rem;font-size:.9rem}
.footer-cols{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:768px){.footer-cols{grid-template-columns:1fr 1fr}}
.site-footer h2{font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;color:var(--head)}
.social{list-style:none;display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;padding:1.5rem 0 0;margin:1.5rem 0 0;border-top:1px solid var(--rule)}
.site-info{text-align:center;margin:1rem 0 0;color:#666}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.lb-close{position:absolute;top:.5rem;right:1rem;background:none;border:0;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1}
[data-lightbox]{cursor:zoom-in}
@media (max-width:640px){.alignleft,.alignright{float:none;display:block;margin:0 auto 1rem}}
