/* Final local Portal polish. Loaded after the legacy template styles. */
:root { --theme-color:#3B5BDB; --theme-color2:#A78BFA; --title-color:#172554; --body-color:#52617f; --smoke-color:#F8FAFF; --border-color:#D8E2FF; }
body { background:#F8FAFF; color:#52617f; }
.public-hero { position:relative; overflow:hidden; padding:clamp(3.5rem,7vw,7.25rem) 0; color:#fff; background:radial-gradient(circle at 86% 12%,rgba(34,211,238,.34),transparent 28%),linear-gradient(120deg,#172554 0%,#25316D 47%,#3B5BDB 100%); }
.public-hero:before { content:""; position:absolute; width:32rem; height:32rem; border:1px solid rgba(216,226,255,.35); border-radius:50%; right:-13rem; bottom:-17rem; }
.public-hero__grid { position:relative; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr); gap:clamp(2rem,5vw,5.5rem); align-items:center; }.public-hero__content{position:relative;z-index:2}
.public-eyebrow,.public-hero__panel-label { margin:0 0 .85rem; color:#5EEAD4; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.public-hero h1 { max-width:780px; margin:0; color:#fff; font-size:clamp(2.35rem,5vw,4.7rem); line-height:1.06; letter-spacing:-.045em; }
.public-hero__lede { max-width:660px; margin:1.35rem 0 0; color:#E9EEFF; font-size:clamp(1rem,1.5vw,1.19rem); line-height:1.75; }
.public-hero__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.public-button { min-height:46px; padding:.72rem 1.05rem; border:1px solid transparent; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; gap:.55rem; font-weight:800; text-decoration:none; }
.public-button--primary { color:#172554; background:#5EEAD4; border-color:#5EEAD4; }.public-button--primary:hover { color:#172554; background:#22D3EE; }
.public-button--secondary { color:#fff; background:rgba(255,255,255,.08); border-color:rgba(216,226,255,.55); }.public-button--secondary:hover { color:#fff; background:rgba(255,255,255,.16); }
.public-hero__panel { padding:1.55rem; border:1px solid rgba(216,226,255,.48); border-radius:16px; background:rgba(23,37,84,.37); box-shadow:0 22px 50px rgba(8,18,58,.22); backdrop-filter:blur(12px); }
.public-hero__panel strong { display:block; color:#fff; font-size:1.32rem; line-height:1.35; }.public-hero__panel ul { display:grid; gap:.85rem; padding:0; margin:1.35rem 0 0; list-style:none; color:#E9EEFF; }.public-hero__panel i { color:#5EEAD4; margin-right:.45rem; }.public-hero__media{position:absolute;z-index:1;top:50%;right:calc(50% - 50vw);display:block;width:100vw;height:calc(100% + clamp(7rem,14vw,14.5rem));overflow:hidden;pointer-events:none;transform:translateY(-50%);isolation:isolate}.public-hero__media:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(23,37,84,1) 0%,rgba(23,37,84,.98) 24%,rgba(23,37,84,.88) 39%,rgba(23,37,84,.58) 57%,rgba(37,49,109,.22) 76%,rgba(59,91,219,.46) 100%)}.public-hero__media-background{position:absolute;inset:0;z-index:0;background-position:center right;background-repeat:no-repeat;background-size:cover;opacity:.7;animation:public-hero-media-fade .35s ease-out;-webkit-mask-image:linear-gradient(105deg,transparent 0%,rgba(0,0,0,.08) 18%,rgba(0,0,0,.42) 39%,rgba(0,0,0,.82) 59%,#000 78%,#000 100%);mask-image:linear-gradient(105deg,transparent 0%,rgba(0,0,0,.08) 18%,rgba(0,0,0,.42) 39%,rgba(0,0,0,.82) 59%,#000 78%,#000 100%)}.public-hero__media--loading:after{background:transparent}@keyframes public-hero-media-fade{from{opacity:0}to{opacity:.7}}
.service-sec-2 { position:relative; z-index:2; margin-top:-1.4rem; }.summary-shortcut { display:flex; align-items:center; min-height:116px; gap:.85rem; padding:1rem 1.05rem; border:1px solid #D8E2FF; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(23,37,84,.08); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.summary-shortcut:hover { transform:translateY(-2px); border-color:#A78BFA; box-shadow:0 12px 25px rgba(23,37,84,.12); }.summary-shortcut .service-card-icon { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; border-radius:11px; background:#EEF2FF; color:#3B5BDB; font-size:1.1rem; }.summary-shortcut .service-content { min-width:0; }.summary-shortcut__value { margin:0 0 .1rem; color:#3B5BDB; font-size:1.18rem; font-weight:850; line-height:1.15; }.summary-shortcut .service-card-title { margin:0; color:#172554; font-size:1rem; line-height:1.3; }.summary-shortcut .service-card-title a { color:inherit; }.summary-shortcut .service-card-text { margin:.2rem 0 0; color:#52617f; font-size:.84rem; line-height:1.4; }
.public-section { padding:clamp(3rem,6vw,5.5rem) 0; }.public-section .title-area { max-width:690px; }.public-section .sec-title { font-size:clamp(1.8rem,3vw,2.65rem); }.course-box.team-card { height:100%; overflow:hidden; border:1px solid #D8E2FF; border-radius:14px; background:#fff; box-shadow:0 10px 28px rgba(23,37,84,.07); }.course-box.team-card .course-content { padding:1.1rem 1.2rem 1.25rem; }.course-box.team-card .course-title { min-height:2.8em; font-size:1.1rem; line-height:1.4; }.course-box.team-card .course-img,.course-box.team-card .course-img2 { aspect-ratio:4/3; background:#EEF2FF; }.course-box.team-card .course-img img,.course-box.team-card .course-img2 img,.public-media-image { width:100%; height:100%; object-fit:contain; object-position:center; }
.public-empty { padding:1.25rem; border:1px dashed #B8C6EE; border-radius:12px; color:#52617f; text-align:center; background:#fff; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid rgba(34,211,238,.75)!important; outline-offset:3px; }
.th-btn,.th-btn-r,.btn { min-height:44px; border-radius:9px; font-weight:700; }
.th-btn,.th-btn-r,.btn-primary { background:#3B5BDB; border-color:#3B5BDB; color:#fff; }
.th-btn:hover,.th-btn-r:hover,.btn-primary:hover { background:#25316D; border-color:#25316D; }
.btn-secondary { background:#A78BFA; border-color:#A78BFA; color:#172554; }
.btn-info { background:#22D3EE; border-color:#22D3EE; color:#172554; }
.btn-success { background:#5EEAD4; border-color:#5EEAD4; color:#172554; }
.th-btn:disabled,.th-btn-r:disabled,.btn:disabled { cursor:not-allowed; opacity:.58; transform:none; }
.header-layout1 .header-top { background:#3B5BDB; border-color:rgba(216,226,255,.42); }.header-layout1 .header-top:after { content:none; display:none; }.header-layout1 .header-top .header-links.header-right li:first-child { padding-right:0; }.portal-topbar__row { min-height:42px; }.portal-social { display:flex; align-items:center; gap:.35rem; min-height:42px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }.portal-social a { width:30px; height:30px; display:grid; place-items:center; border:1px solid transparent; border-radius:50%; color:#fff; font-size:.84rem; line-height:1; }.portal-social a:hover,.portal-social a:focus-visible { color:#fff; background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.28); }.header-logo { display:flex; align-items:center; min-width:0; }.header-logo img { width:38px; height:auto; }.portal-brand-title { color:#172554!important; font-size:clamp(.93rem,1.3vw,1.08rem)!important; line-height:1.2; white-space:nowrap; }.portal-auth-cta { min-height:42px; padding:.62rem .85rem; font-size:.9rem; white-space:nowrap; }
.menu-area { border-color:#D8E2FF; }
.title-area .sec-title,.border-title,.sec-title { color:#172554; }
.sub-title { color:#3B5BDB; }
.th-blog,.th-service,.th-product,.th-team,.th-project,.price-card { border-color:#D8E2FF; }
.form-control,.form-select,.choices__inner { min-height:44px; border-color:#B8C6EE; }
.form-control:focus,.form-select:focus,.choices__inner.is-focused { border-color:#3B5BDB; box-shadow:0 0 0 .2rem rgba(59,91,219,.14); }
.form-group > .eye { min-width:44px; min-height:44px; display:grid; place-items:center; border:0; background:transparent; color:#3B5BDB; cursor:pointer; }
.alert { border-radius:9px; border-width:1px; }
.alert-warning { color:#172554; background:#EEF2FF; border-color:#D8E2FF; }
.table-responsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.modal-content { border-radius:14px; }
.modal-dialog-scrollable .modal-body { overscroll-behavior:contain; }
.product-showcase { padding-top:clamp(2.25rem,4vw,3.75rem); padding-bottom:clamp(2.75rem,5vw,4.5rem); }.product-showcase .title-area { margin-bottom:1.15rem; }.product-showcase__header { row-gap:.75rem; margin-bottom:.5rem; }.product-showcase__categories { margin-left:auto; max-width:100%; }.product-showcase__filters { display:block; min-height:0; margin-top:.4rem; padding:1rem!important; border:1px solid #D8E2FF; border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(23,37,84,.06); }.product-showcase__state { margin:0; }.product-showcase__cta { display:flex; justify-content:flex-end; }.product-filter-panel { width:100%; }.product-filter-layout { display:grid; grid-template-columns:minmax(220px,1.25fr) minmax(0,4fr) auto; align-items:end; gap:.8rem; width:100%; }.product-filter-layout__search,.product-filter-layout__fields,.product-filter-field { min-width:0; }.product-filter-layout__search,.product-filter-field { display:grid; gap:.4rem; }.product-filter-field__label,.product-filter-field .form-label { display:block; min-height:1.25rem; margin:0; color:#25316D; font-size:.78rem; font-weight:750; letter-spacing:.01em; line-height:1.35; }.product-filter-layout__search .search-form { position:relative; display:block; width:100%; }.product-filter-layout__search .search-form input { width:100%; min-height:46px; padding:0 2.85rem 0 .85rem; border:1px solid #B8C6EE; border-radius:10px; background:#fff; color:#172554; box-shadow:0 1px 2px rgba(23,37,84,.04); }.product-filter-layout__search .search-form input:focus { border-color:#3B5BDB; box-shadow:0 0 0 .2rem rgba(59,91,219,.14); }.product-filter-layout__search .search-form button { position:absolute; top:0; right:0; display:grid; width:46px; height:46px; padding:0; place-items:center; border:0; border-radius:0 10px 10px 0; background:transparent; color:#3B5BDB; }.product-filter-layout__search .search-form button:hover { color:#25316D; }.product-filter-layout__fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }.product-filter-field .choices,.product-filter-field .choices__inner,.product-filter-field select { width:100%; min-width:0; }.product-filter-field .choices { margin:0; }.product-filter-field .choices__inner,.product-filter-field > select { min-height:46px; padding:.62rem .8rem!important; border:1px solid #B8C6EE!important; border-radius:10px!important; background:#fff!important; box-shadow:0 1px 2px rgba(23,37,84,.04); color:#172554; }.product-filter-field .choices.is-focused .choices__inner,.product-filter-field .choices.is-open .choices__inner,.product-filter-field > select:focus { border-color:#3B5BDB!important; box-shadow:0 0 0 .2rem rgba(59,91,219,.14); }.product-filter-field .choices__list--single { padding:0; }.product-filter-field .choices__input { margin:0!important; background:transparent!important; }.product-filter-field .choices-label { top:calc(1.25rem + .4rem + 14px)!important; left:.85rem; color:#7180a0; font-size:.84rem; line-height:1; pointer-events:none; }.product-filter-field select:disabled { color:#7180a0; opacity:1; }.product-filter-layout__action .btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-width:102px; min-height:46px; padding:.7rem .95rem; border-color:#3B5BDB; border-radius:10px; background:#3B5BDB; box-shadow:0 5px 12px rgba(59,91,219,.2); color:#fff; font-weight:800; white-space:nowrap; }.product-filter-layout__action .btn:hover,.product-filter-layout__action .btn:focus-visible { border-color:#25316D; background:#25316D; color:#fff; box-shadow:0 0 0 .2rem rgba(34,211,238,.35),0 5px 12px rgba(59,91,219,.2); }.product-filter-advanced > [class*="col-"] { min-width:0; }.public-services { padding-top:clamp(2.75rem,5vw,4.5rem); padding-bottom:clamp(3rem,5vw,4.75rem); }.public-services__primary { padding-bottom:2.75rem; }.public-services__content > .public-data-state { margin:0; }.public-data-state { display:flex; align-items:center; justify-content:center; gap:.55rem; min-height:96px; margin:0; padding:1.15rem; border:1px dashed #B8C6EE; border-radius:12px; background:#fff; color:#52617f; text-align:center; }.public-data-state p { margin:0; }.public-data-state i { color:#3B5BDB; }.public-data-state--error { border-color:#A78BFA; background:#F8FAFF; color:#25316D; }.public-services__programs { padding-top:0; }.program-card { display:flex; align-items:flex-start; height:100%; gap:1rem; padding:1rem; border:1px solid #D8E2FF; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(23,37,84,.07); }.program-card__icon { flex:0 0 48px; width:48px; height:48px; display:grid; place-items:center; overflow:hidden; border-radius:12px; background:#EEF2FF; }.program-card__icon img { width:32px!important; height:32px!important; object-fit:contain; }.program-card__content { min-width:0; flex:1; }.program-card__header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:.65rem; }.program-card__title { font-size:1.18rem!important; line-height:1.25; }.program-card__info { display:inline-flex; align-items:center; gap:.35rem; min-height:36px; padding:.4rem .55rem; border:1px solid #D8E2FF; border-radius:8px; background:#F8FAFF; color:#25316D; font-size:.78rem; font-weight:750; white-space:nowrap; }.program-card__info:hover { border-color:#A78BFA; background:#EEF2FF; color:#172554; }
.portal-social a { margin:0!important; }.portal-social i { display:block; width:1em; line-height:1; text-align:center; }.public-services .title-area { margin-left:auto; margin-right:auto; text-align:center; }.public-services .title-area > p { max-width:620px; margin-left:auto; margin-right:auto; }.public-services__content { max-width:1140px; margin:0 auto; }.public-services__content > .public-data-state { max-width:680px; margin-left:auto; margin-right:auto; }.agenda-section__header { row-gap:1rem; }.agenda-section .container-fluid { padding-left:0; padding-right:0; }.agenda-section__tabs { display:flex; flex-wrap:wrap; gap:.55rem; margin:0 0 1.25rem; }.agenda-section__tabs .filter-btn { min-height:42px; margin:0; padding:.55rem .8rem; }.agenda-section__grid { margin-bottom:1.5rem; }.product-filter-layout { display:grid; grid-template-columns:minmax(220px,.95fr) minmax(0,3.6fr) auto; align-items:end; gap:.7rem; width:100%; }.product-filter-layout__search,.product-filter-layout__fields,.product-filter-field { min-width:0; }.product-filter-layout__search .search-form { width:100%; }.product-filter-layout__fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }.product-filter-field .form-label { display:block; min-height:1.35rem; color:#25316D; font-size:.78rem; font-weight:750; line-height:1.35; }.product-filter-field .choices,.product-filter-field .choices__inner,.product-filter-field select { width:100%; min-width:0; }.product-filter-layout__action .btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:44px; border-color:#3B5BDB; color:#25316D; white-space:nowrap; }.product-filter-layout__action .btn:hover { background:#EEF2FF; border-color:#3B5BDB; color:#172554; }.product-filter-advanced > [class*="col-"] { min-width:0; }.portal-floating-nav { display:none; position:relative; }.portal-nav-toggle { width:44px; height:44px; display:grid; align-content:center; gap:5px; padding:0 11px; border:1px solid #D8E2FF; border-radius:11px; background:#F8FAFF; }.portal-nav-toggle span { display:block; width:100%; height:2px; border-radius:2px; background:#25316D; transition:transform .18s ease,opacity .18s ease; }.portal-nav-toggle.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }.portal-nav-toggle.is-open span:nth-child(2) { opacity:0; }.portal-nav-toggle.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }.portal-nav-popover { position:absolute; z-index:1001; top:calc(100% + .7rem); right:0; width:min(360px,calc(100vw - 2rem)); max-height:min(70vh,560px); overflow-y:auto; padding:.8rem; border:1px solid #D8E2FF; border-radius:16px; background:rgba(248,250,255,.98); box-shadow:0 18px 42px rgba(23,37,84,.2); }.portal-nav-popover__items { display:grid; gap:.45rem; }.portal-nav-item__row { display:grid; grid-template-columns:minmax(0,1fr) 36px; align-items:center; gap:.35rem; }.portal-nav-item__row > a,.portal-nav-submenu a { display:flex; align-items:center; min-height:40px; padding:.55rem .75rem; border:1px solid #D8E2FF; border-radius:10px; background:#fff; color:#25316D; font-size:.9rem; font-weight:750; text-decoration:none; }.portal-nav-item__row > a:hover,.portal-nav-submenu a:hover { background:#EEF2FF; border-color:#A78BFA; color:#172554; }.portal-nav-item:not(.portal-nav-item--has-children) .portal-nav-item__row { grid-template-columns:1fr; }.portal-nav-item__toggle { width:36px; height:36px; display:grid; place-items:center; border:1px solid #D8E2FF; border-radius:10px; background:#EEF2FF; color:#3B5BDB; }.portal-nav-submenu { display:grid; gap:.35rem; padding:.45rem 0 0 1rem; }.portal-nav-submenu a { min-height:36px; padding:.45rem .65rem; font-size:.82rem; font-weight:650; }.portal-nav-popover__cta { display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; margin-top:.8rem; padding:.65rem .9rem; border-radius:10px; background:#3B5BDB; color:#fff; font-size:.9rem; font-weight:800; text-decoration:none; }.portal-nav-popover__cta:hover { background:#25316D; color:#fff; }.portal-nav-popover__account { display:grid; gap:.45rem; margin-top:.8rem; }.portal-nav-popover__account span,.portal-nav-popover__account a { display:flex; align-items:center; min-height:38px; gap:.45rem; padding:.5rem .65rem; border-radius:9px; color:#25316D; font-size:.86rem; text-decoration:none; }.portal-nav-popover__account span { background:#EEF2FF; font-weight:750; }.portal-nav-popover__account a:hover { background:#D8E2FF; }
.portal-social a { margin:0!important; }.portal-social i { display:block; width:1em; line-height:1; text-align:center; }.portal-footer .footer-wrap { background:transparent!important; }.portal-footer__grid { row-gap:1.15rem; }.portal-footer__brand { display:flex; align-items:center; width:auto!important; max-width:100%; gap:.7rem; margin:0 0 1rem!important; padding:0!important; background:transparent!important; }.portal-footer__brand img { width:42px; height:auto; }.portal-footer__brand-name { color:#fff!important; font-size:1rem; font-weight:800; line-height:1.35; text-decoration:none; }.portal-footer__social { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 0!important; }.portal-footer__social a { width:38px!important; height:38px!important; display:grid!important; place-items:center!important; margin:0!important; padding:0!important; line-height:1!important; border:1px solid rgba(216,226,255,.28); border-radius:50%; background:#25316D!important; color:#D8E2FF!important; transition:background-color .18s ease,color .18s ease,border-color .18s ease; }.portal-footer__social a i { display:block; width:1em; margin:0!important; padding:0!important; line-height:1!important; text-align:center; transform:none!important; }.portal-footer__social a:hover,.portal-footer__social a:focus-visible,.portal-footer__social a:active { background:#3B5BDB!important; border-color:#5EEAD4; color:#fff!important; transform:none!important; }.portal-footer__contacts,.portal-footer__services { display:grid; gap:.6rem; margin:0; padding:0; list-style:none; }.portal-footer__contacts li,.portal-footer__services li { margin:0!important; }.portal-footer__contacts a,.portal-footer__contact-text { display:flex; align-items:flex-start; gap:.6rem; color:#D8E2FF!important; line-height:1.5; text-decoration:none; }.portal-footer__contacts i { flex:0 0 1rem; margin-top:.27rem; color:#5EEAD4; text-align:center; }.portal-footer__contacts span:last-child { min-width:0; overflow-wrap:anywhere; }.portal-footer__services a { display:inline-flex; min-height:28px; align-items:center; color:#D8E2FF!important; text-decoration:none; }.portal-footer__visitor-placeholder { min-height:140px; background:rgba(255,255,255,.96); }
.portal-footer--compact .widget-area { padding-top:1rem; padding-bottom:0; }.portal-footer--compact .portal-footer__grid { align-items:start; row-gap:.6rem; }.portal-footer--compact .portal-footer__brand { margin-bottom:.55rem!important; }.portal-footer--compact .footer-widget { margin-bottom:0; }.portal-footer--compact .portal-footer__visitor-placeholder { min-height:0; height:96px; }.portal-footer--compact .copyright-wrap { padding-top:.8rem; padding-bottom:.8rem; }
@media (max-width:1199.98px) { .main-menu { display:none!important; }.portal-floating-nav { display:block; }.header-button { display:none; }.portal-brand-title { white-space:normal; max-width:270px; }.product-filter-layout { grid-template-columns:minmax(0,1fr) auto; }.product-filter-layout__fields { grid-column:1 / -1; grid-row:2; grid-template-columns:repeat(2,minmax(0,1fr)); }.product-filter-layout__action { grid-column:2; grid-row:1; }.product-filter-advanced > .col-4 { flex:0 0 50%; max-width:50%; }.agenda-section__header .testi-slider-2 { margin-top:.25rem; }.agenda-section__grid .course-box { height:100%; }.course-slider-1 .slick-slide { min-width:0; } }
@media (max-width:991.98px) { .portal-footer__brand { margin-bottom:.75rem!important; }.portal-footer__grid > [class*="col-"] { min-width:0; } }
@media (max-width:991.98px) { .public-hero__grid { grid-template-columns:1fr; padding-bottom:clamp(13rem,52vw,19rem); }.public-hero__media{top:auto;right:calc(50% - 50vw);bottom:-4.5rem;width:100vw;height:clamp(310px,54vw,470px);transform:none}.public-hero__media-background{-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 16%,rgba(0,0,0,.34) 34%,rgba(0,0,0,.78) 55%,#000 74%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 16%,rgba(0,0,0,.34) 34%,rgba(0,0,0,.78) 55%,#000 74%,#000 100%)}.public-hero__media:after{background:linear-gradient(180deg,transparent 0%,rgba(23,37,84,.94) 18%,rgba(23,37,84,.76) 38%,rgba(37,49,109,.28) 66%,rgba(59,91,219,.48) 100%)}.public-hero__panel { max-width:580px; }.service-sec-2 { margin-top:0; padding-top:1.25rem; }.program-card { min-height:0; }.agenda-section__tabs { justify-content:center; }.agenda-section__header .title-area { text-align:center; margin-left:auto; margin-right:auto; } }
@media (max-width:767.98px) { .container { padding-left:1rem; padding-right:1rem; } .row > [class*="col-"] { min-width:0; } .public-hero { padding:3.6rem 0 4rem; }.public-hero__grid{padding-bottom:clamp(13rem,66vw,18rem)}.public-hero__media{bottom:-4rem;height:clamp(310px,92vw,410px)}.public-hero__actions,.public-button { width:100%; }.summary-shortcut { min-height:104px; }.product-showcase__filters { padding:.5rem!important; }.product-showcase__cta { justify-content:flex-start; }.product-showcase__cta .th-btn { width:100%; text-align:center; }.product-filter-layout { grid-template-columns:1fr; }.product-filter-layout__search,.product-filter-layout__fields,.product-filter-layout__action { grid-column:auto; grid-row:auto; }.product-filter-layout__fields { grid-template-columns:1fr; }.product-filter-layout__action .btn { width:100%; }.product-filter-advanced > .col-4 { flex:0 0 100%; max-width:100%; }.public-services__primary { padding-bottom:2rem; }.program-card { gap:.75rem; padding:.9rem; }.program-card__header { align-items:flex-start; flex-direction:column; gap:.35rem; }.program-card__info { width:100%; justify-content:center; }.portal-topbar__row { min-height:38px; }.portal-social { justify-content:center; min-height:38px; }.portal-social a { width:29px; height:29px; }.portal-nav-popover { right:0; width:min(360px,calc(100vw - 2rem)); }.agenda-section__tabs .filter-btn { width:100%; }.form-registrasi-login,.contact-form { padding-bottom:2rem!important; } .form-registrasi-login .d-flex.justify-content-between { align-items:flex-start; flex-direction:column; gap:.25rem; } .form-btn .th-btn { width:100%; justify-content:center; } .modal-dialog { margin:.75rem; } .modal-dialog:not(.modal-fullscreen) { max-width:calc(100% - 1.5rem); } .modal-body video { max-width:100%; height:auto; } }
@media (max-width:767.98px) { .portal-footer__social { justify-content:center; }.portal-footer__brand { justify-content:center; text-align:center; }.portal-footer__contacts,.portal-footer__services { max-width:360px; margin-left:auto; margin-right:auto; }.portal-footer .footer-widget { text-align:center; }.portal-footer__contacts a,.portal-footer__contact-text { text-align:left; } }
/* Final Produk UMKM filter composition: this scoped block remains authoritative over legacy widget styles. */
.product-showcase .product-filter-layout { grid-template-columns:minmax(220px,1.25fr) minmax(0,4fr) auto; gap:.8rem; }.product-showcase .product-filter-layout__fields { gap:.8rem; }.product-showcase .product-filter-layout__action .btn { min-height:46px; padding:.7rem .95rem; border-color:#3B5BDB; background:#3B5BDB; box-shadow:0 5px 12px rgba(59,91,219,.2); color:#fff; }.product-showcase .product-filter-layout__action .btn:hover { border-color:#25316D; background:#25316D; color:#fff; }.product-showcase .product-filter-layout__action .btn:focus-visible { border-color:#25316D; background:#25316D; color:#fff; box-shadow:0 0 0 .2rem rgba(34,211,238,.35),0 5px 12px rgba(59,91,219,.2); }
@media (max-width:1199.98px) { .product-showcase .product-filter-layout { grid-template-columns:minmax(0,1fr) auto; }.product-showcase .product-filter-layout__fields { grid-column:1 / -1; grid-row:2; grid-template-columns:repeat(2,minmax(0,1fr)); }.product-showcase .product-filter-layout__action { grid-column:2; grid-row:1; } }
@media (max-width:767.98px) { .product-showcase .product-showcase__filters { padding:.75rem!important; }.product-showcase .product-filter-layout { grid-template-columns:1fr; }.product-showcase .product-filter-layout__search,.product-showcase .product-filter-layout__fields,.product-showcase .product-filter-layout__action { grid-column:auto; grid-row:auto; }.product-showcase .product-filter-layout__fields { grid-template-columns:1fr; }.product-showcase .product-filter-layout__action .btn { width:100%; } }
/* Choices' default 7.5px/3.75px inner padding and 4px single-list padding offset its baseline. */
.product-showcase .product-filter-layout__search .search-form input,.product-showcase .product-filter-field > select { height:46px; min-height:46px; padding-block:0; line-height:1.2; }.product-showcase .product-filter-field .choices { height:46px; min-height:46px; }.product-showcase .product-filter-field .choices__inner { box-sizing:border-box; height:46px; min-height:46px; padding-block:0!important; display:flex; align-items:center; line-height:1.2; }.product-showcase .product-filter-field .choices__list--single,.product-showcase .product-filter-field .choices__list--multiple { display:flex; align-items:center; width:100%; height:100%; min-height:0; margin:0; padding-block:0!important; line-height:1.2; }.product-showcase .product-filter-field .choices__list--single .choices__item,.product-showcase .product-filter-field .choices__list--multiple .choices__item,.product-showcase .product-filter-field .choices__placeholder { display:flex; align-items:center; height:100%; margin:0; padding-block:0; line-height:1.2; }.product-showcase .product-filter-field .choices__list--multiple { gap:.25rem; }.product-showcase .product-filter-field .choices__input { align-self:stretch; min-height:0; margin:0!important; padding-block:0!important; line-height:1.2; }.product-showcase .product-filter-layout__search .search-form button,.product-showcase .product-filter-layout__action .btn { height:46px; min-height:46px; line-height:1.2; }
/* Multiple Choices controls keep their cloned input as a centered flex child, not a stretched row. */
.product-showcase .product-filter-field .choices[data-type*="select-multiple"] .choices__inner { display:flex; align-items:center; flex-wrap:nowrap; padding-inline:.8rem!important; }.product-showcase .product-filter-field .choices[data-type*="select-multiple"] .choices__list--multiple { flex:0 1 auto; width:auto; height:auto; min-height:0; margin:0; padding:0!important; }.product-showcase .product-filter-field .choices[data-type*="select-multiple"] .choices__list--multiple .choices__item { display:inline-flex; align-items:center; height:auto; min-height:24px; margin:0!important; padding-block:0; }.product-showcase .product-filter-field .choices[data-type*="select-multiple"] .choices__input--cloned { flex:1 1 6rem; align-self:center; min-width:0; min-height:0; margin:0!important; padding-block:0!important; line-height:1.2; }
