/* ==========================================================================
   Inner pages: page banner + dark-theme skin for CMS / Bootstrap content
   (loaded after bootstrap.min.css and luxe.css)
   ========================================================================== */
body.inner{background:var(--bg);color:var(--cream2);font-size:1rem}
.inner #hdr{background:rgba(15,13,11,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}

/* ---------- banner ---------- */
.pg-hero{position:relative;padding:210px 0 90px;overflow:hidden;isolation:isolate;text-align:center}
.pg-bg{position:absolute;inset:-12% 0;z-index:-2;background-size:cover;background-position:center}
.pg-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,13,11,.82) 0%,rgba(15,13,11,.45) 55%,var(--bg) 100%)}
.pg-hero h1{font-size:clamp(2.4rem,5.5vw,4.6rem);margin:14px 0 8px;text-shadow:0 3px 24px rgba(0,0,0,.7)}
.pg-hero p{color:var(--cream2);max-width:640px;margin:10px auto 0}
.crumb{display:inline-flex;align-items:center;gap:14px;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.crumb a:hover{color:var(--cream)}.crumb i{font-style:normal;font-size:.6rem}.crumb span{color:var(--cream2)}

/* ---------- content shell ---------- */
.lx-body{padding:30px 0 110px;min-height:60vh}
.lx-wrap{width:min(1240px,92%);margin:0 auto}
.lx-wrap .container,.lx-wrap .container-fluid{max-width:100%;padding-left:0;padding-right:0}
.lx-wrap .row{--bs-gutter-x:1.6rem}
/* duplicate page titles (banner already shows it) */
.lx-wrap .page-wrapper>h1:first-child,.lx-wrap section>h1:first-child,.lx-wrap .row>h1:first-child{display:none}

/* typography */
.lx-wrap h1,.lx-wrap h2,.lx-wrap h3,.lx-wrap h4,.lx-wrap h5,.lx-wrap h6{font-family:var(--serif);color:var(--cream);margin:1.4em 0 .5em;line-height:1.2}
.lx-wrap h1{font-size:2.6rem}.lx-wrap h2{font-size:2.1rem;color:var(--gold2)}.lx-wrap h3{font-size:1.6rem}
.lx-wrap p,.lx-wrap li,.lx-wrap td,.lx-wrap th,.lx-wrap span,.lx-wrap div,.lx-wrap article{color:var(--cream2)}
.lx-wrap p,.lx-wrap li{font-size:1.02rem}
.lx-wrap a{color:var(--gold2);text-decoration:none;transition:color .3s}
.lx-wrap a:hover{color:#fff}
.lx-wrap hr{border:0;border-top:1px solid var(--line);opacity:1;margin:2.2rem 0}
.lx-wrap strong,.lx-wrap b{color:var(--cream)}
.lx-wrap ul,.lx-wrap ol{padding-left:1.4rem;margin-bottom:1rem}
.lx-wrap ul{list-style:none}.lx-wrap ul li{position:relative}
.lx-wrap .page-wrapper ul:not(.timeline):not(.nav):not(.pagination) li::before{content:"\2726";position:absolute;left:-1.3rem;color:var(--gold);font-size:.6rem;top:.6em}
.lx-wrap ol{list-style:decimal}
.lx-wrap img{max-width:100%;height:auto;border-radius:4px}
.lx-wrap img.img-fluid,.lx-wrap .border img{border-radius:2px}
.lx-wrap iframe{max-width:100%;border:1px solid var(--line)!important}

/* surfaces: bootstrap utility classes inside CMS/page scripts */
.lx-wrap .bg-white,.lx-wrap .bg-light,.lx-wrap .page-wrapper.bg-white,.lx-wrap .card,.lx-wrap .modal-content{background:var(--bg2)!important;color:var(--cream2)!important}
.lx-wrap .border,.lx-wrap .border-top,.lx-wrap .border-bottom,.lx-wrap .card{border-color:var(--line)!important}
.lx-wrap .rounded,.lx-wrap .card{border-radius:2px!important}
.lx-wrap .shadow,.lx-wrap .shadow-sm{box-shadow:0 18px 40px rgba(0,0,0,.45)!important}
.lx-wrap .text-dark,.lx-wrap .text-muted,.lx-wrap .text-black{color:var(--cream2)!important}
.lx-wrap .text-primary{color:var(--gold)!important}
.lx-wrap .page-wrapper,.lx-wrap .section-wrapper{padding:0;background:none}
.lx-wrap .p-3.bg-white,.lx-wrap .border.p-3{padding:26px!important}

/* tables */
.lx-wrap table{width:100%;border-collapse:collapse;margin:1.2rem 0;background:var(--bg2);border:1px solid var(--line)}
.lx-wrap th{background:rgba(201,164,92,.14);color:var(--gold2)!important;font-family:var(--serif);font-size:1.1rem;font-weight:600;letter-spacing:.04em}
.lx-wrap th,.lx-wrap td{padding:12px 16px;border:1px solid var(--line);vertical-align:top}
.lx-wrap tbody tr{transition:background .3s}
.lx-wrap tbody tr:hover{background:rgba(201,164,92,.07)}
.lx-wrap .table>:not(caption)>*>*{background:transparent;color:var(--cream2);box-shadow:none}
.lx-wrap .table-responsive,.lx-wrap .overflow-auto{overflow-x:auto}

/* forms + buttons */
.lx-wrap input[type=text],.lx-wrap input[type=search],.lx-wrap input[type=email],.lx-wrap input[type=number],.lx-wrap select,.lx-wrap textarea,.lx-wrap .form-control{background:var(--bg3);border:1px solid var(--line);color:var(--cream);padding:12px 16px;border-radius:2px;outline:0;transition:border-color .3s,box-shadow .3s}
.lx-wrap input:focus,.lx-wrap select:focus,.lx-wrap textarea:focus,.lx-wrap .form-control:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,92,.18);background:var(--bg3);color:var(--cream)}
.lx-wrap label{color:var(--gold2)!important;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem!important}
.lx-wrap input[type=submit],.lx-wrap button[type=submit],.lx-wrap .btn-dark,.lx-wrap .btn-primary,.lx-wrap .btn-secondary,.lx-wrap .btn-danger,.lx-wrap .btn-success,.lx-wrap .btn-info{background:var(--gold)!important;border:1px solid var(--gold)!important;color:#16110b!important;padding:12px 30px;font-size:.74rem!important;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;border-radius:0;transition:all .4s var(--ease)}
.lx-wrap input[type=submit]:hover,.lx-wrap button[type=submit]:hover,.lx-wrap .btn-dark:hover,.lx-wrap .btn-primary:hover,.lx-wrap .btn-secondary:hover{background:var(--cream)!important;border-color:var(--cream)!important;transform:translateY(-3px)}
.lx-wrap .btn::before{display:none}
#myform{background:var(--bg2)!important;border:1px solid var(--line);border-radius:2px!important;padding:34px!important;max-width:460px!important}
#myform label{font-size:.8rem!important}

/* ---------- gallery / video / news cards (col grids) ---------- */
.lx-wrap .row>[class*=col-]>.border,.lx-wrap .row>[class*=col-]>.card,.lx-wrap li.card{background:var(--bg2)!important;border:1px solid var(--line)!important;padding:14px!important;text-align:left!important;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s;position:relative;overflow:hidden}
.lx-wrap .row>[class*=col-]>.border:hover,.lx-wrap li.card:hover{transform:translateY(-8px);border-color:var(--gold)!important;box-shadow:0 26px 50px rgba(0,0,0,.55)!important}
.lx-wrap .row>[class*=col-] a{display:block;color:var(--cream)}
.lx-wrap .row>[class*=col-] strong{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;margin-top:14px;color:var(--cream);line-height:1.25}
.lx-wrap .row>[class*=col-] .small{color:var(--gold)!important;letter-spacing:.2em;text-transform:uppercase;font-size:.68rem!important;margin:6px 0 0;text-align:left!important}
.lx-wrap .row>[class*=col-] [style*=background-image]{height:220px!important;border:0!important;transition:transform 1.2s var(--ease);background-position:center}
.lx-wrap .row>[class*=col-]>.border a>div:first-child{overflow:hidden}
.lx-wrap .row>[class*=col-]>.border:hover [style*=background-image]{transform:scale(1.1)}
.lx-wrap .row>[class*=col-] img.img-fluid{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s var(--ease)}
.lx-wrap .row>[class*=col-]>.border:hover img.img-fluid{transform:scale(1.08)}
.lx-wrap .col-md-4,.lx-wrap .col-md-3{margin-top:0!important;margin-bottom:1.6rem}
.lx-wrap article{margin-top:18px;line-height:1.8}

/* news timeline */
.lx-wrap ul.timeline{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:0!important;margin:0!important}
.lx-wrap ul.timeline li{float:none!important;margin:0!important;padding:20px!important;position:relative}
.lx-wrap ul.timeline li::before{display:none!important}
.lx-wrap ul.timeline li a{display:block}
.lx-wrap ul.timeline li strong{color:var(--gold)!important;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-family:var(--sans)}
.lx-wrap ul.timeline li p{margin:8px 0 0;color:var(--cream)!important;font-size:1.05rem}
.lx-wrap ul.timeline li:hover{border-color:var(--gold)!important}

/* sidebar */
.lx-wrap .sidebar-menu,.lx-wrap aside{background:var(--bg2);border:1px solid var(--line);padding:26px;position:sticky;top:130px}
.lx-wrap .sidebar-menu h3,.lx-wrap aside h3{margin:0 0 16px;font-size:1.5rem;color:var(--gold2);text-align:left!important;padding-bottom:12px;border-bottom:1px solid var(--line)}
.lx-wrap aside ul{padding:0;margin:0}
.lx-wrap aside li{border-bottom:1px solid rgba(201,164,92,.12)}
.lx-wrap aside li::before{display:none!important}
.lx-wrap aside li a{display:block;padding:10px 0;font-size:.95rem;transition:all .4s var(--ease)}
.lx-wrap aside li a:hover{padding-left:10px;color:var(--gold2)}
.lx-wrap aside li a span{color:var(--gold);margin-right:8px}
.lx-wrap aside .collapse{padding-left:16px}

/* calendar */
.lx-wrap .mycalendar{background:var(--bg2);border:1px solid var(--line)}
.lx-wrap .mycalendar th{text-align:center;color:var(--gold2)!important;padding:14px}
.lx-wrap .mycalendar td,.lx-wrap .mycalendar th{border:1px solid var(--line)!important;color:var(--cream2)!important;font-size:1rem}
.lx-wrap .mycalendar td{height:96px;width:14%;transition:background .3s}
.lx-wrap .mycalendar td:hover{background:rgba(201,164,92,.1)}
.lx-wrap .mycalendar span{color:var(--gold)!important;font-family:var(--serif);font-size:1.4rem!important}
.lx-wrap .mycalendar span.no-event{color:var(--muted)!important}
.lx-wrap .mycalendar p{color:var(--cream)!important;border-top:1px solid var(--line)!important;font-size:.72rem!important;font-weight:400;line-height:1.35;padding:3px 0}
.lx-wrap .mycalendar a{color:var(--cream2)!important}
.lx-wrap .date-today{background:rgba(201,164,92,.16)!important;box-shadow:inset 0 0 0 1px var(--gold)}

/* carousel inside galleries */
.lx-wrap .owl-carousel .owl-dots{text-align:center;margin-top:14px}
.lx-wrap .owl-carousel .owl-dot span{background:var(--line)!important}
.lx-wrap .owl-carousel .owl-dot.active span{background:var(--gold)!important}
.lx-wrap .owl-carousel .owl-item img{width:100%;max-height:560px;object-fit:contain;background:#000}

/* modals / popover from bootstrap */
.modal-content{background:var(--bg2);color:var(--cream2);border:1px solid var(--line)}
.modal-header,.modal-footer{border-color:var(--line)}
.btn-close{filter:invert(1)}
.popover{background:var(--bg2);border:1px solid var(--gold)}.popover-header{background:var(--bg3);color:var(--gold2)}.popover-body{color:var(--cream2)}

@media(max-width:991px){.lx-wrap aside,.lx-wrap .sidebar-menu{position:static;margin-top:30px}.pg-hero{padding:170px 0 70px}}
@media(max-width:600px){.lx-wrap h1{font-size:2rem}.lx-wrap h2{font-size:1.6rem}.lx-wrap th,.lx-wrap td{padding:9px 10px;font-size:.9rem}.lx-wrap .mycalendar td{height:70px}}

/* homepage <section> padding must not leak into CMS content */
.lx-wrap section,.lx-body section{padding:0}
.lx-wrap .section-wrapper{margin-top:1rem}
.lx-wrap h2{margin-top:1.2em}
.lx-wrap .page-wrapper>h2:first-child,.lx-wrap .section-wrapper>h2:first-child{margin-top:0}

/* layout tables used by the CMS: no box, no border (only real data tables get the skin) */
.lx-wrap table:not(.table):not([border]):not(.mycalendar){background:none;border:0;margin:0}
.lx-wrap table:not(.table):not([border]):not(.mycalendar) th,
.lx-wrap table:not(.table):not([border]):not(.mycalendar) td{border:0;padding:6px 10px;background:none}
.lx-wrap table:not(.table):not([border]):not(.mycalendar) th{font-family:inherit;font-size:inherit;letter-spacing:0;color:var(--cream)!important}
.lx-wrap table:not(.table):not([border]):not(.mycalendar) tbody tr:hover{background:none}
.lx-wrap .h2{font-size:2.1rem;margin:1.2em 0 .5em;color:var(--gold2)}

/* border="0" tables are layout tables too */
.lx-wrap table[border="0"],.lx-wrap table[border="0"] th,.lx-wrap table[border="0"] td{background:none;border:0}
.lx-wrap table[border="0"]{margin:0}
.lx-wrap table[border="0"] td{padding:6px 10px}
.lx-wrap table[border="0"] tbody tr:hover{background:none}
.lx-wrap .page-wrapper,.lx-wrap section.page-wrapper{min-height:0!important}
.lx-wrap [style*="min-height:70vh"]{min-height:0!important}

/* ---- banner v2: sits below the header, shows the whole photo (no parallax crop) ---- */
.pg-hero{margin-top:186px;padding:60px 0;min-height:400px;display:flex;align-items:center;justify-content:center}
.pg-hero>.wrap{width:100%}
.pg-bg{inset:0;background-size:cover}
.pg-hero::before{background:linear-gradient(180deg,rgba(15,13,11,.35) 0%,rgba(15,13,11,.18) 45%,rgba(15,13,11,.78) 100%)}
.pg-hero h1,.crumb{text-shadow:0 2px 8px rgba(0,0,0,.9),0 4px 28px rgba(0,0,0,.8)}
.crumb span,.crumb a{color:var(--gold2)}
@media(max-width:1080px){.pg-hero{margin-top:90px;min-height:300px}}

/* principal's message page: portrait beside the text */
.prin-fig{float:left;width:300px;margin:6px 44px 24px 0;text-align:center}
.prin-fig-frame{padding:10px;border:1px solid var(--gold);border-radius:150px 150px 0 0}
.prin-fig-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:140px 140px 0 0!important;display:block}
.prin-fig figcaption{background:var(--gold);color:#16110b;padding:12px 16px;margin-top:-1px}
.prin-fig figcaption b{display:block;font-family:var(--serif);font-size:1.25rem;line-height:1.1;color:#16110b}
.prin-fig figcaption span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#16110b}
.prin-page h3{margin-top:0}
.prin-page p{line-height:1.85}
@media(max-width:700px){.prin-fig{float:none;margin:0 auto 26px;width:260px}}

/* CMS tables carry inline light backgrounds/borders (e.g. staff-list #fcefef); force the dark theme (data tables only) */
.lx-wrap table:not(.mycalendar):not([border="0"]),.lx-wrap table:not(.mycalendar):not([border="0"]) tbody,.lx-wrap table:not(.mycalendar):not([border="0"]) tr,.lx-wrap table:not(.mycalendar):not([border="0"]) td,.lx-wrap table:not(.mycalendar):not([border="0"]) th{background-color:transparent!important;color:var(--cream2)!important;border-color:var(--line)!important;border-style:solid!important}
.lx-wrap table:not(.mycalendar):not([border="0"]){background-color:var(--bg2)!important}
.lx-wrap table:not(.mycalendar):not([border="0"]) th,.lx-wrap table:not(.mycalendar):not([border="0"]) td strong{color:var(--gold2)!important}
.lx-wrap table:not(.mycalendar):not([border="0"]) tr{height:auto!important}
.lx-wrap table:not(.mycalendar):not([border="0"]) td a.btn{color:#111!important}

/* gallery carousel: left / right arrows */
.lx-wrap .owl-carousel{position:relative}
.lx-wrap .owl-carousel .owl-nav{margin:0}
.lx-wrap .owl-carousel .owl-nav .owl-prev,
.lx-wrap .owl-carousel .owl-nav .owl-next{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;
  background:rgba(15,13,11,.7)!important;border:1px solid var(--gold)!important;color:var(--gold)!important;display:grid;place-items:center;
  padding:0;line-height:1;cursor:pointer;z-index:5;transition:background .3s,color .3s,transform .3s}
.lx-wrap .owl-carousel .owl-nav .owl-prev{left:14px}
.lx-wrap .owl-carousel .owl-nav .owl-next{right:14px}
.lx-wrap .owl-carousel .owl-nav [class*=owl-] span{font-size:2.3rem;line-height:1;margin-top:-4px;display:block}
.lx-wrap .owl-carousel .owl-nav .owl-prev:hover,
.lx-wrap .owl-carousel .owl-nav .owl-next:hover{background:var(--gold)!important;color:#16110b!important;transform:translateY(-50%) scale(1.08)}
.lx-wrap .owl-carousel .owl-nav.disabled{display:none}
@media(max-width:700px){.lx-wrap .owl-carousel .owl-nav .owl-prev,.lx-wrap .owl-carousel .owl-nav .owl-next{width:42px;height:42px}.lx-wrap .owl-carousel .owl-nav [class*=owl-] span{font-size:1.8rem}}