@font-face {
    font-family: 'Helvetica Neue Bold Italic';
    src: url('../fonts/HelveticaNeueLTStd-BdIt.eot');
    src: url('../fonts/HelveticaNeueLTStd-BdIt.eot?#iefix') format('embedded-opentype'),
        url('../fonts/HelveticaNeueLTStd-BdIt.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTStd-BdIt.woff') format('woff'),
        url('../fonts/HelveticaNeueLTStd-BdIt.ttf') format('truetype'),
        url('../fonts/HelveticaNeueLTStd-BdIt.svg#HelveticaNeueLTStd-BdIt') format('svg');
    font-weight: bold;
    font-style: italic;
}
@font-face {
    font-family: 'Helvetica Neue Bold';
    src: url('../fonts/HelveticaNeueLTStd-Bd.eot');
    src: url('../fonts/HelveticaNeueLTStd-Bd.eot?#iefix') format('embedded-opentype'),
        url('../fonts/HelveticaNeueLTStd-Bd.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTStd-Bd.woff') format('woff'),
        url('../fonts/HelveticaNeueLTStd-Bd.ttf') format('truetype'),
        url('../fonts/HelveticaNeueLTStd-Bd.svg#HelveticaNeueLTStd-Bd') format('svg');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Helvetica Neue Light Italic';
    src: url('../fonts/HelveticaNeueLTStd-ThIt.eot');
    src: url('../fonts/HelveticaNeueLTStd-ThIt.eot?#iefix') format('embedded-opentype'),
        url('../fonts/HelveticaNeueLTStd-ThIt.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTStd-ThIt.woff') format('woff'),
        url('../fonts/HelveticaNeueLTStd-ThIt.ttf') format('truetype'),
        url('../fonts/HelveticaNeueLTStd-ThIt.svg#HelveticaNeueLTStd-ThIt') format('svg');
    font-weight: 100;
    font-style: italic;
}
@font-face {
    font-family: 'Helvetica Neue Light';
    src: url('../fonts/HelveticaNeueLTStd-Th.eot');
    src: url('../fonts/HelveticaNeueLTStd-Th.eot?#iefix') format('embedded-opentype'),
        url('../fonts/HelveticaNeueLTStd-Th.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTStd-Th.woff') format('woff'),
        url('../fonts/HelveticaNeueLTStd-Th.ttf') format('truetype'),
        url('../fonts/HelveticaNeueLTStd-Th.svg#HelveticaNeueLTStd-Th') format('svg');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'Helvetica Neue Italic';
    src: url('../fonts/HelveticaNeueLTStd-It.eot');
    src: url('../fonts/HelveticaNeueLTStd-It.eot?#iefix') format('embedded-opentype'),
        url('../fonts/HelveticaNeueLTStd-It.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTStd-It.woff') format('woff'),
        url('../fonts/HelveticaNeueLTStd-It.ttf') format('truetype'),
        url('../fonts/HelveticaNeueLTStd-It.svg#HelveticaNeueLTStd-It') format('svg');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: 'Helvetica Neue Regular';
    src: url('../fonts/HelveticaNeueLTStd-Roman.eot');
    src: url('../fonts/HelveticaNeueLTStd-Roman.eot?#iefix') format('embedded-opentype'),
        url('../fonts/HelveticaNeueLTStd-Roman.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTStd-Roman.woff') format('woff'),
        url('../fonts/HelveticaNeueLTStd-Roman.ttf') format('truetype'),
        url('../fonts/HelveticaNeueLTStd-Roman.svg#HelveticaNeueLTStd-Roman') format('svg');
    font-weight: normal;
    font-style: normal;
}


/* -------------- DJK EDITS -------------- */

/* --- TABLE OF CONTENTS

01-LAYOUT
02-NAVIGATION
03-TYPOGRAPHY
04-ELEMENTS
04.01-BUTTONS
04.02-PANELS
05-CONTRACTS REGISTER OVERRIDES

 --- */

/* - 01-LAYOUT - */
.uk-sidebar .uk-nav .toggle-nav {
	padding-right:0;
}

.uk-sidebar {
	padding-left: 0;
    min-height: calc(100vh - 80px)!important;
}



/* -------------- eb-child shared CSS (slimmed 2026-10-26) --------------
   Legacy UIkit-era layout/nav/form rules removed (no matching markup).
   Remaining scope: login hero, notification panel, contracts-register +
   GetAddress overrides, auth-link hiding, member nav states, member shell
   sidebar (template 28739), JetEngine framework card (listing 28728).
   Colours reference Elementor Design System variables (kit 149, --eb-*).
   ---------------------------------------------------------------------- */

