/* Behavior styles for the frozen page design, without plugin runtimes. */
.elementor-invisible{visibility:visible!important}
/* Certificate page: keep the footer at the viewport bottom on short content. */
body.page-id-2577{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body.page-id-2577>main{flex:1 0 auto;width:100%}
body.page-id-2577>.elementor-location-header,body.page-id-2577>.elementor-location-footer{flex-shrink:0;width:100%}
.site-manual-picker{margin:16px auto 0;padding-top:14px;border-top:1px solid #e1e5ea;max-width:340px;text-align:center}
.site-manual-picker:first-child{margin-top:0;padding-top:0;border-top:0}
.elementor-3676 table>tbody>tr>td:nth-child(4){text-align:center!important;vertical-align:middle!important}
.elementor-3676 .site-manual-picker{margin-bottom:10px}
.site-manual-picker-title{display:block;margin-bottom:8px;color:#475467;font-size:14px;font-weight:600;line-height:1.4}
.site-manual-picker select.selectFilesList{box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid #c7cdd4;border-radius:8px;background:#fff;color:#283442;font:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.site-manual-picker select.selectFilesList:focus-visible{outline:3px solid #e6232e44;outline-offset:2px;border-color:#929da9}
/* Registered reagents: center the instruction column without changing adjacent cells. */
.elementor-element-03d3251 table>tbody>tr>td:nth-child(5){text-align:center!important;vertical-align:middle!important}
/* Match the KG catalogue image hover, without enabling motion on touch devices. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 img.elementor-animation-grow{transition:transform .3s ease!important}
 img.elementor-animation-grow:hover{transform:scale(1.1)!important}
}
@media(prefers-reduced-motion:reduce){
 img.elementor-animation-grow{transition:none!important;transform:none!important}
}
/* Fade the photograph into the contact strip; keep the white section edge clean. */
#contactsMain{background:rgba(0,0,0,.92)!important;isolation:isolate}
#contactsMain .elementor-widget-container{background:transparent!important}
#contactsMain::before{content:"";position:absolute;inset:auto 0 100%;height:160px;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.037) 15%,rgba(0,0,0,.147) 30%,rgba(0,0,0,.368) 50%,rgba(0,0,0,.644) 70%,rgba(0,0,0,.837) 85%,rgba(0,0,0,.92) 100%);pointer-events:none}
#contactsMain::after{content:none!important}
#contactsMain>.elementor-container{position:relative;z-index:2}
#contactsMain>.elementor-container>.elementor-column>.elementor-widget-wrap{align-content:center!important;align-items:center!important}
/* Join the home introduction photo to the contact strip without moving its text. */
@media(min-width:1025px){
 .elementor-element-53cd10d4 .elementor-element-67aa21{position:relative;top:-24px}
}
/* Compact desktop header; retain the existing mobile menu and logo layout. */
/* Home introduction: natural word spacing and a more comfortable reading rhythm. */
.elementor :is(.elementor-element-2eb88f0d,.elementor-element-4264fb77) p{text-align:left!important;line-height:1.65!important}
@media(min-width:1025px){
 header.elementor-location-header>.elementor-section>.elementor-container{min-height:88px!important;align-items:center;padding-inline:24px}
 header.elementor-location-header .elementor-element-75731264{width:260px!important;flex:0 0 260px}
 header.elementor-location-header .elementor-element-197ab03c{width:calc(100% - 260px)!important;flex:1;min-width:0}
 header.elementor-location-header .elementor-element-197ab03c>.elementor-widget-wrap{align-content:center!important;align-items:center!important}
 header.elementor-location-header .elementor-element-197ab03c .elementor-widget-nav-menu{margin-bottom:0!important}
 header.elementor-location-header .elementor-nav-menu--main{justify-content:flex-end!important;width:100%}
 header.elementor-location-header .elementor-widget-theme-site-logo img{width:240px!important;height:auto}
 header.elementor-location-header .elementor-nav-menu--main>.elementor-nav-menu{justify-content:flex-end;align-items:center;flex-wrap:nowrap}
 header.elementor-location-header .elementor-nav-menu--main>.elementor-nav-menu>li>a.elementor-item{font-size:20px!important;line-height:26px!important;padding:12px 10px!important;white-space:nowrap}
 header.elementor-location-header .elementor-nav-menu--main>.elementor-nav-menu>li:is(.menu-item-4477,.menu-item-4683)>a.elementor-item{font-size:13px!important;font-weight:500!important;color:#667085!important;padding-inline:7px!important}
}
@media(min-width:1025px) and (max-width:1279px){
 header.elementor-location-header>.elementor-section>.elementor-container{padding-inline:12px}
 header.elementor-location-header .elementor-element-75731264{width:210px!important;flex-basis:210px}
 header.elementor-location-header .elementor-widget-theme-site-logo img{width:190px!important}
 header.elementor-location-header .elementor-nav-menu--main>.elementor-nav-menu>li>a.elementor-item{font-size:15px!important;padding-inline:6px!important}
}
/* Shared spacing for boxed content only; full-width heroes keep their layout. */
.elementor .elementor-section.site-content-section{margin-top:0!important;margin-bottom:0!important;padding:24px 24px!important}
.elementor .elementor-section.site-content-section:first-child{padding-top:40px!important}
.elementor .elementor-section.site-content-section:last-child{padding-bottom:48px!important}
.elementor .elementor-section.site-content-section>.elementor-container{max-width:1140px!important;margin-inline:auto}
.site-content-section .elementor-widget-text-editor :is(h1,h2,h3),.site-content-section .elementor-widget-heading :is(h1,h2,h3){margin-top:0;margin-bottom:16px}
.site-content-section .elementor-widget-text-editor p{margin-top:0;margin-bottom:16px}
.site-content-section .elementor-widget-text-editor p:last-child{margin-bottom:0}
@media(max-width:767px){
 .elementor .elementor-section.site-content-section{padding:16px 16px!important}
 .elementor .elementor-section.site-content-section:first-child{padding-top:24px!important}
 .elementor .elementor-section.site-content-section:last-child{padding-bottom:32px!important}
 .elementor .elementor-section.site-content-section>.elementor-container>.elementor-column>.elementor-widget-wrap{padding-left:0!important;padding-right:0!important}
}
.site-readable-banner :is(h1,h2,h3,p,a,.elementor-widget-text-editor,.elementor-button-text){text-shadow:0 1px 2px rgba(0,0,0,.25)!important}
/* News thumbnails no longer depend on Elementor's image positioning script. */
.elementor-widget-posts .elementor-post__thumbnail__link{display:block;overflow:hidden;background:#fff}
.elementor-widget-posts .elementor-post__thumbnail__link:after{display:none!important}
.elementor-widget-posts .elementor-post__thumbnail{position:relative!important;padding:0!important;aspect-ratio:4/3;width:100%;height:auto!important;background:#fff}
.elementor-widget-posts .elementor-post__thumbnail img{position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:none!important;object-fit:cover!important;object-position:center;transform:none!important;margin:0!important}
.site-cookie-notice{position:fixed!important;bottom:0;left:0;right:0;z-index:9999;background:white;box-shadow:0 -3px 20px #0002;max-height:60vh;overflow:auto}
.site-cookie-notice[hidden]{display:none!important}
.site-cookie-notice:not([hidden]){display:block!important}
@media(max-width:767px){
 .site-cookie-notice>.elementor-section{padding:0!important;margin:0!important}
 .site-cookie-notice .elementor-column>.elementor-widget-wrap{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))!important;gap:6px}
 .site-cookie-notice .elementor-widget{margin:0!important}
 .site-cookie-notice .elementor-heading-title{font-size:16px!important;line-height:20px!important;margin:0!important}
 .site-cookie-notice .elementor-widget-text-editor,.site-cookie-notice .elementor-widget-text-editor p{font-size:13px!important;line-height:18px!important;margin:0!important}
 .site-cookie-notice .elementor-widget-button{width:100%}
 .site-cookie-notice .elementor-button-wrapper{text-align:right}
}
.elementor-nav-menu .menu-item-has-children{position:relative}
.elementor-nav-menu .sub-menu{display:none;position:absolute;width:420px!important;min-width:0;max-width:calc(100vw - 32px);box-sizing:border-box;z-index:1000;top:100%;left:0}
.elementor-nav-menu .sub-menu>li{width:100%;min-width:0}
.elementor-nav-menu .sub-menu a.elementor-sub-item{box-sizing:border-box;width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
nav.elementor-nav-menu--main .elementor-nav-menu .sub-menu .sub-menu{top:0!important;bottom:auto;margin-top:0!important;left:100%}
.elementor-nav-menu .menu-item.is-open>.sub-menu{display:block}
.elementor-nav-menu .menu-item-has-children>a:after{content:'▾';position:static!important;display:inline-block!important;flex-shrink:0;width:auto!important;height:auto!important;margin:0 0 0 .4em!important;inset:auto!important;transform:none!important;opacity:1!important;background:none!important;border:0!important;box-shadow:none!important;transition:none!important;font-size:.7em;line-height:1}
nav.elementor-nav-menu__container.elementor-nav-menu--dropdown{display:none;max-height:none!important;transform:none!important}
nav.elementor-nav-menu__container.elementor-nav-menu--dropdown.is-open{display:block}
nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-menu{position:static;width:100%!important;min-width:0;max-width:100%;padding-left:14px}
.eae-cs-content-section:not(.active){display:none!important}
.eae-cs-content-section.active{display:block!important}
.elementor-accordion .elementor-tab-content[hidden]{display:none!important}
.elementor-accordion .elementor-tab-content:not([hidden]){display:block}
.swiper,.swiper-container{overflow:hidden}
.cms-pagination a{border:1px solid #075f69;border-radius:7px;padding:8px 14px;color:#075f69}
/* News cards: softer elevation, comfortable text insets and readable summaries. */
.elementor-widget-posts .elementor-post__card{box-shadow:0 2px 12px rgba(20,30,40,.09)!important}
.elementor-widget-posts .elementor-post__card:hover{box-shadow:0 4px 16px rgba(20,30,40,.13)!important}
.elementor-widget-posts .elementor-post__text{padding:24px 24px 16px!important;margin:0!important}
.elementor-widget-posts .elementor-post__excerpt p{color:#424b55!important}
/* Limit only card previews; article content remains untouched. */
.elementor-widget-posts .elementor-post__excerpt p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;line-height:1.5;max-height:9em}
.elementor-widget-posts .elementor-post__meta-data{padding:12px 24px 16px!important;color:#667085!important}
@media(max-width:767px){
 .elementor-widget-posts .elementor-post__text{padding:20px 20px 16px!important}
 .elementor-widget-posts .elementor-post__meta-data{padding:12px 20px 16px!important}
}
dialog.site-lightbox{max-width:95vw;max-height:95vh;border:0;border-radius:10px;padding:36px 12px 12px}
dialog.site-lightbox::backdrop{background:#000b}
dialog.site-lightbox img{max-width:90vw;max-height:82vh;object-fit:contain}
dialog.site-lightbox button{position:absolute;right:5px;top:2px;font-size:24px;padding:0 10px}
