/* Shared public branding; isolated from membership forms and admin. */
html:not(.tos-aos-ready) [data-aos] { opacity:1!important;transform:none!important;transition:none!important; }
@media(prefers-reduced-motion:reduce){[data-aos]{opacity:1!important;transform:none!important;transition:none!important}}
@media print{[data-aos]{opacity:1!important;transform:none!important;transition:none!important}}
.tos-main-site,.membership-public { padding-top:var(--tos-header-height,160px)!important; }
.tos-main-site { background:#fff; color:#282828; font-family:Inter,Arial,Helvetica,sans-serif; }
.tos-public-header { background:#fff; position:fixed; inset:0 0 auto; z-index:100; font-family:Inter,Arial,Helvetica,sans-serif; }
.tos-brand-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:10px; padding-bottom:10px; }
.tos-brand img { display:block; width:min(100%,527px); height:auto; }
.tos-brand-actions { display:flex; gap:8px; flex-shrink:0; padding:15px 10px; background:#434343; border-radius:10px; }
.tos-brand-actions a { display:block; border-radius:6px; padding:8px 20px; background:#fe7b11; color:#fff!important; font-size:16px; font-weight:400; text-decoration:none; }
.tos-brand-actions a:hover { background:#b90000; }
.tos-public-nav { background:#282828; color:#fff; }
.tos-public-nav ul { padding:0; margin:0; list-style:none; }
.tos-public-nav #tos-menu { display:flex; align-items:stretch; justify-content:space-between; flex-wrap:wrap; }
.tos-public-nav li { margin:0; }
.tos-public-nav a,.tos-public-nav summary { display:block; padding:11px 8px; color:#fff!important; cursor:pointer; font-size:16px; font-weight:400; text-decoration:none; }
.tos-public-nav a:hover,.tos-public-nav summary:hover { color:#fe7b11!important; }
.tos-public-nav details { position:relative; }
.tos-public-nav details>ul { position:absolute; min-width:235px; background:#b90000; box-shadow:0 8px 20px #0003; z-index:200; }
.tos-public-nav details>ul a:hover { background:#282828; color:#fff!important; }
.tos-public-nav details>ul a { padding:10px 14px; }
.tos-menu-toggle { display:none; flex:0 0 44px; width:44px; height:44px; border:0; border-radius:4px; color:#555; background:transparent; margin:0; padding:10px; align-items:center; justify-content:center; }
.tos-hamburger,.tos-hamburger::before,.tos-hamburger::after { display:block; width:24px; height:2px; background:currentColor; }
.tos-hamburger { position:relative; }.tos-hamburger::before,.tos-hamburger::after { content:''; position:absolute; left:0; }.tos-hamburger::before { top:-7px; }.tos-hamburger::after { top:7px; }
.tos-drawer-heading,.tos-menu-backdrop,.tos-public-nav #tos-menu>li.tos-mobile-action { display:none; }
.tos-public-nav details:not([open])>ul { display:none; }
.tos-public-nav summary { list-style:none; }.tos-public-nav summary::-webkit-details-marker { display:none; }.tos-public-nav summary::after { content:'▾'; display:inline-block; margin-left:8px; }.tos-public-nav details[open]>summary::after { content:'▴'; }
.tos-menu-toggle:focus-visible,.tos-menu-close:focus-visible,.tos-public-nav a:focus-visible,.tos-public-nav summary:focus-visible { outline:3px solid #fe7b11; outline-offset:-3px; }
.tos-public-footer { background:#434343; color:#fff; margin-top:0; font-size:16px; font-family:Inter,Arial,Helvetica,sans-serif; }
.tos-public-footer .footer { padding:40px 0; color:white; background:#434343; }
.tos-public-footer ul { list-style:none; padding:0; margin:0; }
.tos-public-footer p { margin:0; }.tos-public-footer h4{font-size:19px;margin:0 0 18px;color:#fff}
.tos-public-footer a { color:#fff!important; text-decoration:none; }.tos-public-footer a:hover{text-decoration:underline}
.tos-public-footer li{margin-bottom:10px}.tos-public-footer .footer_sec_one{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.tos-public-footer .footer_sec_one>div:first-child{width:min(100%,600px)}.tos-public-footer .footer_sec_one img{max-width:600px;width:100%;height:auto}.tos-public-footer .social-icons ul{display:flex;gap:18px;flex-wrap:wrap;filter:none}.tos-public-footer .social-icons a{display:flex!important;align-items:center;justify-content:center;width:45px!important;height:50px!important}.tos-public-footer .social-icons img{width:45px;height:45px;filter:invert(1)}
.tos-public-footer ul{line-height:28px}.tos-public-footer h4{position:relative}.tos-public-footer h4::after{content:'';position:absolute;left:0;bottom:-5px;width:50px;border-bottom:1px solid}.tos-public-footer hr{opacity:1;margin-bottom:30px}
.tos-public-footer .row img{width:22px;height:22px;object-fit:contain;float:left;margin-right:10px}.tos-public-footer .copyright{background:#282828;padding:18px 0}.tos-public-footer .copyright .container{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.tos-public-footer [data-scroll-top]{position:fixed;right:18px;bottom:18px;background:#b90000;color:white;border:0;padding:10px 14px;border-radius:5px;z-index:99}
.tos-main-site #site-content img{max-width:100%;height:auto}.tos-main-site #site-content iframe{max-width:100%}
.tos-main-site .directory-page h1{margin-bottom:18px}.tos-main-site .directory-page p{line-height:1.6}.tos-main-site .directory-page .card{box-shadow:none;border:1px solid #ddd;border-radius:5px}
.tos-main-site .card.site-expanded{width:100%!important}.tos-main-site .site-expanded-column{width:100%!important;flex:0 0 100%!important}
.tos-main-site [data-source-unavailable]{position:relative}.tos-main-site a[data-source-unavailable]::after{content:' (source unavailable)';font-size:.78em}
.tos-main-site .carousel-item img{object-fit:contain}.tos-main-site .fa-arrow-up::before{content:'↑'}.tos-main-site .fa-download::before{content:'↓'}
:target { scroll-margin-top:calc(var(--tos-header-height,160px) + 20px); }
@media(max-width:991.98px){
    .tos-main-site,.membership-public { padding-top:var(--tos-header-height,76px)!important; }
    .tos-public-header .tos-brand-row { flex-direction:row; gap:12px; min-height:76px; }
    .tos-brand { display:block; flex:1 1 auto; min-width:0; }.tos-brand img { width:100%; max-width:480px; }
    .tos-public-header .tos-brand-actions { display:none; }
    html.tos-navigation-ready .tos-menu-toggle { display:flex; }
    .tos-public-nav { background:#343a40; }
    .tos-public-nav #tos-menu { display:block; width:100%; max-height:none; overflow:visible; }
    .tos-public-nav #tos-menu>li,.tos-public-nav details>ul>li { display:block; width:100%; float:none; }
    .tos-public-nav details>ul { position:static; min-width:0; width:100%; box-shadow:none; padding:0; }
    .tos-public-nav details>ul a { padding:10px 14px; white-space:normal; overflow-wrap:anywhere; }
    .tos-public-nav a,.tos-public-nav summary { padding:12px 0; font-size:15px; white-space:normal; }
    .tos-public-nav #tos-menu>li.tos-mobile-action { display:block; margin:8px 0; }
    .tos-public-nav .tos-mobile-action a { background:#b90000; color:#fff!important; text-align:center; padding:10px; }
    /* Closed from the first paint, even before deferred site.js initializes. */
    .tos-public-nav { position:fixed; top:var(--tos-header-height,76px); right:0; bottom:0; width:40%; min-width:220px; max-width:calc(100vw - 32px); padding:0 16px 24px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; transform:translateX(100%); visibility:hidden; transition:none; box-shadow:-8px 0 24px #0002; }
    html.tos-navigation-ready .tos-public-nav { transition:transform .3s ease-in-out,visibility 0s .3s; }
    html.tos-navigation-ready .tos-public-nav.is-open { transform:translateX(0); visibility:visible; transition:transform .3s ease-in-out,visibility 0s; }
    html.tos-navigation-ready .tos-public-nav>.container { width:100%; max-width:none; padding:0; }
    html.tos-navigation-ready .tos-drawer-heading { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ffffff30; padding:4px 0; }
    .tos-menu-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:#fff; font-size:30px; }
    html.tos-navigation-ready .tos-menu-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:99; background:#0003; }
    html.tos-menu-open,body.tos-menu-open { overflow:hidden; }
    .tos-public-footer .footer_sec_one { flex-direction:column; align-items:flex-start; }
}
@media(max-width:575px){.tos-brand img{max-width:100%}.tos-public-footer .row>div{margin-bottom:24px}.tos-main-site table{display:block;overflow-x:auto;max-width:100%}}
@media(max-width:540px){.tos-public-nav{width:50%}}
@media(max-width:432px){.tos-public-nav{width:70%}}
@media(prefers-reduced-motion:reduce){html.tos-navigation-ready .tos-public-nav,html.tos-navigation-ready .tos-public-nav.is-open{transition:none}}
@media print{.tos-public-header,.tos-public-footer,.no-print{display:none!important}.tos-main-site,.membership-public{padding-top:0!important}.d-print-block img{max-width:100%;height:auto}}
/* Original upward bulletin cycle, driven locally by site.js, without polling. */
.tos-main-site .section_1 { height:auto!important; }
.tos-main-site .section_1 .carousel-item img { width:100%; max-height:480px; object-fit:contain; background:#f1f1f1; }
.tos-main-site .bulliten_sec { padding:24px 0; }
.tos-main-site .ticker.ticker1,.tos-main-site .ticker.ticker2 { height:150px!important; overflow:hidden!important; position:relative; }
.tos-main-site .ticker ul { padding-top:0; position:relative!important; top:0!important; margin:0; }
.tos-main-site .ticker[data-ticker-paused] { overflow-y:auto!important; }
.tos-ticker-toggle { display:block;margin-top:12px;border:1px solid #b90000;border-radius:4px;background:#fff;color:#b90000;font-size:12px;padding:3px 8px; }
.tos-main-site .st_annual a { display:block; padding:10px 12px; }
.tos-main-site .ts_apthamology { margin-top:28px!important; }
@media(max-width:767px){.tos-main-site .ticker.ticker1{margin:16px 0}.tos-main-site .section_1 .carousel-item img{max-height:260px}.tos-main-site .bulliten_sec .annual{margin-top:20px}}
.tos-main-site .contact_us,.tos-main-site .downloads { height:auto!important; min-height:55vh; }
.tos-main-site .contact_us .contact { margin:30px 0; }
.tos-main-site .contact_us .president_imgs .about_img { margin:16px 10px; }
.tos-main-site .contact_us .president_imgs .about_img::after { inset:-8px 8px 8px -8px; height:auto!important; width:auto!important; }
.tos-main-site .contact_us .about_img img { width:140px!important; height:140px!important; object-fit:contain; }
@media(max-width:767px){.tos-main-site .contact_us .president_imgs{gap:24px;margin:0}.tos-main-site .contact_us .pre_flex{display:block}.tos-main-site .contact_us .address{margin-left:0}.tos-main-site .contact_us .contact .line{margin-bottom:0}.tos-main-site .contact_us .row>div{min-width:0}.tos-main-site .contact_us p{overflow-wrap:anywhere}}

/* Match the legacy member directory without changing the shared header/footer. */
.tos-main-site .directory-breadcrumb{background:#999;color:#fff;font-size:14px}
.tos-main-site .directory-breadcrumb .container{display:flex;justify-content:space-between;gap:12px;padding-top:7px;padding-bottom:7px}
.tos-main-site .directory-breadcrumb a{color:inherit}
.tos-main-site .directory-legacy{padding-top:38px;padding-bottom:38px}
.tos-main-site .directory-legacy h1{color:#c10404;font-size:25px;line-height:30px;font-weight:700;margin-bottom:18px}
.tos-main-site .directory-search-title{color:#c10404;font-size:21px;font-weight:700;border-bottom:1px solid #222;width:208px;padding-bottom:10px;margin-bottom:28px}
.tos-main-site .directory-search-help{font-size:16px;font-weight:700;margin-bottom:18px}
.tos-main-site .directory-search-help span{color:#c10404}
.tos-main-site .directory-search-row{display:grid;grid-template-columns:minmax(0,1.15fr) auto minmax(0,1.15fr) auto minmax(0,.95fr) auto;gap:12px;align-items:center}
.tos-main-site .directory-search-row input{width:100%;min-width:0;height:35px;border:1px solid #8c9b9d;border-radius:3px;font-size:13px;padding:6px 18px}
.tos-main-site .directory-orange-button{display:inline-block;background:#ff850b;color:#fff;border:0;border-radius:3px;padding:8px 15px;font-size:14px;line-height:20px;text-decoration:none;white-space:nowrap}
.tos-main-site .directory-orange-button:hover,.tos-main-site .directory-orange-button:focus-visible{background:#e97300;color:#fff}
.tos-main-site .directory-clear{display:inline-block;margin-top:12px;color:#c10404}
.tos-main-site .directory-results-title{font-size:16px;font-weight:700;margin:62px 0 22px;scroll-margin-top:180px}
.tos-main-site .directory-alphabet{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 28px}
.tos-main-site .directory-alphabet a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:36px;padding:6px 10px;border:1px solid #c10404;border-radius:3px;color:#c10404;text-decoration:none;font-size:14px;font-weight:600}
.tos-main-site .directory-alphabet a:hover,.tos-main-site .directory-alphabet a.is-active{color:#fff;background:#c10404}
.tos-main-site .directory-alphabet a:focus-visible{outline:2px solid #222;outline-offset:2px}
@media(max-width:767px){.tos-main-site .directory-alphabet a{min-width:40px;min-height:44px}.tos-main-site .directory-results-title{scroll-margin-top:100px}}
.tos-main-site .directory-table-scroll{max-width:100%;overflow-x:auto}
.tos-main-site .directory-table{width:100%;min-width:780px;margin:0;font-size:13px}
.tos-main-site .directory-table thead th{background:#c10404;color:#fff;font-weight:700;padding:10px 8px}
.tos-main-site .directory-table td{padding:10px 8px;vertical-align:middle;overflow-wrap:anywhere}
.tos-main-site .directory-table th:nth-child(1){width:13.5%}
.tos-main-site .directory-table th:nth-child(2){width:21%}
.tos-main-site .directory-table th:nth-child(3){width:8.5%}
.tos-main-site .directory-table th:nth-child(4){width:19%}
.tos-main-site .directory-table th:nth-child(5){width:24%}
.tos-main-site .directory-table th:nth-child(6){width:14%}
.tos-main-site .directory-photo{display:block;width:80px;height:auto;max-height:140px;object-fit:contain;padding:2px;border:1px solid #ddd}
.tos-main-site .directory-profile-button{padding:9px 15px}
.tos-main-site .directory-pagination{margin-top:22px}
@media(max-width:767px){.tos-main-site .directory-search-row{grid-template-columns:minmax(0,1fr)}.tos-main-site .directory-search-or{text-align:center}.tos-main-site .directory-search-row button{justify-self:start}.tos-main-site .directory-legacy{padding-top:28px}.tos-main-site .directory-results-title{margin:34px 0 28px}.tos-main-site .directory-breadcrumb .container{flex-wrap:wrap}.tos-main-site .directory-table{display:table}.tos-main-site .directory-table-scroll{overscroll-behavior-x:contain}}

/* Registration-only legacy palette. Field markup, validation and payment flow are unchanged. */
.membership-public.tos-registration-legacy{--red:#934545;background:#fff;color:#333}
.tos-registration-legacy .tos-title-bar{background:#525050;padding:10px 0}
.tos-registration-legacy .tos-title-bar h1{font-size:24px;font-weight:500}
.tos-registration-legacy .tos-title-bar .tos-login{background:#934545;border:0;border-radius:0;font-size:16px;font-weight:400;padding:10px 24px}
.tos-registration-legacy .tos-title-bar .tos-login:hover{background:#7c3838;color:#fff}
.tos-registration-legacy .tos-form{padding:0;border:0;border-radius:0;background:#fff}
.tos-registration-legacy .tos-section h2{background:#934545;color:#fff;border:0;border-radius:0;font-size:18px;font-weight:500;line-height:1.2;padding:6px 8px;margin-bottom:14px}
.tos-registration-legacy .tos-form .form-label{color:#333;font-size:14px;font-weight:700;margin-bottom:5px}
.tos-registration-legacy .tos-form .form-control,.tos-registration-legacy .tos-form .form-select{min-height:34px;border:1px solid #ccc;border-radius:4px;background-color:#fff;color:#555;font-size:14px;padding:6px 12px;box-shadow:inset 0 1px 1px #00000013}
.tos-registration-legacy .tos-form .form-select{padding-right:36px}
.tos-registration-legacy .tos-form .form-control:focus,.tos-registration-legacy .tos-form .form-select:focus{border-color:#66afe9;box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999}
.tos-registration-legacy .tos-form .form-control[readonly]{background-color:#eee}
.tos-registration-legacy .tos-form .form-control::placeholder{color:#999;opacity:1}
.tos-registration-legacy .tos-form textarea.form-control{min-height:84px;resize:vertical}
.tos-registration-legacy .tos-form .upload-box{background:#fff;border:0;border-radius:0;padding:10px 0}
.tos-registration-legacy .tos-form .upload-preview{width:100px;height:100px;margin-bottom:12px}
.tos-registration-legacy .tos-form .upload-preview.signature{width:160px;height:65px}
.tos-registration-legacy .tos-form [data-upload]{background:#934545;color:#fff;border:0;border-radius:5px;padding:3px 8px;font-size:15px;font-weight:400}
.tos-registration-legacy .tos-form [data-upload]:hover{background:#7c3838}
.tos-registration-legacy .tos-form .btn-primary{background:#d9534f;border-color:#d43f3a;border-radius:4px;font-size:16px;font-weight:500;padding:10px 24px}
.tos-registration-legacy .tos-form .btn-primary:hover{background:#c9302c;border-color:#ac2925}
.tos-registration-legacy .tos-form .tos-fee{background:#fff;border:1px solid #ccc;border-top:3px solid #934545;border-radius:0}
.tos-registration-legacy .tos-form .fee-total{color:#934545}
.tos-registration-legacy .tos-form .tos-support{color:#333;border-color:#ccc}
.tos-registration-legacy .tos-form .row>.form-check{margin-left:0!important;padding-left:2.25rem}
@media(max-width:767px){.tos-registration-legacy .tos-title-bar h1{font-size:20px}.tos-registration-legacy .tos-form .form-control,.tos-registration-legacy .tos-form .form-select{min-height:44px;font-size:16px}.tos-registration-legacy .tos-form .btn-primary,.tos-registration-legacy .tos-form [data-upload]{min-height:44px}}