/* --- WELCOME PANEL (login hero, page 129) --- */
@media (max-width: 639px) {
    #welcome-top-section {
        padding-top: 20px;
    }
}
.welcome-text, .welcome-title {
	color: var(--eb-surface);
}
@media (max-width: 1199px) {
    .welcome-title span {
        display: block;
    }
}
@media (max-width: 425px) {
    .welcome-title, .welcome-title-second {
        font-size: 22px;
    }
}

/* --- NOTIFICATION PANEL --- */
.panel-notification {
	background-color: rgb(218,24,132);
	color: var(--eb-surface);
}
.panel-notification .uk-card-title {
	color: var(--eb-surface);
}

/* - CONTRACTS REGISTER OVERRIDES (classic shortcode markup) - */
.contract-health-bar .health-bar-label {
	font-size: 13px;
}
.contract-block .health-bar-backdrop {
	margin-top: 4px;
}
.contract-block .contract-headline h4 {
	margin-top: 8px;
}
.contract-block .contract-toggle-zone button.uk-icon {
	padding-left: 4px;
    margin-top: 4px;
}
.contract-block .contract-category-supplier {
	font-size: 13px;
    letter-spacing: .5px;
    border:1px solid var(--contract-register-background);
}
.contract-block .expiry-notification .exclamation {
	padding: 3px;
}
.contract-block .expiry-notification .renewal-detail {
	font-size: 13px;
}
#contract-chart-container .chart-container {
	padding: 7px;
}
#contract-chart-container .chart-container button {
	margin-top: 4px;
    padding-left: 3px;
}
#postcode_lookup button{
    right: 0;
    height: 48px;
    top: 8px;
    background: var(--eb-primary);
    color: var(--eb-surface);
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    border: none;
    padding: 16px;
}
#getaddress_button:disabled {
    background: var(--eb-muted);
    cursor: not-allowed;
}
#postcode_lookup{
    text-align: right!important;
    position: relative;
    display: flex;
    margin-top: 20px;
 }
#postcode_lookup #getaddress_dropdown,
#postcode_lookup #getaddress_input {
    width: 90%;
}

/* Front-page login hero: keep the two columns side by side on desktop */
@media (min-width: 1025px) {
  .elementor-element-2cfe034b { flex-wrap: nowrap !important; }
  .elementor-element-2cfe034b > .elementor-element { width: 50% !important; flex: 1 1 50% !important; }
  .elementor-element-59d616f8 { align-items: center !important; justify-content: center !important; }
}

/* Hide public auth links once signed in (logout URL also contains "login", so match the path, not the domain).
   .eb-act--school is the framework-page "Set up your account & select suppliers" CTA — a signed-in action, not a public auth link. */
body.logged-in a[href*="/login/"],
body.logged-in a[href*="/register/"]:not(.eb-act--school) { display: none !important; }

/* -------------- MEMBER SIDEBAR NAV STATES (Elementor nav-menu, vertical) -------------- */
/* Scope: vertical member sidebar navs (dashboard, contracts hub, member shell template). */
ul.elementor-nav-menu.sm-vertical > li > a:hover,
ul.elementor-nav-menu.sm-vertical > li > a:focus-visible {
	background: var(--eb-nav-hover-bg) !important;
	color: var(--eb-primary) !important;
}
ul.elementor-nav-menu.sm-vertical > li.current-menu-item > a,
ul.elementor-nav-menu.sm-vertical > li.current_page_item > a,
ul.elementor-nav-menu.sm-vertical > li.current-menu-item > a:hover {
	background: var(--eb-primary) !important;
	color: var(--eb-nav-active-text) !important;
	font-weight: 600 !important;
}
/* My account row at the bottom of the member menu */
ul.elementor-nav-menu.sm-vertical > li.eb-nav-account > a {
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--eb-border);
	border-radius: 0;
	color: var(--eb-muted);
	font-size: 14px;
}
ul.elementor-nav-menu.sm-vertical > li.eb-nav-account > a:hover,
ul.elementor-nav-menu.sm-vertical > li.eb-nav-account.current-menu-item > a {
	background: transparent;
	color: var(--eb-primary);
	font-weight: 600;
}

