/* Dr. Satzler template (original CSS, WebGuy Communications 2026). Bootstrap 5 base is loaded first. */
@font-face { font-family: 'Asenine'; src: url('../fonts/asenine.woff') format('woff'); font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'FontAwesome'; src: url('../fonts/fontawesome-webfont.woff2') format('woff2'), url('../fonts/fontawesome-webfont.woff') format('woff'); font-weight: normal; font-style: normal; }
.fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; }
.fa-3x { font-size: 3em; }
.fa-map-marker:before { content: "\f041"; }
.fa-quote-left:before { content: "\f10d"; }
.fa-facebook:before { content: "\f09a"; }
.fa-twitter:before { content: "\f099"; }

:root { --blue: #457fc1; --red: #e52644; --green: #4b9e32; --yellow: #fae819; --ink: #111; --link: #3a77d1; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font: 14px/22px Arial, Helvetica, sans-serif; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
.inner { max-width: 1280px; margin: 0 auto; padding: 0 30px; }

/* header */
#header { background: #fff; }
#header .inner { display: flex; align-items: center; justify-content: space-between; min-height: 77px; }
#logo { display: block; line-height: 0; }
#menu { display: flex; align-items: center; gap: 18px; }
#menu ul { display: flex; list-style: none; margin: 0; padding: 0; gap: 4px; }
#menu li a { display: block; padding: 6px 14px; font: 28px/1.2 'Asenine', Arial, sans-serif; color: var(--ink); text-decoration: none; }
#menu li a:hover, #menu li.current > a, #menu li.active > a { color: #5c83c2; }
#menu .menuright { display: block; }
#menu .menuright p { margin: 0; }
.btn-blue, #menu .btn { display: inline-block; background: var(--blue); color: #fff; font: 14px/20px Arial, Helvetica, sans-serif; padding: 10px 12px; border: 0; border-radius: 0; text-decoration: none; }
.btn-blue:hover, #menu .btn:hover { background: #3b6ca8; color: #fff; text-decoration: none; }
.colorline { display: flex; height: 3px; }
.colorline i { flex: 1; }
.colorline i:nth-child(1) { background: #4b9d31; }
.colorline i:nth-child(2) { background: #fcbf4c; }
.colorline i:nth-child(3) { background: #ec5540; }
.colorline i:nth-child(4) { background: #81abdd; }
#menubtn { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
#menubtn span { display: block; width: 26px; height: 3px; background: #000; margin: 5px 0; border-radius: 1px; }

/* home */
#hero { background: linear-gradient(rgba(226,226,226,.86), rgba(226,226,226,.86)), #e1e1e1 url('../images/hero.jpg') center / cover no-repeat; min-height: 565px; overflow: hidden; }
#hero .mod-custom { display: flex; width: 100%; }
#hero .row > * { padding: 0; }
#hero .inner { max-width: none; padding: 0 0 0 30px; }
#hero .row { display: flex; align-items: stretch; margin: 0; }
#hero .span6 { flex: 1 1 50%; width: 50%; }
#hero .span6:first-child { padding: 78px 30px 0 0; }
#hero .span6:last-child { display: flex; align-items: flex-end; justify-content: flex-end; }
#hero .span6:last-child img { display: block; width: auto; max-width: 100%; max-height: 565px; }
.u1 { background: var(--blue); color: #fff; padding: 33px 36px 35px; max-width: 594px; }
.u1 p { margin: 0; font-size: 16px; line-height: 26.4px; }
.u1 .btn { display: inline-block; background: var(--yellow); border: 0; padding: 5px 11px; margin-top: 2px; border-radius: 0; line-height: 20px; }
.u1 .btn a { color: #457fc1; font-size: 13px; text-decoration: none; }
.u1 a.u1start { color: #9fc3ee; font-size: 16px; text-decoration: none; }
.u1 .fa-quote-left { margin-right: 4px; }
#mapband { background: #e7e8e4 url('../images/map.jpg') center / cover no-repeat; min-height: 578px; display: flex; align-items: center; justify-content: center; }
.gmapmark { cursor: pointer; text-align: center; color: var(--blue); width: 331px; }
.gmapmark > .fa { display: block; margin-bottom: -4px; }
.gmapdate { background: #fff; padding: 24px 20px 22px; color: #111; }
.gmapdate h3 { margin: 0 0 10px; font: 22px/28px Arial, Helvetica, sans-serif; }
.gmapdate p { margin: 0 0 8px; font-size: 13px; line-height: 20px; }
.gmapdate p:last-child { margin: 0; }
dialog.mapdlg { width: min(900px, 94vw); height: min(600px, 82vh); padding: 0; border: 0; }
dialog.mapdlg::backdrop { background: rgba(0, 0, 0, .6); }
dialog.mapdlg iframe { width: 100%; height: 100%; border: 0; }
.mapclose { position: absolute; top: 4px; right: 10px; z-index: 2; background: #fff; border: 0; font-size: 28px; line-height: 1; cursor: pointer; }

/* inner pages */
#page { display: flex; gap: 32px; padding-top: 58px; padding-bottom: 60px; align-items: flex-start; }
#content { flex: 1 1 auto; min-width: 0; }
#sidebar { flex: 0 0 283px; width: 283px; }
#content h1, #content h2.page-title, .page-header h1, .com-content-article .page-header h1 { font: 38px/1.1 Arial, Helvetica, sans-serif; letter-spacing: -2px; margin: 0 0 14px; }
#content h2 { font: 38px/1.15 Arial, Helvetica, sans-serif; letter-spacing: -1px; margin: 18px 0 14px; }
#content h3 { font: 24px/1.2 Arial, Helvetica, sans-serif; letter-spacing: -.3px; margin: 16px 0 10px; }
#content p { margin: 0 0 14px; }
#content ul { margin: 0 0 14px; list-style: none; padding-left: 0; }
#content ul[type=square] { list-style: square; padding-left: 22px; }
#content .page-header { border-bottom: 1px solid #eee; margin-bottom: 10px; padding-bottom: 4px; }
.roundimage .item-image, .roundimage .com-content-image { float: left; margin: 20px 60px 12px 0; width: 454px; max-width: 48%; }
.roundimage .item-image img, .roundimage .com-content-image img { width: 100%; border-radius: 50%; display: block; }
.item-image { margin: 0 0 12px; }
.item-image.float-start, .pull-left { float: left; margin-right: 20px; }
.btn.basecolor_3, .basecolor_3 { background: var(--green); color: #fff; }
.btn.basecolor_5, .basecolor_5 { background: var(--red); color: #fff; }
.btn.basecolor_3, .btn.basecolor_5 { border: 0; border-radius: 0; padding: 8px 12px; font: 14px/20px Arial, Helvetica, sans-serif; vertical-align: middle; margin-left: 4px; }
.btn.basecolor_3 a, .btn.basecolor_5 a { color: #fff; text-decoration: none; }
#content h3 .btn { font-size: 14px; }

/* sidebar */
#sidebar .moregreen { display: none; }
.morearticles { background: var(--red); color: #fff; padding: 33px 30px 34px; }
.morearticles h3 { font: 28px/1.2 'Asenine', Arial, sans-serif; color: #fff; margin: 0 0 40px; letter-spacing: 0; }
.morearticles h4 { margin: 0 0 12px; font: 18px/1.3 Arial, Helvetica, sans-serif; color: #fff; letter-spacing: -.3px; }
.morearticles h4 a { color: #fff; text-decoration: none; }
.morearticles p { margin: 0 0 4px; font-size: 14px; line-height: 22px; color: #fff; }
.morearticles .affil { padding-left: 5px; }
.morearticles article { margin-bottom: 25px; }
.morearticles article:last-child { margin-bottom: 0; }
.socialbox { display: flex; justify-content: center; margin-top: 25px; }
.socialbox a { display: block; width: 41px; height: 42px; border-left: 1px solid #ddd; text-align: center; line-height: 42px; color: #444; font-size: 20px; text-decoration: none; }
.socialbox a:last-child { border-right: 1px solid #ddd; }

/* blog (category blog view): two card columns */
.blog-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 0; padding: 0; }
.blog-items .blog-item { border: 1px solid #eee; text-align: center; padding: 0 0 30px; margin: 0; }
.blog-items .item-image { margin: 0 0 40px; position: relative; }
.blog-items .item-image img { display: block; width: 100%; }
.blog-items .item-content { padding: 0 30px; }
.blog-items .item-content .page-header { border: 0; margin: 0 0 4px; padding: 0; }
.blog-items .item-content h2 { font: 36px/1.2 Arial, Helvetica, sans-serif; letter-spacing: -2.5px; margin: 0 0 18px; text-align: left; }
.article-info-term, .article-info .article-info-term { display: none; }
.com-content-category-blog .page-header, .blog .page-header { border: 0; }
.blog-items .item-content h2 a { color: var(--ink); text-decoration: none; }
.article-info { margin: 0 0 12px; padding: 0; font-size: 12px; color: #333; }
.article-info dd { display: inline-block; margin: 0; }
.article-info .icon-calendar, .article-info [class^="icon-"] { display: none; }
.blog-items .speaker-affil { display: inline-block; border-bottom: 1px solid #aaa; padding: 0 20px 6px; margin: 4px 0 14px; }
.readmore .btn, .readmore a { display: inline-block; border: 1px solid #ddd; background: #fff; color: #333; font-size: 12px; padding: 5px 12px; border-radius: 2px; text-decoration: none; }
.readmore { margin: 14px 0 0; }

/* contact (accordion) */
.accordion { border: 0; }
.accordion-item { border: 1px solid #ddd; border-radius: 3px; margin-bottom: 2px; }
.accordion-button { background: #fff; color: #337ab7; font: bold 14px/20px Arial, Helvetica, sans-serif; padding: 11px 15px; box-shadow: none; }
.accordion-button:not(.collapsed) { background: #fff; color: #337ab7; box-shadow: inset 0 -1px 0 #ddd; }
.accordion-body { padding: 15px; }
.form-control { border: 1px solid #ccc; border-radius: 3px; font-size: 14px; padding: 6px 12px; }
.btn-primary, button.validate { background: var(--blue); border-color: var(--blue); color: #fff; border-radius: 0; }
.btn-primary:hover, button.validate:hover { background: #3b6ca8; border-color: #3b6ca8; color: #fff; }
.control-label label, label { font-weight: bold; }

/* footer */
#footer { background: #111; color: #777; padding: 62px 0 40px; margin-top: 0; }
#footer p { font-size: 12px; line-height: 19px; color: #777; margin: 0 0 14px; }
#footer center p, #footer .center { text-align: center; }
#footer center { display: block; }
#footer img { max-width: 100%; }

/* mobile */
@media (max-width: 991px) {
    #menubtn { display: block; }
    #menu { display: none; position: absolute; left: 0; right: 0; top: 77px; z-index: 20; background: #fff; flex-direction: column; align-items: flex-start; padding: 10px 30px 20px; border-top: 1px solid #eee; box-shadow: 0 8px 14px rgba(0,0,0,.12); }
    #menu.open { display: flex; }
    #menu ul { flex-direction: column; }
    #header { position: relative; }
    #hero .row, #hero .mod-custom { flex-direction: column; }
    #hero .span6 { width: 100%; flex: none; }
    #hero .span6:first-child { padding: 28px 30px 28px 0; }
    #hero .span6:last-child { justify-content: center; }
    #hero { background-image: none; background: #fff; min-height: 0; }
    #hero .inner { padding: 0 30px; }
    #mapband { min-height: 330px; background-image: none; background-color: #fff; }
    #page { flex-direction: column; padding-top: 36px; }
    #sidebar { width: 100%; flex: none; }
    .blog-items { grid-template-columns: 1fr; }
    .roundimage .item-image { float: none; max-width: 100%; width: 100%; margin-right: 0; }
}
