*{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;}
body{margin:0;padding:0;margin-top:15px;font-family:San serif,serif;background:#001000;color:#333}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;}
a:focus{outline:3px solid #FF5733;outline-offset:4px;}
html{interpolate-size:allow-keywords;}
hr{border:0;border-top:1px solid #bbb;margin-bottom:30px;}
h1{color:#316e66;font:22px/26px "Times New Roman",Times,serif;margin:10px 0 6px;padding-left:2px;text-transform:uppercase;}
h2{color:#2F5271;font:20px/24px "Times New Roman",Times,serif;margin:14px 0 20px;padding-left:2px;text-transform:uppercase;}
iframe{width:100% !important;max-width:none !important;border:none;}
.bottom{clear:both;}

/* ---------- gallery: species rows & photo thumbs ---------- */
.hotspot-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:center;}
.page-header{text-align:center;margin-bottom:3rem;}
.page-header2 h1{font-size:2rem;font-weight:700;letter-spacing:-0.03em;color:#333;}
.page-header p{margin-top:0.4rem;color:#64748b;font-size:0.9rem;}
.category-section{max-width:1100px;margin:0 auto 3.5rem;text-align:center;}
.category-title{display:inline-block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:#6366f1;margin-bottom:1.2rem;padding-bottom:0.5rem;border-bottom:2px solid #6366f1;}
.species-row{display:flex;flex-wrap:nowrap;gap:6px;margin-bottom:0.5rem;align-items:flex-start;justify-content:center;}
.species-block{display:flex;flex-direction:column;align-items:center;flex:0 1 auto;min-width:0;}
.species-name{font-size:0.82rem;font-weight:600;color:#a5b4fc;text-align:center;margin-bottom:0.55rem;font-style:italic;letter-spacing:0.01em;padding:0 0.4rem;white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.image-strip{display:flex;gap:6px;min-width:0;}
.photo-thumb{position:relative;flex:0 1 200px;max-width:200px;min-width:0;aspect-ratio:5/4;border-radius:8px;overflow:hidden;background:#1a2035;border:1px solid #1e2433;transition:transform 0.2s,box-shadow 0.2s;}
.photo-thumb:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(99,102,241,0.25);border-color:#6366f1;z-index:1;}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-thumb .img-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.75));color:#cbd5e1;font-size:0.65rem;padding:1rem 0.4rem 0.3rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity 0.2s;}
.photo-thumb:hover .img-label{opacity:1;}
.photo-thumb img.broken{opacity:0;}
.photo-thumb .placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#334155;font-size:0.7rem;gap:0.3rem;}
.photo-thumb .placeholder span{font-size:1.8rem;}
.species-divider{width:1px;align-self:stretch;background:#1e2433;margin:0 10px;flex-shrink:0;}
.error-box{background:#1a0f0f;border:1px solid #7f1d1d;border-radius:10px;padding:1.2rem 1.5rem;color:#fca5a5;font-size:0.88rem;max-width:700px;margin:2rem auto;}

/* ---------- lightbox ---------- */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:1000;align-items:center;justify-content:center;flex-direction:column;gap:1rem;cursor:zoom-out;}
#lightbox.open{display:flex;}
#lightbox img{max-width:90vw;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 0 60px rgba(0,0,0,0.8);}
#lightbox .lb-caption{color:#94a3b8;font-size:0.85rem;font-style:italic;}
#lightbox .lb-close{position:fixed;top:1.2rem;right:1.5rem;font-size:1.8rem;color:#64748b;cursor:pointer;line-height:1;}
#lightbox .lb-close:hover{color:#e2e8f0;}

/* ---------- layout / header table ---------- */
.header{width:100%;height:100%;top:0;left:0;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-position:center;}
.table{display:table;padding:5px;margin:5px;width:95%;max-width:960px;margin-left:auto;margin-right:auto;}
.row{display:table-row;vertical-align:top;padding-bottom:5px;border-left:0;}
.cellh{display:table-cell;vertical-align:top;text-align:center;margin:1px;}
.td{width:100px;font-style:italic;}
.rows{display:flex;}
.columns{flex:1px;padding:0px;}

/* ---------- dropdown ---------- */
.dropdown-content{display:none;position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgb(0 0 0 / .2);z-index:1;}
.dropdown-content a{color:#000;padding:4px 16px;text-decoration:none;display:block;text-align:left;}
.dropdown-content a:hover{background-color:#005A7A;}
.dropdown-content li.active a{color:#fff;}
.dropdown:hover .dropdown-content{display:block;}

/* ---------- nav ---------- */
ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;}
li a, .dropbtn{display:inline-block;color:#fff;text-align:center;padding:4px 6px;text-decoration:none;}
li a:hover, .dropdown:hover .dropbtn{color:#39f;}
li.dropdown{display:inline-block;}
.logo .script{font-size:46px;font-style:italic}
.logo .small{letter-spacing:6px;font:700 14px sans-serif}
.nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:4px 2px;}
.nav ul{display:flex;gap:2px;list-style:none;font:200 10px sans-serif;padding-right:40px;}
.nav li{float:left;font-size:10px;}
.nav div{padding-top:10px;padding-left:30px;padding-right:40px;}
.active{border-bottom:3px solid #93a93c;padding-bottom:3px;}

/* ---------- hero ---------- */
.header-bird{background-image:url('https://bryancotter.com/images/fp-bw-big.webp');background-repeat:no-repeat;background-position:right center;background-size:cover;width:100%;height:400px;}
.header-nobird{background-color:#575757;}
.hero{color:#fff}
.hero-inner{display:flex;align-items:center;justify-content:space-between;padding:30px;max-width:960px;margin:auto;color:#fff;}
.copy h1{font-size:36px;line-height:1.05;margin:0;text-align:left;color:#fff;text-transform:none;}
.copy p{font-size:16px;text-align:left;}
.copy2 h2{font-size:26px;line-height:1.05;margin:0;text-align:left;color:#fff;text-transform:none;}
.copy2{font-size:12px;gap:10px;padding:10px 0 5px 40px;}

/* ---------- tours strip ---------- */
.tours{display:flex;justify-content:center;align-items:center;gap:20px;width:100%;max-width:600px;margin:auto;color:#fff;background-color:#253816;border-radius:5px;padding:3px;}
.left-box{flex:2;}
.right-box{flex:1;}

/* ---------- species page ---------- */
.species h1{font-size:32px;line-height:1.05;margin:0;text-align:left;color:#000;text-transform:none;}
.species h5{font-size:14px;font-family:arial;text-align:left;color:#000;text-transform:none;}
.species h6{font-size:10px;font-family:arial;text-align:left;color:#000;text-transform:none;}
.species p{font-size:14px;font-family:arial;text-align:left;}
.subimgs{display:flex;justify-content:space-between;max-width:600px;width:100%;}
.box{flex:1;max-width:31%;}
.box img{width:100%;display:block;height:auto;border-radius:8px;}
.imgside{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px;max-width:600px;margin:0 auto;}

/* ---------- buttons ---------- */
.btn{display:inline-block;border:2px solid #fff;padding:6px 10px;margin-right:10px;font:700 12px sans-serif;color:#fff;}
.btn2{display:inline-block;border:2px solid #fff;padding:6px 10px;margin-right:10px;font:700 10px sans-serif;color:#fff;}
.primary{background:#7d9b3c;border-color:#7d9b3c;color:#fff;}

/* ---------- home: features / featured / birds ---------- */
.bird img{max-width:700px;width:100%}
.features{display:flex;justify-content:center;grid-template-columns:repeat(4,1fr);background:#0f291c;padding:10px 20px;gap:10px;color:#fff;text-align:left;}
.feat{align:center;width:960px;background-color:#fff;padding-top:10px;}
.featured{display:flex;justify-content:center;grid-template-columns:repeat(4,1fr);background:#fff;padding:10px 20px;gap:10px;text-align:left;margin:0;}
.featured h5{font-size:14px;line-height:1.05;margin:0;text-align:left;color:#000;text-transform:none;padding:5px;}
.featured h6{font-size:12px;line-height:1.05;margin:0;text-align:left;color:#000;text-transform:none;padding:5px;}
.featured p{font-size:12px;text-align:left;padding:5px;}
.birds{display:flex;justify-content:center;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));background:#fff;padding:5px 5px;gap:5px;text-align:left;margin:0;max-width:800px;}
.birds h5{font-size:14px;line-height:1.05;margin:0;text-align:left;color:#000;text-transform:none;padding:5px;}
.birds p{font-size:12px;text-align:left;padding:5px;}
.birds div div{padding:0;}
.birds div{width:220px;margin:0;padding:0;}

/* ---------- birds index / gallery boxes ---------- */
.bird-body{font-family:Arial, Helvetica, sans-serif;margin:30px;background:#f5f5f5;}
.gallery-container{display:grid;gap:20px;padding:20px;background:#999;}
.gallery-category-box{display:grid;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.15);place-items:center;}
.gallery-category-box h2{margin-top:0;padding-bottom:10px;border-bottom:2px solid #ccc;color:#333;}
.gallery-species-list{list-style:none;margin:0;padding:0;}
.gallery-species-list li{padding:5px 0;display:block;align-items:center}
.gallery-species-list a{text-decoration:none;color:#0066cc;}
.gallery-species-list a:hover{text-decoration:underline;}
.bird-container{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px;background:#999;}
.bird-category-box{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.15);}
.bird-category-box h2{margin-top:0;padding-bottom:10px;border-bottom:2px solid #ccc;color:#333;}
.hotspot-img{display:block;width:100%;height:auto;margin:12px 0;border-radius:6px;}
.bird-species-list{list-style:none;margin:0;padding:0;}
.bird-species-list li{padding:5px 0;}
.bird-species-list a{text-decoration:none;color:#0066cc;}
.bird-species-list a:hover{text-decoration:underline;}
.floated-box{float:left;margin:10px;max-width:306px;background-color:#999;padding:20px;}
.inner-div{text-wrap:balance;text-wrap:pretty;padding:20px;}
@media (max-width:900px){.bird-container{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.bird-container{grid-template-columns:1fr;}}

/* ---------- image fills / cards / misc ---------- */
.fill{display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:5px 5px 0 0;}
.fill img{flex-shrink:0;min-width:100%;min-height:100%}
.oldimg{border-radius:5px 5px 0 0;overflow:hidden;object-fit:cover;}
.gallery{padding:40px}
.gallery h2{text-align:center;letter-spacing:3px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:#fff;border:1px solid #ddd}
.card img{width:100%;height:220px;object-fit:cover}
.card h3,.card p{padding:0 18px}
.cta{background:url("images/sunset.jpg") center/cover;height:360px;display:flex;align-items:center}
.overlay{padding:60px;color:#fff;background:rgba(0,0,0,.2)}
.birding{text-align:left;color:#fff;text-transform:none;background-image:url('https://bryancotter.com/images/fp-blgb.webp');background-size:cover;background-repeat:no-repeat;background-position:center center;height:160px;}
.grid-container{display:grid;gap:10px;width:100%;max-width:700px;margin:0 auto;justify-content:center;border:1px solid gray;overflow:auto;}
.top-row{padding:10px;text-align:left;font-size:14px;}
.bottom-row{display:grid;grid-template-columns:repeat(9,1fr);gap:15px;}
.bottom-row > div{padding:5px;text-align:center;font-size:12px;}
.bottom.symbol{flex-shrink:0;padding:20px 5px;}

/* ---------- footer (the two footer rules merged into one) ---------- */
footer{text-align:center;margin-top:3rem;font-size:0.75rem;background:#08131d;color:#fff;padding:40px;}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ---------- responsive: stack the main layout containers ---------- */
@media (max-width:960px){
	.hero-inner,.nav,.features,.cards,.cols{display:block;}
}

/* ============================================================================
   Shared inner-page card (contact, tours, and any future content pages)
   ============================================================================ */
.bcp-page{max-width:820px;margin:24px auto;background:#fff;border-radius:10px;padding:34px 32px;color:#333;line-height:1.6;font-family:Arial,Helvetica,sans-serif;}
.bcp-page h1{color:#316e66;font-family:"Times New Roman",Times,serif;font-size:30px;text-transform:none;margin:0 0 14px;}
.bcp-page h2{color:#2F5271;font-family:"Times New Roman",Times,serif;font-size:22px;text-transform:none;margin:26px 0 10px;}
.bcp-page p{margin:0 0 14px;font-size:16px;}
.bcp-page ul{display:block;margin:0 0 14px 22px;list-style:disc;}
.bcp-page li{margin:0 0 7px;font-size:16px;color:#333;display:list-item;text-align:left;float:none;}
.bcp-page a{color:#3a6ea5;}
.bcp-page .bcp-tourlink{display:inline-block;text-decoration:none;text-align:center;margin-top:10px;}
.bcp-page .bcp-tourlink img{width:240px;max-width:100%;height:auto;margin:0 auto 8px;border-radius:6px;}
.bcp-page .bcp-tourlink span{display:inline-block;color:#7d9b3c;font-weight:700;letter-spacing:.02em;font-size:16px;}
.bcp-page .bcp-tourlink:hover span{text-decoration:underline;}
.bcp-lead{font-size:16px;color:#444;line-height:1.6;margin:0 0 18px;}
.bcp-contact{background:#f3f6ee;border:1px solid #d9e2c9;border-radius:8px;padding:16px 18px;margin:0 0 22px;font-size:15px;line-height:1.7;}
.bcp-contact strong{color:#316e66;}
.bcp-contact a{color:#3a6ea5;}
.bcp-form{display:grid;gap:14px;margin:8px auto 0;max-width:440px;}
.bcp-field{display:grid;gap:5px;justify-items:start;}
.bcp-field label{font-size:13px;font-weight:600;color:#316e66;text-align:left;letter-spacing:.02em;}
.bcp-field input,.bcp-field select,.bcp-field textarea{width:100%;padding:11px 12px;font-size:16px;font-family:inherit;color:#333;background:#fff;border:1px solid #bbb;border-radius:6px;}
.bcp-field textarea{min-height:130px;resize:vertical;}
.bcp-field input:focus,.bcp-field select:focus,.bcp-field textarea:focus{outline:none;border-color:#7d9b3c;box-shadow:0 0 0 3px rgba(125,155,60,.2);}
.bcp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.bcp-send{justify-self:start;background:#7d9b3c;color:#fff;border:0;border-radius:6px;font-weight:700;letter-spacing:.03em;font-size:16px;padding:12px 26px;cursor:pointer;}
.bcp-send:hover{background:#6b8730;}
.bcp-banner{padding:12px 14px;border-radius:8px;font-weight:600;}
.bcp-ok{background:#e6f6ec;color:#1d6b3a;border:1px solid #b7e4c7;}
.bcp-err{background:#fdecea;color:#a8322b;border:1px solid #f5c6c2;}
@media(max-width:600px){.bcp-page{margin:14px;padding:22px 18px;}}

/* ---------- species page: clickable main photo + thumbnail strip ---------- */
.sp-main{width:600px;max-width:100%;height:auto;border-radius:8px;display:block;cursor:default;transition:transform .2s ease;}
.sp-main:hover{transform:scale(1.03);}
.sp-thumbs{display:flex;gap:8px;flex-wrap:wrap;max-width:600px;margin:12px auto 0;}
.sp-thumb{flex:1 1 0;min-width:64px;height:auto;object-fit:cover;border-radius:6px;border:2px solid transparent;cursor:pointer;display:block;transition:border-color .15s;}
.sp-thumb:hover{border-color:#a7c05a;}
.sp-thumb.is-active{border-color:#7d9b3c;}

/* ---------- species page: stack info + photos on mobile ---------- */
.sp-layout{display:flex;justify-content:center;gap:15px;width:100%;}
.sp-layout>div:first-child{width:250px;flex:0 0 auto;}
.sp-layout>div:last-child{flex:0 1 auto;min-width:0;}
@media(max-width:640px){.sp-layout{flex-direction:column;align-items:center;}}
@media(max-width:640px){.sp-layout>div{width:100% !important;max-width:600px;flex:none;}}
@media(max-width:640px){.sp-layout>div:first-child{order:2;}}
@media(max-width:640px){.sp-layout>div:last-child{order:1;}}
@media(max-width:600px){.bottom-row{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;}}

@media(max-width:980px){body{padding-left:16px;padding-right:16px;}}

.page-bg{background:#fff;padding:0 16px;}

@media(max-width:400px){.page-bg{padding:0 6px;}.species-row{gap:3px;}.image-strip{gap:3px;}}

@media(max-width:400px){.species-name{min-height:3.6em;display:flex;align-items:flex-end;justify-content:center;}}

.image-strip{flex-wrap:wrap;justify-content:center;max-width:100%;}
@media(max-width:980px){.page-bg{padding:0;}}
@media(max-width:520px){.species-row{flex-wrap:wrap;}}

.gallery-search{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:12px 0 6px}
.gallery-search input{padding:9px 12px;font-size:15px;border:1px solid #bbb;border-radius:6px;min-width:240px;max-width:100%}
.gallery-search button{padding:9px 18px;font-size:15px;font-weight:700;color:#fff;background:#7d9b3c;border:0;border-radius:6px;cursor:pointer}
.gallery-search button:hover{background:#6b8730}
.gallery-search-clear{align-self:center;font-size:13px;color:#a5b4fc}