/* -------------- MEMBER SHELL SIDEBAR (template 28739, native Elementor) -------------- */
.eb-shell .eb-sidebar { position: sticky; top: 76px; align-self: flex-start; }
.eb-shell .eb-side-toggle .elementor-button { background: transparent; color: var(--eb-text); padding: 6px 8px; border-radius: 8px; transition: background .15s ease, color .15s ease, transform .2s ease; }
.eb-shell .eb-side-toggle .elementor-button:hover, .eb-shell .eb-side-toggle .elementor-button:focus-visible { background: var(--eb-nav-hover-bg); color: var(--eb-primary); }
.eb-shell.eb-collapsed .eb-side-toggle .elementor-button { transform: rotate(180deg); }
.eb-shell .eb-side-nav .elementor-icon-list-item, .eb-shell .eb-side-account .elementor-icon-list-item { display: flex; align-items: center; }
.eb-shell .eb-side-nav .elementor-icon-list-item > a { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 8px; color: var(--eb-nav-normal); font-weight: 500; font-size: 15px; }
.eb-shell .eb-side-nav .elementor-icon-list-item > a:hover, .eb-shell .eb-side-nav .elementor-icon-list-item > a:focus-visible { background: var(--eb-nav-hover-bg) !important; color: var(--eb-nav-hover-text) !important; }
.eb-shell .eb-side-nav .elementor-icon-list-item:hover .elementor-icon-list-icon i, .eb-shell .eb-side-nav .elementor-icon-list-item:hover .elementor-icon-list-icon svg, .eb-shell .eb-side-nav .elementor-icon-list-item:focus-within .elementor-icon-list-icon i, .eb-shell .eb-side-nav .elementor-icon-list-item:focus-within .elementor-icon-list-icon svg { color: var(--eb-nav-hover-text) !important; fill: var(--eb-nav-hover-text) !important; }
.eb-shell .eb-side-nav .elementor-icon-list-item.eb-active > a { background: var(--eb-nav-active-bg) !important; color: var(--eb-nav-active-text) !important; font-weight: 600; }
.eb-shell .eb-side-nav .elementor-icon-list-item.eb-active .elementor-icon-list-text { color: var(--eb-nav-active-text) !important; }
.eb-shell .eb-side-nav .elementor-icon-list-item.eb-active .elementor-icon-list-icon i, .eb-shell .eb-side-nav .elementor-icon-list-item.eb-active .elementor-icon-list-icon svg { color: var(--eb-nav-active-text) !important; fill: var(--eb-nav-active-text) !important; }
.eb-shell .eb-side-nav .elementor-icon-list-item > a:hover .elementor-icon-list-text, .eb-shell .eb-side-nav .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text { color: var(--eb-nav-hover-text) !important; }
.eb-shell .eb-side-nav .elementor-icon-list-item.eb-active > a:hover .elementor-icon-list-text, .eb-shell .eb-side-nav .elementor-icon-list-item.eb-active > a:focus-visible .elementor-icon-list-text { color: var(--eb-nav-active-text) !important; }
.eb-shell .eb-side-nav .elementor-icon-list-icon, .eb-shell .eb-side-account .elementor-icon-list-icon { width: 20px; text-align: center; margin-right: 0 !important; }
.eb-shell .eb-side-nav .elementor-icon-list-icon i, .eb-shell .eb-side-nav .elementor-icon-list-icon svg, .eb-shell .eb-side-account .elementor-icon-list-icon i, .eb-shell .eb-side-account .elementor-icon-list-icon svg { color: inherit; }
.eb-shell .eb-side-nav .elementor-icon-list-icon svg, .eb-shell .eb-side-account .elementor-icon-list-icon svg { fill: currentcolor !important; }
.eb-shell .eb-side-nav .elementor-icon-list-text, .eb-shell .eb-side-account .elementor-icon-list-text { white-space: nowrap; }
.eb-shell .eb-side-account { padding-top: 10px; border-top: 1px solid var(--eb-border); }
/* wireframe group labels (Procurement tools / You) */
.eb-shell .eb-side-group { display: block; }
.eb-shell .eb-side-account .elementor-icon-list-item > a { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 8px; color: var(--eb-muted); font-size: 14px; font-weight: 500; }
.eb-shell .eb-side-account .elementor-icon-list-item.eb-active > a, .eb-shell .eb-side-account .elementor-icon-list-item > a:hover { color: var(--eb-primary); font-weight: 600; background: transparent; }
.eb-shell .eb-content { min-width: 0; }
/* collapsed icon rail */
.eb-shell.eb-collapsed .eb-sidebar { width: 72px !important; flex: 0 0 72px !important; padding-left: 8px !important; padding-right: 8px !important; }
.eb-shell.eb-collapsed .eb-side-label, .eb-shell.eb-collapsed .eb-side-group { display: none !important; }
.eb-shell.eb-collapsed .eb-side-nav .elementor-icon-list-item > a, .eb-shell.eb-collapsed .eb-side-account .elementor-icon-list-item > a { justify-content: center; padding: 12px 0; gap: 0; }
.eb-shell.eb-collapsed .eb-side-nav .elementor-icon-list-text, .eb-shell.eb-collapsed .eb-side-account .elementor-icon-list-text { display: none; }
/* responsive */
.eb-shell .eb-side-fab { display: none; position: fixed; left: 14px; bottom: 14px; z-index: 9999; }
.eb-shell .eb-side-fab .elementor-button { background: var(--eb-primary); color: var(--eb-surface); border-radius: 50px; padding: 10px 16px; box-shadow: 0 4px 14px rgba(0,41,207,.35); }
@media (max-width: 1024px) {
	.eb-shell .eb-sidebar { width: 72px !important; flex: 0 0 72px !important; padding-left: 8px !important; padding-right: 8px !important; }
	.eb-shell .eb-side-label, .eb-shell .eb-side-group { display: none; }
	.eb-shell .eb-side-nav .elementor-icon-list-item > a, .eb-shell .eb-side-account .elementor-icon-list-item > a { justify-content: center; padding: 12px 0; gap: 0; }
	.eb-shell .eb-side-nav .elementor-icon-list-text, .eb-shell .eb-side-account .elementor-icon-list-text { display: none; }
}
@media (max-width: 767px) {
	.eb-shell { flex-direction: column; }
	.eb-shell .eb-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 9998; width: 240px !important; flex: 0 0 240px !important; transform: translateX(-105%); transition: transform .25s ease; box-shadow: 0 8px 30px rgba(0,0,0,.15); padding: 16px 12px !important; }
	.eb-shell.eb-mobile-open .eb-sidebar { transform: translateX(0); }
	.eb-shell.eb-mobile-open .eb-side-label { display: block; }
	.eb-shell.eb-mobile-open .eb-side-nav .elementor-icon-list-item > a, .eb-shell.eb-mobile-open .eb-side-account .elementor-icon-list-item > a { justify-content: flex-start; padding: 10px 12px; gap: 12px; }
	.eb-shell.eb-mobile-open .eb-side-nav .elementor-icon-list-text, .eb-shell.eb-mobile-open .eb-side-account .elementor-icon-list-text { display: inline; }
	.eb-shell .eb-side-fab { display: inline-flex; }
	.eb-shell .eb-content { padding: 16px 12px; }
}

  div[data-elementor-id="28728"]::before{transition:none}
}

