/* Responsive Bootstrap layer; the original style.css and its comments are retained. */
body { font-size:13px; line-height:1.3; }
a { text-decoration:none; }
h1,h2,h3 { line-height:1.3; }
p { line-height:1.3; }
#wrapper { width:100%; max-width:1224px; padding:0; }
#header { width:100%; height:auto; min-height:118px; margin-top:5px; padding:24px 25px 12px; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:16px; align-items:start; }
#logo { float:none; width:auto; height:auto; min-width:0; }
.sl-logo { display:block; width:450px; max-width:100%; height:auto; padding:0; }
.logoright { float:none; }
.logocontent { width:auto; height:auto; margin:-24px -20px 0 0; padding:6px 10px; display:flex; gap:10px; align-items:center; font-size:0; }
.logocontent a { display:inline-flex; justify-content:center; align-items:center; min-width:26px; min-height:26px; }
.logocontent img { max-width:100%; height:auto; }
#header > .divend { display:none; }
.hotline { grid-column:1 / -1; margin:4px -20px 0 0; padding:0; text-align:right; }
#menu { width:100%; height:auto; min-height:50px; padding:0 10px; background:#313943; }
#menu ul { width:100%; padding:0; margin:0; }
#menu li { float:none; height:auto; background:none; }
#menu a { margin:0; padding:14px 12px; line-height:22px; }
#menu .nav-link.active { text-decoration:underline; text-underline-offset:4px; }
#menu .navbar-toggler { margin:6px 0 6px auto; border-color:#9ba6b5; }
#menu button { min-height:38px; }
#page,#page-bgtop,#page-bgbtm { width:100%; background:none; }
#page { background:#fff; border-radius:0 0 6px 6px; box-shadow:0 4px 8px #0002; }
#content { width:100%; padding:14px 20px 10px; }
.post .entry { padding:0 14px; text-align:left; }
.entry img { max-width:100%; height:auto; }
.homdiv { width:100%; height:auto; margin:0 auto; padding:0 0 10px; }
#sliderFrame { width:100%; max-width:900px; margin:0 auto; }
#slider .carousel-item > a { display:block; border:0; }
#slider img { display:block; width:100%; height:auto; aspect-ratio:900 / 420; }
#sliderFrame .carousel-control-prev,#sliderFrame .carousel-control-next { width:7%; border:0; }
#sliderFrame .carousel-control-prev-icon,#sliderFrame .carousel-control-next-icon { width:24px; height:24px; background-color:#31394399; border-radius:50%; background-size:70%; }
.firlefttop,.firleft,.firmiddle,.firright { float:none; width:auto; padding:0; }
.company-row { --bs-gutter-x:24px; --bs-gutter-y:18px; }
.company-column { min-width:0; }
.company-column .firlefttop { text-align:center; }
.company-column .firleft,.company-column .firmiddle,.company-column .firright { text-align:justify; }
.service-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px 12px; }
.service-grid > h2 { grid-column:1 / -1; }
.service-grid > br,.service-grid > .divend { display:none; }
.sllinks { float:none; width:auto; min-width:0; overflow-wrap:break-word; }
.sllinks > br:first-child { display:none; }
.imp { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:24px; padding:0 4px; }
.impl,.impr { float:none; width:auto; min-width:0; }
.impl { display:grid; grid-template-columns:minmax(120px,40%) minmax(0,1fr); gap:3px 8px; align-content:start; }
.impl > .divend { display:none; }
.impl > div:not([class]) { grid-column:1 / -1; }
.impleft,.impright { float:none; width:auto; min-width:0; overflow-wrap:anywhere; }
.impr { text-align:left; }
.imp > .divend { display:none; }
.koncontent { width:100%; }
.koncontent form { display:flex; flex-wrap:wrap; column-gap:28px; align-items:flex-start; }
.koncontentleft,.koncontentright { float:none; width:calc(50% - 14px); min-width:0; display:grid; grid-template-columns:minmax(100px,38%) minmax(0,1fr); gap:6px 8px; align-items:center; }
.koncontentmiddle,.koncontentleft > .divend,.koncontentright > .divend { display:none; }
.konleft,.konright { width:auto; float:none; min-width:0; padding:0; }
.konright { display:flex; gap:4px; align-items:center; }
.konright > div { width:100%; }
.konright .form-control,.konright .form-select { min-width:0; width:100%; font:inherit; border:1px solid #a3a7ad; border-radius:3px; padding:4px 6px; background-color:#e3e7ed; color:#313943; }
.konright .koninputkl { flex:1 1 22%; width:22%; }
.konright .koninputmd { flex:3 1 72%; width:72%; }
.konright .konmsg { width:100%; min-height:125px; }
.konright .btn { background:#003399; color:#fff; border-color:#003399; font-size:13px; }
#footer { width:100%; max-width:1224px; padding:15px 25px; }
#footercontent { margin:0; }
.footer-column { min-width:0; }
.footer-column .footerdiv,.footer-column .footerdivueb { float:none; width:auto; }
.footer-column .footerdivueb { margin-bottom:5px; }
.footer-column .footerdiv { min-height:13px; }
@media (max-width:991.98px) {
 #menu a { min-height:44px; padding:10px 12px; }
 .service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .koncontentleft,.koncontentright { width:100%; }
 .koncontent form { row-gap:20px; }
 .koncontentleft,.koncontentright { grid-template-columns:minmax(140px,30%) minmax(0,1fr); }
 .konright .form-control,.konright .form-select,.konright .btn { min-height:38px; }
}
@media (max-width:767.98px) {
 body { padding-bottom:16px; }
 #wrapper { margin-top:0; }
 #header { margin-top:0; min-height:0; padding:14px 14px 10px; column-gap:10px; }
 .logocontent { margin:-14px -9px 0 0; padding:4px 6px; gap:6px; box-shadow:none; }
 .logocontent a { min-width:28px; min-height:32px; }
 .hotline { margin:8px -9px 0 0; font-size:14px; }
 #content { padding:10px 2px 4px; }
 .post .entry { padding:0 12px; }
 #footer { padding:15px 14px; }
 #footercontent { --bs-gutter-y:16px; }
 .footer-column .footerdiv { font-size:12px; line-height:1.4; }
 .footer-column a { display:inline-block; padding:4px 0; }
 .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; }
 .imp { grid-template-columns:minmax(0,1fr); padding:0; gap:12px; }
 .kontxt { font-size:18px; }
 .koncontentleft,.koncontentright { grid-template-columns:minmax(0,1fr); gap:4px; }
 .konleft { margin-top:6px; }
 .konright:has(> input[style*="display:none"]) { display:none; }
 .konright .form-control,.konright .form-select { min-height:42px; font-size:16px; }
 .konright .btn { min-height:42px; }
 .entry { overflow-wrap:break-word; }
}
@media (max-width:359.98px) {
 .service-grid { grid-template-columns:minmax(0,1fr); }
}

/* Restore the original blue page band and gray navigation graphics. */
#menu { background:#313943 url('../images/img01.jpg') repeat-x left -127px; }
#menu .nav-link.active { text-decoration:none; }
#page-bgtop { background:linear-gradient(to bottom,#bdbec2 0,#9ba7c1 3px,#7892c5 5px,#3266cc 10px,#3266cc 37px,#476798 38px,#f4ffff 39px,#fff 43px); }
#page-bgtop > div:first-child { height:40px; padding:0!important; }
#content { padding-top:19px; }
#slider { box-shadow:0 1px 5px #999; }
@media (min-width:992px) {
 #menu li { height:50px; background:url('../images/img03.gif') no-repeat right top; }
 #menu a { margin:10px 3px 0 3px; padding:7px 14px; line-height:normal; }
}
@media (max-width:767.98px) { #content { padding-top:14px; } }
/* SEO content follows the existing compact typography and original colors. */
.page-title { font-size:1.6em; font-weight:400; line-height:1.3; margin:0 0 16px; color:inherit; }
.home-intro { padding:18px 0 4px; }
.home-intro p { margin:0 0 10px; }
.service-grid > .page-title { grid-column:1 / -1; margin-bottom:0; }
.service-explanations { margin-top:28px; padding-top:20px; border-top:1px dotted #929292; }
.service-explanations > h2 { margin-bottom:18px; }
.service-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 28px; margin-bottom:16px; }
.service-detail-grid h3 { font-size:16px; font-weight:400; margin:0 0 6px; }
.service-detail-grid p { margin:0; }
.error-page { padding:12px 0; }
@media(max-width:767.98px) { .service-detail-grid { grid-template-columns:minmax(0,1fr); } }

/* Balance the outer footer spacing using each column's actual content width. */
@media (min-width:768px) {
 #footercontent > .row { justify-content:space-between; margin-left:0; margin-right:0; }
 #footercontent .footer-column { flex:0 1 auto; width:max-content; max-width:25%; padding-left:0; padding-right:0; }
}

/* Clickable company cards in two balanced rows. */
.company-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:4px 0 14px; }
.company-card { position:relative; min-width:0; padding:20px; border:1px solid #ccd2db; border-radius:5px; background:#fff; transition:border-color .15s,box-shadow .15s; display:flex; flex-direction:column; }
.company-card:hover,.company-card:focus-within { border-color:#003399; box-shadow:0 2px 8px #00339915; }
.company-card .firlefttop { text-align:left; }
.company-card h2 { margin:0 0 12px; font-size:20px; color:#313943; }
.company-card .firleft,.company-card .firmiddle,.company-card .firright { text-align:left; flex:1; display:flex; flex-direction:column; }
.company-card .firleft > br:first-child,.company-card .firmiddle > br:first-child,.company-card .firright > br:first-child { display:none; }
.company-card [align="right"] { margin-top:auto; padding-top:4px; }
.company-card a { color:#417FDA; border-bottom:1px dotted #999999; }
@media(max-width:767.98px) { .company-card-grid { grid-template-columns:minmax(0,1fr); gap:14px; } .company-card { padding:16px; } }

/* Keep the expanded mobile menu dark beneath the original gray top strip. */
@media (max-width:991.98px) { #mainNavigation { background-color:#313943; margin:0 -10px; padding:0 10px; } }

/* Mark the current page on desktop and in the expanded mobile menu. */
#menu .nav-link.active { background-color:#526170; color:#fff; text-decoration:none; border-radius:3px; }

/* Service overview cards: five columns on large desktops, fewer on small screens. */
.service-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px 12px; align-items:stretch; }
.service-card { padding:12px; border:1px solid #ccd2db; border-radius:4px; background:#fff; overflow:hidden; }
.service-card-title { margin:-12px -12px 12px; padding:10px 12px; min-height:52px; display:flex; align-items:center; background:#edf2f7; border-bottom:1px solid #d7dfe8; color:#313943; font-size:14px; font-weight:600; }
.service-card-subtitle { margin:14px -12px 10px; padding:8px 12px; background:#f5f7fa; border-top:1px solid #e0e5eb; border-bottom:1px solid #e0e5eb; color:#313943; font-size:14px; font-weight:600; }
.service-card ul { margin:0; padding-left:16px; line-height:1.4; }
.service-card li { margin:0 0 4px; padding:0; }
.service-card li:last-child { margin-bottom:0; }
@media(max-width:1199.98px) { .service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767.98px) { .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575.98px) { .service-grid { grid-template-columns:minmax(0,1fr); } }

.service-card-stack { display:flex; flex-direction:column; gap:14px; min-width:0; }
.service-card-stack > .service-card { flex:1; }
