/* Kept separate from the archived CodeIgniter styles. */
.ksm-footer-nav{padding:5px 0;text-align:center}
.ksm-footer-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:0;padding:0;list-style:none}
.ksm-footer-menu li{list-style:none}
.ksm-footer-menu li a{display:inline-block;padding:4px 2px;color:#d6e4ea;text-decoration:none;font-size:13px}
.ksm-footer-menu li a:hover,.ksm-footer-menu li a:focus{text-decoration:underline;color:#fff}
.ksm-floating-tools{position:fixed;z-index:1100;right:12px;bottom:10px;display:flex;flex-direction:column;align-items:flex-end;gap:13px;max-height:85vh;pointer-events:none}
.ksm-grant-image,.ksm-scroll-top{pointer-events:auto}
.ksm-grant-image{line-height:0}
.ksm-grant-image img{display:block;object-fit:contain;object-position:bottom right;width:min(var(--ksm-grant-desktop),27vw);max-width:100%;max-height:22vh;height:auto}
.ksm-scroll-top{border:0;border-radius:50%;background:#1c425a;color:#fff;width:44px;height:44px;display:grid;place-items:center;box-shadow:0 4px 12px #0004;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s;line-height:1;font-size:18px}
.ksm-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.ksm-scroll-top:hover,.ksm-scroll-top:focus-visible{background:#07829a;color:#fff}
.ksm-scroll-top:focus-visible{outline:3px solid #fff;outline-offset:2px}
/* Contact sidebar: preserve archived widget layout with safely dynamic contact data. */
.ksm-contact-details .ksm-contact-phones a{color:inherit;text-decoration:none}
.ksm-contact-details .ksm-contact-emails a{display:block;overflow-wrap:anywhere}
.ksm-contact-details .ksm-address{white-space:normal}
.ksm-contact-details .featured-widget{overflow:hidden}
@media(max-width:767px){
 .ksm-floating-tools{right:7px;bottom:7px;gap:9px;max-width:30vw}
 .ksm-grant-image img{width:min(var(--ksm-grant-mobile),25vw);max-height:16vh}
 .ksm-scroll-top{height:39px;width:39px;font-size:16px}
 .ksm-footer-menu{gap:0 12px}
}
@media(prefers-reduced-motion:reduce){.ksm-scroll-top{transition:none}}

/* 1.3.0: introduction moved away from the slider no longer overlaps other content. */
.ksm-home-intro-standalone{margin-top:32px}

/* 1.4.0 – managed slider, original 1920×600 banner envelope. */
.ksm-managed-slider{--ksm-slider-height:600px;--ksm-slider-mobile-height:320px;max-width:100%;overflow:hidden}
.ksm-managed-slider #headerCarousel,.ksm-managed-slider .carousel-inner,.ksm-managed-slider .carousel-inner>.item{height:100%}
.ksm-managed-slider{height:min(var(--ksm-slider-height),31.25vw)}
.ksm-managed-slider .ksm-slide{position:relative;overflow:hidden}
.ksm-managed-slider .ksm-slide>img,.ksm-managed-slider .ksm-slide>picture,.ksm-managed-slider .ksm-slide>picture>img{width:100%;height:100%;display:block}
.ksm-managed-slider .ksm-slide>img,.ksm-managed-slider .ksm-slide>picture>img{object-fit:cover;object-position:center center}
.ksm-managed-slider .ksm-slide-overlay{position:absolute;inset:0;left:0;right:0;display:flex;align-items:center;width:100%;pointer-events:none}
.ksm-managed-slider .ksm-slide-copy{position:relative;top:auto;left:auto;padding:15px 0;color:#fff;width:min(850px,92%);max-height:calc(100% - 25px);overflow:auto;overflow-wrap:anywhere;pointer-events:auto;scrollbar-width:thin;text-shadow:0 1px 3px #0008}
.ksm-managed-slider .ksm-slide-copy.ksm-align-center{margin-left:auto;margin-right:auto;text-align:center}
.ksm-managed-slider .ksm-slide-copy.ksm-align-right{margin-left:auto;text-align:right}
.ksm-managed-slider .ksm-slide-copy h1{font-size:clamp(22px,3vw,44px);line-height:1.18;margin:0 0 11px;color:#fff}
.ksm-managed-slider .ksm-slide-description{line-height:1.4;font-size:clamp(12px,1.15vw,17px)}
.ksm-managed-slider .ksm-slide-description p{margin:0 0 9px;font-size:inherit}
.ksm-managed-slider .ksm-slide-description ul,.ksm-managed-slider .ksm-slide-description ol{display:inline-block;text-align:left;margin:0 0 9px 17px;padding:0}
.ksm-managed-slider .ksm-slide-description li{margin:0 0 3px}
.ksm-managed-slider .ksm-slide-description img{max-width:100%;height:auto}
.ksm-managed-slider .ksm-slide-buttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:8px}
.ksm-managed-slider .ksm-align-center .ksm-slide-buttons{justify-content:center}
.ksm-managed-slider .ksm-align-right .ksm-slide-buttons{justify-content:flex-end}
.ksm-managed-slider .ksm-slide-buttons .btn{margin:0}
.ksm-managed-slider .ksm-slider-control-container{position:absolute;inset:0;pointer-events:none}
.ksm-managed-slider .jumbotron__control{pointer-events:auto;z-index:4}
.ksm-managed-slider .carousel-indicators{z-index:5;bottom:0}
@media(max-width:767px){
 .ksm-managed-slider{height:var(--ksm-slider-mobile-height)}
 .ksm-managed-slider .ksm-slide-overlay{align-items:center;padding:0 8px}
 .ksm-managed-slider .ksm-slide-copy{width:100%;max-height:calc(100% - 18px);padding:10px 27px}
 .ksm-managed-slider .ksm-slide-copy h1{font-size:clamp(18px,5vw,27px);margin-bottom:8px}
 .ksm-managed-slider .ksm-slide-description{font-size:12px;line-height:1.3}
 .ksm-managed-slider .ksm-slide-buttons{gap:5px}
 .ksm-managed-slider .ksm-slide-buttons .btn{padding:7px 10px;font-size:12px}
 .ksm-managed-slider .jumbotron__control{top:50%;transform:translateY(-50%);width:26px;height:31px;line-height:31px;font-size:17px}
 .ksm-managed-slider .jumbotron__control.left{left:2px}
 .ksm-managed-slider .jumbotron__control.right{right:2px}
}
@media(prefers-reduced-motion:reduce){.ksm-managed-slider .carousel-inner>.item{transition:none!important}}

/* 1.5.0 – About / introduction: keep original rows, typographic hierarchy and widths. */
.ksm-about-richtext{overflow-wrap:anywhere}
.ksm-about-richtext p,.ksm-about-richtext ul,.ksm-about-richtext ol{max-width:100%}
.ksm-about-richtext img,.ksm-about-richtext video,.ksm-about-richtext iframe{max-width:100%;height:auto}
.ksm-about-richtext iframe{aspect-ratio:16/9}
.ksm-about-richtext figure{max-width:100%}
.ksm-about-richtext h1,.ksm-about-richtext h2,.ksm-about-richtext h3,.ksm-about-richtext h4{overflow-wrap:anywhere}
.ksm-about-figure{margin:14px 0 20px;max-width:100%;line-height:0}
.ksm-about-image-element{display:block;max-width:100%;width:auto;height:auto;max-height:380px;object-fit:contain;object-position:left center}
.ksm-about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.ksm-about-actions .read-more{display:inline-block}
@media(max-width:767px){.ksm-about-image-element{max-height:260px}.ksm-about-actions{gap:8px}}

/* 1.6.0 – Category-driven posts; preserve original vehicle/news design. */
.ksm-category-vehicles{margin-top:0;margin-bottom:0}
.ksm-category-vehicles>.widget-title{margin:15px 0 28px}
.ksm-vehicle-column{min-width:0}
.ksm-vehicle-group-label{font-size:16px;font-weight:700;margin:0 0 15px;overflow-wrap:anywhere;color:inherit}
.ksm-vehicle-post{margin-bottom:25px;overflow-wrap:anywhere}
.ksm-category-image-wrap{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:#e9eef2}
.ksm-category-image-wrap img,.ksm-category-post-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ksm-vehicle-post .page-box__title{overflow-wrap:anywhere;margin-top:14px}
.ksm-vehicle-post .ksm-post-excerpt{margin-top:8px;line-height:1.5}
.ksm-managed-grants .ksm-grants-heading{margin-bottom:20px}
.ksm-managed-grants .latest-news{display:block;overflow-wrap:anywhere}
.ksm-managed-grants .latest-news__content img.ksm-grant-post-image{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;object-position:left center}
.ksm-grant-image-empty{display:block;width:100%;height:130px;background:#e9eef2}
.ksm-grant-more{display:inline-block;margin-top:10px;font-weight:700}
.ksm-grants-archive{clear:both;text-align:center;padding:5px 0 24px}
@media(max-width:767px){.ksm-managed-grants .latest-news__content img.ksm-grant-post-image{max-height:180px}.ksm-vehicle-group-label{margin-top:18px}}

/* v1.7.0: managed services. Fixed card boxes regardless of uploaded image dimensions. */
.ksm-service-section .widget-title{margin-bottom:24px}
.ksm-service-grid{display:flex;flex-wrap:wrap;align-items:stretch}
.ksm-service-grid .ksm-service-col{margin-bottom:26px;display:flex}
.ksm-service-grid .widget_pw_icon_box{display:flex;width:100%;min-width:0;margin:0}
.ksm-service-grid .icon-box.ksm-service-card{display:flex;width:100%;height:154px;min-height:154px;align-items:center;justify-content:space-between;gap:12px;padding:18px 19px;overflow:hidden;cursor:default;background:#fff;color:inherit}
.ksm-service-grid a.icon-box.ksm-service-card{cursor:pointer}
.ksm-service-grid div.icon-box.ksm-service-card:hover{box-shadow:none;border-bottom-color:#b9babc}
.ksm-service-card-copy{flex:1;min-width:0;overflow:hidden}
.ksm-service-grid .ksm-service-card .icon-box__title{display:block;font-size:16px;font-weight:700;line-height:1.3;margin:0 0 5px;overflow-wrap:anywhere}
.ksm-service-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;line-height:1.35;font-size:12px;color:#69757d;overflow-wrap:anywhere}
.ksm-service-card-art{display:flex;flex:0 0 72px;align-items:center;justify-content:center;min-width:0;max-width:72px;max-height:82px;overflow:hidden}
.ksm-service-grid .ksm-service-card-art .fa{float:none;padding:0;margin:0;font-size:46px;line-height:1;color:#b9babc}
.ksm-service-card-image{display:block;width:100%;height:80px;max-width:100%;max-height:80px;object-fit:contain;object-position:center}
@media(max-width:767px){.ksm-service-grid .ksm-service-col{width:100%}.ksm-service-grid .icon-box.ksm-service-card{height:132px;min-height:132px;padding:15px}.ksm-service-card-art{flex-basis:65px;max-width:65px}.ksm-service-card-image{height:65px;max-height:65px}}

/* 1.8.0 – Independent, identical-size homepage service vehicle cards. */
.ksm-vehicles-grid{display:flex;flex-wrap:wrap;align-items:stretch}
.ksm-vehicle-card-col{display:flex;margin-bottom:28px;min-width:0}
.ksm-vehicle-card{display:block;flex:1;width:100%;min-width:0;overflow:hidden;color:inherit;text-decoration:none}
.ksm-vehicle-image{display:block;width:100%;height:auto;aspect-ratio:3/2;background:#edf1f4;overflow:hidden;border-radius:2px}
.ksm-vehicle-image img,.ksm-vehicle-no-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ksm-vehicle-card .page-box__title{margin:14px 0 8px;overflow-wrap:anywhere}
.ksm-vehicle-description{font-size:14px;line-height:1.5;color:#627684;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;overflow-wrap:anywhere}
.ksm-vehicle-card:hover,.ksm-vehicle-card:focus{color:inherit;text-decoration:none}
.ksm-vehicle-card[href]:hover .page-box__title{text-decoration:underline}
.ksm-service-browser{padding-top:34px;padding-bottom:70px}
.ksm-service-browser-grid{display:grid;grid-template-columns:minmax(200px,28%) minmax(0,1fr);gap:38px;align-items:start}
.ksm-service-nav{display:grid;gap:7px;min-width:0}
.ksm-service-nav h2{font-size:21px;margin:0 0 17px}
.ksm-service-tab{display:block;text-align:left;width:100%;padding:13px 15px;border:1px solid #dee7ed;border-radius:5px;background:#f6f9fa;color:#264456;cursor:pointer;font:inherit;font-weight:650;overflow-wrap:anywhere}
.ksm-service-tab:hover,.ksm-service-tab:focus-visible{border-color:#148296;outline-offset:2px}
.ksm-service-tab.is-active{background:#0e7287;color:#fff;border-color:#0e7287}
.ksm-service-panel[hidden]{display:none!important}
.ksm-service-content{min-width:0;overflow-wrap:anywhere;line-height:1.7}
.ksm-service-content img,.ksm-service-content iframe,.ksm-service-content video{max-width:100%;height:auto}
.ksm-service-content iframe{aspect-ratio:16/9;height:auto}
.ksm-service-content .alignleft{float:left;max-width:45%;margin:0 18px 12px 0}
.ksm-service-content .alignright{float:right;max-width:45%;margin:0 0 12px 18px}
.ksm-service-content .aligncenter{display:block;margin-left:auto;margin-right:auto}
.ksm-grants-archive{padding-top:26px;padding-bottom:65px}
.ksm-grants-archive-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}
.ksm-grants-archive-card{margin-bottom:25px;display:flex}
.ksm-grants-archive-card a{display:block;padding:15px;border:1px solid #e1e9ef;background:#fff;min-width:0;width:100%;border-radius:5px;color:inherit;text-decoration:none}
.ksm-grants-archive-card img{width:100%;height:180px;object-fit:cover}
.ksm-grants-archive-card h2{font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.ksm-grants-archive-card p{color:#62727c;line-height:1.5}
.ksm-grants-pagination{text-align:center;margin:30px 0}
.ksm-grants-pagination ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:8px}
.ksm-grants-pagination a,.ksm-grants-pagination span{display:inline-block;border:1px solid #d1e0e9;border-radius:4px;padding:8px 12px}
@media(max-width:767px){.ksm-vehicle-card-col{width:50%}.ksm-service-browser-grid{grid-template-columns:1fr;gap:24px}.ksm-service-nav{grid-template-columns:1fr 1fr;gap:6px}.ksm-service-nav h2{grid-column:1/-1}.ksm-service-tab{font-size:13px;padding:10px}.ksm-grants-archive-card{width:100%}}
@media(max-width:430px){.ksm-vehicle-card-col{width:100%}}

/* 1.8.1 – Szerviz kártyák egyedi Bővebben felirata */
.ksm-vehicle-more{display:inline-block;margin-top:10px;font-weight:700}

/* 1.8.1 – A főoldali Pályázatok ugyanazt a kártyanyelvet használja, mint a Pályázatok oldal. */
.ksm-home-managed-grants{padding-top:16px;padding-bottom:35px}
.ksm-home-grants-grid{display:flex;flex-wrap:wrap;align-items:stretch}
.ksm-home-grant-card{display:flex;min-width:0}
.ksm-home-grant-card>a{display:flex;flex-direction:column;min-width:0}
.ksm-home-grant-card img{display:block;width:100%;height:180px;object-fit:cover}
.ksm-home-grant-card p{flex:1}
.ksm-home-grant-card .read-more{margin-top:auto}
.ksm-home-grants-footer{text-align:center;padding:5px 0 22px}
.ksm-home-grants-button{display:inline-block;padding:10px 22px;border:1px solid currentColor;border-radius:4px}
@media(min-width:768px) and (max-width:991px){.ksm-home-grant-card{width:50%}}
@media(max-width:767px){.ksm-home-grant-card{width:100%}}

/* 1.10.0 – Editable partners. Fixed image envelope, natural caption height. */
.ksm-partners-section{padding-top:12px;padding-bottom:60px;clear:both}
.ksm-partner-heading{margin-bottom:34px}
.ksm-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr));gap:20px;align-items:stretch}
.ksm-partner-item{min-width:0;display:flex}
.ksm-partner-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-width:0;width:100%;padding:12px;border:1px solid #e3e9ee;border-bottom:2px solid #b9babc;border-radius:4px;background:#fff;color:#384a55;text-decoration:none}
.ksm-partner-art{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:102px;overflow:hidden}
.ksm-partner-logo{display:block;max-width:100%;max-height:98px;width:auto;height:auto;object-fit:contain}
.ksm-partner-fallback{max-width:100%;text-align:center;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.ksm-partner-caption{display:block;width:100%;padding:11px 0 1px;text-align:center;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
a.ksm-partner-card:hover,a.ksm-partner-card:focus-visible{color:#1c425a;border-bottom-color:#4ab9cf;box-shadow:0 6px 9px #00000012;text-decoration:none}
a.ksm-partner-card:focus-visible{outline:3px solid #008697;outline-offset:3px}
@media(max-width:767px){.ksm-partner-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr))}.ksm-partners-section{padding-bottom:38px}}

/* 1.10.0 – Homepage flow safeguards: no text overlap across independent sections.
   These are scoped to the homepage; original site CSS and imported HTML are preserved. */
.home .jumbotron-overlap{margin-top:0} /* Remove old -75px layer over the slider at >=1500px. */
.home .ksm-home-intro-standalone{margin-top:28px}
.home .widget-title.lined{line-height:1.25;min-height:0;margin-bottom:36px;padding-bottom:10px;overflow-wrap:anywhere}
.home .widget-title.lined>span{line-height:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.home .featured-widget,.home .latest-news,.home .ksm-about-richtext,.home .ksm-vehicle-card{overflow-wrap:anywhere}
.home .cta,.home .news,.home .testimonials{display:flow-root}
.home .call-to-action{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between}
.home .call-to-action__text{float:none;flex:1 1 330px;min-width:0;padding:20px 0;text-align:left;overflow-wrap:anywhere;line-height:1.4}
.home .call-to-action__button{float:none;flex:0 1 auto;padding:12px 0;min-width:0}
.home .call-to-action__button .btn{max-width:100%;height:auto;min-height:45px;line-height:1.3;white-space:normal;padding:12px 24px;overflow-wrap:anywhere}
/* The old fixed 132/154px service-card height and line clamp could hide editable text. */
.home .ksm-service-grid .icon-box.ksm-service-card{height:auto;min-height:154px;overflow:visible}
.home .ksm-service-card-copy{overflow:visible}
.home .ksm-service-card-description{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
.home .ksm-vehicle-description{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
.home .ksm-vehicles-section,.home .ksm-service-section,.home .ksm-managed-grants,.home .ksm-home-gallery,.home .ksm-partners-section{clear:both}
.home .ksm-home-gallery img,.home .ksm-vehicle-image img{max-width:100%}
@media(max-width:767px){
  .home .call-to-action{justify-content:center;gap:0}
  .home .call-to-action__text{flex-basis:100%;text-align:center;padding:20px 0 4px}
  .home .call-to-action__button{padding:8px 0 20px}
  .home .ksm-service-grid .icon-box.ksm-service-card{height:auto;min-height:132px}
  .home .widget-title.lined{margin-bottom:27px}
}

/* Allow multiline contact information in the header without spilling over the navigation. */
.header__widgets .icon-box__subtitle,.header__widgets a{overflow-wrap:anywhere}
@media(min-width:992px){
  .header__widgets{height:auto;min-height:120px;align-items:center;align-content:center;flex-wrap:wrap;gap:9px 14px;padding:13px 0}
  .header__widgets>.widget-icon-box{margin-top:0!important;min-width:0;max-width:100%}
}
@media(min-width:1200px){
  .header__widgets{min-height:120px}
  .header__navigation{margin-top:0} /* Previous -30px pulled the menu into the preceding text row. */
}
.home .latest-news__title{overflow-wrap:anywhere;padding-right:52px}
.home .testimonial__carousel{top:0}


/* 1.11.0 / 13. ütem – scoped responsiveness and safe vertical flow.
   The archived assets/css/style.css and imported page HTML remain untouched. */
/* The original header contains inline -20px offsets also on mobile; remove them
   at every breakpoint, not only at desktop widths. */
.header__widgets>.widget-icon-box{margin-top:0!important;min-width:0;max-width:100%}
.header__widgets .icon-box{max-width:100%;overflow-wrap:anywhere}
.header__widgets .icon-box__title,.header__widgets .icon-box__subtitle{max-width:100%;overflow-wrap:anywhere;line-height:1.4}
.header__widgets .btn{height:auto;min-height:45px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;padding:11px 18px;max-width:100%}
.header__logo{min-width:0}
.header__logo img{max-height:90px;max-width:100%;height:auto;object-fit:contain}
.header__navigation{min-width:0}
/* Previously 100% navigation width + 300px margin exceeded the container. */
@media(min-width:1200px){
 .header__navigation{width:calc(100% - 300px);margin-left:300px;margin-top:0}
 .header__navigation .main-navigation{display:flex;flex-wrap:wrap;align-items:stretch}
 .header__navigation .main-navigation>li{min-width:0}
 .header__navigation .main-navigation>li>a{overflow-wrap:anywhere;white-space:normal;line-height:1.35}
 .header__navigation .main-navigation .menu-item-has-children:hover>a{margin:0;padding:18px 35px 18px 20px}
}
@media(min-width:992px) and (max-width:1199px){
 .header__navigation .main-navigation{display:flex;flex-wrap:wrap}
 .header__navigation .main-navigation>li>a{overflow-wrap:anywhere;white-space:normal}
}
@media(max-width:991px){
 .header__widgets{height:auto;padding:12px 0 16px}
 .header__widgets .widget-icon-box{display:block;margin:0;max-width:100%}
 .header .icon-box{margin-bottom:10px;padding-bottom:10px}
 .header__navigation .main-navigation a{white-space:normal;overflow-wrap:anywhere}
}
@media(min-width:992px){
 .header__widgets{height:auto;min-height:120px;justify-content:flex-end;align-items:center;align-content:center;flex-wrap:wrap;gap:9px 14px;padding:13px 0}
 .header__widgets>.widget-icon-box{flex:0 1 auto}
 .header .icon-box{margin-right:8px;padding-left:12px}
}
/* With multiple telephone and email entries the top bar must grow instead of
   floating into the neighbouring menu. */
.top .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 14px}
.top__tagline{float:none!important;flex:1 1 310px;min-width:0;overflow-wrap:anywhere;line-height:1.5}
.top__menu{float:none!important;min-width:0;max-width:100%}
.top-navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;padding:0}
.top-navigation>li{min-width:0}
.top-navigation>li>a{overflow-wrap:anywhere}
@media(max-width:991px){.top .container{justify-content:center}.top__tagline{flex-basis:100%;text-align:center}.top-navigation{justify-content:center}}
/* The archived selector used line-height:1px to paint a horizontal rule through
   the heading, but multiline titles can then paint on top of neighbouring text. */
.boxed-container .widget-title.lined{line-height:1.25;overflow-wrap:anywhere;min-height:0;padding-bottom:9px;margin-bottom:34px}
.boxed-container .widget-title.lined>span{line-height:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.boxed-container .main-title__primary{font-size:clamp(25px,4vw,44px);line-height:1.17;overflow-wrap:anywhere}
.boxed-container .main-title__secondary{overflow-wrap:anywhere;line-height:1.4}
.boxed-container .breadcrumbs{overflow-wrap:anywhere}
.boxed-container .btn{max-width:100%;white-space:normal;height:auto;min-height:45px;line-height:1.3;padding:11px 18px;overflow-wrap:anywhere}
/* Managed sections need their own flow; they must never be drawn on top of the
   previous row because an editor supplied a longer description. */
.home .ksm-vehicles-grid,.home .ksm-service-grid,.home .ksm-home-grants-grid{align-items:stretch}
.home .ksm-vehicles-section,.home .ksm-service-section,.home .ksm-home-managed-grants,.home .kg-home-section,.home .ksm-partners-section{min-width:0;overflow-wrap:anywhere}
.home .ksm-service-grid .ksm-service-col,.home .ksm-vehicle-card-col,.home .ksm-home-grant-card{min-width:0}
.home .ksm-vehicle-card,.home .ksm-service-grid .ksm-service-card{height:auto;min-height:0;overflow-wrap:anywhere}
.home .ksm-service-grid .ksm-service-card{min-height:132px}
.home .ksm-service-card-art{align-self:flex-start}
.home .testimonials .testimonial__quote,.home .testimonials .testimonial__author{overflow-wrap:anywhere}
.home .testimonials .testimonial__quote{height:auto}
/* Legacy slider: keep title, list and CTA in the carousel's picture area.
   Unlike the old 110/170px absolute offset, this doesn't cut off the buttons
   at the intermediate 992–1200px viewport widths. */
@media(min-width:992px){
 .home .jumbotron:not(.ksm-managed-slider) .carousel-inner>.item{overflow:hidden}
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron-content{top:clamp(12px,2vw,34px);max-height:calc(100% - 24px);max-width:calc(100% - 65px);width:min(850px,calc(100% - 65px));overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere;scrollbar-width:thin}
}
@media(min-width:992px) and (max-width:1499px){
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron-content__title h1{font-size:clamp(23px,2.4vw,33px);line-height:1.2;margin-bottom:7px}
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron-content__description{font-size:13px;line-height:1.25}
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron-content__description ul{margin:0 0 6px 0;padding-left:22px}
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron-content__description li{line-height:1.25;margin-bottom:1px}
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron-content__description p{margin:2px 0;font-size:13px}
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron .btn{margin:3px 0}
 .home .jumbotron:not(.ksm-managed-slider) .btn{min-height:32px;padding:6px 11px;line-height:1.25}
}
@media(max-width:991px){
 .home .jumbotron:not(.ksm-managed-slider) .jumbotron-content{position:relative;top:auto;max-width:100%;width:100%;height:auto;overflow-wrap:anywhere}
}
@media(max-width:767px){
 .boxed-container .widget-title.lined{margin-bottom:26px}
 .boxed-container .main-title{padding:24px 0}
 .boxed-container .row.first{margin-bottom:35px}
 .home .testimonials{padding:32px 0}
 .home .testimonial .widget-title{width:auto;max-width:calc(100% - 100px)}
 .ksm-service-nav{grid-template-columns:1fr}
 .ksm-grants-pagination ul{flex-wrap:wrap}
}
/* Rich WordPress block content and legacy embeds can be wider than a phone. */
.ksm-service-panel,.ksm-grants-intro,.kg-gallery-intro,.ksm-contact-details{min-width:0;overflow-wrap:anywhere}
.ksm-service-panel img,.ksm-grants-intro img,.kg-gallery-intro img,.ksm-contact-details img{max-width:100%;height:auto}
.ksm-service-panel iframe,.ksm-grants-intro iframe,.kg-gallery-intro iframe{max-width:100%}
.ksm-service-panel pre,.ksm-grants-intro pre,.kg-gallery-intro pre{max-width:100%;overflow-x:auto}
.ksm-service-panel table,.ksm-grants-intro table,.kg-gallery-intro table{max-width:100%}
@media(max-width:767px){
 .ksm-service-panel table,.ksm-grants-intro table,.kg-gallery-intro table{display:block;overflow-x:auto}
 .ksm-service-content .alignleft,.ksm-service-content .alignright{float:none;max-width:100%;margin:0 0 15px}
 .ksm-grants-archive-card img,.ksm-home-grant-card img{max-width:100%}
}
/* Long translated partner captions must take natural height without colliding. */
.ksm-partner-card{height:100%;overflow-wrap:anywhere}
.ksm-partner-caption{white-space:normal}

/* Narrow contact details: days and hours may wrap without colliding. */
@media(max-width:480px){
 .ksm-contact-details .week-day{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 8px;min-width:0}
 .ksm-contact-details .week-day dt,.ksm-contact-details .week-day dd{float:none;max-width:100%;margin:0;overflow-wrap:anywhere}
}

/* 1.11.2 – Managed services use the same bundled Font Awesome 4.3 as admin.
   Do not use external FA5 aliases (.fa, .fas, .fal) for these icons. */
@font-face{
  font-family:"KSMServiceAwesome";
  src:url("../fonts/fontawesome-webfont.woff2?v=4.3.0") format("woff2"),
      url("../fonts/fontawesome-webfont.woff?v=4.3.0") format("woff");
  font-style:normal;
  font-weight:normal;
  font-display:block;
}
.ksm-service-grid .ksm-service-card-art .ksm-service-icon{
  display:inline-block;
  font-family:"KSMServiceAwesome"!important;
  font-size:46px;
  font-weight:normal;
  font-style:normal;
  line-height:1;
  color:#b9babc;
  speak:none;
  -webkit-font-smoothing:antialiased;
}
.ksm-service-icon::before{display:inline-block}
.ksm-service-grid .ksm-service-icon.fa-truck::before{content:"\f0d1"}
.ksm-service-grid .ksm-service-icon.fa-wrench::before{content:"\f0ad"}
.ksm-service-grid .ksm-service-icon.fa-cogs::before{content:"\f085"}
.ksm-service-grid .ksm-service-icon.fa-gears::before{content:"\f085"}
.ksm-service-grid .ksm-service-icon.fa-car::before{content:"\f1b9"}
.ksm-service-grid .ksm-service-icon.fa-bus::before{content:"\f207"}
.ksm-service-grid .ksm-service-icon.fa-road::before{content:"\f018"}
.ksm-service-grid .ksm-service-icon.fa-tachometer::before{content:"\f0e4"}
.ksm-service-grid .ksm-service-icon.fa-bolt::before{content:"\f0e7"}
.ksm-service-grid .ksm-service-icon.fa-sun-o::before{content:"\f185"}
.ksm-service-grid .ksm-service-icon.fa-clipboard::before{content:"\f0ea"}
.ksm-service-grid .ksm-service-icon.fa-building::before{content:"\f1ad"}
.ksm-service-grid .ksm-service-icon.fa-check-circle::before{content:"\f058"}
.ksm-service-grid .ksm-service-icon.fa-certificate::before{content:"\f0a3"}
.ksm-service-grid .ksm-service-icon.fa-shield::before{content:"\f132"}
.ksm-service-grid .ksm-service-icon.fa-clock-o::before{content:"\f017"}
.ksm-service-grid .ksm-service-icon.fa-life-ring::before{content:"\f1cd"}
.ksm-service-grid .ksm-service-icon.fa-cube::before{content:"\f1b2"}
.ksm-service-grid .ksm-service-icon.fa-users::before{content:"\f0c0"}
@media(max-width:767px){.ksm-service-grid .ksm-service-card-art .ksm-service-icon{font-size:38px}}