/* Tender Builder register-interest: single JFB submit button, styled as eb-btn-primary */
.jet-fb-form-block .jet-form-builder[data-form-id="29196"] button.jet-form-builder__submit {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 40px; padding: 10px 22px;
	background: var(--eb-primary, #0029CF); color: #FFFFFF;
	font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; line-height: 1.2;
	border: none; border-radius: 8px; cursor: pointer;
	transition: background .15s ease;
}
.jet-fb-form-block .jet-form-builder[data-form-id="29196"] button.jet-form-builder__submit:hover, .jet-fb-form-block .jet-form-builder[data-form-id="29196"] button.jet-form-builder__submit:focus-visible {
	background: #001B8F; color: #FFFFFF;
}
.jet-fb-form-block .jet-form-builder[data-form-id="29196"] button.jet-form-builder__submit.is-loading { opacity: .6; pointer-events: none; }
.jet-form-builder[data-form-id="29196"] .jet-form-builder__message--success { color: var(--eb-success, #2E7D32); font-weight: 500; margin-top: 10px; }

/* Tender Builder submit: enforce EB button shape (overrides JFB theme pill) */
.jet-form-builder button.jet-form-builder__submit.jet-form-builder__submit {
	border-radius: 8px !important;
	padding: 10px 22px !important;
	min-height: 40px;
}

/* Site frame: stepped caps — 1280 default, 1440 for laptops ≥1600, 1600 for desktops ≥1920
   (header/footer/chat follow the same steps so all edges stay aligned) */
.eb-shell, .eb-footer, [data-id="52cebd6d"] { max-width: 1280px !important; margin-inline: auto !important; }

@media (min-width: 1600px) {
	.eb-shell, .eb-footer, [data-id="52cebd6d"] { max-width: 1440px !important; }
}

@media (min-width: 1920px) {
	.eb-shell, .eb-footer, [data-id="52cebd6d"] { max-width: 1600px !important; }
}

/* Chat launcher: keep inside the centred content width on wide screens */
@media (min-width: 1320px) {
	.woot-widget-holder { right: calc((100vw - 1280px) / 2) !important; }
}

@media (min-width: 1600px) {
	.woot-widget-holder { right: calc((100vw - 1440px) / 2) !important; }
}

@media (min-width: 1920px) {
	.woot-widget-holder { right: calc((100vw - 1600px) / 2) !important; }
}

/* Sidebar collapse: per-page <main> self-caps (1280 centred) would stop the
   content using the freed space — make page roots fluid inside the shell */
.eb-shell main, .eb-shell main.e-con { max-width: none !important; margin-inline: 0 !important; }

/* Register page: the atomic compiler drops flex-direction on the top-level
   main container (e-default-main) — stack heading block above the wizard */
.elementor-element-25529a3a { flex-direction: column !important; align-items: stretch !important; }
/* NOTE: do NOT pin containers on pages Darren actively edits — an !important
   pin makes the Elementor editor ignore his Layout changes (2026-10-30). */
