@charset "utf-8";
/* CSS Document */

/* FONT - Roboto-flex variable font */
@font-face {
    font-family: "RobotoFlexVariable";
    src: url("../fonts/RobotoFlex/RobotoFlex-VariableFont.ttf") format("truetype");
    font-weight: 100 900;
}

/* ROOT
   Set CSS Variables
   ========================================================================== */
:root {
    /* FONTS */
    --iq-font: 'RobotoFlexVariable';
    --iq-font-stack: var(--iq-font), Arial, Helvetica, sans-serif;
    --iq-base-font-size: 0.875rem; /* body font size */
    --iq-base-font-weight: 400;
    --iq-base-line-height: 1.5; /* create a new line height for 1.3 for headings & component text */

    /* HEADING SIZES */
    --iq-heading-1: 1.75rem;        /* 28px */
    --iq-heading-2: 1.5rem;         /* 24px */
    --iq-heading-3: 1.375rem;       /* 22px */
    --iq-heading-4: 1.25rem;        /* 20px */
    --iq-heading-5: 1.125rem;       /* 18px */
    --iq-heading-6: 1rem;           /* 16px */

    /* BODY TEXT SIZES */
    --iq-body-text-xs: 0.625rem;    /* 10px */
    --iq-body-text-sm: 0.75rem;     /* 12px */
    --iq-body-text-md: 0.875rem;    /* 14px (default base font size) */
    --iq-body-text-lg: 1rem;        /* 16px */
    --iq-body-text-xl: 1.125rem;    /* 18px */
    --iq-body-text-2xl: 1.25rem;    /* 20px */

    /* TYPE SCALE - @TODO - define at a later date use 1.125 Major Second scale, rounded up to nearest integer (can't use css round() yet)  */
    /*--iq-text-base-size: 0.75rem;*/
    /*--iq-text-scale-ratio: 1.125;*/
    /*--iq-text-xs: calc((--iq-text-base-size / var(--iq-text-scale-ratio)) / var(--iq-text-scale-ratio));*/
    /*--iq-text-sm: calc(var(--iq-text-xs) * var(--iq-text-scale-ratio));*/
    /*--iq-text-md: calc(var(--iq-text-sm) * var(--iq-text-scale-ratio) * var(--iq-text-scale-ratio));*/
    /*--iq-text-lg: calc(var(--iq-text-md) * var(--iq-text-scale-ratio));*/
    /*--iq-text-xl: calc(var(--iq-text-lg) * var(--iq-text-scale-ratio));*/
    /*--iq-text-xxl: calc(var(--iq-text-xl) * var(--iq-text-scale-ratio));*/

    /* LINE HEIGHT - */
    --iq-line-height-xs: 1;
    --iq-line-height-sm: 1.1;
    --iq-line-height-md: 1.2;
    --iq-line-height-lg: 1.3;
    --iq-line-height-xl: 1.4;
    --iq-line-height-2xl: 1.5;

    /*--iq-line-height-100: 1;*/
    /*--iq-line-height-110: 1.1;*/
    /*--iq-line-height-120: 1.2;*/
    /*--iq-line-height-130: 1.3;*/
    /*--iq-line-height-140: 1.4;*/
    /*--iq-line-height-150: 1.5;*/

    /* FONT WEIGHT */
    --iq-font-weight-regular: 400;
    --iq-font-weight-medium:  500;
    --iq-font-weight-semibold: 600;
    --iq-font-weight-bold: 700;

    /* COLOURS - NEUTRALS */
    --iq-color-white: #fff;
    --iq-color-black: #000;

    /* Light neutrals */
    --iq-color-grey-5: #fafbfc; /* page bg colour */
    --iq-color-grey-10: #F8F8FA;  /*#f8f9fa; */
    --iq-color-grey-20: #f4f5f7;
    --iq-color-grey-30: #ebecf0;
    --iq-color-grey-40: #dfe1e6;
    --iq-color-grey-40-rgba: rgba(223, 225, 230, 0.8);

    /* Mid neutrals */
    --iq-color-grey-50: #c1c7d0;
    --iq-color-grey-50-rgba: rgba(193, 199, 208, 0.7);
    --iq-color-grey-60: #b3bac5;
    --iq-color-grey-80: #a5adba;
    --iq-color-grey-90: #97a0af;
    --iq-color-grey-100: #8993a4;
    --iq-color-grey-200: #7a869a;
    --iq-color-grey-300: #6b778d;

    /* Dark neutrals */
    --iq-color-grey-400: #5e6c84;
    --iq-color-grey-500: #515f79;
    --iq-color-grey-600: #42526e;
    --iq-color-grey-700: #344563;
    --iq-color-grey-800: #253858;
    --iq-color-grey-900: #172b4d;
    --iq-color-grey-1000: #091e42; /* text colour */

    /* COLOURS - SECONDARY */
    /* Redtext */
    --iq-color-red-100: #ffecef;
    --iq-color-red-200: #ffd0d4;
    --iq-color-red-300: #f79f9d;
    --iq-color-red-400: #f07a77;
    --iq-color-red-500: #fb5b53;        /* Default secondary red */
    --iq-color-red-600: #ff4c37;
    --iq-color-red-700: #f24338;
    --iq-color-red-800: #e03931;
    --iq-color-red-900: #d3322a;
    --iq-color-red-1000: #c4271e;

    /* Orange */
    --iq-color-orange-100: #fff1e3;
    --iq-color-orange-200: #ffdbb9;
    --iq-color-orange-300: #ffc48e;
    --iq-color-orange-400: #feac65;
    --iq-color-orange-500: #fd9b4c;    /* Default secondary orange */
    --iq-color-orange-600: #fb8b3c;
    --iq-color-orange-700: #f6803a;
    --iq-color-orange-800: #ee7138;
    --iq-color-orange-900: #e66235;
    --iq-color-orange-1000: #db4930;

    /* Yellow */
    --iq-color-yellow-100: #fdf8e3;
    --iq-color-yellow-200: #faebb8;
    --iq-color-yellow-300: #f7df8a;
    --iq-color-yellow-400: #f4d45e;
    --iq-color-yellow-500: #f2c941;    /* Default secondary yellow */
    --iq-color-yellow-600: #f1c02f;
    --iq-color-yellow-700: #f0b229;
    --iq-color-yellow-800: #f0a124;
    --iq-color-yellow-900: #ef911f;
    --iq-color-yellow-1000: #ee7415;

    /* Green */
    --iq-color-green-100: #e3f6ed;
    --iq-color-green-200: #bbe9d2;
    --iq-color-green-300: #8ddbB5;
    --iq-color-green-400: #56cd98;
    --iq-color-green-500: #0ac282;      /* Default secondary green */
    --iq-color-green-600: #00b76b;
    --iq-color-green-700: #00a760;
    --iq-color-green-800: #009553;
    --iq-color-green-900: #008347;
    --iq-color-green-1000: #006431;

    /* Teal */
    --iq-color-teal-100: #e0f2f4;
    --iq-color-teal-200: #b2e0e3;
    --iq-color-teal-300: #7dcdd1;
    --iq-color-teal-400: #44b9bc;
    --iq-color-teal-500: #01a9ac;       /* Default secondary teal */
    --iq-color-teal-600: #009a9a;
    --iq-color-teal-700: #008d8c;
    --iq-color-teal-800: #007c7b;
    --iq-color-teal-900: #006c6a;
    --iq-color-teal-1000: #00504c;

    /* Aqua */
    --iq-color-aqua-100: #def7fa;
    --iq-color-aqua-200: #adeaf3;
    --iq-color-aqua-300: #75dceb;
    --iq-color-aqua-400: #2dcee3;
    --iq-color-aqua-500: #00c4dd;       /* Default secondary aqua */
    --iq-color-aqua-600: #00b9d6;
    --iq-color-aqua-700: #00a9c3;
    --iq-color-aqua-800: #0094a9;
    --iq-color-aqua-900: #008090;
    --iq-color-aqua-1000: #005e64;

    /* Blue */
    --iq-color-blue-100: #E8F0FE;       /* alternative #E3F2FC */
    --iq-color-blue-200: #BADDF9;
    --iq-color-blue-300: #8FC9F5;
    --iq-color-blue-400: #62B3F1;
    --iq-color-blue-500: #3FA3EF;
    --iq-color-blue-600: #1A94EC;
    --iq-color-blue-700: #1586DF;
    --iq-color-blue-800: #0D74CC;       /* Primary Blue */
    --iq-color-blue-900: #0764BA;
    --iq-color-blue-1000: #00469B;

    /* Purple */
    --iq-color-purple-100: #efe6f8;
    --iq-color-purple-200: #d6c0ee;
    --iq-color-purple-300: #bb96e4;
    --iq-color-purple-400: #a06ad9;
    --iq-color-purple-500: #8c46d1;     /* Default secondary purple */
    --iq-color-purple-600: #761bc8;
    --iq-color-purple-700: #6c15c2;
    --iq-color-purple-800: #5e06ba;
    --iq-color-purple-900: #5100b3;
    --iq-color-purple-1000: #3c00a5;

    /* COLOURS - BRAND @TODO - define brand colours */
    --iq-color-blue-primary: var(--iq-color-blue-800);
    --iq-color-blue-primary-light: var(--iq-color-blue-500);
    /*--iq-color-blue-primary-dark: ???;*/

    /* COLOURS - SEMANTICS @TODO - define all semantic colours */
    --iq-color-info: var(--iq-color-blue-800);      /* primary blue */
    /*--iq-color-neutral: TBA;    !* grey *!*/
    --iq-color-danger: var(--iq-color-red-500);
    --iq-color-warning: var(--iq-color-orange-500);
    --iq-color-success: var(--iq-color-green-500);
    /*--iq-color-discovery: TBA;       !* purple *!   */

    /* COLOURS - INTERACTIVE STATES @TODO - define colours for interactive states (for primary, secondary, tertiary) */
    --iq-link-color: #0074e8;
    --iq-link-hover-color: var(--iq-color-blue-500);

    /*--iq-color-active: TBA;*/
    /*--iq-color-focused: TBA;*/
    /*--iq-color-selected: TBA;*/

    --iq-color-disabled: var(--iq-color-grey-50);
    --iq-color-bg-disabled: var(--iq-color-grey-20);
    --iq-color-border-disabled: var(--iq-color-grey-30);

    /* COLOURS - TEXT @TODO - Add variables as needed  */
    --iq-text-color: var(--iq-color-grey-1000); /* default text colour */
    --iq-text-color-med: var(--iq-color-grey-500);
    --iq-text-color-light: var(--iq-color-grey-300);
    --iq-text-color-xlight: var(--iq-color-grey-90); /* use sparingly as very low emphasis, e.g large font sizes, strong font weights, disabled text */
    --iq-text-color-inverted: var(--iq-color-white); /* for light text on a dark background colour */

    /* SPACING - used for spacing elements. The 8px base unit forms the basis of our spacing system, for example, space-200 is 200% of the size of the base space unit, therefore equals 16px.  @TODO - not yet implemented */
    --iq-space-unit: 0.5rem; /* 8px */
    --iq-space-0: 0;                                      /* 0px,   0rem */
    --iq-space-025: calc(var(--iq-space-unit) * 0.25);    /* 2px,   0.125rem */
    --iq-space-050: calc(var(--iq-space-unit) * 0.50);    /* 4px,   0.25rem  */
    --iq-space-075: calc(var(--iq-space-unit) * 0.75);    /* 6px,   0.375rem*/
    --iq-space-100: calc(var(--iq-space-unit) * 1);       /* 8px,   0.5rem */
    --iq-space-150: calc(var(--iq-space-unit) * 1.5);     /* 12px,  0.75rem */
    --iq-space-200: calc(var(--iq-space-unit) * 2);       /* 16px,  1rem */
    --iq-space-250: calc(var(--iq-space-unit) * 2.5);     /* 20px,  1.25rem */
    --iq-space-300: calc(var(--iq-space-unit) * 3);       /* 24px,  1.5rem */
    --iq-space-400: calc(var(--iq-space-unit) * 4);       /* 32px,  2rem */
    --iq-space-500: calc(var(--iq-space-unit) * 5);       /* 40px,  2.5rem */
    --iq-space-600: calc(var(--iq-space-unit) * 6);       /* 48px,  3rem */
    --iq-space-800: calc(var(--iq-space-unit) * 8);       /* 64px,  4rem */
    --iq-space-1000: calc(var(--iq-space-unit) * 10);     /* 80px,  5rem */
    --iq-space-negative-025: calc(var(--iq-space-unit) * -0.25);    /* -2px,   -0.125rem */
    --iq-space-negative-050: calc(var(--iq-space-unit) * -0.50);    /* -4px,   -0.25rem  */
    --iq-space-negative-075: calc(var(--iq-space-unit) * -0.75);    /* -6px,   -0.375rem*/
    --iq-space-negative-100: calc(var(--iq-space-unit) * -1);       /* -8px,   -0.5rem */
    --iq-space-negative-150: calc(var(--iq-space-unit) * -1.5);     /* -12px,  -0.75rem */
    --iq-space-negative-200: calc(var(--iq-space-unit) * -2);       /* -16px,  -1rem */
    --iq-space-negative-250: calc(var(--iq-space-unit) * -2.5);     /* -20px,  -1.25rem */
    --iq-space-negative-300: calc(var(--iq-space-unit) * -3);       /* -24px,  -1.5rem */
    --iq-space-negative-400: calc(var(--iq-space-unit) * -2);       /* -16px,  -1rem */

    /* BORDERS */
    /* border width variants examples, 2px for focus, dividers, 3-4px tabs */
    --iq-border-width-0: 0px;
    --iq-border-width-100: 1px; /* default */
    --iq-border-width-200: 2px;
    --iq-border-width-300: 3px;
    --iq-border-width-400: 4px;
    --iq-border-width-500: 5px;
    --iq-border-width-600: 6px;

    --iq-border-style-solid: solid;   /* default */
    --iq-border-style-dashed: dashed;

    --iq-border-color-light: var(--iq-color-grey-30);
    --iq-border-color-default: var(--iq-color-grey-40); /* default */
    --iq-border-color-medium: var(--iq-color-grey-50);
    --iq-border-color-dark: var(--iq-color-grey-800);

    --iq-border-default: var(--iq-border-width-100) var(--iq-border-style-solid) var(--iq-border-color-default); /* default */

    /* ROUNDED CORNERS - border radius */
    --iq-border-radius-xs: 3px;         /* 3px - smaller radius for components like checkboxes, indicator swatches */
    --iq-border-radius-sm: .25rem;      /* 4px - for majority of components. Examples are buttons, tooltips, inputs */
    --iq-border-radius-md: .5rem;       /* 8px - for larger containers like panels, accordions */
    --iq-border-radius-lg: 1rem;        /* 16px - only add additional sizes if needed */
    --iq-border-radius-pill: 50rem;     /* for rounding ends, best suited to badges/tags/pills/lozenges. Use sparingly */
    --iq-border-radius-circle: 50%;     /* for full circle rounding, best suited to circular buttons, element width and height must be equal. Use sparingly */

    /* @todo replace old radius values above */
    /*--iq-border-radius-050: 0.125rem; */
    /*--iq-border-radius: 0.25rem;*/
    /*--iq-border-radius-100: 0.25rem;*/
    /*--iq-border-radius-200: 0.5rem;*/
    /*--iq-border-radius-300: 0.75rem;*/
    /*--iq-border-radius-400: 1rem;*/
    /*--iq-border-radius-pill: 1000rem;*/
    /*--iq-border-radius-circle: 50%;*/

    /* SHADOWS */
    /* Surface elevation shadows */
    --iq-shadow-0: none;                                                                  /* Elevation Level 0: Backgrounds, flat containers, dividers, static text */
    --iq-shadow-1: rgba(0, 0, 0, 0.04) 0px 0px 2px, rgba(0, 0, 0, 0.08) 0px 1px 2px;      /* Elevation Level 1: Cards, list items, input fields, basic buttons */
    --iq-shadow-2: rgba(0, 0, 0, 0.04) 0px 0px 2px, rgba(0, 0, 0, 0.08) 0px 2px 4px;      /* Elevation Level 2: Raised buttons, dropdown triggers, small panels, hover states */
    --iq-shadow-3: rgba(0, 0, 0, 0.04) 0px 0px 2px, rgba(0, 0, 0, 0.08) 0px 4px 8px;      /* Elevation Level 3: Tooltips, popovers, dropdown menus, floating action buttons (FABs) */
    --iq-shadow-4: rgba(0, 0, 0, 0.04) 0px 0px 2px, rgba(0, 0, 0, 0.08) 0px 8px 16px;     /* Elevation Level 4: Sticky headers, sidebars, persistent navigation, overlays */
    --iq-shadow-5: rgba(0, 0, 0, 0.04) 0px 0px 8px, rgba(0, 0, 0, 0.08) 0px 14px 28px;    /* Elevation Level 5: Modals, dialogs, alerts, loading spinners */
    --iq-shadow-6: rgba(0, 0, 0, 0.04) 0px 0px 8px, rgba(0, 0, 0, 0.08) 0px 32px 64px;    /* Elevation Level 6: Full-screen overlays, system-level UI, drawers, highest-priority components */

    /* Shadow overflow is a shadow indicating content has scrolled outside a view. It can be used for vertical or horizontal scroll.*/
    --iq-shadow-overflow-top: inset 0 6px 6px -6px rgba(0, 0, 0, 0.1);      /* Vertical overflow shadows */
    --iq-shadow-overflow-bottom: inset 0 -6px 6px -6px rgba(0, 0, 0, 0.1);  /* Vertical overflow shadows */
    --iq-shadow-overflow-left: inset 6px 0px 6px -6px rgba(0, 0, 0, 0.1);   /* Horizontal overflow shadows */
    --iq-shadow-overflow-right: inset -6px 0px 6px -6px rgba(0, 0, 0, 0.1); /* Horizontal overflow shadows */

    /* ANIMATION */
    --iq-ease-out: cubic-bezier(0, 0, 0.40, 1);         /* most common ease - ease-out animations work best for fading and animating objects into view. */
    --iq-ease-in: cubic-bezier(0.50, 0, 1, 1);          /* ease-in animations are best suited for objects exiting the screen or fading out of view. */
    --iq-ease-in-out: cubic-bezier(0.45, 0, 0.40, 1);   /* ease-in-out is best for depicting movement from place to place on screen. This type of easing draws attention and should be used for bigger movements. */
    /* Micro animations - Micro animations cover a small amount of visual ground. Examples are color fades, hovers, accordions, tooltips */
    --iq-duration-100: 130ms;
    --iq-duration-200: 160ms;
    --iq-duration-300: 190ms;
    --iq-duration-400: 220ms;
    /* Macro animations - Macro animations cover larger amounts of visual ground. This includes large panel or sidebar reveals, movement across the screen, etc. */
    --iq-duration-500: 250ms;
    --iq-duration-600: 300ms;
    --iq-duration-700: 350ms;
    --iq-duration-800: 400ms;
    --iq-duration-900: 450ms;
    --iq-duration-1000: 500ms;

    /* MAX-WIDTH - Test */
    --iq-width-100: 100px;
    --iq-width-150: 150px;
    --iq-width-200: 200px;
    --iq-width-230: 230px;
    --iq-width-250: 250px;
    --iq-width-300: 300px;

    /* LAYOUTS @TODO - used to position layout regions, temporary variables until html structure rebuilt in _v7 */
    --region-header-height: 3.5rem; /* height of main header section - used to position left menu, content area and side drawer panels */
    --region-menu-width: 20rem;     /* width of primary menu section - used to position content area and side drawer panels */
    --region-menu-collapsed-width: 4.5rem; /* width of primary menu section when collapsed - used to position content area and side drawer panels */

    /* Form Lists - used to create space around flex items or gap property  */
    --iq-form-list-gap: var(--iq-space-100);
    /*--iq-list-gap: var(--iq-space-200); !* When converted to CSS Grid *!*/

    /* STACKING ORDER - z-index, set variables to control stacking order TODO - not yet implemented */
    /*--iq-z-index-base: 0;*/
    /*--iq-z-index-above: 1;    !* use this for all values above the base *!*/
    /*--iq-z-index-below: -1;   !* use this for all values below the base *!*/
    /*--iq-z-index-toolbar: calc(var(--above) + var(--base));*/

    /*--iq-z-index-dropdown: 1000;      !* dropdowns *!*/
    /*--iq-z-index-overlay: 2000;       !* overlays, off-canvas, drawers *!*/
    /*--iq-z-index-header: 3000;        !* header section *!*/
    /*--iq-z-index-modal-backdrop: 4000;!* modal background *!*/
    /*--iq-z-index-modal: 5000;         !* modal content *!*/
    /*--iq-z-index-quicksearch: 6000;   !* ajax quicksearch results *!*/
    /*--iq-z-index-popover: 7000;       !* popovers, info-boxes *!*/
    /*--iq-z-index-tooltip: 8000;       !* tooltips *!*/
    /*--iq-z-index-notifications: 9000; !* notifications - timeout, accept cookies *!*/

    /*These components share a standard z-index scale of 0 through 3.*/
    /*0 is default (initial), 1 is :hover, 2 is :active/.active, and 3 is :focus.*/

    /*--iq-zindex-dropdown:                   1000;*/
    /*--iq-zindex-sticky:                     2000;*/
    /*--iq-zindex-fixed:                      3000;*/
    /*--iq-zindex-offcanvas-backdrop:         4000;*/
    /*--iq-zindex-offcanvas:                  4500;*/
    /*--iq-zindex-modal-backdrop:             5000;*/
    /*--iq-zindex-modal:                      5500;*/
    /*--iq-zindex-popover:                    6000;*/
    /*--iq-zindex-popover:                    6000;*/
    /*--iq-zindex-tooltip:                    7000;*/
    /*--iq-zindex-toast:                      8000;*/

    /* BUTTONS @TODO - not yet implemented: add when primary, secondary, tertiary & ghost styles are needed */
    --iq-btn-color: var(--iq-text-color);
    --iq-btn-bg-color: #e4e7eD;
    /*--iq-btn-border-color: var(--iq-grey-400);*/
    --iq-btn-hover-color: var(--iq-color-blue-primary-light);
    --iq-btn-hover-border-color: var(--iq-color-blue-primary-light);
    /*--iq-btn-active-color: var(--iq-???);*/
    /*--iq-btn-active-bg: var(--iq-???);*/
    /*--iq-btn-active-border-color: var(--iq-???);*/
    /*--iq-btn-focus-border-color: var(--iq-???);*/
    /*--iq-btn-focus-shadow-rgb: var(--iq-???);*/

    /* ICON - sizes for icons */
    --iq-icon-3xs: .5rem;  /* xxx-small size   (base size 8px)  best for micro icons like small arrows, small chevron icons. Used very rarely */
    --iq-icon-2xs: .75rem; /* xx-small size    (base size 12px) best for micro icons in tags/lozenges, small chevron icons. Used rarely */
    --iq-icon-xs: .875rem; /* x-small sizes    (base size 14px) best for micro icons in tags/lozenges, small chevron icons. Used rarely */
    --iq-icon-sm: 1rem;    /* small size       (base size 16px) best for table swatches  */
    --iq-icon-md: 1.25rem; /* medium size      (base size 20px) best for elements like menu icons, table icons */
    --iq-icon-lg: 1.5rem;  /* large size       (base size 24px) best for module header icons, used rarely */
    --iq-icon-xl: 2rem;    /* x-large size     (base size 32px) used rarely */
    --iq-icon-2xl: 2.5rem; /* xx-large size    (base size 40px) used rarely */
    --iq-icon-3xl: 3rem;   /* xxx-large size   (base size 48px) used rarely, best for small empty states */
    --iq-icon-4xl: 3.75rem;/* xxxx-large size  (base size 60px) used rarely, best for medium empty states */
    --iq-icon-5xl: 5rem;   /* xxxxx-large size (base size 80px) used rarely, best for large empty states */


    /* INDICATORS - sizes for status swatches and status icons @TODO - not yet implemented */
    --iq-indicator-2xs: .75rem; /* xx-small sizes   (base size 12px) best for ... Used rarely */
    --iq-indicator-xs: .875rem; /* x-small sizes    (base size 14px) best for ... Used rarely */
    --iq-indicator-sm: 1rem;    /* small size       (base size 16px) best for ...  */
    --iq-indicator-md: 1.25rem; /* medium size      (base size 20px) best for ... */
    --iq-indicator-lg: 1.5rem;  /* large size       (base size 24px) best for module header icons. Used rarely */
    --iq-indicator-xl: 2rem;    /* x-large size     (base size 32px) best for ... Used rarely */
}

/* DOCUMENT
Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`
========================================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* GLOBAL STYLES
   ========================================================================== */
html {
    font-size: 100%;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--iq-color-grey-20);
    color: var(--iq-text-color);
    font-family: var(--iq-font-stack);
    font-weight: var(--iq-base-font-weight);
    font-size: var(--iq-base-font-size); /* 14px */
    line-height: 1.5;
}

/* bootstrap override */
a {
    color: var(--iq-link-color);
    outline: none;
    text-decoration: none;
    cursor: pointer; /* Required because many links <a> have omitted 'href' attribute */
    /* below properties prevent selection of the inner text, added because of omitted 'href' attribute on the <a> */
    /*-webkit-touch-callout: none; !* iOS Safari *!*/
    /*-webkit-user-select: none; !* Safari *!*/
    /*-moz-user-select: none; !* Old versions of Firefox *!*/
    /*-ms-user-select: none; !* Edge *!*/
    /*user-select: none;*/
}

a:hover,
a:focus {
    color: var(--iq-link-hover-color);
    text-decoration: none;
}

a:focus {
    /* bootstrap override - stop outline on links */
    outline: none;
}

ul,
.list-inline {
    /* bootstrap override */
    margin: 0;
    padding: 0;
}

ul.bulleted li {
    margin-left: 20px;
}

/* List Striped - alternate rows (odd) */
.list-striped > li:nth-child(odd) {
    background-color: #ffffff;
}

.list-striped-dark > li:nth-child(odd) {
    background-color: #eee;
}

/* List Striped - alternate rows (even) */
.list-striped > li:nth-child(even),
.list-striped-dark > li:nth-child(even) {
    background-color: #f8f9f9;
}

/* Adds a dotted underline to text to indicate a tooltip is available [legacy class that needs renaming or replaced with contextual help element] */
.info {
    text-decoration: underline dotted;
    text-decoration-color: var(--iq-text-color);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.25rem;
    cursor: pointer;
}

.info:hover {
    text-decoration-color: var(--iq-link-color);
}

strong, .strong {
    font-weight: 700;
}

em, .em {
    font-style: italic;
    opacity: 0.75;
}

img,
svg {
    vertical-align: middle;
}

/* utility class */
.bordertop {
    border-top: 1px solid #DEDEDE !important;
}

/* utility class */
.borderbottom {
    border-bottom: 1px solid #DEDEDE !important;
}

/* AE - font size in tables changed for no apparent or discoverable reason this is to force resolution of that issue */
table {
    font-size: 1em;
}

table, caption, tbody, tfoot, thead, tr, th, td {
    vertical-align: middle;
}

/* CUSTOM ELEMENTS
 ========================================================================== */


iq-svg-inliner {
    line-height: 0;
}

/* PAGE LAYOUT & REGIONS
 ========================================================================== */
#pageWrapper {
    display: grid;
    /*grid-template-areas:*/
    /*    "header header header"*/
    /*    "sidebar-left content sidebar-right";*/
    /*grid-template-columns: 320px 1fr minmax(0, 1fr);*/
    grid-template-areas:
        "header header"
        "sidebar content"
        "sidebar footer";
    grid-template-columns: 320px 1fr;
    grid-template-rows: 56px auto 1fr;
    height: 100vh;
    transition: grid-template-columns 0.3s ease;
}

#pageWrapper.login-screen {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
}

#pageWrapper[class*="page-sidebar-left-expanded"] {
    grid-template-columns: var(--region-menu-width, 20rem) 1fr;
}

#pageWrapper[class*="page-sidebar-left-collapsed"] {
    grid-template-columns: var(--region-menu-collapsed-width, 4.5rem) 1fr;
}

@media (max-width: 1399px) {
    #pageWrapper[class*="page-sidebar-left-expanded"] {
        grid-template-columns: var(--region-menu-collapsed-width, 4.5rem) 1fr;
    }
}

#pageHeader,
#divMain,
#divInfo {
    margin-bottom: 1rem;
}

#pageHeader {
    /* Contains all Menus - see menu css file */
    margin-top: 15px;
}

/* MAIN CONTENT - CONTAINER FOR APPLICATION CONTENT
   ========================================================================== */
/* THIS SHOULD BE THE ONLY PLACE THE MAIN CONTENT WIDTH IS DEFINED */
/* ALL OTHER WIDTHS ARE %ages of this value */
/* Main Content Container */
#divMain {
    grid-area: content;
    width: 100%;
    max-width: calc(1920px - var(--region-menu-width));
    margin: 0 auto;
    padding: 2rem;
}

.fullWidth #divMain {
    max-width: none;
    margin: initial;
}

#divMain > .panel,
#divMain form > .panel {
    /* no border on first level child panels in #divMain */
    /*border-color:#DEDEDE;*/
}

#debugFooter {
    grid-area: footer;
    width: 100%;
    max-width: calc(1920px - var(--region-menu-width));
    margin: 0 auto 1rem auto;
    padding: 2rem;

    /*  TESTING ONLY - to test where the debug footer is positioned - delete after testing */
    position: relative;
}


/*  *** TESTING ONLY  - to test where the debug footer is positioned - delete after testing */
#pageWrapper ~ :not(#divMain) + #debugFooter {
    border: 8px solid purple;
}

/*  *** TESTING ONLY  - to test where the debug footer is positioned - delete after testing */
#pageWrapper ~ #debugFooter::before {
    content: "ISSUE: outside #pageWrapper possibly with other content outside #divMain";
    position: absolute;
    top: 0;
    left:0;
    padding: .25rem 1rem;
    background-color: purple;
    color: white;
}

/*  *** TESTING ONLY  - to test where the debug footer is positioned - delete after testing */
#pageWrapper + #debugFooter {
    border: 8px solid red;
}
/*  TESTING ONLY  - to test where the debug footer is positioned - delete after testing */
#pageWrapper + #debugFooter::before {
    content: "ISSUE: Positioned outside #pageWrapper, but it should be positioned as a sibling element directly after #divMain";
    position: absolute;
    top: 0;
    left:0;
    padding: .25rem 1rem;
    background-color: red;
    color: white;
}

/*  *** TESTING ONLY  - to test where the debug footer is positioned - delete after testing */
#divMain #debugFooter {
    border: 8px solid darkorange;
}
/*  *** TESTING ONLY  - to test where the debug footer is positioned - delete after testing */
#divMain #debugFooter::before {
    content: "ISSUE: Currently nested within #divMain, but it should be positioned as a sibling element directly after #divMain";
    position: absolute;
    top: 0;
    left:0;
    padding: .25rem 1rem;
    background-color: darkorange;
    color: white;
}

/* v6 Merge - #12272 */
#kendoMediaTab #pageWrapper.embedded {
    width: 889px;
}

/* END: Page Layout & Regions */

/* PANELS - BS containers
   ========================================================================== */
.panel {
    /* see bootstrap */
    position: relative;
    width: 100%; /* Commented out because this is a block element therefore full width by default, this also stops panels within kendo widgets causing horizontal scrolling due to box-sizing properties of kendo widgets */
    margin-bottom: 1rem;
    -webkit-box-shadow: none; /* bootstrap override */
    box-shadow: none; /* bootstrap override */
}

.panelOneSignoff {
    position: relative;
    margin-bottom: 10px;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none !important;
    border-radius: 3px;
    background-color: #ffffff;
}

.panel-group {
    margin-bottom: 10px; /* bootstrap override */
}

/* When nested panel within edit form is with class 'panel-group' - Task module */
.editForm.clearfix .panel-group {
    padding: 1rem 1rem 0 1rem;
}

/* clearfix */
.panel-group:before,
.panel-group:after,
.controls:before,
.controls:after,
    /*.controlsExposed:before,
    .controlsExposed:after,*/
.panel.loginArea:before,
.panel.loginArea:after,
.panel-body .groupwrapper:before,
.panel-body .groupwrapper:after,
#damagecodeattributewrapper ul:before,
#damagecodeattributewrapper ul:after /*,
	#divMain form > .panel:before,
	#divMain > .panel:before,
	#divMain form > .panel:after,
	#divMain > .panel:after*/
{
    display: block;
    clear: both;
    content: "";
}

/* clearfix */
.panel-group:after,
.controls:after,
.controlsExposed:after,
.panel.loginArea:after,
#damagecodeattributewrapper ul:after /*,
	#divMain form > .panel:after,
	#divMain > .panel:after*/
{
    clear: both;
}

.panel-body .groupwrapper:after,
.componentDashboardGroup:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}

/* shadow root level panels, tables etc... */
#divMain > .panel,
#divMain form > .panel,
#divMain form > .panel-group,
#divMain > .panel-group,
#divMain > .table,
#divMain form > .table,
.panel.loginArea,
.componentDashboardGroup {
    /*box-shadow: 0 2px 1px rgba(0, 0, 0, 0.15); !* testing only *!*/
    /*box-shadow: 0 1px 20px 0 rgb(69 90 100 / 8%); !* testing only *!*/
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.02), 0 2px 4px -2px rgb(0 0 0 / 0.02);
    /*box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.02), 0 4px 6px -4px rgb(0 0 0 / 0.02); !* testing only *!*/
    border: none;
    border-radius: var(--iq-border-radius-md);
    -webkit-border-radius: var(--iq-border-radius-md);
}

/* remove shadows on root panel exceptions */
#divMain .paginationBar.panel,
.pageNav,
    /*#divMain .panel.breadcrumb,*/
#divMain .panel.controls {
    min-height: 3.2em;
    -webkit-box-shadow: none;
    box-shadow: none;
}

#divMain .panel.breadcrumb {
    padding: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
}

#divMain .panel.controls {
    min-height: 2.3em;
}

/* SEARCH RESULTS PANEL  - KALI TESTING ONLY*/
#searchResults {
    padding: 1rem;
}

/* PANEL 2 COLUMNS */
.panel.col-2 {
    display: inline-block;
    width: 49.5%;
    float: left;
}

.panel.col-2:nth-child(even) {
    float: right;
}

.panel.panel-bottom {
    position: relative;
    height: 3.5em;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    padding-left: 5px;
    padding-right: 5px;
}

.offscreen {
    position: absolute;
    left: -5000px;
    width: 1px;
    height: 1px;
}

.spacer {
    display: inline-block;
    width: 20px;
}

/* v6 Merge - #13120 Ross */
.panel-group ul li {
    list-style: none;
}

/* END - Global Styles */

/* HEADING STYLES
   ========================================================================== */
/* HEADINGS - currently using a 1.125 Major Second scale, rounded */
h1 {
    font-size: 1.75rem;
    font-weight: 600;
}

h2 {
    font-size: 1.5rem;
    font-weight: 600;
}

h3 {
    font-size: 1.125rem;
    font-weight: 600;
}

h4 {
    font-size: 1rem;
    font-weight: 600;
}

h4 .smallText {
    font-size: 11px;
}

h5 {
    font-size: 0.875rem;
    font-weight: bold;
}

.xsmallText {
    font-size: 0.85em;
}

/* @todo check if in use, else delete */
.curveHeading {
    display: inline-block;
    margin-left: -5px; /* only needed if inside a panel */
    padding: 0 40px 0 15px;
    background-color: var(--iq-color-blue-primary);
    -moz-border-radius: 0 20px 20px 0;
    border-radius: 0 20px 20px 0;
    line-height: 2.500em;
    color: #fff;
    color: deeppink !important; /* testing only */
    background-color: #0ac282 !important; /* testing only */
}

/* PANEL HEADINGS */
.panel-heading {
    background-color: var(--iq-color-white);
    color: var(--iq-text-color);
    padding: 1.5rem 1rem;
    display: flow-root;
}

/* Panel heading icons */
.panel-heading > .icon-wrap {
    margin-top: -2px;
    margin-right: 0.25rem;
    vertical-align: middle; /* icons inside panel-headings are inline-elements */
}

.panel-heading .iq-icon {
    width: 1.25rem;
    height: 1.25rem;
    stroke-width: 2;
}

.panel-heading .badge-md {
    margin-top: -2px;
    margin-left: 8px;
    vertical-align: middle; /* badge inside panel-headings are  inline-elements */
}

.accordion-group .panel-heading h2.panel-title a .badge-md {
    margin-left: auto;
    margin-top: 0px;
}

.accordion-group .panel-heading h2.panel-title a .badge-md + .accordionBtn {
    margin-left: 0.5rem;
}

.editForm .panel-heading h4,
.viewForm .panel-heading h4 {
    font-size: 1.25rem;
    font-weight: 600;
}

.panel-title, /* @todo this boostrap overrride definition to replace the high specificity classes targeting .panel-title */
.panel-heading h2.panel-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.1 !important;
    padding: 0;
    border: none !important;
}

/* Panel Heading - Grey */
.panel-group .panel-heading.grey {
    margin-bottom: 10px;
    background-color: var(--iq-color-white);
    color: var(--iq-text-color);
}

.panel-heading.grey {
    margin: 0;
    padding: 0;
    background-color: var(--iq-color-white);
    color: var(--iq-text-color);
}

.panel-heading.grey h4,
.panel-heading.grey h5 {
    margin: 1.5rem 1rem;
    font-size: 1.25rem;
    font-weight: 600;
}

/* Test - remove left and right margin for  */
.panel.p-3 .panel-heading.grey h4,
.panel.p-3 .panel-heading.grey h5 {
    margin: 0.5rem 0 1.5rem;
}

.panel-group.accordion-group .panel.p-3 .panel-heading.grey h4,
.panel-group.accordion-group .panel.p-3 .panel-heading.grey h5 {
    margin: 1.5rem 1rem;
}
/* End of test */

.panel-heading.grey h4::after,
.panel-heading.grey h5::after,
.panel-heading h2.panel-title::after,
.viewForm .panel-heading h4::after,
.panel.editForm .panel h5.grey::after {
    content: '';
    display: block;
    margin-top: 1rem; /* space away from heading text */
    border-bottom: 1px solid var(--iq-color-grey-40);
}

/* Remove underline and additional top margin of .panel-heading h2 when in accordion */
.accordion-group .panel-heading h2.panel-title::after {
    content: '';
    border-bottom: none;
    margin-top: 0;
}

/* Panel-group Panel Heading - compensate for padding */
.panel-group .panel-heading.grey {
    margin-top: 15px;
    margin-left: -15px;
    margin-right: -15px;
}

.panel-group .panel-heading.grey.thick {
    margin-top: 0;
}

.modal-body .panel-group .panel-heading.grey {
    margin-top: 15px;
    margin-left: 0;
    margin-right: 0;
}

.panel-group .col-md-5 .panel-heading.grey,
.panel-group .col-md-6 .panel-heading.grey,
.panel-group .col-md-7 .panel-heading.grey {
    margin-top: 0;
    margin-left: 0;
}

/* Panel Heading - H4 */
.panel-heading h4 {
    font-size: 14px;
    font-size: 1.25rem; /* testing */
    margin: 0;
}

/* CURVED HEADINGS - H5 Grey/Blue */
h5.grey,
h5.blue {
    display: inline-block;
    min-width: 220px;
    min-height: 30px;
    padding: 9px 40px 8px 15px;
    border-radius: 0 20px 20px 0;
}

h5.grey {
    background-color: #D7D7D7;
    color: #666;
}

/* display curved h5 grey heading following approved design - Task Summary - Edit Details / Task Summary - Update Status */
.panel.editForm .panel h5.grey {
    display: block;
    background-color: var(--iq-color-white);
    color: var(--iq-text-color);
    font-size: 1.25rem;
    font-weight: 600;
    padding: 0;
    margin: 1.5rem 1rem;
}

h5.blue {
    background-color: var(--iq-color-blue-primary);
    color: #FFF;
}

/* Discovered while testing add/edit defect step 1: "Anomaly Info" */
h5.indented {
    margin-left: var(--iq-space-200);
}

#componentFieldsDiv {
    margin-top: 5px;
    margin-bottom: 5px;
}

h5.grey.right,
h5.blue.right {
    float: right;
    border-radius: 20px 0 0 20px;
}

/* H5-GREY nested in a panel-group*/
.panel-group h5.grey,
.panel-group h5.blue {
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: -5px;
}

h5.grey input {
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
}
ul.groupwrapper li h4:not(.dashboard-h4) {
    margin-left: 10px;
}
/* RIBBON HEADINGS */
ul.groupwrapper li h4
    /*#moduleHeader h2,*/
    /*h3.yellowRibbonHeading*/
{
    height: 40px;
    /*margin-left: 10px;*/
    margin-top: -3px;
    -webkit-border-radius: 0 4px 4px 4px;
    -moz-border-radius: 0 4px 4px 4px;
    border-radius: 0 4px 4px 4px;
    font-size: 1.250em;
    font-weight: bold;
    line-height: 40px;
    color: #fff;
}

ul.groupwrapper li h4:before /*,
#moduleHeader h2:before*/
    /*h3.yellowRibbonHeading:before*/
{
    display: inline-block;
    content: ".";
    height: 3px;
    width: 6px;
    -webkit-border-radius: 5px 0 0 0;
    -moz-border-radius: 5px 0 0 0;
    border-radius: 5px 0 0 0;
    color: transparent;
}

#moduleSubHeader h4 {
    /*height: 32px;*/
    /*margin-top: -3px;*/
    /*margin-left: 10px;*/
    -webkit-border-radius: 0 4px 4px 4px;
    -moz-border-radius: 0 4px 4px 4px;
    border-radius: 0 4px 4px 4px;
    font-size: 1em;
    font-weight: bold;
    /*line-height: 32px;*/
    /*color: #fff;*/
    white-space: nowrap;
    overflow: hidden;
}

/* CSS not in use for v666 - Gloriya */
/*#moduleSubHeader h4:before {
    display: inline-block;
    content: ".";
    height: 3px;
    width: 6px;
    -webkit-border-radius: 5px 0 0 0;
       -moz-border-radius: 5px 0 0 0;
            border-radius: 5px 0 0 0;
    color: transparent;
}*/

/* END - heading styles */

/* TEXT STYLES and text utility classes
   ========================================================================== */

/* Italic Text ~ v6 Merge - #13153 Fraser (convert to utility class) */
.italicText {
    font-style: italic;
}

/* ROUNDED CORNERS
   ========================================================================== */
/* @TODO v666 - split between 4px & 8px radius, use css variables and apply properties to individual classes, then delete this CSS section */

/* Rounded all 4 corners */
.headerBlock,
fieldset,
legend,
table,
.table,
.status_swatch, /* component/dashboard swatches */
.status_name,
#damagecodeattributewrapper li.attributeSearchField,
.editable {
    -moz-border-radius: var(--iq-border-radius-sm);
    -webkit-border-radius: var(--iq-border-radius-sm);
    border-radius: var(--iq-border-radius-sm);
}

.panel,
.accordion-group .panel-heading,
.panel-heading a,
.panel-group {
    -moz-border-radius: var(--iq-border-radius-md);
    -webkit-border-radius: var(--iq-border-radius-md);
    border-radius: var(--iq-border-radius-md);
}


/* Rounded T-L Left-Edges */
.edge_right,
.edge_left:before,
ul.groupwrapper ul.groupwrapper li.componentDashboardGroup h4:before {
    -moz-border-radius: 4px 0 0 4px;
    -webkit-border-radius: 4px 0 0 4px;
    border-radius: 4px 0 0 4px;
}

/* Rounded R-B Right-Edges*/
.edge_left,
.edge_right:after,
ul.groupwrapper ul.groupwrapper li.componentDashboardGroup h4 {
    -moz-border-radius: 0 4px 4px 0;
    -webkit-border-radius: 0 4px 4px 0;
    border-radius: 0 4px 4px 0;
}

/* Rounded T-R Top-Edges*/
.panel-heading {
    -moz-border-radius: 8px 8px 0 0;
    -webkit-border-radius: 8px 8px 0 0;
    border-radius: 8px 8px 0 0;
}

/* Rounded B-L Bottom-Edges*/
/*.subMenu,*/
.multiRowMenu {
    -moz-border-radius: 0 0 4px 4px;
    -webkit-border-radius: 0 0 4px 4px;
    border-radius: 0 0 4px 4px;
}

/* END - Rounded Corners */

/* BUTTONS: standard Grey & Blue with rounded corners
   ========================================================================== */
.button,
.modal-content button.close.overlap {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 2rem;
    padding: 0 .75rem;
    border: none; /* override user agent borders */
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);
    font-weight: 600;
    text-transform: capitalize;
    outline: none;
    vertical-align: middle; /* align inline buttons to top or middle, this may need to change to depending majority use cases */
    line-height: 1;
    white-space: nowrap;
}

/*
 * Legacy workaround: some buttons throughout the application contain empty
 * <span> elements. For text-only buttons, the icon <span> will be empty.
 * Hide empty icon spans to prevent the button `gap` from creating unnecessary spacing.
 */
.button > span:empty {
    display: none;
}

/* Ensures that the button itself handles the click events not the svg */
.button svg {
    pointer-events: none;
}

/* || BUTTON HOVER STYLES */
.button:hover,
button.highlighted,
.modal-content button.close.overlap:hover {
    background-color: #CCD2DB;
    color: var(--iq-text-color);
}

/* || BUTTON ACTIVE STATE */
.button:active {
    background-color: var(--iq-color-grey-50);
    color: var(--iq-text-color);
}

/* || BUTTON FOCUS STYLES */
.button:focus {
    outline: 2px solid var(--iq-link-color);
    outline-offset: 1px;
    background-color: var(--iq-color-grey-50);
    color: var(--iq-text-color);
}

/* :focus-visible and backwards compatibility - safari and earlier browsers */
/* Undo all the above focused button styles if the button has focus but the browser wouldn't normally show default focus styles */
.button:focus:not(:focus-visible) {
    outline: none !important;
}

/* Optionally add  button focus only styles, for browsers that support it */
/*button:focus-visible {*/
/*    outline: 2px solid darkblue;*/
/*    outline-offset: 1px;*/
/*    background-color: darkblue;*/
/*}*/

/* || BUTTON DISABLED STATE */
.button.disabled, /* for link buttons */
.button:disabled {
    background-color: var(--iq-color-grey-40);
    opacity: .4;
    cursor: not-allowed;
    /*pointer-events: none; !* enable if not-allowed cursor not suitable *!*/
}

/* Link buttons - Prevent interactions with disabled link buttons when the href attribute is set */
a.button.disabled {
    pointer-events: none;
}

/* || BUTTON SIZE VARIANTS
   The base .button is 32px (4 x 8px grid). These modifiers step one grid unit
   down or up for less/more prominent actions. Combine with any variants,
   e.g. `class="button button-primary button-lg"`. */
.button-sm {
    height: 1.5rem;
    padding: 0 .5rem;
}

.button-lg {
    height: 2.5rem;
    padding: 0 1rem;
}

/* || PRIMARY BLUE BUTTON */
.blue,
.button-primary {
    background-color: var(--iq-color-blue-primary);
    color: var(--iq-color-white);
}

/* Primary button : hover */
.button.blue:hover, /* deprecated - remove after this old v6 class removed */
.button-primary:hover {
    background-color: var(--iq-color-blue-900);
    color: var(--iq-text-color-inverted);
}

/* Primary button : active */
.button.blue:active, /* deprecated - remove after this old v6 class removed */
.button-primary:active {
    background-color: var(--iq-color-blue-1000);
    color: var(--iq-text-color-inverted);
}

/* Primary button : focus */
.button.blue:focus, /* deprecated - remove after this old v6 class removed */
.button-primary:focus {
    outline: 2px solid var(--iq-link-color);
    background-color: var(--iq-color-blue-900);
    color: var(--iq-text-color-inverted);
}

/* Primary button : disabled */
.button.blue.disabled, /* deprecated - remove after this old v6 class removed */
.button.blue:disabled, /* deprecated - remove after this old v6 class removed */
.button-primary.disabled,
.button-primary:disabled {
    background-color: var(--iq-color-blue-primary);
}

/* || TERTIARY BUTTON */
.button-tertiary {
    border: var(--iq-border-default) ;
    background-color: inherit;
    color: var(--iq-text-color);
}

.button-tertiary:hover {
    background-color: var(--iq-color-grey-30);
    color: var(--iq-text-color);
}

.button-tertiary:active {
    background-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);
}

.button-tertiary:focus {
    outline: 2px solid var(--iq-link-color);
    background-color: var(--iq-color-grey-30);
    color: var(--iq-text-color);
}

.button-tertiary.disabled,
.button-tertiary:disabled {
    border-color: var(--iq-border-color-default);
    background-color: inherit;
}

/* || DANGER BUTTON - destructive buttons */
.button-danger {
    background-color: var(--iq-color-red-500);
    color: var(--iq-text-color-inverted);
}

.button-danger:hover {
    background-color: var(--iq-color-red-700);
    color: var(--iq-text-color-inverted);
}

.button-danger:active {
    background-color: var(--iq-color-red-900);
    color: var(--iq-text-color-inverted);
}

.button-danger:focus {
    outline: 2px solid var(--iq-color-red-700);
    background-color: var(--iq-color-red-700);
    color: var(--iq-text-color-inverted);
}

.button-danger.disabled,
.button-danger:disabled {
    background-color: var(--iq-color-red-500);
}

/* || WARNING BUTTON - @TODO these are legacy styles that were moved here, these button instances need replacing with new danger class, warning should be yellow not red */
button.warning {
    background-color: #FB5B53;
    color: var(--iq-text-color-inverted);
}

button.warning:hover {
    background-color: #F24338;
}

button.warning:active {
    background-color: #D3322A;
}

button.warning:focus {
    outline: 2px solid #C4271E;
    background-color: #C4271E;
}

button.warning:disabled {
    background-color: #FB5B53;
}

/* || GHOST BUTTON - @TODO Combine the two class definitions into one. Find and replace all instances of the old classes with the new class (NOTE: button--ghost class is targeted by Javascript). */
.button-ghost,
.button--ghost {
    background-color: inherit;
    color: var(--iq-link-color);
}

.button-ghost:hover,
.button--ghost:hover {
    background-color: var(--iq-color-grey-30);
    color: var(--iq-link-color);
}

.button-ghost:active,
.button--ghost:active {
    background-color: var(--iq-color-grey-40);
    color: var(--iq-link-color);
}

.button-ghost:focus,
.button--ghost:focus {
    outline: 2px solid var(--iq-link-color);
    background-color: var(--iq-color-grey-30);
    color: var(--iq-link-color);
}

.button-ghost.disabled,
.button-ghost:disabled,
.button--ghost:disabled {
    background-color: inherit;
}

/* || LOADING BUTTON - Reference loading button styles (search for .button.loading classes) */
button.loading:disabled {
    cursor: pointer; /* disable disabled state cursor */
}

/* || BUTTON with ICON, add inline icon to left of text by default */
.button-icon,
.button {
    gap: var(--iq-space-050);
}

/*!* Button with leading icon @TODO enable if gap not supported in .button-icon *!*/
/*.button-icon .icon-wrap {*/
/*    margin-right: var(--iq-space-050);*/
/*}*/

.button-icon .iq-icon,
.button .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
    stroke-width: 2;
}

/* || ICON ONLY BUTTON */
.button.button-icon-only {
    width: 2rem;
    padding: 0;
}

/* Icon only ghost buttons */
.button-ghost.button-icon-only {
    color: var(--iq-text-color);
}

.button.button-icon-only .iq-icon { /* may need to tweak sizing */
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
    stroke-width: 2;
}

/* || CLEAR BUTTON - Button to clear values similar to close button */
.button-clear {
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: none;
    border-radius: var(--iq-border-radius-circle);
    outline: none;
    background-color: transparent;
}

.button-clear .iq-icon {
    width: var(--iq-icon-xs);
    height: var(--iq-icon-xs);
}

/* Andy 26/2023 v6 merge - (@todo TESTING NEEDED after v6 merge) */
button.active {
    background: #3eaaf3;
    border: none;
    color: #fff;
}

/* DROPDOWN BUTTONS - override bootstrap button dropdown css
   ========================================================================== */
/* dropdown button - caret arrow */
.dropdown-toggle::after {
    content: '';
    display: block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.25rem;
    margin-right: -.25rem;
    background: url(/images/icons/dropdown-chevron.svg) no-repeat center; /* temporary fix until all accordions toggle arrows can be converted to inline svgs */
}

.blue.dropdown-toggle::after,
.button-primary.dropdown-toggle::after {
    filter: invert(100%);
}

/* temporary fix until all accordions toggle arrows can be converted to inline SVGs */
.dropdown-toggle .caret {
    display:none;
}

.dropdown-menu,
.viewForm .dropdown-menu,
.editForm .dropdown-menu {
    position: absolute;
    top: auto;
    left: auto;
    display: none;
    padding: 0.5rem 0;
    border: 1px solid var(--iq-color-grey-40);
    text-align: left;
    z-index: 1000;
    /*right: calc(2vw - 0px); !* Test - Adjust the right property dynamically *!*/
    /* V7-375: size dropdowns to their content instead of a fixed width — compact for short
       labels, capped and wrapping for long ones. */
    min-width: 160px;
    max-width: 320px;
    width: max-content;
}

/*@media (max-width: 1260px) {*/
/*    .dropdown-menu {*/
/*        right: calc(2vw - 14px); !* Optional tweak for larger screens *!*/
/*    }*/
/*}*/

.dropdown-lastchild {
    transform: translateY(-115%);
}

.viewForm .open > .dropdown-menu,
.editForm .open > .dropdown-menu {
    display: block;
}

.pageNav .dropdown-menu {
    min-width: 200px;
    margin-left: 5px;
}

/*.table .dropdown-menu {
    right: 0; !* testing for Kali - reposition dropdown this solution works for button dropdowns in last column of tables *!
    margin-top: !*-5px;*! 0.25rem;
}*/

.editForm .btndropdown,
.viewForm .btndropdown,
ul li.btndropdown {
    padding: 0;
    border-left: none;
    border-right: none;
}

.viewForm .btndropdown {
    display: block;
    height: auto;
    min-height: auto;
    width: auto;
    border-top: none;
    margin-left: 0;
}

.dropdown-menu>li>a {
    padding: 0.375rem 1rem;
    white-space: normal;
}

/* Task > Inspection > Edit Drafts Dropdown Button — long drafts list scrolls vertically.
   V7-375: width now handled by the adaptive .dropdown-menu rule above. */
#dropdownBatchButt + .dropdown-menu {
    max-height: 380px;
    overflow-y: auto;
}

/* Andy 26/2023 v6 merge - (@todo TESTING NEEDED after v6 merge) */
#plotPlanListing .table .dropdown-menu {
    margin-left: 0;
}

/* END : Drppdown Buttons */

/* BUTTON GROUPS - override bootstrap button group css @todo
   ========================================================================== */


/* END : Button Groups */

@keyframes warning {
    0% {
        background-color: #ffcccc;
    }
    15% {
        background-color: #ffcccc;
    }
    50% {
        background-color: #ffffff;
    }
    85% {
        background-color: #ffcccc;
    }
    100% {
        background-color: #ffcccc;
    }
    /*0% {background-color: #3eaaf3; color: #ffffff;}
    50% {background-color: #ffffff; color: #000000;}
    100% {background-color: #3eaaf3; color: #ffffff;}*/
}


/* || RIBBON BUTTONS - (Legacy - @TODO delete styles when removed from v666 interface) */
.ribbon {
    height: 36px;
    margin-right: 5px;
    border: none;
    background: #00567A url(/images/v5/buttons/button_bg_blue.jpg) repeat-x left top;
    font-size: 1em;
    line-height: 36px;
    color: #fff;

}

.ribbon.edge_left:before,
.ribbon.edge_right:after {
    display: inline-block;
    content: ".";
    height: 42px;
    width: 4px;
    background: #00567A url(/images/v5/buttons/button_bg_blue.jpg) repeat-x left top;
    color: transparent;
}

.ribbon.edge_left:before {
    margin-left: -12px; /* ribbon L-padding + edge-W */
    margin-right: 4px; /* push content right */
}

.ribbon.edge_right:after {
    margin-left: 8px;
    margin-right: -12px; /* ribbon R-padding + edge-W */
}

.ribbon:hover,
.ribbon.edge_right:hover:after,
.ribbon.edge_left:hover:before {
    background: #3EAAF3 url(/images/v5/buttons/button_bg_hover.jpg) repeat-x left top;
}

.ribbon.icon span {
    padding-left: 15px;
}

/* || CONTEXT BUTTONS - (CUSTOM - @TODO need to investigate their implementation to see if they can be replaced) */
.contextbutton:before {
    content: "[ ";
}

.contextbutton:after {
    content: " ]";
}

.contextbutton {
    display: inline-block;
    margin: 0 10px;
    color: #000000;
    font-size: 0.65em;
    text-transform: uppercase;
    opacity: 0.75;
    filter: alpha(opacity=75); /* For IE8 and earlier */
}

.contextbutton:hover {
    opacity: 1;
    filter: alpha(opacity=100); /* For IE8 and earlier */
}

.contextbutton.delete {
    /*border: 1px solid red !important;*/
    /*background-color: #ffe8e8 !important;*/
    color: #FF0000;
}

/* END - Buttons*/

/* IMAGE STYLES
   ========================================================================== */
/* v6 merge - ANOM-510 (Kali) temp thumbnail class for defect table @todo needs proper solution for global thumbnail sizes and orientations */
/*   Thumbnail - preferred Image (Small), typically used in results tables */
.thumbnail-prefer-img-sm {
    width: 4rem;
    height: 3rem;
    object-fit: cover;
}

/* END - Image */

/* TABLES @todo ISSUE: Overly complex and redundant tables selectors. Mixing direct child selectors (>) and descendant selectors?
   Kali Findings: Not all tables use the Bootstrap .table class. This suggests a legacy implementation was in place before Bootstrap was introduced.
   Bootstrap itself relies on long selector chains, and third-party overrides were added later. Over time, increasing specificity was used to
   compensate for legacy styles failing, creating a cascade of complexity and specificity escalation.
   ========================================================================== */

.noWrap {
    white-space: nowrap;
}

span.avoidWrap {
    display: inline-block;
}

.table {
    margin-bottom: 10px; /* bootstrap override */
}

/* ------ Tables ------ */
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
    padding: 1rem .5rem; /* testing only needs adjusting - 1rem is too large for general tables  */
    border-top: 1px solid transparent;
    line-height: 1.42857143;
    vertical-align: middle;
}

/* Added Boostrap 3 table condensed class as an alternative to the custom .table.compact class added in v6 */
.table-condensed>thead>tr>th,
.table-condensed>tbody>tr>th,
.table-condensed>tfoot>tr>th,
.table-condensed>thead>tr>td,
.table-condensed>tbody>tr>td,
.table-condensed>tfoot>tr>td {
    padding: var(--iq-space-100);
}

/* Table Borders */
.table > tbody > tr > td,
.panel .table > tbody > tr > td,
.table.anomaly .td {
    border-top: 1px solid var(--iq-color-grey-30); /*#EBEBEB;*/
}

/* Table Striped - alternate rows (odd) */
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
    background-color: var(--iq-color-white);
}

/* Table Striped - alternate rows (even) */
.table-striped > tbody > tr:nth-child(even) > td {
    background-color: var(--iq-color-grey-5);
}

/* Table Hover */
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
    background: #F4F5F7;
}

/* Table Header */
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table-striped > tbody > tr:nth-child(odd) > th {
    height: 3rem;
    padding: .5rem;
    border: none; /* bootstrap override */
    border-color: var(--iq-color-blue-primary);
    background-color: var(--iq-color-grey-30);
    color: var(--iq-text-color);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 1.2;
    vertical-align: middle;
}

/* grey table head */
.table > thead > tr.grey > th,
.table > tbody > tr.grey > th,
.table > thead > tr.grey > td,
.table-striped > tbody > tr.grey:nth-child(odd) > th {
    background-color: #d7d7d7;
    color: #666;
}

.table > tfoot > tr > td {
    height: 40px;
    padding: 8px;
    border: none; /* bootstrap override */
    border-color: var(--iq-color-blue-primary);
    background-color: #4AACED;
    color: #fff;
    font-family: Tahoma, Arial, sans-serif;
    font-size: 0.833em; /* 0.917em; */
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.15em;
    vertical-align: middle;
}

.table > tfoot > tr.tablefootnav > td {
    background-color: #fff;
    color: #666;
}

/*Using breakpoint to keep element aligned in a table - Testing V666-1729*/
@media (max-width: 1024px) {
    .component-group-table th.col-group-name,
    .component-group-table td:nth-child(2) {
        width: 15%;
    }

    .component-group-table th.col-description,
    .component-group-table td:nth-child(3) {
        width: 15%;
    }
}

/* fix bg color for .info cells */
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > thead > tr > td.info,

    /* First Column - bold */
.table > tbody > tr > td:first-child,
.table > tr > td:first-child {
    /*font-weight:bold;*/
}

/* apply curved corners to tables */
.table > tbody > tr > th:first-child, /* class added */
.table > thead > tr:first-child > th:first-child, /* class added */
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
    border-top-left-radius: 4px;
}

/* apply curved corners to tables */
.table > tbody > tr > th:last-child, /* class added */
.table > thead > tr:first-child > th:last-child, /* class added */
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
    border-top-right-radius: 4px;
}

/* Table that requires grouping of column data  */
.table-hover .left-column-border {
    border-left-style: solid;
    border-left-width: 2px;
    border-left-color: #DEDEDE;
}

.table-hover .right-column-border {
    border-right-style: solid;
    border-right-width: 2px;
    border-right-color: #DEDEDE;
}

.table-hover .featured .left-column-border, .table-hover .featured .right-column-border {
    border-color: var(--iq-color-blue-primary);
    border-width: 1px;
}

/* TABLE BORDER - adds a border around the table  */
.table-bordered {
    border: 1px solid #dedede;
}

/* Table Bordered - align top */
.table-bordered tr td,
.table-bordered tbody tr td,
.table-bordered button {
    vertical-align: top;
}

/* TABLE BORDERED - borders around each individual cell within the table  */
.table.table-bordered > tbody > tr > td {
    border: 1px solid #dedede;
}

/* TABLE WHITE */
.table-default > tbody > tr > td,
.table-default > tr > td {
    background-color: #fff;
}

.table-default > thead > tr > th,
.table-default > tr > th {
    background-color: #D7D7D7;
    color: #666;
}

/* TABLE INLINE */
.table-inline,
table.table-inline {
    display: inline-table;
    width: auto;
}

/* inline-table class - ADDED BY CAM 16/06/2023, should be merged with above */
table.inline-table {
    display: inline-block;
    width: auto;
}

/* TABLE BUTTONS - to space vertically stacked buttons within table cells, exclude last button */
.table .button:not(:last-of-type) {
    margin-bottom: .5rem /* 5px; */
}

.table .toolbar .button /* toolbars in tables */
{
    margin-bottom: 0;
}

/* GROUP HEADING - clear table styles [multi row table headings] */
th.groupHeading {
    padding: 0 !important;
    height: auto !important;
}

/* Selected Tables Row @todo Global Issue: Selected state not applied to table rows, only to checkbox cells. This complicates row styling and increases selector specificity
 */
.table tr:has(.selectrow:checked) td {
    background-color: #E3F2FC80;
}

/* Selected Tables Row - Hover */
.table tr:has(.selectrow:checked):hover td {
    background-color: #E3F2FCcc;
}

/* LAST SEEN - Last Viewed Row @todo ISSUE: Check why this property is set with !important and why overly complex and redundant selectors */
table tbody tr.highlight,       /* Merge v6 Andy ANS22UP-109 */
table tbody tr.highlight td,    /* Merge v6 Andy ANS22UP-109 */
table.dataTable tbody tr.highlight,
table.dataTable tbody tr.highlight td{
    background-color: #fff1e3b3 !important; /* Temp Hack OE-Sep */
}

/* Last Viewed Table Row (Bootstrap tables) */
.table tr.lastSeen td,
.table tbody tr.lastSeen td {
    background-color: #fff1e3b3;
}

/* Last Viewed Table Row - HOVER (Bootstrap tables) */
.table tr.lastSeen:hover td,
.table tbody tr.lastSeen:hover td {
    background-color: #fff1e3ff;
}

/* Last Viewed & Selected Table Row (Global Issue: Selected state not applied to table rows — only to checkbox cells.) */
.table tr.lastSeen:has(.selectrow:checked) td {
    background-color: #fff1e3b3;
}

/* Last Viewed & Selected Table Row - HOVER (Global Issue: Selected state not applied to table rows — only to checkbox cells.) */
.table tr.lastSeen:has(.selectrow:checked):hover td {
    background-color: #fff1e3ff;
}

.table.anomaly .tr.featured,
.table tr.featured td,
.table > tbody > tr.featured > td,
.table > tr.featured > td {
    border-top: 1px solid var(--iq-color-blue-primary);
    border-bottom: 1px solid var(--iq-color-blue-primary);
    font-weight: bold;
    color: var(--iq-color-blue-primary);
}

/*Last row used on anomalyTasks report*/
.table > tbody > tr.lastRowFeatured > td {
    border-bottom: 1px solid var(--iq-color-blue-primary);
}

.table-column-checkboxes {
    /*width: 1rem;*/
}
/* ------ ANOMALY SEARCH RESULTS TABLE  ------ */
/* anomaly results table - checkboxes */
.table.anomaly .col_groupAssignment {
    width: 1rem;
}

.table.anomaly td.col_anomaly {
    font-size: .75rem;
}

/* Virtual Groups Overlay - changed state v6 legacy */
.itemChanged {
    background-color: var(--iq-color-blue-200) !important;
}

/* Auto-Emailer / Email template - currently in use and used to override inline css, @todo need to ask Andy as be redundant */
.re_assessment_req_row {
    background-color: var(--iq-color-warning) !important;
}

/*.table.anomaly .reallyfirst {*/
/*width: auto;*/
/*}*/

/* repair id - .table.anomaly .col_anomaly */
.repairID {
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
}

.table.anomaly .comp-name {
    font-size: var(--iq-body-text-sm);
    color: var(--iq-text-color-med);
}

/* END Anomaly Table */

.anom_code,
.anom_date,
.anom_swatch {
    /*display: table-cell;*/
    /*vertical-align: middle;*/
}

.anom_code {
    min-width: 2rem;
    margin-right: .5rem;
    border-radius: var(--iq-border-radius-sm);
    text-align: right;
}

.anom_date {
    width: 6.25rem;
    margin-right: .5rem;
    border-radius: var(--iq-border-radius-sm);
    line-height: 16px;
}

.anom_date a {
    display: block;
}

.anom_swatch {
    width: 1rem;
    height: 1rem;
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-30);
    order: -1;
}

.table .icon,
.k-grid-content .icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url(/images/v5/buttons/sprite_icons.png);
    background-repeat: no-repeat;
}

/*!* Component Tree - Hydrocarbon nd Safety Critical icons *!*/
/*.k-grid-content .icon.hydrocIcon {*/
/*    width: 24px;*/
/*    height: 24px;*/
/*    background-image: url(/images/icons/status-hydrocarbon.svg);*/
/*    background-repeat: no-repeat;*/
/*}*/

/*.k-grid-content .icon.hydrocIcon.disabled {*/
/*    width: 24px;*/
/*    height: 24px;*/
/*    background-image: url(/images/icons/status-hydrocarbon-disabled.svg);*/
/*    background-repeat: no-repeat;*/
/*}*/

/*.k-grid-content .icon.safetycIcon {*/
/*    width: 24px;*/
/*    height: 24px;*/
/*    background-image: url(/images/icons/status-safety-critical.svg);*/
/*    background-repeat: no-repeat;*/
/*}*/

/*.k-grid-content .icon.safetycIcon.disabled {*/
/*    width: 24px;*/
/*    height: 24px;*/
/*    background-image: url(/images/icons/status-safety-critical-disabled.svg);*/
/*    background-repeat: no-repeat;*/
/*}*/

/* End of Component Tree - Hydrocarbon nd Safety Critical icons */

.table .icon.small {
    margin-left: -5px;
    margin-right: -5px;
}

.anom_date.small {
    font-size: 0.917em;
}

/* Compact Table Class
overflow removed as it was causing issues with dropdown button*/
.table.compact > thead > tr > th,
.table.compact > tbody > tr > th,
.table.compact > tfoot > tr > th,
.table.compact > thead > tr > td,
.table.compact > tbody > tr > td,
.table.compact > tfoot > tr > td {
    padding: 1px 4px;
    max-height: 20px;
    /*overflow: hidden;*/
    font-size: 0.95em;
}

.table.compact > thead > tr > th {
    height: 25px;
    max-height: 25px;
}

.table.compact tr.selected td:first-child,
.table.compact > tbody > tr.selected > td:first-child,
.table.compact > tr.selected > td:first-child {
    font-weight: bold;
    color: var(--iq-color-blue-primary);
}

.table.compact input[type="checkbox"] {
    height: auto;
}

td div.compactCell {
    max-height: 65px;
    overflow: hidden;
    vertical-align: middle;
}

.compact label,
label.compact {
    margin-top: 0;
    margin-bottom: 0;
}

.compact input,
input.compact {
    margin-top: 0 !important;
    margin-bottom: 0 !important;;
}

/*table th input[type="checkbox"],*/
/*table th input[type="radio"] {*/
/*    height: auto;*/
/*    margin: 0;*/
/*}*/

/* Testing class only - removing height from checkboxes to reduce row height in Kendo tables and single-line rows. Due to current applications, abrupt removal may have adverse effects. Need to proceed cautiously. */
table input[type="checkbox"],
table input[type="radio"] {
    height: 1em;
    margin: 0.25rem 0;
}

.table.compact.table-modal > tbody > tr > td {
    vertical-align: top;
}

/* END - Tables */

/* KENDO TABLES - [3rd Party] Kendo @todo best to use kendo theming if possible
   ========================================================================== */
/*temp Kendo table CSS variables - delete if we use kendo theming */


/* END - Kendo Tables */

/* DATATABLE TABLES - [3rd Party] DataTables @todo best to use theming if possible
   ========================================================================== */


/* END - DATATABLE Tables */

/* BADGES - show notifications, counts, or status information on navigation items and icons @TODO complete badge styles
   ========================================================================== */
.badge {
    display: inline-flex;
    align-items: center;
    min-width: 12px;
    padding: 3px 6px;
    border-radius: var(--iq-border-radius-pill);
    background-color: var(--iq-color-grey-90);
    color: var(--iq-text-color-inverted);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

/* BADGE VARIANTS */
.badge-info {
    background-color: var(--iq-color-blue-600);
}

.badge-neutral {
    background-color: var(--iq-color-grey-30);
    color: var(--iq-text-color-light) ;
}

.badge-success {
    background-color: #00b76b;
}

.badge-warning {
    background-color: #fb8b3c;
}

.badge-danger {
    background-color: #ff4c37;
}

.badge-help {
    position: relative;
    background-color:  #8c46d1;
}

.badge-help::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    background-color: #8c46d1;
    animation: outlinePulse 1.25s ease-in-out 3;
}

@keyframes outlinePulse {
    0% {
        transform: scale(.95);
        opacity: .75;
    }
    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}

/* BADGE SIZES */
/* Badge dot - empty element, not text or icon, used in conjunction with icons */
.badge-dot,
.badge-dot:empty {
    display: inline-block; /* bs override */
    width: .5rem;
    min-width: .5rem; /* bs override */
    height: .5rem;
    padding: 0;
    border-radius: var(--iq-border-radius-circle);
}

/* Badge small - text only */
.badge-sm {
    min-height: 1rem;
    padding: 0.125rem 0.375rem;
    font-size: 0.625rem;
    letter-spacing: 0.05em;
}

.badge-md {
    padding: 0.25rem 0.375rem;
}

.badge-lg {
    min-height: 1.5rem;
    padding: 0.25rem 0.5rem;
    font-size: .875rem;
}

.badge-xl {
    padding: 0.5rem 0.75rem;
    font-size: .875rem;
}

/* BADGE with ICON */
.badge-md .iq-icon {
    width:  var(--iq-icon-2xs);
    height: var(--iq-icon-2xs);
    margin-right: .25rem;
    stroke-width: 2.5;
}

.badge-lg .iq-icon {
    width:  var(--iq-icon-xs);
    height: var(--iq-icon-xs);
    margin-right: 0.375rem;
    stroke-width: 2.5;
}

.badge-xl .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
    margin-right: 0.375rem;
    stroke-width: 2;
}
/* END - Badges */


/* INDICATORS - Centralised Status Indicator UI Components, icons and color swatches
   V666 INDICATORS - SWATCHES & ICONS
   ========================================================================== */
/* Indicator Group - optional container for when multiple indicators are in one container */
.indicator-group {
    display: flex;
    align-items: center;
    gap: var(--iq-space-200);
}

/* Base - indicator item */
.edit-form .indicator,
.indicator {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* Spacing between indicator child elements (excluding last child), horizontal layout only */
.indicator > :not(:last-child) {
    margin-right: .5rem;
}

/* Modifier - make block-level element */
.indicator.indicator--block {
    display: flex;
    /*align-items: center;*/
}

/* Indicator icon - svg wrapper *//* TODO - when needed */
.indicator__icon {
    display: flex;
    justify-content: center; /* the default alignment by need to change */
    align-items: center;
}

.link-icon.indicator__icon .iq-icon, /* specificity overrides @todo - remove when svg-inliner function not used to generate link around icons.  */
.indicator__icon .iq-icon {
    width: var(--iq-indicator-lg);
    height: var(--iq-indicator-lg);
    stroke-width: 2;
}

/* Indicator color swatch */
.indicator__swatch {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--iq-indicator-sm);
    height: var(--iq-indicator-sm);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-30); /* default neutral disabled colour */
    overflow: hidden; /* required for print templates, remove when wkhtmltopdf gets replaced */
}

/* Indicator color swatch with child icon */
.indicator__swatch .indicator__icon .iq-icon,
.indicator__swatch .icon-wrap .iq-icon {
    width: 100% !important;
    height: 100% !important;
    color: #fff;
    stroke-width: 2;
}

/* Indicator label text */
.indicator__label {
    /*line-height: 1;*/
}

/* Indicator label empty text placeholder */
.indicator__label .iq-empty-text {
    color: var(--iq-color-grey-60);
    white-space: nowrap;
    cursor: default;
}

/* Indicator date item */
.indicator__date {
    display: flex;
    justify-content: space-between; /* vertically align code and date elements */
    white-space: nowrap;            /* stop dates wrapping */
}

/* Indicator date code, prefixes date text - e.g [a] */
.indicator__date-code {
    margin-right: .25rem;
}

/* Indicator links */
a.indicator:hover,
.indicator a:hover {
    border-radius: 1px;
    background-color: var(--iq-color-grey-30);
    outline: 4px solid var(--iq-color-grey-30);
    color: var(--iq-text-color);
}

a.indicator__swatch:hover {
    border-radius: 4px;
}

/* Indicator buttons - override button styles */
.button.indicator,
.indicator > .button:not(.indicator__swatch) {
    height: auto;
    width: auto;
    padding: var(--iq-space-0);
    font-weight: var(--iq-font-weight-regular);
    text-transform: none;
    line-height: unset;
}

.button.indicator:hover,
.indicator > .button:hover {
    border-radius: 1px;
    background-color: var(--iq-color-grey-30);
    outline: 4px solid var(--iq-color-grey-30);
    color: var(--iq-text-color);
}

.button > .indicator__icon .iq-icon,
.button.indicator__icon .iq-icon {
    width: var(--iq-indicator-lg);
    height: var(--iq-indicator-lg);
    stroke-width: 2;
}

.button > .indicator__swatch,
.button.indicator__swatch {
    width: var(--iq-indicator-sm);
    height: var(--iq-indicator-sm);
}

.button.indicator__swatch:hover {
    border-radius: 4px;
}

/* MODIFIER: Indicator Orientation  - Change orientation to vertically stacked */
.indicator--vstack {
    display: inline-flex;
    flex-direction: column;
    /*align-items: center;*/
}

/* Spacing between vertically stacked indicator child elements (excluding last child) -
   @todo change flex gap property on .indicator--vstack class when supported in print templates
*/
.indicator--vstack > :not(:last-child) {
    margin-right: 0;
    margin-bottom: .5rem;
}

.indicator--vstack .indicator__label {
    text-align: center;
}

/* MODIFIER: Indicator Size - small */
.indicator--sm {
    font-size: .75rem;
}

.indicator--sm.indicator--vstack > :not(:last-child) {
    margin-bottom: .125rem;
}

.indicator--sm .indicator__swatch {
    width: .75rem;
    height: .75rem;
}

.indicator--sm .iq-icon{
    width: 1rem;
    height: 1rem;
}

.button.indicator--sm .iq-icon,
.indicator--sm > .button.indicator--icon .iq-icon {
    width: 1rem;
    height: 1rem;
}

/* MODIFIER: Indicator Size - medium (default) */
.indicator--md {
}

.indicator--md.indicator--vstack > :not(:last-child) {
    margin-bottom: .25rem;
}

.indicator--md .indicator__swatch {
    width: 1rem;
    height: 1rem;
}

.indicator--md .iq-icon {
    width: 1.5rem;
    height: 1.5rem;
}

.button.indicator--md .iq-icon,
.indicator--md > .button.indicator--icon .iq-icon {
    width: 1.5rem;
    height: 1.5rem;
}

/* MODIFIER: Indicator Size - large */
.indicator--lg  {
    font-size: 1rem;
}

.indicator--lg.indicator--vstack > :not(:last-child) {
    margin-bottom: .25rem;
}

.indicator--lg .indicator__swatch {
    width: 1.5rem;
    height: 1.5rem;
}

.indicator--lg .iq-icon {
    width: 2rem;
    height: 2rem;
}

.button.indicator--lg .iq-icon,
.indicator--lg > .button.indicator--icon .iq-icon {
    width: 2rem;
    height: 2rem;
}

/* Unique Indicator Instances - modifier classes (.indicator--modifier-name {}) @TODO - create modifiers as needed *!*/

/* Indicator : Temp Repair */
.indicator--temp-repair > .indicator__icon {
    margin-right: 0; /* override default */
}

.indicator--temp-repair > .indicator__label {
    position: absolute;
    right: .125rem;
    bottom: -0.375rem;
    color: var(--iq-text-color-light);
    font-size: .75em;
    font-weight: 600;
    line-height: 1;
}

/* Indicator : Consult Group */
/*.indicator--consult-group {*/
/*    align-items: stretch;*/
/*    height: 100%;*/
/*}*/

.indicator--consult-group > .indicator__swatch {
    width: 0.25rem;
    height: 2rem;
}

/* Indicator : Trend (Icon only) */
.indicator--trend {
    vertical-align: middle; /* align middle when in .editForm list */
}

/* Indicator : Tolerance (Icon only) */
.indicator--tolerance {
    color: var(--iq-color-grey-50);
}

.indicator--tolerance.disabled .iq-icon-status-tolerance .svg-tolerance-dial {
    fill:  var(--iq-color-grey-50); /* Override the inline svg fill value */
}

/* Indicator : Defect Details (Icon only) */
.indicator--info .iq-icon {
    color: var(--iq-link-color);
}

/* Indicator : Workpack (Icon only) */
.indicator--workpack .iq-icon {
    color: var(--iq-text-color-med);
}

/* END - Indicators */

/* V6 SWATCHES & INDICATORS
   ========================================================================== */
/* wraps swatch elements when supporting text is needed  */
.swatch_wrapper { /* V666 - testing */
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 32px;
}

/*.anom_swatch,					 anomaly colour swatch */
.swatch_wrapper .status_swatch, /* component table/header swatch & data */
    /* component table swatch */
li .status_swatch {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-top: 5px;
    background-color: #ececec;
}

td .status_swatch,
.componentHeader .status_swatch /* component header swatch */
{
    flex: 0 0 auto;
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background-color: #ececec;
}

/* component header swatch */
.componentHeader .status_swatch {
    width: 1rem;
    height: 1rem;
    margin-top: 0; /* TESTING - override styles */
    background-color: #ececec;
}

/* component table/header swatch & data */
.swatch_wrapper .status_name,
.swatch_wrapper .status_swatch,
td .swatch_wrapper .status_swatch {
    /*display: table-cell;*/
    /*vertical-align: middle;*/
}

/* component table/header swatch & data */
.swatch_wrapper .status_name {
    flex-grow: 1;
    min-width: 50px;
    padding: 0 0.5rem;
    /*border: 1px solid #ccc;*/
    text-align: left;
}

/* standalone swatch in a table */
td > .status_swatch {
    /*display: inline-block;*/
    width: 1rem;
    height: 1rem;
    padding: 0;
    border-radius: 3px;
}

/* --- INDICATORS --- */
.table th.col_indicator,
.table td.col_indicator {
    padding: 0;
    width: 5px;
}

/* right-arrow */
td.col_indicator .right-triangle {
    position: relative;
    left: 5px;
    width: 0;
    height: 0;
    border-left: 5px solid #DEDEDE;
    border-top: 5px solid rgba(0, 0, 0, 0);
    border-bottom: 5px solid rgba(0, 0, 0, 0);
}

.table td.col_indicator.default {
    background-color: #DEDEDE !important;
}

/* right-arrow */
td.col_indicator.default .right-triangle {
    border-left: 5px solid #DEDEDE !important;
}

/* due state */
.table td.col_indicator.due, .status_swatch.due {
    background-color: #ff6600 !important;
}

/*  due state - right triangle  */
td.col_indicator.due .right-triangle {
    border-left-color: #ff6600 !important;
}

/* overdue state */
.table td.col_indicator.overdue, .status_swatch.overdue {
    background-color: #cc0000 !important;
}

/*  active state - right triangle  */
td.col_indicator.overdue .right-triangle {
    border-left-color: #cc0000 !important;
}

/* completed state */
.table td.col_indicator.completed, .status_swatch.completed {
    background-color: #339966 !important;
}

/*  completed state - right triangle  */
td.col_indicator.completed .right-triangle {
    border-left-color: #339966 !important;
}

/*  component operating status - swatch  */
.componentOperatingStatus .status_swatch {
    /*width: 1.25rem;
    height: 1.25rem;*/
    width: 1.5rem; /* testing only */
    height: 1.5rem; /* testing only */
}

/*  component operating status - name  */
.componentOperatingStatus .status_name {
    font-size: 1rem !important; /* testing only */
    font-weight: 600; /* testng */
}

/* Component operating status displayed on Task Summary screen */
div.labelCol {
    padding-right: 0.5rem;
}

.opStatusIcon .swatch_wrapper .status_swatch {
    margin: 0;
}

/* Operating Status display on Task summary - Component Summary Accordion */
#taskSubjectAccordion .opStatusIcon {
    display: flex;
    justify-content: end;
    margin-bottom: 0.5rem; /* Test - Gloriya */
}

#taskSubjectAccordion .opStatusIcon .col-md-6.labelCol {
    min-width: 8rem;
}

.opStatusIcon .componentOperatingStatus {
    border-bottom: none;
    border: 1px solid var(--iq-color-grey-40);
    padding: 0.5rem;
    border-radius: var(--iq-border-radius-md);
}

.opStatusIcon .componentOperatingStatus .col-md-6 {
    margin-right: 0.5rem;
    padding-right: 0;
}

/* END - Swatches & Indicators */

/* FORM ELEMENTS
   ========================================================================== */
label, input, select, textarea {
    /*font-size: 12px;
    font-weight: normal;
    line-height: 20px;*/
    margin: 5px;
}

/* Style placeholder Text for relevant form field  */
*::placeholder {
    color: var(--iq-color-grey-100);
}

input,
select,
textarea,
.editable,
.uneditable-input {
    display: inline-block;
    height: 2rem;
    margin-left: 0; /* testing */
    padding: 0 .5rem; /* testing - kali, TODO: need to see effect on set CSS width input styles */
    outline: 2px solid rgba(7, 100, 186, 0);
    outline-offset: -2px;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-20);
    vertical-align: middle;
    transition: outline var(--iq-duration-100) var(--iq-ease-out);
}

/* file input field */
input[type="file"] {
    display: inline-block;
    width: auto;
    border-color: #cccccc;
    /*height: 40px;*/
}

/* radio & checkbox fields */
input[type="radio"],
input[type="checkbox"] {
    accent-color:var(--iq-color-blue-800);
    height: 14px;
    width: 14px;
    transition: none; /* opt out of the input outline fade — it flashes on hover-out/blur */
}

#searchForm input[type="radio"],
#searchForm input[type="checkbox"]{
    height: 2rem;
    width: auto;
    margin: 5px 0; /*position using same padding as labels & input boxes */
    padding: 0;
    border: none;
    border-radius: 0;
    vertical-align: middle;
}

th input[type="checkbox"].checkall {
    /*position: absolute;*/
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
}

/* ------ PILLBOX - custom styled checkbox & radio lists ------ */
#searchForm li.pillbox,
#searchForm .fieldgroup li.pillbox,
.pillbox {
    display: inline-flex;
    flex-wrap: wrap;
}

.pillbox input[type="radio"] + label,
.pillbox input[type="checkbox"] + label,
label.pillbox {
    display: inline-flex;
    align-items: center;
    /*width: auto !important;*/
    margin: 0 4px 6px 0;
    padding: 8px .75rem !important;
    max-width: none;
    font-weight: normal;
    position: relative;
    border: 1px solid var(--iq-color-grey-50);
    border-radius: var(--iq-border-radius-pill);
    line-height: 1 !important;
    white-space: nowrap;
    cursor: pointer;

    /* prevent selection of the inner text */
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Edge */
    user-select: none;
}

.pillbox input[type="radio"] + label:hover,
.pillbox input[type="checkbox"] + label:hover,
label.pillbox:hover {
    outline: 2px solid var(--iq-color-blue-primary-light);
    outline-offset: -2px;
}

.pillbox input[type="radio"],
.pillbox input[type="checkbox"] {
    display: none;
}

.pillbox input[type="radio"]:checked + label,
.pillbox input[type="checkbox"]:checked + label,
input[type="radio"]:checked + label.pillbox,
input[type="checkbox"]:checked + label.pillbox {
    border: 1px solid var(--iq-color-grey-40);
    background: var(--iq-color-grey-40);
}

.pillbox input[type="radio"]:disabled + label,
.pillbox input[type="checkbox"]:disabled + label,
input[type="radio"]:disabled + label.pillbox,
input[type="checkbox"]:disabled + label.pillbox {
    border: 1px solid var(--iq-color-grey-40);
    background-color: var(--iq-color-white);
    color: var(--iq-color-grey-40);
    outline: none;
    cursor: default;
}

/* Andy 26/06/2023 v6 merge RBA-168  -(@todo TESTING NEEDED after v6 merge and converted to new breadcrumb html) */
li.pillbox #ACTselection {
    display: inline-block;
    width: 880px;
    vertical-align: top;
}

/* END : Pillbox radio / checkbox */

/*.radio input[type="radio"],
.checkbox input[type="checkbox"] {
    float: none;
    margin: 0;
    padding: 0;
    min-height: inherit;
}

.radio,
.checkbox {
    padding: 0;
    min-height: 0;
}*/
/* /////////////////////// */

/* hover - form fields */
input:hover,
select:hover,
textarea:hover,
.editable:hover {
    outline: 2px solid var(--iq-color-blue-primary-light);
}

/* focus - form fields */
input:focus,
input[readonly]:not(.calendarInputField):focus,
textarea[readonly]:focus,
select:focus,
textarea:focus,
.editable:focus {
    outline: 2px solid var(--iq-color-blue-primary);
    outline-color: var(--iq-color-blue-primary);
}

input[type="radio"]:hover,
input[type="radio"]:not(.k-radio):focus:not(:focus-visible),
input[type="checkbox"]:hover,
input[type="checkbox"]:not(.k-checkbox):focus:not(:focus-visible) {
    outline: none;
}

input[type="file"]:hover,
input[type="file"]:focus {
    outline: none;
}

/* Select boxes - add a full border around select boxes */
select {
    border: 1px solid var(--iq-color-grey-40);
    padding-top: 5px; /* position text in Moz */
    padding-bottom: 5px; /* position text in IE */
}

option {
    background-color: #fff;
}

/* Filters inputs - annotations filters within modal */
#filterTabStrip .panel select {
    padding-top: 0;
    padding-bottom: 0;
}

/* testing widths */
input {
    width: 150px;
    /*width: 208px; !* testing ONLY - Kali form fields v666 *!*/
}

/* textarea sizes */
textarea {
    min-height: 100px;
    width: 250px;
    max-width: 100%;
    padding: .25rem .5rem;
}

/* textarea heights */
textarea.medtall {
    height: 200px;
}

textarea.tall {
    height: 300px;
}

textarea.xtall {
    height: 500px;
}

textarea.short {
    min-height: 50px;
    height: 50px !important;
}

/* xsmall widths */
input.xsmall,
textarea.xsmall,
select.xsmall {
    width: 40px !important;
    min-width: 0 !important;
}

/* number inputs have increment/decrement controls */
input[type=number].xsmall {
    width: 48px !important;
}

/* med-small widths */
input.med-small,
textarea.med-small,
select.med-small {
    width: 60px !important;
    min-width: 0 !important;
}

/* small widths */
input[type="text"].smaller,
textarea.smaller,
select.smaller {
    font-size: 1em !important;
    width: 100px !important;
    min-width: 0 !important;
}

/* small widths */
input[type="text"].small,
textarea.small,
select.small {
    font-size: 1em !important;
    width: 150px !important;
    min-width: 0 !important;
}

/* med widths */
input[type="text"].med,
textarea.med,
select.med {
    width: 200px !important;
    min-width: 0 !important;
}

/* med widths */
input[type="text"].medlong,
textarea.medlong,
select.medlong {
    width: 275px !important;
    min-width: 0 !important;
}

.chosen-container .chosen-drop {
    position: fixed;
    max-width: 300px;
}

.chosen-container {
    min-width: 275px !important;
}

li.search-choice {
    padding-right: 20px !important;
}

/* large widths */
input[type="text"].long,
textarea.long,
select.long {
    width: 300px !important;
    min-width: 0 !important;
}

/* larger widths */
input[type="text"].longer,
textarea.longer,
select.longer {
    width: 500px !important;
    min-width: 0 !important;
}

/* xlarge widths */
input[type="text"].xlong,
textarea.xlong,
select.xlong {
    width: 800px !important;
    min-width: 0 !important;
}

textarea.mediumLong {
    width: 765px !important;
    min-width: 0 !important;
}

.modal input[type="text"].xlong,
.modal textarea.xlong,
.modal select.xlong {
    width: 480px !important;
}

/* full width */
input[type="text"].full,
textarea.full,
select.full {
    width: 100% !important;
    min-width: 0 !important;
}

/* fill remaining space */
.extendInputToTheEnd {
    display: flex;
    justify-content: center;
    align-items: center;
}

.extendInputToTheEnd input[type="text"] {
    flex: 1; /*take all the available space*/
}

.extendInputToTheEnd label {
    margin: 5px;
    border-left: 15px dashed white;
}

/* contenteditable fields */
.editable {
    outline: none;
    white-space: pre-wrap;
    word-wrap: break-word;
    display: inline-block;
    height: auto; /* v6 Merge - #14586 Cam */
    min-height: 30px;
    min-width: 250px;
    max-width: 700px;
    padding-top: 5px; /* position text in Moz */
    padding-bottom: 5px; /* position text in IE */
    padding-right: 10px; /* position text in IE */
    margin: 5px 5px 5px 0;
}

/* used by formula / lookup attribute input */
.editable.long {
    min-width: 500px;
}

.editable.high {
    min-height: 72px;
}

/* DISABLED */
input:disabled,
select:disabled,
textarea:disabled {
    outline: none;
    opacity: 0.5;
}

/* DISABLED HOVER */
input:disabled:hover,
select:disabled:hover,
textarea:disabled:hover {
    outline: none;
}

/* DISABLED form elements */
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input[type="file"]:disabled::-webkit-file-upload-button,
button:disabled,
select:disabled,
keygen:disabled,
optgroup:disabled,
option:disabled,
select[disabled] > option {
    /*border-color: red;*/
}

option:disabled.disabled {
    color: #CCCCCC;
}

/* READONLY fields */
select.readonly,
input[readonly]:not(.calendarInputField),
input[readonly]:not(.calendarInputField):hover,
    /*input[readonly]:not(.calendarInputField):focus,*/
textarea[readonly],
textarea[readonly]:hover,
textarea[readonly]:focus {
    border: 1px solid #dedede;
    background-color: #fff;
    -webkit-transition: none;
    transition: none;
}

/* date picker input */
.calendarInputField {
    width: 100px !important;
    text-align: center;
}

/* v6 Merge - #13137 Andy */
.timeInputField {
    min-width: 140px !important;
    text-align: center;
}

input[type="text"].full.calendarInputField.hasDatepicker {
    width: 90% !important;
    min-width: 0 !important;
}

/* || Global label style */
label {
    color: var(--iq-color-grey-500);
    font-size: var(--iq-base-font-size);
    font-weight: normal;
    margin-left: 0;
    margin-right: 0;
}

/* Sublabel displays*/
.sub-label {
    display: block;
    /*margin-top: var(--iq-space-025);*/
    color: var(--iq-text-color-med);
    font-size: .75rem;
    font-weight: var(--iq-font-weight-regular);
}

.fieldInputContainer > label,
label.small, /* small labels */
.autoWidth /* auto width a field/label/etc... */
{
    width: auto !important;
    max-width: none !important;
}

label.medium {
    width: 100px !important;
}

label.full {
    width: 100% !important;
    display: block !important;
}

.fieldInputContainer > label {
    margin-left: 0 !important;
}

.exportFieldLabel {
    width: 220px !important;
}

.dateMarginSpace {

    margin-right: 2px;
}

/* form key */
.formkey {
    font-style: italic;
    opacity: 0.75;
    filter: alpha(opacity=75); /* For IE8 and earlier */
}

/* REQUIRED / MANDATORY Fields - Used in Attributes Module within form labels (NOTE: using CSS combinator will change once new label structure application wide)  */
label > .required,
label > .mandatory {
    color: red;
    font-weight: bold;
}

label.required:after,
.key.required:after {
    content: "*";
    color: red;
    font-weight: bold;
}

.key-required {
    color: red;
    font-weight: bold;
}

/* v6 Merge - #13137 Andy */
.warning-indicator,
.not-active {
    color: red;
    font-weight: bold;
}

/* error style */
.error {
    border: 1px solid red !important;
    background-color: #ffe8e8 !important;
}

.login-form .login-form-email .inputbox.error,
.login-form .login-form-email .emailForgotPassword.error,
.login-form .login-form-passw .inputbox.error,
.login-form .login-form-passw .userPassword.error {
    background-color: var(--iq-color-grey-20) !important;
    outline: 2px solid red;
    outline-color: red;
}

.saverequired {
    border: 1px solid #ffbe08 !important;
    background-color: #ffecdb !important;
}

.successfulsave {
    border: 1px solid #00e250 !important;
    background-color: #dbf2e3 !important;
}

.savefailed {
    border: 1px solid red !important;
    background-color: lightcoral !important;
}

.padded {
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.errormsg {
    font-size: 0.9em;
    color: red;
}

/* Persistent failure-row highlight (e.g. slow profile entries) - the .error fill without the
   border. !important so the colour overrides table striping and the hover state and stays put. */
tr.errorRow > td,
tr.errorRow > th {
    background-color: #ffe8e8 !important;
}

.suggested {
    background-color: #ffecdb !important;
}

/* align the label to the top - text areas */
#searchForm label.align-top,
.viewForm label.align-top,
.editForm label.align-top,
.editForm label.attrmatrix {
    vertical-align: top;
    margin-top: 8px;
    line-height: 1.6;
}

.bulkPrintTemplateSelectors {
    margin-bottom: 2em;
}

.bulkPrintTemplateSelectors label {
    font-weight: bold;
    margin-right: 1em;
}

/* QUICKSEARCH - Custom UI Component base styles
   ========================================================================== */
/* Quicksearch Input Wrapper - dynamically added around Quicksearch input fields via JS */
.quicksearch-input-wrapper {
    position: relative;
    display: inline-flex;
}

/* Quicksearch input field */
.quicksearch-input {
    text-overflow: ellipsis;
}

.quicksearch-input:not(.multiselect) {
    padding-right: var(--iq-space-300);
}

/* Keep input hover style active when hovering over overlapping close button */
.quicksearch-input-wrapper:hover .quicksearch-input {
    outline: 2px solid var(--iq-color-blue-primary-light);
}

/* Quicksearch clear input button */
.quicksearch-input-wrapper > .button-clear {
    position: absolute;
    top: 50%;
    right: var(--iq-space-100);
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
}

.quicksearch-input-wrapper > .button-clear:hover {
    background-color: var(--iq-color-grey-40);
}

/* Quicksearch loader spinner */
#searchForm .quicksearch-input-wrapper > .iq-input-loader, /* specificity override */
.quicksearch-input-wrapper > .iq-input-loader {
    position: absolute;
    top: 50%;
    right: var(--iq-space-100);
    transform: translateY(-50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    background-color: var(--iq-color-grey-20);
    z-index: 1;
}

.iq-input-loader > .iq-loader-spinner {
    width: 1.25rem;
    height: 1.25rem;
    border-width: var(--iq-border-width-300);
    background-color: var(--iq-color-grey-20);
}

/* Quicksearch selected options container @todo */
.quicksearch-selected-options {

}

/* Quicksearch dropdown : No results message   */
.quicksearch-message,
.quicksearch-message-content,
.quicksearch-no-results {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--iq-space-075);
    height: 2.5rem;
    color: var(--iq-text-color-light);
}

.quicksearch-message-content {
    padding: 0 var(--iq-space-150);
}

.quicksearch-message-content .icon-wrap {
    position: relative;
    top: -1px;
}

.quicksearch-message-content .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
    stroke-width: 2;
}

/* END : Quicksearch */

/* TOOLBAR styles - contains a group of form button controls
   ========================================================================== */
.toolbar,
.toolbar-left {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
}

.toolbar {
    float: right;
}

.toolbar-left {
    float: left;
}

.toolbar.forceright {
    position: absolute;
    right: 5px;
}

.toolbar-block {
    display: flex;
    justify-content: flex-end;
    float: none;
}

.toolbar.toolbar-block {
    margin-bottom: 1rem;
}

/* TOOLBAR BUTTONS */
/* exclude first element - this my need revision as toolbars are now containing elements other than buttons, links */
.toolbar > :not(:first-child) {
    margin-left: .5rem;
}

/* toolbarFields - container for text content within toolbars - e.g. integrated tasks */
.toolbar .toolbarFields,
.toolbar .toolbarFields li {
    display: inline-flex;
    align-items: center;
    height: auto;
    padding: 0;
}

.toolbarFields label.autoWidth {
    padding-top: 0; /* override */
    margin-right: .25rem; /* override */
}

/* Toolbars in panel headings */
.panel .panel-heading .toolbar {
    margin-top: 0;
}

/* End - toolbar */

/* START - Toggle Switch */
.switch {
    position: relative;
    display: inline-block;
    width: auto;
    min-width: 44px;
    margin: 0 10px;
    height: 42px;
}

.switch-small {
    position: relative;
    display: inline-block;
    width: auto;
    min-width: 44px;
    margin: 0 10px;
    height: 28px;
}

.switch span {
    min-width: 44px;
    display: block;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.8em;
    font-weight: bold;
}

/* Hide default HTML checkbox */
.switch input {
    display: none;
}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    width: 44px;
    margin: 0 auto;
    top: 16px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider-small::before {
    position: absolute;
    content: "";
    height: 8px;
    width: 8px;
    left: 4px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;

}

input:checked + .slider {
    background-color: #2196F3;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(18px);
    -ms-transform: translateX(18px);
    transform: translateX(18px);
}

input:checked + .slider-small:before {
    -webkit-transform: translateX(28px);
    -ms-transform: translateX(28px);
    transform: translateX(28px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 24px;
}

.slider.round:before {
    border-radius: 50%;
}

/* END - Toggle Switch */

.slim-nav {
}

.slim-nav li {
    display: inline;
    margin: 0 10px;
}

/* END - Forms */

/* AJAX SEARCH RESULTS - QUICKSEARCH DROPDOWN OPTIONS LIST
   ========================================================================== */
ul.ajaxsearchresults {
    list-style: none;
    position: absolute;
    clear: none !important;
    margin: 0;
    border: none !important;
    /*border-top: 1px solid var(--iq-color-blue-primary) !important;*/
    -moz-box-shadow: 0 6px 1rem rgba(9, 30, 66, 0.25);
    -webkit-box-shadow: 0 6px 1rem rgba(9, 30, 66, 0.25);
    box-shadow: 0 6px 1rem rgba(9, 30, 66, 0.25);
    z-index: 1060; /* 1050 has the modal -- need to be above that to work in modals */
    border-radius: .25rem !important; /* testing only - Kali */
}

ul.ajaxsearchresults:empty {
    display: none;
}

ul.ajaxsearchresults li {
    padding: 0 !important; /* override specificity and conflicts */
    border: none;
    background: var(--iq-color-white);
}

ul.ajaxsearchresults li > a,
ul.ajaxsearchresults li > span {
    display: block !important;
    padding: var(--iq-space-100) var(--iq-space-150);
    /*padding: var(--iq-space-075) var(--iq-space-150);        !* testing only - Kali smaller height *!*/
    border-top: none;
    color: var(--iq-text-color);
    line-height: 1.2; /* testing only - Kali */
    font-weight: var(--iq-font-weight-regular);
    text-decoration: none;
}

ul.ajaxsearchresults li.notselectable {
    color: #FFFFFF !important;
    background-color: #C3BFBD !important;
    cursor: not-allowed;
}

ul.ajaxsearchresults li.active > a,
ul.ajaxsearchresults li.active > span {
    background: var(--iq-color-blue-primary) !important;
    color: #fff !important;
}

/* quicksearch freetext - message */
ul.ajaxsearchresults #freetextListOption a {
    color: #339966 !important;
    border-color: #339966 !important;
}

ul.ajaxsearchresults #freetextListOption.active a {
    background: #339966 !important;
    color: #fff !important;
}

/* quicksearch error - message */
ul.ajaxsearchresults li.error {
    padding: .5rem .75rem !important;
    border: none !important;
    background-color: var(--iq-color-red-500) !important;
    color: var(--iq-text-color-inverted) !important;
}

/* moved inline styles from ajax quicksearch */
ul.ajaxsearchresults li.error.small {
    line-height: 1.25em;
}

/* --- POP-UP SELECT BOXES - custom ajax OLD CSS FOR ALAN - TESTING ONLY (delete when above styles complete)  --- */
.box {
    width: 230px;
    height: auto;
    overflow: auto;
    position: absolute;
    border-top: none;
    color: white;
    text-align: left;
    margin-top: -12px;
    z-index: 10000 !important;
}

.boxtr {
    padding: 3px;
}

.boxtd {
    cursor: pointer;
    margin: 3px;
    padding: 3px;
    background-color: #000000;
}

/* END - Forms */

/* v6 Merge - #13164 Kali */
/* TIME PICKER (CLOCK ICON)
   ========================================================================== */
/* Clock icon */
.iconClock {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-top: 4px; /* keep same margin as input fields */
    background: url(/images/v5/buttons/sprite_icons.png) no-repeat -120px -60px;
    vertical-align: middle;
}

/* Clock icon - hover state */
.iconClock:hover {
    background-position: -120px -80px;
    cursor: pointer;
}

/* END - Time Picker */

/* CALENDAR
   ========================================================================== */
/* calendar icon */
.iconCalendar {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(/images/icons/calendar-days-bg.svg) no-repeat;
    vertical-align: middle;
}

/* calendar icon - hover state */
.iconCalendar:hover {
    background: url(/images/icons/calendar-days-bg-hover.svg) no-repeat;
    cursor: pointer;
}

.calendar table {
    border-collapse: separate;
}

/* END - Calendar */

/* DATE PICKER - [3rd party] jquery-ui date picker widget overrides
   ========================================================================== */
/* || IMPORTANT - due to CSS file loading order in <head>, stronger specificity has been added until it is resolved - Kali 5/10/22 [jira v7-204] , if CSS loading order changed remove .ui-widget from chained classes only */
.ui-widget,
.ui-widget button {
    font-family: var(--iq-font-stack) !important;
}

/* date picker container*/
.ui-widget.ui-datepicker {
    width: 18rem;
    padding: 1rem;
    box-shadow: 0 6px 1rem rgba(9, 30, 66, 0.25);
}

.ui-widget.ui-datepicker.ui-widget-content {
    background: var(--iq-color-white);
    color: var(--iq-text-color);
}

/* date picker - header */
.ui-widget.ui-datepicker .ui-datepicker-header {
    border: none;
    border-radius: 0;
    background: none;
}

/* TODO: style month/date select fields */
.ui-widget.ui-datepicker .ui-datepicker-header {
    color: var(--iq-text-color);
    font: var(--iq-font-stack);
    font-weight: 600;
}

/* date picker - select month */
.ui-widget.ui-datepicker select.ui-datepicker-month {
    margin-right: .5rem; /* space select fields */
}

/* date picker - next & prev links */
.ui-widget.ui-datepicker .ui-datepicker-prev,
.ui-widget.ui-datepicker .ui-datepicker-next {
    top: 50%; /* vert center links */
    transform: translateY(-50%); /* vert center links */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    /*border: 1px solid red; !* testing only - kali *!*/
}

/* date picker - prev link position */
.ui-widget.ui-datepicker .ui-datepicker-prev {
    left: 0.125rem;
}

/* date picker - next link position */
.ui-widget.ui-datepicker .ui-datepicker-next {
    right: 0.125rem;
}

/* date picker - next & prev link:hover*/
.ui-widget.ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover,
.ui-widget.ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover {
    border: none;
    background-color: var(--iq-color-grey-20);
}

/*!* date picker - next/prev arrow icons *!*/
.ui-widget.ui-datepicker .ui-datepicker-prev span,
.ui-widget.ui-datepicker .ui-datepicker-next span {
    position: static; /* reset position */
    margin: 0; /* override */
}

/* date picker - prev arrow icons */
.ui-datepicker-prev .ui-icon.ui-icon-circle-triangle-w {
    background: url("/images/icons/chevron-left.svg") no-repeat -2px -2px;
}

/* date picker - next arrow icons */
.ui-datepicker-next .ui-icon.ui-icon-circle-triangle-e {
    background: url("/images/icons/chevron-right.svg") no-repeat -2px -2px;
}

.ui-widget.ui-datepicker table {
    margin-top: 1rem;
    border-top: 1px solid var(--iq-color-grey-30);
    font-size: 1em; /* override */
}

/* date picker - days of the week */
.ui-widget.ui-datepicker th {
    padding: 1rem 0.3em .25rem; /* override */
    font-weight: normal; /* override */
    letter-spacing: 1px;
    color: var(--iq-text-color-light);
    cursor: default;
}

.ui-widget.ui-datepicker td {
    text-align: center;
}

/**/
.ui-widget.ui-datepicker td span,
.ui-widget.ui-datepicker td a {
    position: relative; /* needed to position pseudo elements */
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0; /* override */
    border: none; /* override */
    border-radius: var(--iq-border-radius-circle);
    /*text-align: center; !* override *!*/
}

/* date picker - date default state */
.ui-widget.ui-datepicker .ui-state-default {
    background: var(--iq-color-white);
    color: var(--iq-text-color);
    transition: background var(--iq-duration-100) var(--iq-ease-out);
}

/* date picker - date default:hover state (except on active highlighted date) */
.ui-widget.ui-datepicker .ui-state-default:not(.ui-state-active):hover {
    background: var(--iq-color-grey-30);
}

/* date picker - user selected date state */
.ui-widget.ui-datepicker .ui-state-active {
    border: 0; /* override */
    background: var(--iq-color-blue-primary);
    color: var(--iq-text-color-inverted);
}

/* date picker - today's date highlight state */
.ui-widget.ui-datepicker .ui-state-highlight {
    border: none;
    background: var(--iq-color-white);
    font-weight: 600;
    color: var(--iq-link-color);
}

/* date picker - today's date dot */
.ui-widget.ui-datepicker .ui-state-highlight::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0.25rem;
    display: block;
    height: 0.25rem;
    width: 0.25rem;
    border-radius: var(--iq-border-radius-circle);
    background-color: currentColor;
    transform: translateX(-50%);
}

/* date picker - a new state for when today's date is also the selected date */
.ui-widget.ui-datepicker .ui-state-highlight.ui-state-active {
    background-color: var(--iq-color-blue-primary);
    color: var(--iq-text-color-inverted);
}

/* date picker - today's date dot  */
.ui-widget.ui-datepicker .ui-state-highlight.ui-state-active::after {
    color: var(--iq-text-color-inverted);
}

/* button pane */
.ui-widget.ui-datepicker .ui-datepicker-buttonpane {
    border: none;
}

/* date picker buttons */
.ui-widget.ui-datepicker .ui-datepicker-buttonpane button {
    margin: 0 0.25rem;
    padding: 0.2em 0.6em 0.3em 0.6em;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    font-weight: 600;
}

/* current date button */
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    border: none;
    opacity: 1;
}

/* END - jquery date picker overrides */

/* #DIVINFO - PAGE TITLES
   ========================================================================== */
#divInfo {
}

#divInfo .toolbar {
    float: none; /* override .toolbar float */
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* END - #divInfo */

/* CONTENT HEADER - Container for the dynamic page tile, back & page action buttons
   ========================================================================== */
/* Content Header */
.content-header {
    margin-bottom: 1rem;
}

/* Page Title */
.content-header__title {
    display: flex;
    align-items: flex-start;
    margin-top: .75rem;
    font-weight: 600;
}

/* Content header - Icon Wrapper */
.content-header__icon {
    margin-top: 0.125rem;
    margin-right: 0.5rem;
}

/* Content header - Icon SVG */
.content-header__icon .iq-icon {
    width: 1.5rem;
    height: 1.5rem;
    stroke-width: 2px;
}

/* Content header - Text */
.content-header__title-text {

}

/* Content header - Action Button Container */
.content-header__actions {
    display: flex;
    justify-content: flex-end;
}

/* Content header -  Back Button */
.content-header__actions .button--back {
    margin-right: auto;
    margin-left: -0.25rem;
    padding-right: .25rem;
    padding-left: 0;
}

.content-header__actions .button--back:hover,
.content-header__actions .button--back:focus {
    background-color: inherit;
    color: var(--iq-link-hover-color);
}

/* Content header - toolbar */
.content-header__actions .toolbar {
}

/* Content header - dynamic buttons, hide if empty */
/*#dynamicPageSpecificButtons:empty {*/
/*    display:none;*/
/*}*/

/* Content header - help icon link */
.content-header__actions .help {
    display: flex;
}

/* END - content header styles */

/* PAGINATION BAR
   ========================================================================== */
.paginationBar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem;
    background: none; /* remove default panel background style */
}

.paginationBarContent {
    text-align: center;
}

.paginationBarResults {
    display: flex;
    align-items: center;
    margin-left: 0.5rem;
}

.paginationBarTotalValue {
    font-weight: 600;
}

.paginationBarSelectAllResults {
    margin-right: 0.5rem;
}

/* Pagination Results */
.paginationBarTotalLabel {
    margin-right: .25rem;
}

/* Pagination Bar Content */
.paginationBarPageLinks {
    display: flex;
    align-items: center;
}

/* Pagination Page-Links */
.paginationBarPageLinks a,
.paginationActivePage {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 2rem;
    height: 2rem;
    margin-right: .5rem;
    border-radius: var(--iq-border-radius-sm);
    text-align: center;
    color: var(--iq-text-color-light);
    outline: none;
    white-space: nowrap;
}

/* Pagination link hover states*/
.paginationBarPageLinks a:hover {
    background-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);
}

/* All numbered page links - excluding icon links */
.paginationBarPageLinks div a,
.paginationActivePage {
    padding: 0 .5rem;
}

/* Active Pagination Page */
.paginationActivePage {
    background-color: var(--iq-color-blue-primary);
    color: var(--iq-color-white);
    cursor: default;
}

/* Next & Previous Links */
.paginationPreviousPage,
.paginationPreviousTenPages,
.paginationNextPage,
.paginationNextTenPages {
    width: 20px;
    height: 20px;
}

/* pagination spacers - stop mouse change over these elements */
.paginationFirstBlockSpacer,
.paginationNextPageSpacer,
.paginationNextBlockSpacer {
    cursor: default;
}

/* Pagination Bars in Accordions and Modals */
/*.panel-collapse .paginationBar.panel {*/
/*    padding: 0.5rem;*/
/*}*/

/* END - Pagination */

/* PAGE NAV - on page buttons
   ========================================================================== */
.pageNav {
    margin-bottom: 1rem;
    /*padding-bottom: 8px;
    border: 1px solid #DEDEDE;
    background: #eaeaea url(/images/v5/menu/page_nav_bg.png) repeat-x;
    background-color: #ECECEC;*/
    padding: 0.5rem 6% 0.5rem 6%; /* Adjusted padding from 7% to 6% to stop wrapping of nav buttons on smaller resolution. Due a rebuild - Post-EO-Sep */
    position: relative;
    background-color: var(--iq-color-white);
    border-radius: var(--iq-border-radius-md);
    -webkit-border-radius: var(--iq-border-radius-md);
}

.pageNavRibbon {
    min-height: 56px;
}

/* pagenav buttons */
.pageNav button {
    /*-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;*/
    background-color: var(--iq-color-grey-30);
    /*font-size: 0.875rem;*/
    /*line-height: 16;*/
    /*text-transform: capitalize;*/
    /*color: var(--iq-color-grey-1000);*/
    /*height: 2rem;*/
    /*border-radius: var(--iq-border-radius-sm);*/
    /*-webkit-border-radius: var(--iq-border-radius-sm);*/
    /*margin: 8px 5px 0;
    min-width: 200px;*/
    margin: 0.25rem 0.5rem 0.25rem 0.5rem;
    padding: 0 0.125rem;
    min-width: 12.5rem;
}

.pageNav button:hover {
    background-color: var(--iq-color-grey-40);
}

.pageNav button:active {
    background-color: var(--iq-color-grey-50);
}

.pageNav button:focus {
    background-color: #CCD2DB;
}

.modal-content .pageNav button {
    min-width: 150px;
}

.footerNav.pageNavRibbon {
    min-height: 55px;
}

.pageNav.footerNav button {
    min-width: auto;
    margin: 12px 8px 0 0;
}

/* pagenav list of buttons */
.pageNav .list-inline > li {
    padding: 0;
}

/* next/prev ribbon buttons */
.ribbon_btn {
    display: inline-block;
    height: 40px;
    line-height: 36px;
    font-size: 12px;
    font-weight: bold;
    padding: 0 10px 0 10px;
    margin-right: 5px;
    color: var(--iq-color-grey-1000);
    background-color: var(--iq-color-white);
    border: 1px solid var(--iq-color-grey-40);
    /*background: #00567A url(/images/v5/buttons/button_bg_blue.jpg) repeat-x left top;*/
    /*-webkit-box-shadow: 0 2px 3px #a7a5a6;
    -moz-box-shadow: 0 2px 3px #a7a5a6;
    box-shadow: 0 2px 3px #a7a5a6;*/
    cursor: pointer;
}

.ribbon_btn.edge_left,
.ribbon_btn.edge_right:after {
    /*-moz-border-radius: 0 5px 5px 0;
    -webkit-border-radius: 0 5px 5px 0;
    border-radius: 0 5px 5px 0;*/
    border-radius: var(--iq-border-radius-circle);
}

.ribbon_btn.edge_right,
.ribbon_btn.edge_left:before {
    /*-moz-border-radius: 5px 0 0 5px;
    -webkit-border-radius: 5px 0 0 5px;
    border-radius: 5px 0 0 5px;*/
    border-radius: var(--iq-border-radius-circle);
}

/* Page nav - irrelevant CSS */
/*.ribbon_btn.edge_left:before,
.ribbon_btn.edge_right:after {
display: inline-block;
content: ".";
color: transparent;
background: #00567A url(/images/v5/buttons/button_bg_blue.jpg) repeat-x left top;
height: 42px;
    width: 4px;
}*/

/*.ribbon_btn.edge_left:before { */
/*margin-left: -12px; !* ribbon L-padding + edge-W */
/*margin-right: 4px; !* push content right */
/*}*/

/*.ribbon_btn.edge_right:after { */
/*margin-left: 8px;*/
/*margin-right: -12px; !* ribbon R-padding + edge-W */
/*}*/

/*.ribbon_btn:hover,
.ribbon_btn.edge_right:hover:after,
.ribbon_btn.edge_left:hover:before {
    background: #3EAAF3 url(/images/v5/buttons/button_bg_hover.jpg) repeat-x left top;
}*/

/* hover text colour */
.ribbon_btn:hover {
    color: var(--iq-color-grey-1000);
}

/* prev ribbon button */
.ribbon_btn.edge_left {
    /*float: left;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: -80px; !* must equal the pagenav margin */
    position: absolute;
    top: 50%;
    left: -1.1rem;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* next ribbon button */
.ribbon_btn.edge_right {
    /*float: right;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-right: -1px;*/
    position: absolute;
    top: 50%;
    right: -1.4rem;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.footerNav .ribbon_btn.edge_left,
.footerNav .ribbon_btn.edge_right {
    margin-top: 10px;
}

/* page nav button in results modal */
.results-modal-nav-buttons {
    position: relative;
}

/* reposition next / prev circle buttons in modal */
.results-modal-nav-buttons .edge_left {
    top: -1rem;
    left: -2.5rem;
    margin: 0;
}
.results-modal-nav-buttons .edge_right {
    top: -1rem;
    right: -2.5rem;
    margin: 0;
}

/* CSS not in use after the new HTML structure of icon used on the nav ribbon */
/*.ribbon_btn .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(/images/v5/buttons/sprite_icons.png) no-repeat 0 0;
    vertical-align: middle;
}*/

/*.ribbon_btn.edge_left .icon.prev {
    background-position: -297px -20px;
}

.ribbon_btn.edge_right .icon.next {
    background-position: 5px -20px;
}*/

/* END - Page Nav */


/*!* START - Side Nav *!*/

/*.side-nav-container {*/
/*    position: absolute;*/
/*    width: 0;*/
/*    height: 100%;*/
/*    overflow-x: hidden;*/
/*    background: #ff6600;*/
/*    z-index: 1;*/
/*}*/

/*.side-nav {*/
/*    width: 200px;*/
/*}*/

/*.nav-trigger {*/
/*    position: absolute;*/
/*    clip: rect(0, 0, 0, 0);*/
/*}*/

/*label[for="nav-trigger"] {*/
/*    position: absolute;*/
/*    z-index: 2;*/
/*    width: 30px;*/
/*    height: 30px;*/
/*    cursor: pointer;*/
/*    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' x='0px' y='0px' width='30px' height='30px' viewBox='0 0 30 30' enable-background='new 0 0 30 30' xml:space='preserve'><rect width='30' height='6'/><rect y='24' width='30' height='6'/><rect y='12' width='30' height='6'/></svg>");*/
/*    background-size: contain;*/
/*}*/

/*.nav-trigger:checked + label {*/
/*    margin-left: 215px;*/
/*}*/

/*.nav-trigger:checked ~ .side-nav-container {*/
/*    width: 200px;*/
/*    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.5);*/
/*}*/

/*.nav-trigger + label {*/
/*    transition: margin-left 0.2s;*/
/*}*/

/*.side-nav-container {*/
/*    transition: width 0.2s;*/
/*}*/

/*!* END - Page Nav *!*/

/* MODULE HEADERS - Anomaly, Components, Component Tasks etc...
   ========================================================================== */

#moduleHeader,
#moduleSubHeader {
    /*font-size: 1em;*/
    padding: 1.5rem;
    -webkit-border-radius: var(--iq-border-radius-md);
    border-radius: var(--iq-border-radius-md);
}

#moduleHeader h2 .icon-wrap,
#moduleSubHeader h2 .icon-wrap {
    align-items: start;
    padding-top: 0.08rem;
}

.summaryWrapper a {
    /*text-decoration: none;*/
    /*font-size: 0.875rem;*/
    text-transform: capitalize;
    font-weight: 500;
    /*color: var(--iq-link-color);*/
}

.summaryWrapper a:hover,
.summaryWrapper a:focus {
    color: var(--iq-link-hover-color);
}

/* Module Heading */
#moduleHeader h2,
#moduleSubHeader h2 {
    /*padding: 0 8px 0 20px;*/
    /*margin-top: -0.188rem;
    margin-left: -0.5rem;*/
    white-space: normal;
    color: var(--iq-color-grey-500);
    line-height: 1.2; /* To be confirm with Kali */
    font-weight: 600;
    font-size: 1.25rem; /* To be confirm with Kali */
    margin: 0 0 1rem 0;
}

#moduleSubHeader h2 {
    display: flex;
}

#moduleSubHeader h2 span.content-header__icon {
    margin: 0;
    height: 24px;
    width: 24px;
}

/* Module heading links */
#moduleHeader h2 a,
#moduleSubHeader h2 a {
    white-space: normal;
    line-height: 1.2; /* To be confirm with Kali */
    font-weight: 600;
    font-size: 1.25rem; /* To be confirm with Kali */
    margin: 0;
}

/* Module Subheader Panel - link displayed within details wrapper content */
#moduleSubHeader .detailsWrapper dd a {
    line-height: inherit;
    /*font-size: inherit;*/
    font-weight: 500;
    /*color: var(--iq-link-color);*/
    text-transform: capitalize;
}

#moduleSubHeader .detailsWrapper dd a:hover,
#moduleSubHeader .detailsWrapper dd a:focus {
    color: var(--iq-link-hover-color);
}

/* Component module heading */
#moduleHeader .infoRepairId .iq-icon {
    color: var(--iq-link-color);
    stroke-width: 2.5;
    margin-right: 0.25rem;
}

/* Anomaly module heading */
.anomalyHeader .infoRepairID .iq-icon {
    color: var(--iq-link-color);
    stroke-width: 2.5;
    margin-right: 0.25rem;
}

#moduleHeader h2 {
    display: flex;
}

/* Task module header | Results Module Header */
.taskHeader h2 .iq-icon-module-task,
.result-header h2 .iq-icon-module-task {
    color: var(--iq-link-color);
    stroke-width: 2.5;
    margin-right: 0.25rem;
}

/* Task subheader */
#moduleSubHeader .headerpath .iq-icon {
    color: var(--iq-link-color);
    stroke-width: 2.5;
}

#moduleSubHeader .headerpath .icon-wrap--module-task {
    margin-right: 0.25rem;
}

#moduleSubHeader h4 {
    margin-top: 0;
    margin-bottom: 0;
    display: inline-flex;
}

#moduleSubHeader h4 .headerpath {
    margin-top: 0.15rem;
}

/* Workpack module header */
#moduleHeader h2 .iq-icon-workpack {
    color: var(--iq-link-color);
    stroke-width: 2.5;
    margin-right: 0.25rem;
}

/* Module heading links */
/*#moduleSubHeader h4 a,*/
#moduleHeader h2 a:hover,
#moduleSubHeader h4 a:hover {
    color: var(--iq-link-hover-color);
}

/* Component module header - flex */
#moduleHeader {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto;
}

.summaryWrapper {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
    grid-gap: 0;
}

.summaryWrapper .detailsWrapper {
    border-right: 1px solid var(--iq-color-grey-40);
    grid-column: 1;
}

.summaryWrapper .imageWrapper {
    grid-column: 2;
    display: grid;
    align-items: center;
}

.thumbNailImage {
    width: 208px;
    height: 112px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

.noImage {
    border: 2px dotted var(--iq-color-grey-40);
    width: 208px;
    height: 112px;
}

.thumbNailImage a {
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
}

.thumbnailImage a img {
    object-fit: contain;
    width: 100%;
    height: auto;
}

.thumbNailImage .iq-icon {
    width: 32px;
    height: 32px;
    stroke: #d4d7de;
    stroke-width: 1;
}

.summaryWrapper .extraDetailsWrapper {
    grid-column: 4;
    margin-left: 1.875rem;
}

/*.summaryWrapper */
.extraDetailsWrapper .countAnomaly {
    width: 50%;
}

/* Defect Summary page - Component Details panel - Anomaly Count */
#anomalyComponentAccordionContent .countAnomaly {
    width: 48%;
}

.anomalyComponentDefectList {
    margin-top: 1rem;
    border-top: none;
    margin-left: 0.8rem;
}

.thumbNailWrapper a img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 10% -50% 0 0;
    transform: translate(-50%, -50%)
}

#resultPrefImg img {
    border: 1px dotted #bfbfbf;
    padding: 1px;
    margin: 5px 0;
}

.iconWrapper li {
    margin: 0.5rem;
    padding: 0;
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Icon Wrapper */
.summaryWrapper .iconWrapper {
    grid-column: 3;
    display: grid;
    align-items: center;
    border-right: 1px solid var(--iq-color-grey-40);
    border-left: 1px solid var(--iq-color-grey-40);
    text-align: center;
}

.iconWrapper .list-inline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 1rem;
}

/* Module Header - Status Indicator Swatches */
.iconWrapper .indicator--swatch.indicator--vstack {
    top: 0.5rem;        /* var(--iq-space-050); */
    width: 100%;
    font-size: 0.75rem; /* var(--iq-body-text-sm); */
}

.iconWrapper .indicator__swatch {
    width: 1.25rem;  /* var(--iq-indicator-md); */
    height: 1.25rem; /* var(--iq-indicator-md); */
    margin: 0;
}

.helpAnchor {
    height: 15px;
    width: 15px;
    vertical-align: middle;
    text-align: center;
    margin-bottom: 2px;
}

.helpAnchor .icon.help {
    margin: 0 0 0 0 !important;
}

#moduleHeader .awaitingSignoff,
#moduleSubHeader .awaitingSignoff {
    /* alert style box */
    padding: 5px;
    margin: 10px 50px 0;
    background-color: #ffff22; /*#f1bf26;*/
    border-color: #ffff22;
    font-weight: bold;
}

#moduleHeader .label,
#moduleSubHeader .label {
    /* bootstrap override .label */
    display: inline-block;
    width: 125px;
    color: #999;
    font-size: 0.833em;
    font-weight: normal;
    text-transform: uppercase;
    text-align: right;
}

.summaryWrapper dl {
    display: grid;
    grid-template-columns: 1.1fr 2fr;
    gap: 0.625rem;
    margin: 0;
}

.summaryWrapper dt {
    grid-column: 1;
    line-height: 1.3;
    width: 100%;
    color: var(--iq-color-grey-800);
    /*font-size: 0.875rem; !* Font size to be confirm with Kali *!*/
    font-weight: 600; /* Font weight to be confirm with Kali */
    text-transform: capitalize;
    text-align: left;
}

.summaryWrapper dd {
    grid-column: 2;
    line-height: 1.3;
    color: var(--iq-color-grey-500); /* Color to be confirm with Kali */
    white-space: initial;
}

/* Task Result - Module Header panel */
.result-header .summaryWrapper {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.5fr;
    grid-gap: 0;
}

.result-header .summaryWrapper .detailsWrapper {
    grid-column: 1;
    border-right: 1px solid var(--iq-color-grey-40);
    -webkit-border-right: 1px solid var(--iq-color-grey-40);
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
}

.result-header .summaryWrapper .imageWrapper {
    grid-column: 2;
    display: grid;
    align-items: center;
}

.result-header .summaryWrapper .extraDetailsWrapper {
    grid-column: 3;
    display: flex;
    flex-direction: column;
    align-items: start;
    padding-left: 2rem;
    border-left: 1px solid var(--iq-color-grey-40);
    margin: 0;
}

/* Summary of Location module module */
.imageWrapper .img-holder {
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
}

/* View Diagram - Module header */
.dsoDiagramHeader .summaryWrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 0;
}

/* Module Header - 2 columns */
.threatHeader .summaryWrapper,
.attributeHeader .summaryWrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 0;
}

.threatHeader .summaryWrapper .extraDetailsWrapper,
.attributeHeader .summaryWrapper .extraDetailsWrapper {
    grid-column: 2;
}

/* END - Module headers */

/* ICONS
   ========================================================================== */
/* Set default SVG Icon styles */
.iq-icon {
    /*width: var(--icon-sm);*/
    /*height: var(--icon-sm);*/
    width: 20px; /* @TODO - determine default icon size 20 vs 24 px */
    height: 20px; /* @TODO - set variables for icon sizes - xs, sm, md, lg, xl*/
    /*fill: none;*/
    /*stroke: currentColor;*/
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ICONS - svg icon wrapper */
.icon-wrap {
    display: inline-flex; /* Kali - to fix changed from flex to inline-flex to set default span display */
    justify-content: center;
    align-items: center;
}

/* Alert Icons */
.iq-icon-alert-success {
    stroke: #00b76b;
    fill: none;
}

.iq-icon-alert-success-filled {
    stroke: none;
    fill: #00b76b;
}

.iq-icon-alert-warning {
    stroke: #f6803a;
    fill: none;
}

.iq-icon-alert-warning-filled {
    stroke: none;
    fill: #f6803a;
}

.iq-icon-alert-error {
    stroke: #fb5b53;
    fill: none;
}

.iq-icon-alert-error-filled {
    stroke: none;
    fill: #fb5b53;
}

/* FILE TYPE ICONS – Visual indicators representing file formats and uploaded media categories */
.file-type__icon > svg {
    width: var(--iq-icon-2xl);
    height: var(--iq-icon-2xl);
}

/* File type icons in modals - reduced size*/
.modal-content .file-type__icon > svg {
    width: var(--iq-icon-xl);
    height: var(--iq-icon-xl);
}

/* LEGACY ICONS: override old v5-skin - this may not be needed - TESTING ONLY, @todo these will be replaced by inline svg icons and indicators */
.icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* HELP ICON info icon  with tooltip (Deprecated - should be replaced with <iq-contextual-info> ui component
   Warning .iconWrapper is used in other contexts do not modify it directly */
.iconWrapper:has(.icon.help) {
    position: relative;
    top: 3px;
    display: inline-flex;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: var(--iq-border-radius-sm);
}

/* Help Icon */
a.icon.help {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 0 0 4px;
    padding: 0;
    background-image: url(/images/icons/info.svg) ;
    background-position: 50%;
    text-decoration: none;
    line-height: 15px;
    text-indent: -9999px; /* hide text */
    opacity: 0.4;
}

/*a.icon.help.notCreated {
    background-color: red;
}

a.icon.help.published {
    background-color: #00CC00;
}*/

a.link--icon-only.help-unavailable {
    color: var(--iq-color-red-500);
}

a.link--icon-only.help-available {
    color: var(--iq-color-green-500);
}

/*!* help icon hover *!*/
/*a.icon.help:hover {*/
/*    !*background-color: #00567A;*!*/
/*}*/

/* Module header Icons */
.summaryWrapper .iconWrapper .icon {
    width: 32px;
    height: 32px;
    padding: 0;
    /*background-image: url(/images/v5/buttons/sprite_icons.png);
    background-repeat: no-repeat;*/
}

/* Risk Icon - Old style of icon - this icon is displayed on component threats and other risk related sections */
.iconWrapper .icon.riskIcon {
    height: 32px;
    background-position: -126px -125px;
    background-image: url(/images/v5/buttons/sprite_icons.png);
    background-repeat: no-repeat;
    text-align: center;
    line-height: 32px;
    padding: 0;
    margin-top: 5px;
    background-size: auto;
}

/* OLD v6 implementation - icon @TODO update to inline svg icon indicator */
.iconWrapper .icon,
.table .icon {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* Icon - safety critical  @TODO update to inline svg icon indicator */
.icon.safetycIcon {
    background-image: url(/images/icons/status-safety-critical.svg);
}

.icon.safetycIcon.disabled {
    background-image: url(/images/icons/status-safety-critical-disabled.svg);
}


/* Icon - Threat  @TODO update to inline svg icon indicator */
.icon.threatIcon {
    background-image: url(/images/icons/status-threat.svg);
}

.icon.threatIcon.disabled {
    background-image: url(/images/icons/status-threat-disabled.svg);
}

/* Icon - Hydrocarbon  @TODO update to inline svg icon indicator */
.icon.hydrocIcon {
    background-image: url(/images/icons/status-hydrocarbon.svg);
}

.icon.hydrocIcon.disabled {
    background-image: url(/images/icons/status-hydrocarbon-disabled.svg);
}

/* Icon - Environmental  @TODO update to inline svg icon indicator */
.icon.envIcon {
    background-image: url(/images/icons/status-environmental.svg);
}

.icon.envIcon.disabled {
    background-image: url(/images/icons/status-environmental-disabled.svg);
}

/* Icon - Leak  @TODO update to inline svg icon indicator */
.icon.leakIcon {
    background-image: url(/images/icons/status-leak.svg);
}

.icon.leakIcon.disabled {
    background-image: url(/images/icons/status-leak-disabled.svg);
}

/* Icon - Safety Welfare  @TODO update to inline svg icon indicator */
.icon.safetyWelfareIcon {
    background-image: url(/images/icons/status-safety-welfare.svg);
}

.icon.safetyWelfareIcon.disabled {
    background-image: url(/images/icons/status-safety-welfare-disabled.svg);
}

/* Icon - Temp Repair  @TODO update to inline svg icon indicator */
/* yellow flag */
.icon.tempRepairDueDateExpIcon {
    background-image: url(/images/icons/status-temp-repair-due-date-exp.svg);
}

/* Red flag */
.icon.tempRepairTaskDXIcon {
    background-image: url(/images/icons/status-temp-repair-task-xd.svg);
}

/* green flag */
.icon.tempRepairInstalledIcon {
    background-image: url(/images/icons/status-temp-repair-installed.svg);
}

/* grey flag */
.icon.tempRepairNotInstalledIcon {
    background-image: url(/images/icons/status-temp-repair-not-installed.svg);
}

.tempRepairCounter {
    /* numeric value for number of temporary repairs */
    float: right;
    margin-top: 20px;
    margin-right: 3px;
    font-size: 0.75em;
}

.icon.tempRepair.disabled {
    background-image: url(/images/icons/status-temp-repair-disabled.svg);
}

/* Icon - Tasks  @TODO update to inline svg icon indicator */
.icon.taskIcon {
    background-image: url(/images/icons/status-task.svg);
}

.icon.taskIcon.disabled {
    background-image: url(/images/icons/status-task-disabled.svg);
}

.icon.taskIconOverdue {
    background-image: url(/images/icons/status-task-overdue.svg);
}

.icon.taskIconAllCompleted {
    background-image: url(/images/icons/status-task-all-complete.svg);
}

/* @todo Temp hack - OE-Sep */
.icon.taskIconAllCompleted {
    background-image: url(/images/icons/status-task-all-complete.svg);
}

/* @todo Temp hack - OE-Sep */
.iconWrapper .taskIconAllCompleted {
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 8px 0 0 9px;
}

/* Icon - Defect Details  @TODO update to inline svg icon indicator */
.icon.defectDetailsIcon {
    background-image: url(/images/icons/alert-info.svg);
}

.defectDetailsIcon.disabled {
    background-position: -175px -220px;
}

/* Icon - Workpack Info  @TODO update to inline svg icon indicator */
.icon.task-info-icon {
    background-image: url(/images/icons/workpack.svg);
}

/* Icon - Monitor  @TODO update to inline svg icon indicator */
.icon.monitorIcon {
    background-image: url(/images/icons/status-monitor.svg);
}

.icon.monitorIcon.disabled {
    background-image: url(/images/icons/status-monitor-disabled.svg);
}

/* Icon - Preferred Image  @TODO update to inline svg icon indicator */
.icon.prefImageIcon {
    background-image: url(/images/icons/status-prefer-image.svg);
}

.icon.prefImageIcon.disabled {
    background-image: url(/images/icons/status-prefer-image-disabled.svg);
}

/* Icon - Open/Closed  @TODO update to inline svg icon indicator */
.icon.openClosedIcon {
    background-image: url(/images/icons/status-closed-filled.svg);
}

.icon.openClosedIcon.disabled {
    background-image: url(/images/icons/status-open-filled.svg);
}

/* Icon - Docs  @TODO update to inline svg icon indicator */
.icon.docsIcon {
    background-image: url(/images/icons/status-docs.svg);
}

.icon.docsIcon.disabled {
    background-image: url(/images/icons/status-docs-disabled.svg);
}

/* Icon - Archived  @TODO update to inline svg icon indicator */
.icon.archivedIcon {
    background-image: url(/images/icons/archive.svg);
    width: 24px;
    height: 24px;
}

/* Icon - Draft  @TODO update to inline svg icon indicator */
/*.draftIcon {*/
/*    text-align: center;*/
/*    color: red;*/
/*    font-weight: bold;*/
/*    font-size: 1.5em;*/
/*}*/

/*<div data-toggle="tooltip" class="draftIcon" style="" title="Draft">D</div>*/
.icon.draftIcon {
    width: var(--iq-icon-lg);
    height: var(--iq-icon-lg);
    background-image: url(/images/icons/status-draft.svg);
}

/* for circle icons on manage location page */
#locationDetailsPanel .button-icon-only {
    background-color: transparent;
}

/* Location Details Panel - svg icons need inlining and class */
#locationDetailsPanel .button-icon-only .icon-wrap {
    width: 1.5rem;
    height: 1.5rem;
}

#locationDetailsPanel .button-icon-only .icon-wrap.icon-plus-circle {
    background: url(/images/icons/plus-circle.svg) no-repeat center center;
}

/* icon hover - if not button NOT disabled*/
#locationDetailsPanel .button-icon-only:not(:disabled):hover .icon-wrap.icon-plus-circle {
    padding: 0;
    background: url(/images/icons/plus-circle-hover.svg) no-repeat center center;
}

#locationDetailsPanel .button-icon-only:disabled,
#locationDetailsPanel .button-icon-only.disabled {
    opacity: .2;
}

div.td.col_draghandle {
    padding: 8px;
}

/* END - ICONS */

/* LINKS - with icon and custom link styles
   ========================================================================== */

/* Icon Links - Base class ---------------------- */
.link-icon {
    position: relative;         /* needed to adjust positioning of legacy implementations */
    display: inline-flex;
    vertical-align: middle;     /* needed to adjust positioning of legacy instances */
    gap: var(--iq-space-100);   /* this will create space between the link text an icon */
}

/*!* Icon at start of element - leading *!*/
/*.link-icon.link-icon-start {*/
/*    margin-right: .5rem;*/
/*}*/

/*!* Icon at end of element - trailing *!*/
/*.link-icon.link-icon-end {*/
/*    margin-left: .5rem;*/
/*}*/

.link-icon .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
}

/* Info & Help - Icons (used for tooltips & popovers) */
.link-icon-info,
.link-icon-help {
    top: -1px;
}

/* Info & Help - Icons (used for tooltips & popovers) */
.link-icon-info .iq-icon,
.link-icon-help .iq-icon {
    width: 1rem;
    height: 1rem;
    color: var(--iq-color-grey-80); /* var(--iq-text-color-xlight); */
    stroke-width: 2;
}

/* Info & Help Icon Link - Hover State */
.link-icon-info .icon-wrap:hover .iq-icon,
.link-icon-help .icon-wrap:hover .iq-icon {
    color: #3eaaf3;
}

/* Attribute Label Icon Link (@todo TESTING NEEDED after v6 merge) */
.attribute-label-icon {
    position: relative; /* Optically center icons with text */
    top: 2px;
    display: inline-block;
}

/* Help Link - nested inside attribute labels, after label-text element (@todo TESTING NEEDED after v6 merge - change this to use modifier class  .link-icon-end) */
.link-attribute-help .iq-icon {
    margin-left: .5rem; /* add left spacing */
}

/* download guide link */
.link-icon.link-download-guide {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
}

.link-icon.link-download-guide .iq-icon {
    width: var(--iq-icon-md);
    height: var(--iq-icon-md);
}

/* END - LINKS */

/* BREADCRUMB
   ========================================================================== */
/* Breadcrumb Container */
.breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    background: none;
    font-size: 0.875rem;
    color: var(--iq-color-grey-300);
    line-height: 1;
}

/* Breadcrumb Icons */
.breadcrumb .icon-wrap {
    margin-right: 0.25rem;
    color: var(--iq-color-grey-300);
}

.breadcrumb .icon-wrap--chevron-right {
    margin-left: 0.25rem;
}

.breadcrumb .iq-icon {
    width: var(--iq-icon-xs);
    height: var(--iq-icon-xs);
    stroke-width: 2;
}

/* Breadcrumb links */
.breadcrumb a {
    display: flex;
    align-items: center;
    line-height: inherit;
}

.breadcrumb a .icon-wrap {
    color: inherit;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
    color: var(--iq-link-hover-color);
}

/* breadcrumb inside a search form */
span.breadcrumb {
    margin: 0;
    padding: 5px 10px;
    background-color: transparent;
    border: none;
}


/* breadcrumb Small Modifier - not for  */
.viewForm .breadcrumb-sm, /* test - override form specificity */
.edit .breadcrumb-sm,     /* test - override form specificity */
.breadcrumb-sm {
    display: flex;
    align-items: center;
    margin: 0;  /* test - BS override until use cases identified */
    padding: 0; /* test - BS override */
    font-size: 0.75rem;
}

.breadcrumb-sm a,
.breadcrumb-sm .icon-wrap--chevron-right {
    margin-right: .125rem;
}

.breadcrumb-sm .iq-icon-chevron-right {
    width: var(--iq-icon-2xs);
    height: var(--iq-icon-2xs);
    stroke-width: 2;
}



/* Breadcrumb using path arrow structure */
.patharrow {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
}

.patharrow.small {
    font-size: 0.9em;
}

/* BREADCRUMB - ADVANCES SEARCH */
#searchAccordionContent #repairBread {
    padding: 8px 0 8px 125px; /* width of search form labels */
}

/* BREADCRUMB - History Log - @todo need to change class name when history log HTML structure finalised */
.history-log-context-path.breadcrumb-sm {
    color: var(--iq-text-color-light);
}

.history-log-context-path .icon-wrap--chevron-right {
    color: var(--iq-text-color-xlight);
}

/* Andy 26/06/2023 v6 merge -(@todo TESTING NEEDED after v6 merge and converted to new breadcrumb html) */
#horizontal #panelBreadcrumb.breadcrumb {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Breadcrumb - Location - temporary fix  */
#right-pane .breadcrumb a {
    margin: 0 0.5rem;
}

/* END - Breadcrumb */

/* CREATION WIZARD - step-through
   ========================================================================== */
.monorail /*,
#creationWizard */{
    display: table;
    width: 100%;
    /*padding: 1px;*/
    margin-bottom: 10px;
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 4px;
    box-sizing: border-box;
}

.monorail a /*,
#creationWizard a*/ {
    position: relative;
    display: table-cell;
    padding: .7em 0.5em .7em 1.5em;
    background-color: #f3f3f3;
    color: #444;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
}

.monorail a:first-child /*
#creationWizard a:first-child*/ {
    border-radius: 3px 0 0 3px;
}

.monorail a:last-child /*,
#creationWizard a:last-child*/ {
    border-radius: 0 3px 3px 0;
}

.monorail a:hover /*,
#creationWizard a:hover*/ {
    background: #3eaaf3;
    color: #fff;
}

.monorail a::after,
.monorail a::before /*,
#creationWizard a::after,
#creationWizard a::before*/ {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -1.5em;
    border-top: 1.5em solid transparent;
    border-bottom: 1.5em solid transparent;
    border-left: 1em solid;
    right: -12px;
}

.monorail a::after /*,
#creationWizard a::after*/ {
    z-index: 2;
    border-left-color: #f3f3f3;
}

/* displays under the after arrow to create border */
.monorail a::before /*,
#creationWizard a::before*/ {
    border-left-color: #cecece;
    right: -13px;
    z-index: 1;
}

.monorail a:last-child::before,
.monorail a:last-child::after /*,
#creationWizard a:last-child::before,
#creationWizard a:last-child::after*/ {
    display: none;
}

.monorail a:hover::after /*,
#creationWizard a:hover::after*/ {
    border-left-color: #3eaaf3;
}

/* WIZARD - active links */
.monorail .active,
.monorail .active:hover /*,
#creationWizard .active,
#creationWizard .active:hover*/ {
    background: #00567A;
    color: #fff;
    cursor: default;
}

.monorail .active:after,
.monorail .active:hover:after /*,
#creationWizard .active:after,
#creationWizard .active:hover:after*/ {
    border-left-color: #00567A;
}

/* WIZARD - disabled links */
.monorail a.disabled,
.monorail a.disabled:hover /*,
#creationWizard a.disabled,
#creationWizard a.disabled:hover*/ {
    cursor: default;
    background: #ECECEC;
    color: #999;
}

.monorail a.disabled::after,
.monorail a.disabled:hover:after /*,
#creationWizard a.disabled::after,
#creationWizard a.disabled:hover:after*/ {
    border-left-color: #ECECEC;
}
/* END - creationWizard wizard

/* FORM STEPPER - Style 1 - Add/Edit Anomaly stepper
   ========================================================================== */
/* Add new class then delete from below stepper class */
.stepper-anomaly {
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-white);
}

.stepper {
    counter-reset: step-counter; /* CSS Counter - temp fix until programmatic change to add numbers */
    display: flex;
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-white);
}

/* ---- Step Item Wrapper ---- */
.step-wrapper {
    flex: auto;
    display: flex;
}

.step-wrapper:last-child {
    flex-grow: 0;
}

/* ---- Step Item - Link ---- */
.step {
    flex: 1;
    display: flex;
    padding: 0.75rem .25rem 0.5rem .25rem;
    font-weight: 500;
}

.step:hover {
    background-color: var(--iq-color-grey-20);
}

.step.disabled {
    background: transparent;
    color: var(--iq-text-color-xlight);
    cursor: default;
}

.step-wrapper:not(:last-child) .step::after {
    content: "";
    flex: 1;
    min-width: 1rem;
    height: 1px;
    margin-top: 0.625rem;
    background-color:  var(--iq-color-grey-50);
}

/* ---- Step Numbered Circle ---- */
.step .num {
    flex: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.75rem;
    height: 1.75rem;
    margin-top: -0.25rem; /* optically align number */
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-circle);
    background-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);
    font-weight: 600;
    line-height: 1;
}

/* CSS Counter - temp fix until programmatic change to add numbers */
.step .num::before {
    counter-increment: step-counter;
    content: counter(step-counter);
}

.step.disabled .num {
    border: 1px solid var(--iq-color-grey-50);
    background-color: transparent;
    color: var(--iq-text-color-xlight);
}

.step.active .num {
    border-color: var(--iq-color-blue-primary);
    background-color: var(--iq-color-blue-primary);
    color: var(--iq-text-color-inverted);
}

.step.complete .num {
    border-color: var(--iq-color-grey-40);
    background-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);
}

/* ---- Step Text Label ---- */
.step .step-label {
    padding: 0 0.5rem;
    color: var(--iq-text-color);
    font-weight: 600;
}

.step.disabled .step-label {
    color: var(--iq-text-color-xlight);
}

.step.active .step-label {
    color: var(--iq-color-blue-primary);
}

/* temp fix until programmatic change to remove strong tag from label */
.step.active .step-label strong {
    font-weight: 600;
}

.step.complete .step-label {
    color: var(--iq-text-color);
}


/* TESTING CODE  - test alternative vertically stacked style using a breakpoint*/
@media screen and (max-width: 1919px) {
    .step-wrapper {
        flex: 1 1 0; /* keep equal width where possible, based on min-content size */
    }

    .step {
        flex-wrap: wrap;
        flex: 1;
    }

    .step .num {
        width: 1.5rem;
        height: 1.5rem;
        margin-top: -0.125rem; /* optically align number */
    }

    .step .step-label {
        order: 3;
        flex: 1 0 100%;
        height: 100%;
        padding-top: 0.25rem;
        padding-left: 0.375rem;
    }

    .step-wrapper .step::after {
        content: "";
        flex: 1;
        min-width: 10px;
        height: 1px;
        margin: 0.625rem .5rem 0 .75rem;
        background-color:  var(--iq-color-grey-50);
    }

    .step-wrapper .step.active::after {
        background-color: var(--iq-color-blue-primary);
    }

    .step-wrapper:last-child {
        flex-grow: 1;
    }
}

/* END - Form Stepper

/* ACCORDIONS - extend bootstrap styles
   ========================================================================== */
#searchForm > .accordion-group {
    margin-bottom: 0;
}

/* Apply an outline border to the modal search form accordions */
.modal-body #searchForm > .accordion-group,
#modalSearchForm > .accordion-group {
    outline: 1px solid var(--iq-color-grey-30);
    outline-offset: -1px;
}

/*#modalSearchForm .accordion-group .accordionBtn {*/
/*    margin-bottom: 0;*/
/*    margin-top: 9px;*/
/*    margin-right: 9px;*/
/*}*/

.anomaly-nested-accordion{
    border: 1px solid var(--iq-color-grey-30);
    margin-bottom: 1rem;
}

.accordion-group {
    margin-bottom: /*10px*/ 0;
}

.panel-group .panel {
    border: 1px solid var(--iq-color-grey-30);
    border-radius: var(--iq-border-radius-md);
}

/* Remove border from the panel */
#ComponentDetailsAccordionContent .panel {
    border: none;
    overflow: hidden;
}

.panel-group .panel.clearfix {
    overflow: visible;
}

/*.panel-collapse {
    padding: 1rem;
}*/

#searchForm .panel-collapse,
.search-groups-workpacks .panel-collapse {
    padding: 1rem;
}

.panel-collapse .panel {
    padding: 5px;
}

/* needed to allow dropdown buttons to be seen */
.paperwork.panel-collapse .panel {
    overflow: inherit;
}

/* Top level accordion on search pages - Search form  */
/*#searchForm .accordion-group > .panel-heading,
.search-groups-workpacks .accordion-group > .panel-heading {
    padding: 0;
    color: #fff;
    background-color: var(--iq-color-blue-primary);
    border: none;
    margin: 0;
}*/

/*#searchForm .accordion-group > .panel-heading a,
.search-groups-workpacks .panel-group.accordion-group .panel-heading a {
    background-color: var(--iq-color-blue-primary);
    margin: 0;
}*/

/*#searchForm .accordion-group > .panel-heading a:hover,
.search-groups-workpacks .panel-group.accordion-group .panel-heading a:hover {
    background-color: var(--iq-color-blue-primary-light);
}*/

/* Top level accordion on search page - Search form - hover */
/*#searchForm .panel-heading a:hover,
.search-groups-workpacks .accordion-group > .panel-heading:hover {
    background-color: var(--iq-color-blue-primary-light);
}*/

/* Top level accordion on search pages - Search form  */
/*#ruleSetContainer .panel-heading a,
#searchForm .panel-heading a,
.search-groups-workpacks .panel-heading a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 1.5rem;
    color: var(--iq-color-white);
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: none;
}*/

/*Top Level -  View pages accordions */
.accordion-group > .panel-heading {
    /*background-color: var(--iq-color-grey-30);*/
    padding: 0;
    -webkit-border-radius: var(--iq-border-radius-md);
    border-radius: var(--iq-border-radius-md);
}

/* View page accordions */
.panel-heading a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0.75rem 0.75rem 1rem;
    color: var(--iq-color-grey-1000);
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: capitalize;
}

.accordion-group .panel-heading a {
    background-color: var(--iq-color-grey-40-rgba);
    background-color: var(--iq-color-grey-40); /* Kali TEsting */
    /* margin: 1rem; */
}

/* accordion-group .panel-heading a.collapsed {
    margin: 0;
} */

.accordion-group .panel-heading a:hover {
    background-color: var(--iq-color-grey-50-rgba);
}

.accordion-group > .panel-collapse {
    padding: 1rem;
    transition: 6ms ease-out;
}

.viewForm .accordion-group > .panel-collapse.in ul {
    padding-left: 0;
}

/* Accordions within Kendo tabs */
#tabstrip-1 .accordion-group > .panel-heading {
    margin: 0;
}

#tabstrip-1 .accordion-group {
    margin-bottom: 0.5rem;
}

.panel-heading a.pathway {
    display: inline-block;
    padding-left: 0;
}

/* Accordion button */
.accordionBtn {
    width: 22px;
    height: 22px;
    padding: 0;
    margin-right: 0.5rem;
    margin-left: auto;
}

.compact.accordionBtn {
    display: inline-block;
    float: right;
    width: 22px;
    height: 22px;
    padding: 0;
    margin-top: -1px;
    margin-right: 1em;
    background: #dedede url(/images/v5/buttons/button_bg_grey.jpg) repeat-x left top;
    -webkit-box-shadow: none;
    box-shadow: none;
    text-align: center;
}

.compact.accordionBtn:before {
    float: right;
    display: inline-block;
    content: "";
    width: 60px;
    margin-top: -1px;
    margin-right: 1em;
    font-size: 9px;
    text-align: right;
}

a.collapsed .compact.accordionBtn:before {
    content: "";
}

/* arrow toggle - collapse btn*/
a .toggleArrow {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: url(/images/icons/chevron-up.svg) no-repeat center; /* temporary fix until all accordions toggle arrows can be converted to inline svgs */
    /* prevent selection of the inner text - HACK required because of &nbsp; character in span */
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none;
}

/* arrow toggle - expand btn */
a.collapsed .toggleArrow {
    background: url(/images/icons/chevron-down.svg) no-repeat center; /* temporary fix until all accordions toggle arrows can be converted to inline svgs */
}

.layerBoxHeader a .toggleArrow {
    background: url(/images/icons/chevron-up-white.svg) no-repeat center;
}

.layerBoxHeader a.collapsed .toggleArrow {
    background: url(/images/icons/chevron-down-white.svg) no-repeat center;
}

/* Search and Groups & Workpack Accordion toggle arrow - temporary fix until all accordions toggle arrows can be converted to inline svgs */
/*#searchForm .toggleArrow,
.search-groups-workpacks .toggleArrow {
    filter: invert(100%); |* change background chevron black to white
}*/

/* panel body & panel group */
.panel-group .panel-heading + .panel-collapse .panel-body {
    border-top: none; /* bootstrap override - remove boarder */
}

.panel-body {
    padding: 0; /* bootstrap override - remove padding */
    /*background-color: #0ac282; !* @ Kalitesting ONLY *!*/
}

/* Virtual Group Summary page - display:flow-root to be removed when toolbar are not float  */
.panel-body.p-3 {
    display: flow-root;
}

/* --- NESTED ACCORDIONS --- */
.accordion-group .accordion-group /*,
.col-md-6 .accordion-group,
.col-md-7 .accordion-group,
.col-md-5 .accordion-group*/
{
    margin-bottom: 10px;
    margin-top: 10px;
}

/* Nested accordions - Seeds Attributes from Parent - Component Summary - View Attributes */
.panel-body /*.nestedAccordion*/ .accordion-group .accordion-group {
    margin-bottom: -1rem;
}

/* Nested accordions - Defects - advance search */

#searchForm .accordion-group .accordion-group > .panel-heading a {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    color: var(--iq-text-color);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0 0.5rem;
    height: 32px;
    background-color: var(--iq-color-grey-5);
    border:1px solid var(--iq-color-grey-30);
}

#searchForm .accordion-group .accordion-group > .panel-heading a .accordionBtn {
    margin-right: 0.5rem;
    margin-left: initial;
}

#searchForm .accordion-group .accordion-group > .panel-heading a:hover {
    background-color: var(--iq-color-grey-20);
}

#searchForm .accordion-group .accordion-group .toggleArrow {
    filter: invert(0%);
}

#searchForm .accordion-group .accordion-group a .toggleArrow {
    background: url(/images/icons/chevron-down.svg) no-repeat center; /* temporary fix until all accordions toggle arrows can be converted to inline svgs */
}

#searchForm .accordion-group .accordion-group a.collapsed .toggleArrow {
    background: url(/images/icons/chevron-right.svg) no-repeat center; /* temporary fix until all accordions toggle arrows can be converted to inline svgs */
}

#searchForm .accordion-group .accordion-group .accordionBtn {
    margin-top: 0;
}

#searchForm .accordion-group .accordion-group > .panel-collapse {
    border: 1px solid var(--iq-color-grey-30);
    border-top: none;
    border-radius: 0 0 var(--iq-border-radius-sm) var(--iq-border-radius-sm);
    margin-top: -10px;
}

.accordion-group .accordion-group {
    border: 1px solid var(--iq-color-grey-30);
}

#summaryDetailsContent .k-content .panel {
    border: none;
    margin-bottom: -1rem;
}

.accordion-group .accordion-group .panel-title a.collapsed {
    background-color: var(--iq-color-grey-20);
    border-radius: var(--iq-border-radius-sm);
    -webkit-border-radius: var(--iq-border-radius-sm);
}

.accordion-group .accordion-group a.collapsed {
    margin-top: -0.25rem;
    /*border: 1px solid var(--iq-color-grey-30);*/
    /*border-top: none;*/
    border-radius: 3px;
}

.accordion-group .accordion-group .accordion-tools {
    position: absolute;
    top: .75rem;
    right: 3.75rem;
    padding-right: 1rem;
}

.accordion-group .accordion-group .accordion-tools::after {
    content: '';
    position: absolute;
    border-right: 2px solid var(--iq-color-grey-40);
    top: 35%;
    right: 0;
    height: 40%;
    margin-top: auto;
    margin-bottom: auto;
}

.accordion-group .accordion-group .panel-heading a {
    background-color: var(--iq-color-grey-20);
    border-radius: var(--iq-border-radius-sm);
    margin: 0;
    padding: 0.625rem 0.625rem 0.625rem 1rem;
}

.accordion-group .accordion-group .panel-heading a:hover {
    background-color: var(--iq-color-grey-30);
}

#summaryDetailsContent .k-tabstrip > .k-content {
    overflow: hidden;
    margin: 0;
    padding: 0.5rem 0.55rem 0.5rem 0;
}

.k-widget {
    border-width: 0 !important;
}

/* Nested accordion - modifier class */
/* .nested-accordion to be added to top level accordions that are displayed within panels. */
/* Modifier class added to: Anomaly Close Screen - Anomaly Open Task accordion; KPI Report Dashboard */
.nested-accordion {
    border: 1px solid var(--iq-color-grey-30);
}

.nested-accordion .panel-heading a {
    background-color: var(--iq-color-grey-20);
    border-radius: var(--iq-border-radius-sm);
    margin: 0;
    padding: 0.625rem 0.625rem 0.625rem 1rem;
}

.nested-accordion .panel-title a.collapsed {
    background-color: var(--iq-color-grey-20);
    border-radius: var(--iq-border-radius-sm);
    -webkit-border-radius: var(--iq-border-radius-sm);
}

.nested-accordion .panel-heading a:hover {
    background-color: var(--iq-color-grey-30);
}
/* End of Nested accordion - modifier class */


/* End of Nested accordions - second level accordions / view pages */

/* Seed Attributes From Parents screen - fix spacing between accordions within edit forms */
#componentLocation1 .editForm {
    margin-bottom: -0.2rem;
}

/* OIE, SIE & Sign off accordions */

.panel.yellow {
    padding: 1rem;
}

.panel-heading--yellow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0 0 0.5rem 0;
    background-color: inherit;
    border-bottom: 1px solid var(--iq-color-yellow-500);
}

.panel-heading--yellow h2 {
    margin: 0;
    color: var(--iq-color-grey-1000);
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: capitalize;
}

/* End of OIE, SIE & Sign off accordions */


/* if first child of an accordion is an accordion */
.accordion-group > .panel-collapse .accordion-group:first-child {
    margin-top: 0;
}

/* if first child of an accordion is an accordion */
.accordion-group > .panel-collapse .accordion-group:last-child {
    margin-bottom: 0;
}

.accordion-group form .panel-heading {
    padding: 0;
}

.accordion-group .accordion-group > .panel-heading/*,
.col-md-6 .accordion-group > .panel-heading,
.col-md-7 .accordion-group > .panel-heading,
.col-md-5 .accordion-group > .panel-heading,*/
.col-md-5 .accordion-group > form > .panel-heading {
    padding: 0;
    color: #fff;
    background-color: var(--iq-color-blue-primary);
    border-radius: var(--iq-border-radius-md);
}

.accordion-group .accordion-group .panel-heading h2,
.col-md-6 .accordion-group > .panel-heading h2,
.col-md-7 .accordion-group > .panel-heading h2,
.col-md-5 .accordion-group > .panel-heading h2 {
    font-size: 1em;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 30px;
}

.col-md-6 .accordion-group > .panel-heading h2 a,
.col-md-7 .accordion-group > .panel-heading h2 a,
.col-md-5 .accordion-group > .panel-heading h2 a {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    color: var(--iq-text-color);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0 0.5rem;
    height: 32px;
    background-color: var(--iq-color-grey-5);
    border: 1px solid var(--iq-color-grey-30);
}

.col-md-6 .accordion-group > .panel-heading h2 a .accordionBtn,
.col-md-7 .accordion-group > .panel-heading h2 a .accordionBtn,
.col-md-5 .accordion-group > .panel-heading h2 a .accordionBtn {
    margin-right: 0.5rem;
    margin-left: initial;
}

.col-md-6 .accordion-group > .panel-heading h2 a .toggleArrow,
.col-md-7 .accordion-group > .panel-heading h2 a .toggleArrow,
.col-md-5 .accordion-group > .panel-heading h2 a .toggleArrow {
    background: url(/images/icons/chevron-down.svg) no-repeat center;
}

.col-md-6 .accordion-group > .panel-heading h2 a.collapsed .toggleArrow,
.col-md-7 .accordion-group > .panel-heading h2 a.collapsed .toggleArrow,
.col-md-5 .accordion-group > .panel-heading h2 a.collapsed .toggleArrow {
    background: url(/images/icons/chevron-right.svg) no-repeat center;
}

.panel-accordion .accordion-heading a,
.col-md-6 .accordion-heading a,
.col-md-7 .accordion-heading a,
.col-md-5 .accordion-heading a {
    border-radius: 3px;
}

/*.accordion-group .accordion-group .panel-collapse,*/
.col-md-6 .panel-collapse,
.col-md-7 .panel-collapse,
.col-md-5 .panel-collapse {
    border: 1px solid var(--iq-color-grey-30);
    border-top: none;
    border-radius: 3px;
}

.accordion-group .accordion-group .accordionBtn/*,
.col-md-6 .accordion-group .accordionBtn,
.col-md-7 .accordion-group .accordionBtn,
.col-md-5 .accordion-group .accordionBtn */{
    margin-top: 4px;
}

.accordion-group .accordion-group .accordionBtn:before,
.col-md-6 .accordion-group .accordionBtn:before,
.col-md-7 .accordion-group .accordionBtn:before,
.col-md-5 .accordion-group .accordionBtn:before {
    margin-top: -4px;
}

.accordion-group .accordion-group .toggleArrow {
    /*margin-top: -4px;*/
}

/* END - Accordions */

/* FORM-FIELD LISTS
   ========================================================================== */
/* form top level PANEL-GROUP styles */
#divMain > .panel-group,
#divMain form > .panel-group {
    margin-bottom: 1rem;
    background-color: #fff;
}

/* Anomaly Summary - Inspection info */
#divMain form > .panel-group {
    padding: 15px;
}

/* Accordions - set the padding on the accordion headings */
#divMain form > .accordion-group {
    padding: 0;
}

#divMain form .bottomPadding {
    padding-bottom: 15px;
}

.panel.featured {
    /* add styles for featured form fields e.g. grey background */
    background-color: var(--iq-color-grey-10);
    border-color: var(--iq-color-grey-10);
}

.panel.controls {
    /* add styles for the form buttons panel e.g no border*/
    border-color: transparent;
    background: none;
}

.panel.controls ul,
.panel.controlsExposed ul {
    display: inline-block;
}

.panel.controlsExposed {
    /* add styles for the form buttons panel e.g no border*/
    /*margin-top: -20px;*/
    margin-bottom: 0;
    padding: 1rem;
    display: flex;
}

/* EMPTY PANELS */
.panel-group .panel:empty {
    display: none;
}

/* LIST INLINE of form fields */
#searchForm ul.list-inline > li {
    width: auto;
    margin-left: 0;
    padding-left: 0;
}

/*LIST 1 COLUMN LAYOUT of form fields */
#searchForm ul.list_col_1 > li {
    width: 100%;
}

/* 2 COLUMN LAYOUT of form fields*/
#searchForm ul.list_col_2 li,
#searchForm ul.fieldgroup.list_col_2 li,
ul.list_col_2 li {
    width: 48%;
}

/* Defect summary page - Anomaly summary page - view/add task */
.table ul.list_col_2 li {
    width: 45%;
}

/* align the span with the label - Anomaly summary page - view/add task */
.table ul.list_col_2 li .displaybox {
    padding-top: 1rem;
}

/* 3 column layout of form fields*/
#searchForm ul.list_col_3 li,
#searchForm ul.fieldgroup.list_col_3 li,
ul.list_col_3 li {
    width: /*30%;*/ 31.5%;
}

/* 4 column layout of form fields*/
#searchForm ul.list_col_4 li,
#searchForm ul.fieldgroup.list_col_4 li,
ul.list_col_4 li {
    width: 25%;
}

/* 5 column layout of form fields*/
#searchForm ul.list_col_5 li,
#searchForm ul.fieldgroup.list_col_5 li,
ul.list_col_5 li {
    width: 20%;
}

/* default form LABEL style here */
#searchForm label,
    /*.viewForm label,*/
.editForm label {
    line-height: 12px;
    vertical-align: middle;
    text-align: right;
}

#searchForm label {
    line-height: 1.1;
}


/* CELLBLOCKS - displays contents as table cells (attach to li )- best used for blocks of text, or fieldgroups */
/* CELLBLOCKS - allow list anchor to the top when have a long content */

.cellblock {
    /*display: inline-table !important;*/
    /*width: 100% !important;*/
}

/*.cellblock > label,*/
/*.cellblock > div,*/
/*.cellblock > span,*/
/*.cellblock > ul.fieldgroup,*/
#searchForm .cellblock > label,
#searchForm .cellblock > div,
#searchForm .cellblock > span,
#searchForm .cellblock > ul.fieldgroup,
.editForm .cellblock > ul.fieldgroup,
.editForm .cellblock > label,
.editForm .cellblock > div,
.editForm .cellblock > span
    /*.viewForm .cellblock > label,*/
    /*.viewForm .cellblock > div,*/
    /*.viewForm .cellblock > span */
{
    display: table-cell;
    vertical-align: baseline; /* Not to be change - allow list anchor to the top when have a long content */
}

/*.viewForm .cellblock > span {*/
/*    width: 100%; !* When short text align the text to the left - Test - Gloriya *!*/
/*    padding-bottom: 0.625rem; !* align the span in the middle when information entered is a single line- Test - Gloriya *!*/
/*    position: relative; !* Test -  align the span with the rest of the span content*!*/
/*    !*left: -1.563rem; | Test -  align the span with the rest of the span content*!*/
/*}*/

/*.viewForm ul.list_col_2 .cellblock label {
    padding-top: 5px;
}*/

/*.editForm .cellblock > label {
	padding-top: 12px;
}*/

#searchForm .cellblock > label {
    padding: 10px 0 0 5px; /* padding: 12px 0 0 5px; */
}

.editForm .cellblock,
#searchForm .cellblock {
    display: table; /* testing only */
    width: 100%; /* testing only */
}

/* to compensate for the margin that gets negated when the label displays as a cellblock */
.editForm .cellblock,
.editForm .col-md-6 li.cellblock, /* 6/6 - 2 col, using bootstrap column */
.editForm .col-md-7 li.cellblock, /* 7/5 - 2 col, using bootstrap column */
.editForm .col-md-5 li.cellblock,
.editForm ul.list_col_2 li.cellblock {
    padding-left: 15px;
    height: 35px;
}

.editForm li.cellblock > label {
    padding: 10px 0 0;
}

#searchForm li.cellblock div,
#searchForm li.cellblock span,
.editForm li.cellblock > div,
.editForm li.cellblock > span {
    padding: 8px 0 5px 5px;
}

#searchForm .cellblock > ul.fieldgroup,
.editForm .cellblock > ul.fieldgroup {
    padding-left: 5px;
    padding-top: 5px;
    vertical-align: top;
}

/* LIST HEADINGS */
li.list_head {
    /* @TODO styles - display as a block element and contains a heading of sorts regardless of list-column styles*/
    display: block !important;
    width: 100% !important;
}

/* List Heading H4 */
.list_head h4 {
    font-weight: normal;
    color: #00567a;
}

/* List Heading H4 */
.list_head h4.small {
    font-size: 1.1em;
}

/* LIST BUTTONS */
/* single buttons in a form - list  */
li > button {
    /* border: 1px solid yellow;  testing only */
    margin-left: var(--iq-space-100);
}

li button.inlinebutton {
    margin-left: 0;
    margin-top: -6px;
}

li.fieldsetdiv > button:first-child {
    margin: 5px 5px 5px 10px;
}

/* TOOLBAR - default style */
#searchForm .toolbar,
.viewForm .toolbar,
.editForm .toolbar {
    margin-top: 4px;
}

#searchForm .panel.controlsExposed .toolbar {
    margin-top: 0;
    margin-left: auto;
}

/* Toolbar - (temporary solution )Target last child as a direct descendant of the accordion collapse panel. Fix issue of toolbar sitting flush with panel */
.viewForm .panel-collapse > .toolbar:last-child {
    margin-bottom: 1rem;
}

/* FIELDGROUP LABELS */
#searchForm ul.fieldgroup label,
ul.fieldgroup label {
    text-align: left;
    padding-left: 5px;
}

/* BADGEGROUP - positions badges in a fieldgroup */
.fieldgroup.badgegroup {
    float: right;
    width: 45%;
    vertical-align: top;
}

.fieldgroup.badgegroup li {
    width: auto;
}

/* badgegroup - spaces badges in a fieldgroup */
.fieldgroup.badgegroup .badge {
    margin-top: 10px;
    margin-bottom: 5px;
    padding-right: 5px;
}

a.badge:hover {
    background-color: #3EAAF3;
}

a.badge.selected,
a.badge.selected:hover {
    background-color: #1fd40f !important;
}

.badge.right {
    float: right;
    margin-top: 10px;
}

/* End default form-list styles */

/* SEARCH FORM - #SEARCHFORM FIELD LISTS-STYLES
   ========================================================================== */
/* Search Form - default list styles */
#searchForm ul {
    clear: both; /* seperate floated lists */
    list-style: none;
    padding-left: 0;
    border-top: 1px solid var(--iq-color-grey-30);
}

/* Search Form - default list styles */
#searchForm ul.fieldgroup {
    padding-left: 5px;
}

/* Search Form - fieldgroup & first list remove border */
#searchForm ul:first-child,
#searchForm ul ul.fieldgroup {
    border-top: none;
}

#searchForm ul ul.fieldgroup {
    display: inline-block;
    vertical-align: middle;
}

/* SearchForm - default form-list styles (fluid auto spacing) */
#searchForm ul li {
    float: left;
    width: auto;
    padding-right: 5px;
    list-style: none;
}

/* set width of list labels */
#searchForm ul li:first-child > label {
    width: 120px;
    width: 132px; /* testing only - Kali new size v666 */
}

/* field groups li styles, these appear as nested ul tags but contain a group of radio/checkbox buttons */
#searchForm ul.fieldgroup li,
#searchForm ul.list_col_2 ul.fieldgroup li,
#searchForm ul.list_col_3 ul.fieldgroup li,
#searchForm ul.list_col_4 ul.fieldgroup li {
    display: inline-block;
    width: auto;
    padding-left: 5px;
}

/* field group - override element widths */
#searchForm ul.fieldgroup label,
#searchForm ul.fieldgroup li:first-child label,
#searchForm ul.list_col_2 ul.fieldgroup label,
#searchForm ul.list_col_3 ul.fieldgroup label,
#searchForm ul.list_col_4 ul.fieldgroup label {
    width: auto;
}

/* display nested divs & spans inline e.g. li > divs */
/*#searchForm li div,*/
/*#searchForm li span {*/
#searchForm li div {
    display: inline-block; /* testing */
}

/* 2 column layout of form fields*/
#searchForm ul.list_col_2 label {
    width: 120px;
    width: 132px; /* testing only - Kali new size v666 */
}

#searchForm ul.list_col_2 select {
    min-width: 150px;
    width: auto;
}

#searchForm ul.list_col_2 select[multiple] {
    height: 56px;
}

/* 3 column layout of form fields*/
#searchForm ul.list_col_3 label {
    /*width: 150px;*/
}

/* --- 3 column layout of form fields --- */
#searchForm ul.list_col_3 label {
    width: 120px;
    width: 132px; /* testing only - Kali */
}

#searchForm ul.list_col_3 input[type=text],
#searchForm ul.list_col_3 select {
    min-width: 100px;
    max-width: 200px;
    width: auto;
}

/* 4 column layout of form fields*/
#searchForm ul.list_col_4 label {
    width: 120px;
    width: 132px; /* testing only - Kali new size v666 */
}

#searchForm ul.list_col_4 input[type=text],
#searchForm ul.list_col_4 select {
    width: 150px;
}

/* --- SEARCH FORM FIELDGROUPS with Columns --- */
#searchForm ul.fieldgroup.list_col_2 li,
#searchForm ul.fieldgroup.list_col_3 li,
#searchForm ul.fieldgroup.list_col_4 li {
    float: left;
    min-height: 33px;
}

/* --- SEARCH FORM FIELDGROUPS with Columns --- */
#searchForm ul.fieldgroup.list_col_2 label,
#searchForm ul.fieldgroup.list_col_3 label,
#searchForm ul.fieldgroup.list_col_4 label {
    width: auto;
    width: 90%; /* testing */
    margin-bottom: 0; /* testing */
    vertical-align: top; /* testing */
}

/* --- FIELDGROUP with Columns - radio/checkbox --- */
#searchForm .fieldgroup.list_col_2 input[type="radio"],
#searchForm .fieldgroup.list_col_2 input[type="checkbox"],
#searchForm .fieldgroup.list_col_3 input[type="radio"],
#searchForm .fieldgroup.list_col_3 input[type="checkbox"],
#searchForm .fieldgroup.list_col_4 input[type="radio"],
#searchForm .fieldgroup.list_col_4 input[type="checkbox"] {
    height: auto;
    vertical-align: top;
}

/* v6 Merge - #12272 */
#searchForm ul.fileListing li {
    padding-right: 0px;
}

/* v6 Merge - COMP-304 (Amna) SEARCH FORM - fullwidth list items for quicksearch tags collapse issues @TODO needs updating see V666-1006 */
#searchForm ul.fullWidth li {
    width: 100%;
}

/* MULTI-COLUMN CONTROLS RADIO/CHECKBOX LISTS */
/* Display Multi-Column lists to vertical order and wrapping columns - for checkbox and radio controls ONLY */
.multicol-control-list-2 {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}

.multicol-control-list-3 {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}

.multicol-control-list-4 {
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
}

.multicol-control-list-5 {
    -webkit-column-count: 5;
    -moz-column-count: 5;
    column-count: 5;
}

/* Display multi-column list items as flex containers */
.multicol-control-list-2 li,
.multicol-control-list-3 li,
.multicol-control-list-4 li,
.multicol-control-list-5 li {
    display: inline-flex !important; /* force specificity override */
    align-items: center;
    width: 100% !important; /* force specificity override */
    min-height: 2rem;
}

/* Reset Label Line height to vertical position with related input field */
.multicol-control-list-2 label,
.multicol-control-list-3 label,
.multicol-control-list-4 label,
.multicol-control-list-5 label {
    line-height: normal;
}

/* --- Attribute CSS  --- */

.attconfwrapper .editForm select {
    max-width: 250px;
}

/* --- Special Search Attribute layout - #damagecodeattributewrapper --- */
/*li.damageFoundList {
	border-top: 1px solid #eee;
	border-left: 10px solid #fff;
	border-right: 10px solid #fff;
}
*/
/* DAMAGE FOUND - LIST */
#searchForm #adSearchDFAccordionContent li.damageFoundList,
.editForm li.damageFoundList {
    min-height: 33px;
}

/* DAMAGE FOUND - LABEL/CHECKBOX */
#searchForm #adSearchDFAccordionContent li.damageFoundList label,
.editForm li.damageFoundList label.damageFoundListName,
#searchForm #adSearchDFAccordionContent input.damagechkbox,
.editForm li.damageFoundList input.damagechkbox {
    margin-bottom: 0;
    vertical-align: top;
}

/* DAMAGE FOUND - LABEL */
#searchForm #adSearchDFAccordionContent li.damageFoundList label,
.editForm li.damageFoundList label.damageFoundListName {
    width: 90%; /* so label can wrap over miltiple lines */
}

/* DAMAGE FOUND - CHECKBOX */
#searchForm #adSearchDFAccordionContent input.damagechkbox,
.editForm li.damageFoundList input.damagechkbox {
    height: auto; /* remove set height */
}

#damagecodeattributewrapper .attributeSearchLabel,
#damagecodeattributewrapper h5.grey {
    float: left;
    clear: both;
    width: 170px;
    margin-right: -170px;
}

/* v6 Merge - #12666 Rupali  */
div#damagecodeattributewrapper.damageFoundAttWrapper.damageSub h5.grey {
    margin-right: 0px;
}

#damagecodeattributewrapper .attributeSearchLabel.autoWidth {
    float: none;
    width: auto;
    margin-right: 0;
}

#damagecodeattributewrapper .attributeSearchLabel input {
    margin-left: 15px;
}

#damagecodeattributewrapper .attributeSearchLabel label {
    text-align: left !important;
    vertical-align: middle;
    /*width: 145px !important;*/
    max-width: 50%;
    font-weight: bold;
    margin-left: 5px;
}

#damagecodeattributewrapper .attributeSearchLabel.autoWidth label.autoWidth {
    width: auto !important;
}

#damagecodeattributewrapper .attributeSearchWrapper {
    float: left;
    clear: none;
    margin-left: 180px;
    border-top: none;
}

/* remove border first & last items */
#damagecodeattributewrapper .damagecodeattribute:nth-of-type(1) ul.damagechilddatawrapper:nth-of-type(1),
#damagecodeattributewrapper h5.grey + ul.damagechilddatawrapper:nth-of-type(1) {
    /*border-top: none;*/
}

/* add border on last UL following H5 tag (visually adds a border above the H5) */
#damagecodeattributewrapper h5.grey ~ ul.damagechilddatawrapper:last-child {
    border-bottom: 1px solid #DEDEDE;
}

/* remove border on the last item */
#damagecodeattributewrapper .damagecodeattribute:last-child h5.grey ~ ul.damagechilddatawrapper:last-child {
    border-bottom: none;
}

.damagecodeattribute {
    clear: both;
}

/*		#damagecodeattributewrapper h5 + ul.damagechilddatawrapper {
			border-top:none;
		}*/

#damagecodeattributewrapper ul {
    clear: both;
    display: block;
}

#damagecodeattributewrapper ul.damagechilddatawrapper {
    border-top: 1px solid #dedede;
}

#damagecodeattributewrapper li.attributeSearchField {
    background-color: #efefef;
    margin: 3px 10px;
    padding: 0 10px;
    white-space: nowrap;
    border-left: none; /* remover standard border for edit forms */
    border-right: none; /* remover standard border for edit forms */
}

#damagecodeattributewrapper li.attributeSearchField label {
    width: 250px;
    max-width: none;
}

/* v6 Merge - #12874 Amna */
.damageTypeSeverityScenario li label {
    color: lightgrey !important;
}

/* v6 Merge - #12879 Amna */
.viewDamageType tr td {
    float: left !important;
}

/* SEARCH FORM - Buttons within lists */
/*#searchForm li > button {*/
/*    margin: 5px 0 0 5px; !* same margin as form fields *!*/
/*}*/

/* TAGS - BOOTSTRAP LABELS (quicksearch tags) @todo testing ONLY, need to check if existing classes are JS hooks before implementing
   ========================================================================== */
.label-link {
    background-color: var(--iq-color-grey-20);
}
/*.label-link:not(:disabled):hover,*/
.label-link:hover {
    background-color: var(--iq-color-grey-30);
    cursor: pointer;
}

.label-link.active {
    background-color: var(--iq-color-blue-primary);
}

.label-link.active:hover {
    background-color: var(--iq-color-blue-primary-light);
}

/* Tag Icon (BS label) - */
.label-icon {
    width: var(--iq-icon-xs);
    height: var(--iq-icon-xs);
}

/* END: Tags (BS labels) */

/* SEARCH FORM - Quicksearch Multiselect
   ========================================================================== */
.qsmultiresults,
#searchForm .qsmultiresults,
.editForm .qsmultiresults,
.viewForm .qsmultiresults {
    padding: 0;
    margin: 0;
}

#componentContainer.qsmultiresults {
    display: inline;
}

.cellblock .qsmultiresults {
    display: inline !important;
}

.qsmultiresults label.quicksearchitemlabel,
#searchForm .qsmultiresults label.quicksearchitemlabel,
.editForm .qsmultiresults label.quicksearchitemlabel,
.viewForm .qsmultiresults label.quicksearchitemlabel {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: auto; /* override */
    max-width: none; /* override - needed for edit forms */
    margin: 0.25rem 0.5rem 0.25rem 0; /* old code */
    padding: 0.25rem 0.25rem 0.25rem 0.5rem; /* old code */
    border-radius: var(--iq-border-radius-pill);
    background-color: var(--iq-color-grey-40);
    font-size: .75rem;
    font-weight: 400; /* override - needed for edit forms */
    line-height: 1.2; /* override default form label styles */
    color: var(--iq-text-color);
    white-space: nowrap;
}

#searchForm .qsmultiresults li .labelinner,
.editForm .qsmultiresults li .labelinner,
.viewForm .qsmultiresults li .labelinner {
    display: inline-block;
    /*filter: alpha(opacity=50);*/
    /*opacity: 0.5;*/
    cursor: pointer;
}

.qsmultiresults label.quicksearchitemlabel span.close,
#searchForm .qsmultiresults label.quicksearchitemlabel span.close,
.editForm .qsmultiresults label.quicksearchitemlabel span.close,
.viewForm .qsmultiresults label.quicksearchitemlabel span.close {
    float: none; /* override BS */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height: 1rem;
    margin-left: 0.125rem;
    border-radius: var(--iq-base-font-size);
    font-size: .625rem;
    font-weight: inherit; /* override BS */
    text-shadow: none; /* override BS */
    opacity: 1; /* override BS */
    color: inherit; /* use parent color value */
}

/* Close label hover */
.quicksearchitemlabel .close:hover,
.mainlabel .close:hover {
    background-color: var(--iq-color-white);
}

/* RP - Sub filters and select label */
.qsmultiresults label.quicksearchitemlabel.active,
#searchForm .qsmultiresults label.quicksearchitemlabel.active,
.editForm .qsmultiresults label.quicksearchitemlabel.active,
.viewForm .qsmultiresults label.quicksearchitemlabel.active {
    background-color: var(--iq-color-blue-primary);
    color: var(--iq-text-color-inverted);
}

/* Close active labels hover */
.active .close:hover,
.activefield .close:hover {
    background-color: var(--iq-color-white);
    color: var(--iq-color-blue-primary) !important; /* override specificity */
}

#searchForm li label.quicksearchitemlabel.active .labelinner,
#searchForm li label.quicksearchitemlabel.active .labelinner:hover {
    /*opacity: 1;*/
    cursor: pointer;
}

/* optional and / or searching on ACT */
.radioAndOr {
    padding-left: 30px;
}

.radioAndOr label {

    text-align: left;
}

.radioAndOr input[type=radio] {
    width: auto;
}


.multiselect.hasRadioAndOr.quicksearchdynamic {
    position: relative;
    float: left;
    display: inline-block;
}

#searchForm li div.subFilterWrapper {
    display: block;
    width: 100%;
    clear: both;
    margin-left: 230px;
}

/* v6 Merge - #12666 Rupali  */
#searchForm li div.subFilterWrapper.damageFoundAttWrapper {
    display: block;
    width: 100%;
    clear: both;
    margin-top: 8px;
}

#searchForm li.qsSubFilterWrapper {
    width: 100%;
}

#searchForm ul.qsSubFilterWrapper {
    border-top: 0 !important;
}

#searchForm li.qsSearchField {
    width: 100%;
}

#searchForm div.qsFormInner {
    background-color: #efefef;
    border-radius: 4px;
    border-left: medium none;
    border-right: medium none;
    margin: 3px;
    padding: 0 10px 0 5px;

}

#searchForm div.qsFormInner li.chkbox {
    background-color: #fcfcfc;
    border-radius: 2px;
    margin: 5px;
}

#searchForm div.qsFormInner label strong {
    max-width: 250px;
    display: inline-block;
}

#searchForm div.qsFormInner li.chkbox * {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

#searchForm div.qsFormInner .subFilterClose {
    font-size: 1.4em;
    cursor: pointer;
    margin: 0;
    display: block;
    float: right;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    padding-left: 10px;
    padding-top: 3px;
}

#searchForm div.qsFormInner .subFilterClose:hover {
    font-weight: bold;
    opacity: .4;
}

/* SEARCH FORM - Attribute/DataSource Search Builder */
#searchForm ul.attSearchBuilderWrapper,
#searchForm ul.fieldSearchBuilderWrapper,
#searchForm ul.dsSearchBuilderWrapper,
#searchForm ul.ttSearchBuilderWrapper {
}

#searchForm li.attSearchBuilderSelector,
#searchForm li.fieldSearchBuilderSelector,
#searchForm li.dsSearchBuilderSelector,
#searchForm li.grpSearchBuilderSelector {
    width: 100%;
}

#searchForm li div.mainSelWrapper {
    padding-left: 0;
}

#searchForm li div.mainSelWrapper label {
    width: 120px;
    width: 132px; /* testing only - Kali new label size v666 */
}

/* v6 Merge - #13789 Rana */
.sel-wrapper-check ul.fieldgroup {
    margin-left: 115px;
}

#searchForm li div.absLabelwrapper,
#searchForm li div.fsLabelwrapper,
#searchForm li div.dssbLabelwrapper,
#searchForm li div.grpLabelwrapper {
}

#searchForm li div.absLabelwrapper label.mainlabel,
#searchForm li div.dssbLabelwrapper label.mainlabel,
#searchForm li div.fsLabelwrapper label.mainlabel,
#searchForm li div.grpLabelwrapper label.mainlabel {
    /* NOTE: These CSS properties should match those of the .quicksearchitemlabel class and should eventually be consolidated into a single class definition. */
    position: relative;
    display: inline-flex;
    align-items: center;
    width: auto; /* override */
    max-width: none; /* override - needed for edit forms */
    margin: 0.25rem 0.5rem 0.25rem 0; /* old code */
    padding: 0.25rem 0.25rem 0.25rem 0.5rem; /* old code */
    border-radius: var(--iq-border-radius-pill);
    background-color: var(--iq-color-grey-40);
    font-size: .75rem;
    font-weight: 400; /* override - needed for edit forms */
    line-height: 1.2; /* override default form label styles */
    color: var(--iq-text-color);
    white-space: nowrap;

}

#searchForm div.absLabelwrapper label.mainlabel.activefield,
#searchForm div.fsLabelwrapper label.mainlabel.activefield,
#searchForm div.dssbLabelwrapper label.mainlabel.activefield,
#searchForm div.grpLabelwrapper label.mainlabel.activefield {
    /* NOTE: These CSS properties should match those of the .quicksearchitemlabel class and should eventually be consolidated into a single class definition. */
    background-color: var(--iq-color-blue-primary);
    color: #FFF;
}

#searchForm div.absLabelwrapper label.mainlabel .close,
#searchForm div.fsLabelwrapper label.mainlabel .close,
#searchForm div.dssbLabelwrapper label.mainlabel .close,
#searchForm div.grpLabelwrapper label.mainlabel .close {
    /* NOTE: These CSS properties should match those of the '.quicksearchitemlabel span.close' class and should eventually be consolidated into a single class definition. */
    /*float: none; !* override BS *!*/
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height: 1rem;
    margin-left: 0.125rem;
    border-radius: var(--iq-base-font-size);
    font-size: .625rem;
    font-weight: inherit; /* override BS */
    text-shadow: none; /* override BS */
    opacity: 1; /* override BS */
    color: inherit; /* use parent color value */
}

#searchForm div.abfFormInner .subFilterClose {
    font-size: 1.4em;
    cursor: pointer;
    margin: 0;
    display: block;
}

.ul-padded {
    padding-top: 5px;
}

.li-padded {
    padding-top: 5px;
}

#searchForm li .labelinner {
    /*cursor: pointer;*/
    /*display: inline-block;*/
    /*filter: alpha(opacity=50);*/
    /*opacity: 0.5;*/
}

#searchForm li .labelinner:hover {
    /*filter: alpha(opacity=80);*/
    /*opacity: 0.8;*/
}

#searchForm li label.activefield .labelinner,
#searchForm li label.activefield .labelinner:hover {
    filter: alpha(opacity=100);
    opacity: 1;
    cursor: default;
}

#searchForm li div.absResultwrapper,
#searchForm li div.dssbResultwrapper,
#searchForm li div.grpResultwrapper {
    display: block;
    width: 100%;
    clear: both;
}

/* v6 Merge - #13789 Rana */
#searchForm li div.att-selection {
    display: flex;
    flex-direction: column;
}

/* v6 Merge - #13789 Rana */
#searchForm li div.att-selection .absResultwrapper {
    margin-left: 35px;
}

#searchForm li.asbSearchFieldWrapper,
#searchForm li.fsSearchFieldWrapper,
#searchForm li.dssbSearchFieldWrapper,
#searchForm li.grpSearchFieldWrapper {
    width: 100%;
}

#searchForm li.asbSearchField,
#searchForm li.dssbSearchField,
#searchForm li.grpSearchField {
    width: 100%;
}

#searchForm li div.abfFormInner,
#searchForm li div.dssbFormInner,
#searchForm li div.grpFormInner {
    display: flex; /* testing only -  kali v666 form attribute wrapper */
    align-items: center; /* testing only -  kali v666 form attribute wrapper */
    margin: 3px;
    padding: 0 10px 0 5px;
    border-left: medium none;
    border-right: medium none;
    border-radius: 4px;
    background-color: #efefef;

}

#searchForm li div.abfFormInner li.chkbox,
#searchForm li div.dssbFormInner li.chkbox,
#searchForm li div.grpFormInner li.chkbox {
    display: flex; /* testing only -  kali v666 form attribute wrapper */
    align-items: center; /* testing only -  kali v666 form attribute wrapper */
    margin: 5px;
    background-color: #fcfcfc;
    border-radius: 2px;
}

#searchForm li div.abfFormInner label strong,
#searchForm li div.grpFormInner label strong {
    max-width: 250px;
    display: inline-block;
}

#searchForm li div.abfFormInner li.chkbox *,
#searchForm li div.dssbFormInner li.chkbox *,
#searchForm li div.grpFormInner li.chkbox * {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

/* END - #searchForm Field Lists */

/* EDITFORM - LISTS-STYLES
   ========================================================================== */
.editForm h2 {
    border-bottom: 1px solid #666;
    padding-bottom: 10px;
    padding-left: 15px;
}

.editForm ul {
    padding-left: 0;
    list-style: none;
    /*clear: both;*/
}

.editForm ul + ul {
    clear: both;
}

.editForm li {
    padding-right: 5px;
    border-top: 1px solid var(--iq-color-grey-30);
    /*border-left: 15px dashed white;
    border-right: 15px dashed white;*/
}

/* Remove border top of dropdown list options */
.editForm li.btndropdown {
    min-height: 0;
    border-top: none;
}

.editForm li {
    min-height: 2.625rem;
}

.editForm ul li:empty {
    border: none;
}

.editForm ul li.mergeabove {
    border-top: none;
}

.editForm ul li.thicc {
    border-top: 1px solid #666;
    margin-top: 10px;
    padding-top: 10px;
}

/* Merge ~ v6 Merge Andy  */
/* Auto-Emailer - Andy Classes */

.editForm ul.fullWidth li {
    width: 100%;
}

.editForm ul.oneLine {
    width: 100%;
}

.editForm ul.oneLine li {
    width: auto;
    min-width: 25% !important;
    position: relative;
    float: left;
    line-height: 1.8em;
}

.editForm ul.oneLine li select {
    min-width: 55%;
}

.editForm ul.fullWidth li label {
    max-width: 92px !important;
}

.editForm ul.fullWidth li label.quicksearchitemlabel {
    max-width: none !important;
}

.editForm ul.oneLine li label {
    max-width: 92px !important;
}

/* Text input with character countdown ~ v6 Merge - #13175 Andy */
div.row .inputLengthIndicator {
    position: absolute;
    right: 100px;
    top: 10px;
}

/* Text input with character countdown ~ v6 Merge - #13175 Andy */
div.row .inputLengthIndicator.key-required {
    font-weight: normal;
}

/* End : Auto-Emailer Andy Classes

 */
/* hover colour */
/*.editForm ul li:hover {  testing
    background: #fbfbfb;
    border-left: 3px solid var(--iq-color-blue-primary);
}*/

/*.editForm ul ul li:hover {  testing
    background: #fbfbfb;
    border-left: none;
}*/

/* remove border fron first list item */
/*.editForm li:first-child,*/
.editForm ul.fieldgroup li {
    border: none;
}

/* remove border from first row of list-items and add padding*/
.editForm ul:nth-of-type(1) li:first-child,
.editForm ul.list_col_2:nth-of-type(1) li:nth-child(-n+2),
.editForm ul.list_col_3:nth-of-type(1) li:nth-child(-n+3),
.editForm ul.list_col_4:nth-of-type(1) li:nth-child(-n+4) {
    border-top: none;
    /*padding-top: 10px;*/
}

/* editForm - labels */
.editForm label {
    width: 300px;
    max-width: 50%;
    margin-left: 15px;
    /*background-color: transparent;*/
    font-weight: 600;
    text-align: left;
    font-size: 0.875rem;
    color: var(--iq-color-grey-1000);
    line-height: 1.3rem; /* for wrapping labels with tooltip */
}

/* useful for aligning single col list labels with 2 col lists */
.editForm ul.medlabel label {
    width: 180px !important;
}

.modalcontentinner .editForm label {
    width: 150px;
}

.editForm label.short {
    width: auto;
}

.editForm .custFieldGrp span.short {
    width: 33%;
}

.editForm .custFieldGrp button.button {
    position: relative;
    float: right;
    top: 6px;
    margin-right: 7px;
    margin-left: 0;
}

/* fieldgroup - these appear as nested ul tags but contain a group of radio/checkbox buttons and display inline*/
.editForm ul.fieldgroup,
.editForm ul.fieldgroup li {
    display: inline-block;
}

/* Test - Component summary - View attributes values - seed attributes from panel - Select All checkbox - Gloriya */
.editForm ul #selectAllAttrs {
    margin-left: 1.6rem;
}

/* fieldgroup labels */
.editForm ul.fieldgroup label {
    display: inline-block;
    max-width: none;
    width: auto;
    margin-left: 0;
    background-color: transparent;
    color: #666;
    font-weight: normal;
    text-align: left;
}

/* display li > divs inline*/
.editForm li > div {
    display: inline-block; /* testing */
}

/* editForm .list_col_1 : <li> with <label> + <ui-grid>direct siblings. Label 300px, ui-grid width calc(100% - 300px). - TESTING*/
.editForm li:has(> label):has(ui-grid) {
    display: flex;
    align-items: flex-start;
}
.editForm li:has(> label):has(ui-grid) ui-grid {
    width: calc(100% - 310px);
    margin-top: 8px;
}

.editForm .displaybox, #searchForm .displaybox {
    margin: 10px 5px 5px 0;
    min-height: 23px;
    vertical-align: middle;
    display: inline-block;
}

.editForm .displaybox.multiline {
    max-width: 70%;
}

.editForm .company-select-tree{
    width:250px;
    height:32px;
    margin-top:5px;
}

.editForm input {
    width: 250px; /* testing */
}

.editForm input[type="text"].shortfield {
    width: 100px;
}

.editForm input[type="text"].numeric {
    text-align: right;
}

.editForm input[type="radio"],
.editForm input[type="checkbox"] {
    width: auto;
    height: 2rem;
    margin: 5px 0;
    vertical-align: middle;
}

.editForm select {
    width: auto; /* testing */
    min-width: 250px;
}

.editForm select.multiselect {
    height: 150px;
}

.editForm textarea {
    vertical-align: top;
}

.printForm {
    display: block !important;
}

.printForm label {
    vertical-align: middle !important;
}

.questionnaireInput {
    display: block;
    min-height: 120px;
    border: 1px solid #ccc;
    margin-top: 5px;
    margin-bottom: 5px;
}

/* v6 merge - OVP-5904 #21,255 (Kali) EDIT FORM - flexbox modifier classes */
.editForm .edit-form-flex {
    display: flex;
}

.editForm .edit-form-inline-flex {
    display: inline-flex;
}

.editForm .edit-form-flex-column {
    flex-direction: column;
}

.editForm .edit-form-flex-wrap {
    flex-wrap: wrap;
}

/* makes the flex item flexible. The flex item can grow and shrink as needed. (starts with no space and adjusts from there, will make even size)*/
.editForm .edit-form-flex-item-grow {
    flex: 1 1 0;
}

/* auto: Equivalent to 1 1 auto. The flex item can grow and shrink as needed. (starts with the space needed for its content and adjusts accordingly) */
.editForm .edit-form-flex-item-auto {
    flex: auto;
}

/* initial: Equivalent to 0 1 auto. The flex item can shrink but does not grow. */
.editForm .edit-form-flex-item-initial {
    flex: initial;
}

/* none: Equivalent to 0 0 auto. The flex item neither grows nor shrinks. It s sized according to its width and height properties  */
.editForm .edit-form-flex-item-none {
    flex: none;
}
/* End | EDIT FORM - flexbox modifier classes */

/* --- 2 column layout of form fields --- */
/*.editForm ul.list_col_2 {*/
/*    display: grid;*/
/*    grid-template-columns: repeat(2, 1fr);*/
/*    gap: 0 1rem;*/
/*}*/

/*.editForm ul.list_col_2 > li {*/
/*    display: flex;*/
/*    width: initial;*/
/*}*/

.editForm ul.list_col_2 li {
    /*float: left;
    /* border-left: 15px dashed white;
    border-right: 15px dashed white;*/
    width: 47%;
}

.editForm ul.list_modal_col_2 li {
    float: left;
    width: 50%;
}

.editForm .col-md-6 label, /* 6/6 - 2 col, using bootstrap column */
.editForm .col-md-7 label, /* 7/5 - 2 col, using bootstrap column */
.editForm .col-md-5 label,
.col-md-6 .editForm label,
.col-md-7 .editForm label,
.col-md-5 .editForm label,
.editForm ul.list_col_2 label,
label.medlabel {
    width: 180px;
    /*margin-left: 15px;*/
}

.editForm ul.list_col_2 .fieldgroup {
    /*margin: 10px 0 -10px 0;*/
    height: 31px;
}

.editForm ul.list_col_2 .fieldgroup label {
    width: 25%;
    /*margin-left: 15px;*/
}

.editForm .col-md-6 .displaybox, /* 6/6 - 2 col, using bootstrap column */
.editForm .col-md-7 .displaybox, /* 7/5 - 2 col, using bootstrap column */
.editForm .col-md-5 .displaybox,
.col-md-6 .editForm .displaybox,
.col-md-7 .editForm .displaybox,
.col-md-5 .editForm .displaybox,
.editForm ul.list_col_2 .displaybox {
    max-width: 365px;
}

.editForm .col-md-6 label.fulllabel, /* 6/6 - 2 col, using bootstrap column */
.editForm .col-md-7 label.fulllabel, /* 7/5 - 2 col, using bootstrap column */
.editForm .col-md-5 label.fulllabel,
.col-md-6 .editForm label.fulllabel,
.col-md-7 .editForm label.fulllabel,
.col-md-5 .editForm label.fulllabel,
.editForm ul.list_col_2 label.fulllabel {
    width: 300px;
    /*margin-left: 15px;*/
}

.editForm .col-md-6 label, /* 6/6 - 2 col, using bootstrap column */
.editForm .col-md-7 label, /* 7/5 - 2 col, using bootstrap column */
.editForm .col-md-5 label,
.col-md-6 .editForm label,
.col-md-7 .editForm label,
.col-md-5 .editForm label {
    margin-left: 0;
}

/* 2 column - input text */
.editForm .col-md-6 input[type="text"],
.editForm .col-md-7 input[type="text"],
.editForm .col-md-5 input[type="text"],
.col-md-6 .editForm input[type="text"], /* 6/6 - 2 col, using bootstrap column */
.col-md-7 .editForm input[type="text"], /* 7/5 - 2 col, using bootstrap column */
.col-md-5 .editForm input[type="text"],
.editForm ul.list_col_2 input[type="text"] {
    width: 200px;
}

/* 2 column - select */
.editForm .col-md-6 select,
.editForm .col-md-7 select,
.editForm .col-md-5 select,
.col-md-6 .editForm select,
.col-md-7 .editForm select,
.col-md-5 .editForm select,
.editForm ul.list_col_2 select {
    width: auto;
    min-width: 200px;
}

/* 2 column - textarea */
.editForm .col-md-6 textarea,
.editForm .col-md-7 textarea,
.editForm .col-md-5 textarea,
.col-md-6 .editForm textarea,
.col-md-7 .editForm textarea,
.col-md-5 .editForm textarea,
.editForm ul.list_col_2 textarea {
    width: 300px;
    height: 135px;
    padding: 2px 8px;
}

/* 2 column - h2 */
.editForm .col-md-6 h2,
.editForm .col-md-7 h2,
.editForm .col-md-5 h2, /* using bootstrap column */
.col-md-6 .editForm h2,
.col-md-7 .editForm h2,
.col-md-5 .editForm h2,
.editForm ul.list_col_2 h2 {
    border-bottom: 1px solid #666;
    padding-bottom: 10px;
}

.editForm > .editFormModal {
    padding: 10px;
    /*background-color: red;*/
}

.editFormModal {
    /*padding: 10px;*/
    margin-bottom: 5px;
    background-color: #fff;
    border: 1px solid #ddd
}

/* --- 3 column layout of form fields --- */
#searchForm ul.list_col_3 label {
    width: 120px;
    width: 132px; /* testing only - Kali v666 */
}

/* --- 4 column layout of form fields --- */
.editForm ul.list_col_4 label {
    width: 120px;
    width: 132px; /* testing only - Kali v666*/
}

/* --- FIELDGROUP with Columns - li --- */
.editForm .fieldgroup.list_col_2 li,
.editForm .fieldgroup.list_col_3 li,
.editForm .fieldgroup.list_col_4 li {
    float: left;
    height: 33px;
    border-left: none;
    border-right: none;
    display: flex;
    align-items: center;
}

/* --- FIELDGROUP with Columns - radio/checkbox --- */
.editForm .fieldgroup.list_col_2 input[type="radio"],
.editForm .fieldgroup.list_col_2 input[type="checkbox"],
.editForm .fieldgroup.list_col_3 input[type="radio"],
.editForm .fieldgroup.list_col_3 input[type="checkbox"],
.editForm .fieldgroup.list_col_4 input[type="radio"],
.editForm .fieldgroup.list_col_4 input[type="checkbox"] {
    height: auto;
    vertical-align: top;
}

/* --- FIELDGROUP with Columns - label --- */
.editForm .fieldgroup.list_col_2 label,
.editForm .fieldgroup.list_col_3 label,
.editForm .fieldgroup.list_col_4 label {
    width: 90%;
    margin-bottom: 0;
    vertical-align: top;
}

.editForm ul.fieldgroup:nth-of-type(1) li:first-child {
    /*padding-top:0;*/
}

.editForm .toolbar {
    padding: 5px 10px 10px;
}

/* EDIT FORM [ADD DEFECT] - Damage Found LABEL */
.editForm .damageFoundList label.damageFoundListName {
    width: 90%;
}

/* v6 Merge - #12916 Fraser */
/* EDIT FORM [PSMOC] - inheritance sub field */
.editForm .inheritance {
    position: absolute;
    right: 0;
}

/* EDIT FORM [PSMOC] - inheritance sub field */
.editForm .attributeInheritance {
    position: absolute;
    right: 0;
}

/* EDIT FORM .editable  */
.editable label.referencelabel,
#searchForm .editable label.referencelabel,
.editForm .editable label.referencelabel,
.viewForm .editable label.referencelabel {
    /* NOTE: These CSS properties should match those of the '.quicksearchitemlabel' class and should eventually be consolidated into a single class definition. */
    position: relative;
    display: inline-flex;
    align-items: center;
    width: auto; /* override */
    max-width: none; /* override - needed for edit forms */
    margin: 0.25rem 0.5rem 0.25rem 0; /* old code */
    padding: 0.25rem 0.25rem 0.25rem 0.5rem; /* old code */
    border-radius: var(--iq-border-radius-pill);
    background-color: var(--iq-color-grey-40);
    font-size: .75rem;
    font-weight: 400; /* override - needed for edit forms */
    line-height: 1.2; /* override default form label styles */
    color: var(--iq-text-color);
    white-space: nowrap;
}

#searchForm li .editable .labelinner,
.editForm li .editable .labelinner,
.viewForm li .editable .labelinner {
    /* NOTE: These CSS properties should match those of the '.quicksearchitemlabel .labelinner' class and should eventually be consolidated into a single class definition. */
    cursor: pointer;
    display: inline-block;
    /*filter: alpha(opacity=50);*/
    /*opacity: 0.5;*/
}

.editable label.referencelabel span.close,
#searchForm .editable label.referencelabel span.close,
.editForm .editable label.referencelabel span.close,
.viewForm .editable label.referencelabel span.close {
    /* NOTE: These CSS properties should match those of the '.quicksearchitemlabel span.close' class and should eventually be consolidated into a single class definition. */
    float: none; /* override BS */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height: 1rem;
    margin-left: 0.125rem;
    border-radius: var(--iq-base-font-size);
    font-size: .625rem;
    font-weight: inherit; /* override BS */
    text-shadow: none; /* override BS */
    opacity: 1; /* override BS */
    color: inherit; /* use parent color value */
}

/* Close label hover */
.editable label.referencelabel span.close:hover,
#searchForm .editable label.referencelabel span.close:hover,
.editForm .editable label.referencelabel span.close:hover,
.viewForm .editable label.referencelabel span.close:hover  {
    background-color: var(--iq-color-white);
}

/* other form sytles */
ul.subgroup {
    /* @TODO styles - a nested list on an edit form with indented labels and borders removed */
    padding-left: 10px;
}

/* COMPACT GROUP - A nested list on an edit form with indented labels and borders removed */
ul.compactgroup {
    float: left;
    margin: -10px 0 8px;
}

ul.compactgroup.full {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.compactgroup li {
    border: none !important;
    padding: 0;
    margin: 0;
    height: 16px;
}

.viewForm ul.compactgroup li label,
ul.compactgroup li label {
    /*padding: 0;*/
    font-size: 0.87em;
    width: auto;
    margin-right: 10px;
    font-weight: bold;
}

.viewForm ul.compactgroup li .displaybox,
ul.compactgroup li .displaybox {
    font-size: 0.87em;
}

ul.compactgroup li button {
    margin: 4px 0 4px 10px;
}

/* END - COMPACT GROUP */

/* SCENARIOS STYLES */
.scenarioInner .scenarioavailable label {
    width: 78%;
    max-width: none;
}

.scenarioselectlbl {
    padding-left: 20px;
}

/* END - Scenario Styles */

/* EDIT FORM - Add/Edit Defect priority field  [Merged v6 Feb 23 by Amna: ANOM-579] */
.priority-read-only {
    min-width: 250px;
}

/* EDIT FORM - Task Print: Prepare documents for print [Merged v6 Amna: CHRYSAOR-656] */
.task-print {
    display:  flex;
    justify-content: space-between;
    align-items: center;
}

.editForm.task-print-document-order .radiobtn {
    margin-left: var(--iq-space-100);
}

.editForm.task-print-document-order .radiobtn + label {
    padding-left: var(--iq-space-025);
}

/* END - Task print */

/* END - EditForm Styles */

/* VIEWFORM - FORM LIST-STYLES
   ========================================================================== */
/* View Form - label style */
.viewForm label {
    flex: 0 0 13rem;
    /*width: 13rem; !* set width if nested inside an .editForm element *!*/
    margin: 0 1rem 0 0; /* override default label margins */
    color: var(--iq-color-grey-1000);
    font-weight: 600;
    line-height: 1.4;
}

/* View Form - display box */
.viewForm .displaybox {
    flex: 1;
    margin: 0; /* Temp fix issues of nesting within editForms */
    color: var(--iq-color-grey-1000);
    line-height: 1.4;
    overflow-wrap: break-word; /* wraps words that are longer */
}

/* Task summary page - MMS Details - view form */
/* Stops the <span> to overlap the <label>. When <span> contain longer text, the width of the the span overlap the  label and lead to misalignment from the span with shorter content */
#mmsDetails .viewForm .displaybox {
    max-width: 70%;
}

/* MMS View Panel */
.subsWrapperContainer .panel {
    padding: 1rem;
}

/* New CSS class - add top padding to table within <li> */
.viewForm-table {
    padding-top: 5px;
}

/* Task - Send Task to Mobile User */
li.viewForm-table-list {
    display: flex;
}

li.viewForm-table-list label {
    width: 300px;
    margin-right: 37px;
}

.viewForm-table div.alert {
    display: flex;
    width: 86%;
}

li.viewForm-table-list span.viewForm-table {
    width: 86%;
}

/* View Form - display box within a nested accordion */
/*.accordion-group .accordion-group ul li .displaybox {*/
/*    padding-top: 0.9rem; !* inline the <span> with the label *!*/
/*}*/

.modal-backdrop {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* V7-401: base must sit above the fixed menu chrome (.main-header 1004,
       .left-sidebar 1002) so the backdrop never paints behind the menu before
       the async show.bs.modal correction (validation.js) bumps it to ~1039.
       Kept below Bootstrap .modal/.popover (1050). Firefox could paint the old
       transient z-index:100 state (below the menu); Chrome/Edge coalesced it. */
    z-index: 1030;
    background-color: var(--iq-color-grey-1000);
}

.modal-backdrop.in {
    opacity: 0.45;
}

.modal-box {
    box-sizing: border-box;
    position: fixed;
    top: 5vh;
    height: 90vh;
    left: 20vw;
    width: 60vw;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 5px 15px rgb(0 0 0 / 50%);
    border: 1px solid #999;
}

.modal-head {
    /*box-sizing: border-box !important;*/
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10%;
    border-bottom: 1px solid #aaa;
    padding: 1em;
}

.modal-head h2 {
    color: #00567A;
    font-size: 1.75em;
    /*margin: 0;
    color: var(--iq-text-color);
    font-weight: 600;
    font-size: 1.5rem;*/
}

.modal-head .closeBtn {
    position: absolute;
    top: 5px;
    right: 5px;
    /*padding: 0;
    height: auto;
    font-weight: 300;
    font-size: 2rem;
    opacity: 1;*/
}

.modal-foot {
    /*box-sizing: border-box !important;*/
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    border-top: 1px solid #aaa;
    padding: 1em;
    text-align: right;
}

.modal-detail {
    /*box-sizing: border-box !important;*/
    position: absolute;
    top: 10%;
    left: 0;
    width: 100%;
    height: 80%;
    padding: 1em;
    overflow: auto;
}

.fade-enter-active, .fade-leave-active {
    transition: opacity .5s;
}

.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */
{
    opacity: 0;
}

.trendicon, .historyicon, .toleranceicon {
    float: right; /* move property from individual definitions */
    margin: 10px 15px 5px 0;
}

.historyicon {
    height: 20px;
    width: 20px;
}

.toleranceicon {
    height: 20px;
    width: 20px;
}

.viewForm .trendicon,
.viewForm .historyicon,
.viewForm .toleranceicon {
    margin: 0 var(--iq-space-100) 0 var(--iq-space-150);
}

.viewForm .displaytextarea {
    display: block;
    max-height: 75px !important;
    overflow: hidden;
    overflow-y: auto;
}

.viewForm ul {
    clear: both;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    /*width: 100%;*/
}

/* no borders on the first child & fieldgroups UL's */
.viewForm ul:nth-of-type(1),
.viewForm ul ul.fieldgroup {
    border-top: none;
}

/* add margin to top of first list elements */
.panel.viewForm > ul:nth-of-type(1) {
    /*margin-top: 10px; !* not sure if needed, commented out to test *!*/
}

/* @TODO - below styles to be tweaked */

.viewForm li {
    box-sizing: border-box; /* needed if nested in Kendo UI */
    display: flex;
    width: calc(100% - 1rem);
    margin: 0 .5rem;
    padding: .75rem 0;
    border-top: 1px solid var(--iq-color-grey-40);
}

/* remove border from first row of list-items */
.viewForm ul:first-of-type li:first-child,
.viewForm ul.list_col_1:first-of-type li:first-child,
.viewForm ul.list_col_2:first-of-type li:nth-child(-n+2),
.viewForm ul.list_col_3:first-of-type li:nth-child(-n+3),
.viewForm ul.list_col_4:first-of-type li:nth-child(-n+4) {
    border-top: none;
}

/* Nested list - Anomaly Summary Page - Component Details */
#anomalyComponentAccordionContent ul ul li {
    border-top: 1px solid #dedede;
    padding-left: 0;
}

#anomalyComponentAccordionContent ul {
    padding-left: 0.5rem;
}

/* field groups - nested ul tags but contain a group of radio/checkbox buttons */
.viewForm ul.fieldgroup li {
    display: inline-block;
}

.viewForm ul.fieldgroup li label {
    width: auto;
}

.viewForm li > div {
    /*.viewForm li div {*/
    display: inline-block; /* testing */
}

/* 2 column exception - effect all <li> list items under a list-heading */
.viewForm ul.list_col_2 li.list_head ~ li {
    border-top: 1px solid #e1eff5; /* testing only */
}

.viewForm ul.list_col_1 li {
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.viewForm ul.list_col_2 li {
    width: calc(50% - 1rem);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
}

.viewForm ul.list_col_3 li {
    width: calc(33.3% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.viewForm ul.list_col_4 li {
    width: calc(25% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.cellblock > label.labelBlock {
    /*display: block;
    clear: both;*/
    display: table-cell !important; /* missing <span> tag after the label - have the label and the content on the same row */
    padding-top: /*0.675rem*/ 0.8rem;
}

/* Task Summary Screen - Task Details accordion */
/*#taskDetailsState li {
    display: flex;
} */

/* Task Summary Screen - Task Details accordion */
#taskDetailsState li .labelBlock {
    margin-right: 48px;
}

/* VIEW FORM BUTTONS */
/* position TOOLBAR buttons */
.viewForm > .toolbar {
    margin-right: 10px;
    margin-top: 8px;
}

/* position single BUTTONS within <li> */
.viewForm li > button {
    float: right;
    margin-bottom: -13px;
}
/* --- VIEWFORM : TEXT BLOCK --- */
/* overwrite <ul> class 'list_col_2' and set <li> width to 100% */
.viewForm .text-block {
    /*width: 100% !important;*/
    flex: calc(100% - 1rem);
}

.viewForm ul.list_col_2 li.text-block label {
    width: 13rem;
}

.viewForm li.text-block .displaybox, /* temp fix increase specificity to account for viewForms nested within editForms */
.viewForm .text-block .displaybox {
    max-width: 72rem;
}

/* for when we enable content area fullwidth toggle feature */
@supports (max-width: max(72rem, 70%)) {
    .viewForm li.text-block .displaybox,
    .viewForm .text-block .displaybox {
        max-width: max(72rem, 70%); /* Modern browsers */
    }
}

/* TEMP CSS rule:  Make sure that all list items (LI) following a text block have a top border */
.viewForm li.text-block ~ li {
    border-top: var(--iq-border-default) !important; /* override specificity - no other solution until rewrite of CSS list column border rules @todo */
}

/* end : text block --- */

/* View Form - flush-left Removes the left border of list item, intended to be used on nested lists to allow them to align flush with with the parent <li>. Class typically added to the first list item of the nested list <li class="flush-left">. Higher specificity do override other classes */
.viewForm ul li.flush-left {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}

/* END - ViewForm Styles */

/* REPORT STYLES (@TODO)
   ========================================================================== */

/* key swatch styles */
table.tableKey td {
    line-height: 20px;
}

.keySwatch {
    box-sizing: border-box; /* override kendo box model defaults  */
    display: inline-block;
    min-width: 20px;
    height: 20px;
    padding: 0 .25rem;
    border-radius: var(--iq-border-radius-sm);
    font-weight: bold;
    text-align: center;
    color: #fff;
}

/* END - Report Styles */

/* MODAL STYLES
   ========================================================================== */

/* Modal Header */
.modal-header {
    padding: 1.5rem 3.5rem 1rem 1rem;
    border-bottom: none;
}

.modal-header .close {
    position: absolute;
    top: 1.5rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;
    margin: 0;
    border-radius: var(--iq-border-radius-sm);
    box-shadow: none;
    font-weight: 300;
    font-size: 2rem;
    opacity: 1;
}

.modal-header .close:hover {
    background: var(--iq-color-grey-30);
}

/* image modal close button */
.modal-content button.close.overlap,
.modal-content button.close.overlap:hover {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 1;
    font-size: 1em;
    font-weight: bold;
}

.modal-content {
    border-radius: 8px;
}

/* Modal Header Titles */
.modal-title, /* This class name serves as a replacement for the generic class definitions below. It consolidates and refines for improved consistency and maintainability. @todo Reduce specificity to ".modal-title" once html structure for modals consistent */
.modal-header h2,
.modal-header h4 {
    margin: 0;
    padding: 0;
    border: none;
    color: var(--iq-text-color);
    font-weight: 600;
    font-size: /*1.75em*/ 1.5rem;
    line-height: var(--iq-line-height-xl);
}

/* Modal Header Sub Titles - @todo Reduce specificity to ".modal-sub-title" once html structure for modals consistent */
.modal-header .modal-sub-title {
    color: var(--iq-text-color-light);
    font-size: 1rem;
    font-weight: 500;
}

.modal-header .modal-sub-title:not(:first-child) {
    margin-top: .25rem;
    margin-bottom: 0rem;
}

/* Modal Header Icons */
.modal-title .icon-wrap, /* This class name serves as a replacement for the generic class definitions below. It consolidates and refines for improved consistency and maintainability. @todo Reduce specificity to ".modal-title" once html structure for modals consistent */
.modal-header h2 .icon-wrap,
.modal-header h4 .icon-wrap {
    margin-right: .5rem;
}

.modal-title .iq-icon,
.modal-header h2 .iq-icon,
.modal-header h4 .iq-icon {
    width: var(--iq-icon-md);
    height: var(--iq-icon-md);
    stroke-width: 2;
}

.modal-header .modal-sub-title .icon-wrap {
    margin-right: .325rem;
}

.modal-header .modal-sub-title .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
}
/* End : Modal Header Headings */


h1.modalSubHead {
    display: inline;
    margin-bottom: 5px;
    color: #00567A;
    font-size: 1.667em; /* 20 / 12px */
    line-height: 1.5em;
}

/*.modal-dialog {
    overflow-y: initial !important
}*/

.modal-body {
    /*max-height: 80vh;*/
    /*overflow-y: auto;*/
    padding: 0 1rem 1rem;
    line-height: 1.3;
}

/* Temporary solution for those modals that have the modal-footer within the modal-body */
.modal-body .modal-footer {
    margin: 0 -1rem -1rem -1rem;
}

.modal-body #MGNTFormModal {
    margin-bottom: -1rem; /* Temporary fix of bottom margin on Task and Component Groups & Workpacks modal */
}

.modal-footer {
    margin-top: 0;
    padding: /*9px 10px 10px*/ 1rem;
    border-top: none;
    background-color: var(--iq-color-grey-20);
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    display: flex;
    justify-content: flex-end;
}

.modal-footer button {
    margin-left: 0.5rem;
}

.modal-controls {
    margin-top: 10px;
    padding: 9px 10px 10px;
}

/* Task Summary - Time Tracking estimation */

.editTimeTrackEstimationModal {
    margin-bottom: 2rem;
}

.k-content > .modal-footer {
    margin-bottom: -2rem;
}

/* END - Modal */

/* DASHBOARD - STYLES
   ========================================================================== */
ul.groupwrapper {
    position: relative;
}


ul.groupwrapper li {
    list-style: none;
}

/* dashboard ribbon heading */
ul.groupwrapper li h4 {
    background-color: var(--iq-color-blue-primary);
}

ul.groupwrapper li h4:before {
    margin-left: -6px; /* h2 L-padding + :before-W */
    margin-right: 14px; /* push content right */
    background-color: var(--iq-color-blue-primary);
}

/* DASHBOARD ACCORDION - hover */
ul.groupwrapper li h4:hover,
ul.groupwrapper li h4:hover:before {
    background-color: #3EAAF3;
}

/* DASHBOARD ACCORDION - expanded */
.componentDashboardGroup a .toggleArrow {
    background: url(/images/v5/buttons/sprite_icons.png) no-repeat -374px 3px;
}

/* DASHBOARD ACCORDION - collapsed */
.componentDashboardGroup a.collapsed .toggleArrow {
    background-position: -354px 4px;
}

/* dashboard panel subheadings */
ul.groupwrapper ul.groupwrapper li.componentDashboardGroup h4 {
    width: 100%;
    height: 30px;
    padding: 0 10px 0 0;
    margin-top: 9px;
    margin-left: 0;
    margin-right: 0;
    background-color: #999;
    color: #fff;
    font-size: 0.917em;
    line-height: 30px;
}

ul.groupwrapper ul.groupwrapper li.componentDashboardGroup h4:before {
    content: ".";
    display: inline-block;
    height: 36px;
    width: 3px;
    margin-left: -3px;
    margin-right: 3px; /* push outside content right */
    background-color: #999;
    color: transparent;
}

/* dashboard panel */
ul.groupwrapper li.componentDashboardGroup {
    float: left;
    width: 100%;
    padding: 0 10px 10px;
    margin: 10px 0;
    border: none;
    border-radius: 4px;
    background-color: #ececec;
}

/* dashboard subpanel */
ul.groupwrapper ul.groupwrapper li.componentDashboardGroup {
    width: auto;
    min-height: 165px;
    min-width: 150px;
    padding: 0 10px 0 0;
    margin:  0px 0 0 10px;
    border-radius: 4px;
    background-color: #fff;
    -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.20);
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.20);
}

/* dashboard subpanel lists */
ul.groupwrapper ul.groupitems {
    float: left;
}

ul.groupwrapper ul.groupitems ~ ul.groupitems {
    margin-left: 10px;
}

/* dashboard subpanel individual list-items */
ul.groupwrapper ul.groupitems li {
    float: left;
    clear: both;
    margin: 0 5px 10px 20px;
    border-right: 1px solid #fff;
}

/* dashboard links */
.componentDashboardItem a,
.componentDashboardItem a:visited,
.componentDashboardItem a:active {
    color: #666;
}

.componentDashboardItem a:hover,
.componentDashboardItem a:focus {
    color: #3eaaf3;
}

.componentDashboardItem .status_swatch {
    all: unset; /*delete default button styles */
    display: inline-block;
    width: 10px;
    height: 15px;
    border-radius: 4px;
    background-color: #ececec;
    cursor: pointer;
    vertical-align: middle;
    margin: 0 4px 0 0;
}

/* Dashboard classes */
div.dashItem.bordered {
    border: 1px solid #f7f7f7;
}
/* Apply specific padding to the parent .componentDashboardGroup with the custom class */
ul.groupwrapper li.componentDashboardGroup {
    padding: 0 10px 10px 0;
}
/* COMMENT BOX */
.comment_box {
    border-bottom: 1px solid #E0E0E0;
    margin-bottom: 10px;
    padding: 1rem;
}

.comment_box:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.comment_box button {
    float: right;
}

.comment_box .badge {
    margin-bottom: 5px;
    border-radius: 4px;
    font-size: 0.917em;
}

.comment_box h5 {
    font-weight: bold;
}

.comment_box h5 span {
    font-weight: normal;
}

.comment_box .displaybox {
    display: block;
    width: 85%;
    padding-bottom: 10px;
}

/* test area */
.comment_box textarea {
    width: 100%;
    height: 265px;
    padding: 4px 10px;
}

/* END - Comment Box */

/* LOGIN & FORGOT PASSWORD
   ========================================================================== */
.login {
    display: flex;
    flex-direction: row;
    width: 832px;
    margin: 0 auto;
    min-height:32rem;
}

.login-panel-right {
    width: /*416px*/ 50%;
    background-color: var(--iq-color-blue-800);
    border-radius: 0 8px 8px 0;
    box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.08);
    padding: 5rem 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-panel-left {
    width: /*416px*/ 50%;
    background-color: var(--iq-color-white);
    border-radius: 8px 0 0 8px;
    box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.08);
    padding: 5rem 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.iq-credit {
    display: flex;
    justify-content: center;
    align-items: center;
}

.manualReset {
    margin-top: 0 !important;
}

h2.password-forgotten-heading {
    margin-bottom: 1rem;
}

h2.login-heading,
h3.login-heading {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.one-logo {
    display: block;
    margin: 0 auto;
    width: 12rem;
}
.login img {
    display: block;
    margin: /*25px auto*/ 0;
}

img.loginPageONELOGO {
    /*padding-bottom: 3rem;*/
    padding: 0 0 2.5rem;
}

.login .loginPageClientLogo {
    display: block;
    max-width: 18rem;
    max-height: 5rem;
    margin-bottom: 1.5rem;
}

.loginArea {
    border-radius: 4px;
    /*overflow: hidden;*/
}

.login label {
    margin: 0 0 0.25rem 0;
    font-size: 0.875rem;
    text-align: right;
    color: var(--iq-color-black);
}

.login input {
    margin: 0;
    width: 100%;
    padding: 0 0.5rem;
}

.login input.userPassword {
    padding-right: 50px;
}

.iq-credit p {
    color: var(--iq-color-white);
    opacity: 0.7;
    font-size: 0.625rem;
    margin: 0;
    padding-right: 0.5rem;
}

.login .passwordContainer {
    width: 100%;
    height: var( --iq-space-400);
    margin-bottom: 10px;
}

.login .passwordDisplay {
    width: 70%;
    float: left;
    padding-left: 33%;
    margin-top: 5px;
    font-weight: bold;
}

.login .showHideButton {
    width: 30%;
    float: left;
    padding-left: 4%;
}

.login .passwordCopyMessage {
    /*NA*/
}

.login .loginPageDisclaimer,
.footerNotice {
    color: var(--iq-text-color-light);
    font-size: var(--iq-body-text-sm);
    text-align: justify;
    line-height: 1.25;
}

.ssl {
    height: 55px;
    margin-top: 2.5rem;
    text-align: center;
}

.login-form-email,
.login-form-btn {
    margin-bottom: 0.75rem;
}

.forgot-pass .login-form-email,
.login-form-passw {
    margin-bottom: 1.5rem;
}

.forgot-pass .login-heading {
    width:300px;
}

.login-form-btn.reset-pass {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.reset-pass .button-primary {
    margin-bottom: 1rem;
}

.login-terms {
    margin-top: 1rem;
}

.login-terms p {
    margin-bottom: 0;
    font-size: 0.75rem;
    color: var(--iq-color-grey-300);
}

.login-terms-modal p {
    margin-bottom: 1rem;
    color: var(--iq-color-black);
    font-size: 0.875rem;
}

.login-terms a {
    color: inherit;
    text-decoration: underline;
}

.login-terms a:hover {
    color: var(--iq-link-hover-color);
    text-decoration: none;
}

.login-terms-modal .modal-dialog {
    width: 560px;
    margin: 0 auto;
    top: 30%;
}

.login-passw-label {
    display: flex;
    justify-content: space-between;
}

p.reset-info {
    font-size: inherit;
    font-weight: 400;
    color: var(--iq-color-grey-300);
    margin: 0 0 1rem 0;
    line-height:1.3;
}

.forgot-pass h3 {
    margin-bottom: 0.25rem;
}

.login-form-passw .input-group:hover,
.login-form-passw .input-group:focus,
.login-form-passw .input-group {
    width: 100%;
    border: 0;
    border-radius: 0;
    background: none;
    outline: none;
}

.login-form-passw .input-group span {
    position: absolute;
    top: 4px;
    left: 254px;
    height: 25px;
    display: flex;
    align-items: center;
}

.login-form-passw .input-group span svg {
    width: 16px;
    height: 16px;
    color: var(--iq-color-grey-90);
}

.login-form-passw .input-group span svg:hover {
    color: var(--iq-color-black);
    cursor: pointer;
}

.forgot-pass .panel-footer {
    padding: 0;
    background-color: inherit;
    border-top: none;
    border-radius: 0;
}

.forgot-pass .alert.alert-compact {
    margin-bottom: 1.5rem;
    margin-top: 0.5rem;
}

/* New Password  */
.new-pass .panel-footer {
    padding: 0;
    background-color: inherit;
    border-top: none;
    border-radius: 0;
}

.passwordCopyMessage {
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--iq-color-grey-300);
    margin-bottom: 1rem;
}

.new-pass .passwordContainer {
    display: flex;
    justify-content: space-between;
    margin: 0.5rem 0 1.5rem 0;
}

.new-pass .passwordContainer span {
    height: 22px;
    display: flex;
    /*margin-right: var(--iq-space-150);*/
}

.new-pass .passwordContainer span svg {
    height: 16px;
    width: 16px;
    display: flex;
    cursor:pointer;
    color:var(--iq-color-grey-90);
    margin-right: 0.75rem;
}

.new-pass .passwordContainer span svg:hover {
    height: 16px;
    width: 16px;
    display: flex;
    color: var(--iq-color-black);
}
.new-pass .passwordDisplay {
    width: 78%;
    font-weight: bold;
    outline-offset: -2px;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-20);
    margin-top: 0;
    padding: 16px 0 16px 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.iq-icon.iq-icon-eye.new-password {
    height: 16px;
    width: 16px;
    stroke: var(--iq-color-grey-90);
}
.iq-icon.iq-icon-eye.new-password:hover {
    stroke: var(--iq-color-black);
    cursor: pointer;
}

/* Modal Password Reset */

.modal-reset-pass .passwordContainer {
    display: flex;
    margin: 0.5rem 0;
}

.modal-reset-pass .passwordDisplay {
    width: 78%;
    font-weight: bold;
    outline-offset: -2px;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-20);
    margin-top: 0;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-reset-pass .passwordContainer span {
    margin-right: 1rem;
    height: 0.5rem;
    display: flex;
    align-items: center;
}

.modal-reset-pass .copy-pass-btn {
    margin-left: 1rem;
}

/* || Maintenance Mode Screen */
.maintenance-schedule .icon-wrap {
    color: var(--iq-color-blue-primary);
}

/* END - Login Page */

/* SELECT ASSET (change asset)
   ========================================================================== */
/* Asset List Item - DEFAULT */
.asset-item {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
    padding: 1rem 1rem 1rem 1.5rem;
    border: 0;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.02), 0 2px 4px -2px rgb(0 0 0 / 0.02);
    background-color: white;
}

/* Bootstrap Override .list-group-item */
.asset-item,
.asset-item:first-child,
.asset-item:last-child {
    border-radius: var(--iq-border-radius-md);
}

.asset-name {
    flex: 2;
    font-size: 1.125rem;
    font-weight: 600;
}

.asset-seat-count,
.asset-available-count {
    flex: 0 1.5rem;
    display: flex;
    justify-content: flex-end;
    font-size: 20px;
    font-weight: 600;
}

.asset-label {
    flex: none;
    margin-left: 1rem;
    font-size: 14px;
    font-weight: 400;
    color: var(--iq-text-color-light);
}

.asset-cop {
    display: inline-block;
    margin-left: 0.5rem;
}

.asset-seat-count + .asset-label {
    padding-right: .5rem;
}

.asset-action {
    flex: 1;
    text-align: right;
}

.asset-action .icon-wrap {
    margin-right: 1.25rem;
    vertical-align: middle;
}

.asset-action .iq-icon {
    width: 2rem;
    height: 2rem;
    stroke-width: 2px;
    color: var(--iq-color-white);
}

.asset-item .vr {
    align-self: auto;
    flex: none;
    margin-left: 2%;
    margin-right: 2%;
}

/* Hover State */
.asset-item:hover {

}

/* Active Asset Item - currently selected asset */
.asset-item.active {
    background-color: var(--iq-color-blue-primary);
    color: var(--iq-text-color-inverted);
}

.asset-item.active .asset-label {
    color: var(--iq-color-blue-200);
}

/* Disabled Asset Item*/
.asset-item.disabled {

}

/* Corporate Seats Item*/
.asset-corp {
    background-color: var(--iq-color-grey-30);
    box-shadow: none;
}

/* Select Asset Modal */
.modal-body .asset-list {
    margin-bottom: 0;
}

.modal-body .asset-item {
    padding: 0.75rem 0.75rem 0.75rem 1em;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    box-shadow: none;
}

.modal-body .asset-cop {
    margin-left: .25rem;
}

.modal-body .asset-item.active {
    border-color: var(--iq-color-blue-primary) ;
}

.modal-body .asset-corp {
    border-color: var(--iq-color-grey-20);
    background-color: var(--iq-color-grey-20);
}


/* END - Select Asset */

/* FOOTER NOTICE
   ========================================================================== */
.footerNotice {
    margin: 10px 0;
    text-align: center;
}

/* END - Footer Notice */

/* PANEL YELLOW
   ========================================================================== */
/* panel yellow - irrelevant CSS */
/*.panel.yellow {
    background-color: #ffffcc;
}

.panel.yellow li,
.panel.yellow ul.list_col_2 li,
.panel.yellow ul.list_col_3 li,
.panel.yellow ul.list_col_4 li {
    border-color: #cccc99 #ffffcc;
}*/

/*.panel.yellow label,
.panel.yellow .displaybox {
	color: #333;
}*/
.panel.yellow li.cellblock > .displaybox {
    display: block;
    margin-right: 100px;
    margin-bottom: 5px;
}

/*.panel.yellow .toolbar {
    margin-right: 10px;
    margin-top: 8px;
}*/

/* YELLOW - ribbon heading */
/*h3.yellowRibbonHeading {
    display: inline-block;
    min-width: 250px;
    padding: 0 8px 0 20px;
    margin-bottom: 0;
    background-color: #FFD52D; !*! #FF8F01; testing !*!
    font-size: 1.083em;
    line-height: 35px;
    height: 35px;
    color: #333;
}*/

/*h3.yellowRibbonHeading:before { */
/*margin-left: -26px; */
/*margin-right: 14px; */
/*background-color: #FFD52D; !*#FF8F01; testing *! */
/* } */

/* END - yellow panel */

/* ANOMALY STYLES - MISC
   ========================================================================== */
.highlightSelectedTP {
    background-color: #FC6 !important;
}

.highlightLowestTP {
    background-color: #F96 !important;
}

/* END - anomaly styles */

/* COMPONENT STYLES - MISC
   ========================================================================== */
/* component search table styles */
.componentTag,
.componentTag label {
    font-weight: bold;
    margin: 0;
}

.componentTag .displaybox {
    font-size: 0.917em;
}

/* END - component styles */

/* COMPONENT TREE
   ========================================================================== */
/* TREE li heights */
.jstree li {
    min-height: 22px !important; /* override inline styles */
    line-height: 22px !important; /* override inline styles */
}

/* adjust background image */
.jstree-apple .jstree-leaf > ins {
    background-position: -36px 2px !important; /* override styles */
}

.jstree a {
    color: #2A6496 !important;
}

/* TREE link hover */
.jstree a:hover {
    color: #428BCA !important;
}

/* TREE alternating white rows */
.jstree > ul > li:nth-child(odd) {
    background-color: #fff;
}

/* TREE alternating grey rows */
.jstree > ul > li:nth-child(even) {
    background-color: #F8F9F9;
}

/* END - Component Tree */

/* ALERT BOXES - Bootstrap-3 Component Overrides and Customisations
   ========================================================================== */
.alert {
    position:relative;
    margin-bottom: 1rem;
    padding: 1rem 1rem 1rem 3rem;
    border: none;
    border-radius: 0;
}

.alert button.close {
    width: 2rem;
    height: 2rem;
    color: var(--iq-text-color);
    text-shadow: none;
    opacity: 1;
    font-size: 1.75rem;
    font-weight: 300;
}

/* Alert links */
.alert .alert-link {
    font-weight: var(--iq-font-weight-semibold);
    text-decoration: underline;
}

.alert .alert-link:hover {
    text-decoration: none;
}

/* Alert lists */
.alert .alert-list {
    padding-left: var(--iq-space-300);
}

.alert .alert-list-item {}

/* Alert Danger */
.alert-danger {
    background-color: #feedec;
    border-left: 3px solid #fb5b53;
    color: var(--iq-color-red-700);
}

.alert-danger::before {
    background: url(/images/icons/alert-error-filled.svg);
    background-size: cover;
}

.alert-danger .alert-link {
    color: var(--iq-color-red-800);
}

/* Alert Information */
.alert-info {
    background-color: #e8f0fe;
    border-left: 3px solid #0074e8;
    color: #0074e8;
}

.alert-info::before {
    background: url(/images/icons/alert-info-filled.svg);
    background-size: cover;
}

.alert-info .alert-link {
    color: var(--iq-link-color);
}

/* Alert Success */
.alert-success {
    background-color: #e3f6ed;
    border-left: 3px solid #0ac282;
    color: #00a760;
}

.alert-success::before {
    background: url(/images/icons/alert-success-filled.svg);
    background-size: cover;
}

.alert-success .alert-link {
    color: var(--iq-color-green-800);
}

/* Alert Warning */
.alert-warning {
    background-color: #FFF1E3;
    border-left: 3px solid #fd9b4c;
    color: #ee7138;
}

.alert-warning::before {
    background: url(/images/icons/alert-warning-filled.svg);
    background-size: cover;
}

.alert-warning .alert-link {
    color: var(--iq-color-orange-900);
}

/* Alert Neutral - use on white backgrounds */
.alert-neutral {
    background-color: #F7F8FB; /*#F4F5F7;*/
    border-left: 3px solid #0074e8;
    color: var(--iq-color-grey-90);
}

.alert-neutral::before {
    background: url(/images/icons/alert-info.svg);
    background-size: cover;
}

/* Alert Icons - added as pseudo elements */
.alert::before {
    content: " ";
    position: absolute;
    left: 1rem;
    width: 20px;
    height: 20px;
}

/* alert boxes nested within panels/panel-groups */
.panel .alert,
.panel-group .alert {
    margin: 5px;
}

/* Alerts Medium - Custom Modifier Class */
.alert.alert-medium {
    margin: 0 0 0.5rem 0;
    padding: .875rem 1rem .875rem 2.5rem;
    border-left: 0;
    border-radius: var(--iq-border-radius-sm);
}

.alert.alert-medium::before {
    left: 0.75rem;
}


/* Alerts Compact - Custom Modifier Class */
.alert.alert-compact {
    margin: 0 0 0.75rem 0;
    padding: 0.5rem 0.5rem 0.5rem 2.25rem;
    border-left: 0;
    border-radius: var(--iq-border-radius-sm);
}

.alert.alert-compact::before {
    left: 0.5rem;
}

/* Notification used in Sign Off Sections */
.signoff-section .alert-compact {
    margin: 0;
    border-radius: var(--iq-border-radius-sm);
}

/* Dismissable alerts overwriting Bootstrap CSS. Also in validation.js function */
.alert-dismissable,
.alert-dismissible {
    padding-right: 3rem;
}

.alert-dismissible .close,
.alert-dismissable .close {
    position: absolute;
    top: .75rem;
    right: .5rem;
    border-radius: var(--iq-border-radius-sm);
}

.alert-dismissible .close:hover,
.alert-dismissible .close:active,
.alert-dismissible .close:focus,
.alert-dismissable .close:hover,
.alert-dismissable .close:active,
.alert-dismissable .close:focus {
    background-color: #CCD2DB80;
}

.alert-dismissible .close:focus:not(:focus-visible),
.alert-dismissable .close:focus:not(:focus-visible) {
    outline: none;
}

/* END - ALERT BOXES */


/* TOOLTIPS - Bootstrap v3 Component - Overrides
   ========================================================================== */
.tooltip {
    z-index: 1151 !important;
    /* position required to fix z-index issue with tip appearing behind other elements */
    position: fixed;
}

.tooltip.in {
    filter: alpha(opacity=100);
    opacity: 1;
}

.tooltip-html .tooltip-inner {
    /*white-space:pre-wrap;*/
    max-width: 600px;
    text-align: left;
}

.tooltip-inner {
    white-space: pre-wrap;
    padding: 0.25rem 0.375rem;
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-800);
    color: var(--iq-text-color-inverted);
    font-size: 0.75rem;
    font-weight: 400;
}

.tooltip.top .tooltip-arrow {
    border-top-color: var(--iq-color-grey-800);
}

.tooltip.right .tooltip-arrow {
    border-right-color: var(--iq-color-grey-800);
}

.tooltip.bottom .tooltip-arrow {
    border-bottom-color: var(--iq-color-grey-800);
}

.tooltip.left .tooltip-arrow {
    border-left-color: var(--iq-color-grey-800);
}

/* END - Tool Tips */

/* POPOVER - Bootstrap v3 Component - Overrides
   ========================================================================== */
.popover {
    border-color: var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    z-index: 1050;
}

.popover-title {
    padding: .5rem .75rem;
    border-bottom: 0;
    border-radius: calc(var(--iq-border-radius-sm) - 1px) calc(var(--iq-border-radius-sm) - 1px) 0 0;
    background-color: var(--iq-color-white);
    font-size: 1rem;
    font-weight: 600;
}

.popover-content {
    padding: .5rem .75rem;
    font-weight: initial; /* override inherited font weight */
}

.popover-content p {
    /*margin: @todo */
}

.popover > .arrow {
    border-width: 9px;
}

.popover > .arrow:after {
    border-width: 8px;
}

.popover.top > .arrow {
    bottom: -9px;
    margin-left: -9px;
    border-top-color: var(--iq-color-grey-40);
}

.popover.top > .arrow:after {
    margin-left: -8px;
}

.popover.right > .arrow {
    left: -9px;
    margin-top: -9px;
    border-right-color: var(--iq-color-grey-40);
}

.popover.right > .arrow:after {
    bottom: -8px;
}

.popover.bottom > .arrow {
    top: -9px;
    margin-left: -9px;
    border-bottom-color: var(--iq-color-grey-40);
}

.popover.bottom > .arrow:after {
    margin-left: -8px;
}

.popover.left > .arrow {
    right: -9px;
    margin-top: -9px;
    border-left-color: var(--iq-color-grey-40);
}

.popover.left > .arrow:after {
    bottom: -8px;
}

/* END - Popover */

/* PROGRESS BAR
   ========================================================================== */
/* display progressbar within a list */
li .progress,
li .progressbar .progress-bar {
    display: block !important;
    margin-bottom: 0;
}

/* position progressbar within a viewForm */
.viewForm li div.progress {
    position: relative;
    top: 2px;
}

/* progressbar background colour red */
div.progress.taskSummarySubTaskPercentage {
    background-color: #D9534F;
}

/* END - Progress Bar */

/* LOADERS - spinners
   ========================================================================== */
/* Loader - Spinner */
/* LOADER : Base Styles */
.iq-loader {
    /*    position: absolute;*/
    /*    top: 0;*/
    /*    right: 0;*/
    /*    bottom: 0;*/
    /*    left: 0;*/

    display: flex;
    justify-content: center;
    align-items: center;
    animation: iq-fade-in .5s var(--iq-ease-in-out);
}

.iq-loader-spinner {
    width: 2rem;
    height: 2rem;
    border: var(--iq-border-width-400) var(--iq-border-style-solid) var(--iq-border-color-default);
    border-bottom-color: var(--iq-color-blue-primary);
    border-radius: var(--iq-border-radius-circle);
    animation: iq-spin 1s infinite linear;
}

.iq-loader-message {
    max-width: 29rem;
    font-size: var(--iq-body-text-lg);
    font-weight: 600;
}

/* LOADER : Size Modifiers */
/* Size small */
.iq-loader-sm .iq-loader-spinner {
    width: 1rem;
    height: 1rem;
    border-width: var(--iq-border-width-300);
}

.iq-loader-sm .iq-loader-message {
    font-size: var(--iq-body-text-md);
    font-weight: 400;
}

/* Size medium */
.iq-loader-md .iq-loader-spinner {
    width: 2rem;
    height: 2rem;
    border-width: var(--iq-border-width-400);
}

.iq-loader-md .iq-loader-message {
    font-size: var(--iq-body-text-lg);
    font-weight: 600;
}

/* Size large */
.iq-loader-lg .iq-loader-spinner {
    width: 2.75rem; /* 4rem; */
    height: 2.75rem; /* 4rem; */
    border-width: var(--iq-border-width-500);
}

.iq-loader-lg .iq-loader-message {
    font-size: var(--iq-body-text-2xl);
    font-weight: 600;
}

/* LOADER : Colour Modifiers */
.iq-loader-inverted .iq-loader-spinner {
    border-color: rgba(255, 255, 255, 0.3);
    border-bottom-color: var(--iq-color-white);
}

.iq-loader-inverted .iq-loader-message {
    color: var(--iq-color-white);
}

/* LOADER : Position Modifiers */
.iq-loader-message-top,
.iq-loader-message-bottom {
    flex-direction: column;
}

.iq-loader-message-top .iq-loader-message {
    order: -1;
    margin-bottom: var(--iq-space-100);
}

.iq-loader-message-bottom .iq-loader-message {
    order: 1;
    margin-top: var(--iq-space-100);
}

.iq-loader-message-left .iq-loader-message {
    order: -1;
    margin-right: var(--iq-space-100);
}

.iq-loader-message-right .iq-loader-message {
    order: 1;
    margin-left: var(--iq-space-100);
}

/* Loader Spinner Animation */
@keyframes iq-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* CSS Loader Fade-in Animation */
@keyframes iq-fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
/* END  Loader - spinner */

/* loader image */
.loader {
    display: inline-block;
    margin-left: 10px;
}

/* loader in a modal */
.modal-body .loaderWrapper {
    margin-bottom: 20px;
    text-align: center;
}

.modal-scrollable {
    max-height: 500px;
    overflow: auto;
}

/* replace button with loading image */
h2 div.loading {
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    width: 50px;
    height: 50px;
    background: url(/software/images/loading.gif) no-repeat 50% 50%;
    content: "";
}

td.loading {
    background: url(/software/images/loading.gif) no-repeat 50% 50%;
    content: "";
}

/* ||  BUTTON LOADER - Spinner */
.button.loading {
    position: relative;
    color: transparent; /* hide button text */
}

button.loading:disabled {
    opacity: 1;
}

.button.loading::before {
    content: "";
    position: absolute;
    box-sizing: border-box; /* if added kendo grid which uses content-box, causing conflicts with bootstrap elements */
    width: 1.25rem;
    height: 1.25rem;
    border: 3px solid rgba(0 0 0 / 20%);
    border-top-color: #0074e8;
    border-radius: 50%;
    animation: iq-spin .8s linear infinite;
}

/* White Loaders */
.button-primary.loading::before,
.button-danger.loading::before,
.button-warning.loading::before {
    border: 3px solid rgb(255 255 255 / 25%);
    border-top-color: var(--iq-color-white);
}
/* END - Kali testing button  loader*/

.paginationBar a.loading {
    background: url(/software/images/loading.gif) no-repeat 50% 50% !important;
    box-shadow: none;
    border: none;
    color: rgba(0, 0, 0, 0);
}

table.loading tbody {
    position: relative;
}

table.loading tbody:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.5);
    background-image: url(/software/images/loading.gif);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50px 50px;
    content: "";
}
/* Table Cell Loading - use pseudo element */
/*td.loading {*/
/*    position: relative;*/
/*}*/
/*td.loading::before {*/
/*    content: '';*/
/*    !* center with-in element *!*/
/*    position: absolute;*/
/*    top: 0;*/
/*    right: 0;*/
/*    left: 0;*/
/*    bottom: 0;*/
/*    margin: auto;*/
/*    !*width: 1.25rem;*!*/
/*    !*height: 1.25rem;*!*/
/*    !*border: 3px solid rgba(0 0 0 / 20%);*!*/
/*    !*border-top-color: #0074e8;*!*/
/*    !*border-radius: 50%;*!*/
/*    !*animation: loading-spinner .8s linear infinite;*!*/
/*}*/

/* END - Loading */

/* HISTORY/TASK SUMMARY/CLOSE ANOMALY FEATURED BOX 
   ========================================================================== */
/* featured box */
.detailsFeatureBox {
    position: relative;
    padding: 5px 10px;
    background-color: #ECECEC;
    border-radius: 4px;
    width: 200px;
    height: 100%;
    margin-left: -5px;
    left: -25px;
    top: -5px;

}

/* featured box - right arrow */
.detailsFeatureBox:after,
.detailsFeatureBox .right-triangle {
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -5px;
    width: 0;
    height: 0;
    border-left: 5px solid #ECECEC;
    border-top: 5px solid rgba(0, 0, 0, 0);
    border-bottom: 5px solid rgba(0, 0, 0, 0);
}

/* right arrow - :after */
.detailsFeatureBox:after {
    content: ' ';
}

/* right arrow - div */
.detailsFeatureBox .right-triangle {
    border-left: 5px solid green;
    z-index: 100;
}

/* END - Featured Box */

/* HELP MANUAL 
   ========================================================================== */
#helpManualPageWrapper {
    width: 100%;
    padding: 0;
}

/* END - Help Manual */

/* MATRIX
   ========================================================================== */

#matrixContainer{
    padding: 1rem;
}

#matrixContainer option {
    color: #000;
}

div.matrix {
    margin: 0 auto;
}

table.matrix {
}

table.matrix tbody th, table.matrix tbody td {
    vertical-align: middle;
    height: 60px;
}

table.matrix tr.matrixRow {
}

table.matrix tr.matrixRow th {
    font-weight: normal
}

table.matrix tr.matrixRow td {
    border: 1px solid black;
    text-align: center;
    width: 60px;
}

table.matrix tr.matrixRow td.active {
    border: 4px solid black;
}

table.matrix tfoot th, table.matrix thead th {
    height: 40px;
}

table.matrix tbody th.yAxisName {
    width: 20px;
    /* writing-mode: tb-rl; */ /* Alan Gillespie 12/02/2016 - to make writing vertical, and not overlap matrix */
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    font-weight: bold;
}

/* v6 Merge - #13349 Amna */
.riskMatrixButtons {
    float: right;
    border-top: none;
}

/* v6 Merge - #13349 Amna */
#overflowRiskMatrix {
    display:none;
    width: 1050px;
    height: 100%;
    /*float: left;*/
    background-color: #fff;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid grey;
    white-space: nowrap;
    margin-top: -1.3rem;
}

/* v6 Merge - #13349 Amna */
#matrixContainer .xAxisMatrixName {
    width:1050px;
    border:solid 1px black;
    margin-top:5px;
    margin-left: 185px;
    height:25px;
    text-align: center;
    /*float:left;*/
    clear: both;
}

/* v6 Merge - #13349 Amna */
.matrixXLabel {
    width: 100%;
    height:25px;
    margin-left: 5px;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* v6 Merge - #14497 Rupali */
.stepperContainer {
    padding-bottom: 5px;
}

/* v6 Merge - #14497 Rupali */
.affectedElementContainer {
    border: 1px solid #dedede;
    margin: 20px;
    width: auto;
}

/* v6 Merge - #14497 Rupali */
.affectedElementContainer .displaybox {
    width: 50px;
}

/* v6 Merge - #14497 Rupali */
.affectedElementContainer .fieldgroup {
    margin-left: 110px;
}

/* Risk Matrix Affected Table - these classes need checking and width adjusted */
/* v6 Merge-feb-24 - #17740 ANOM-428 - Amna */
.panel.affectedElementContainer .k-grid .k-header:first-of-type {
    width: 160px;
}

/* v6 Merge-feb-24 - #17740 ANOM-428 - Amna */
.panel.affectedElementContainer .k-grid .k-master-row td:first-of-type {
    width: 160px;
}

/* v6 Merge-feb-24 - #17740 ANOM-428 - Amna */
.panel.affectedElementContainer .k-grid .k-header:last-of-type {
    width: 110px;
}

/* v6 Merge-feb-24 - #17740 ANOM-428 - Amna */
.panel.affectedElementContainer .k-grid .k-master-row td:last-of-type {
    width: 109.5px;
}

/* v6 Merge-feb-24 - #17740 ANOM-428 - Amna */
.panel.affectedElementContainer .k-grid .k-master-row td:last-of-type label {
    max-width: 80%;
    margin-left: 0;
}

#displayRiskHistory {
    width: 100%;
    padding: 10px 0;
    box-sizing: border-box;
    overflow: hidden; /* or auto */
}


/* Ensure noDataStoredTxt is properly positioned */
#displayRiskHistory .noDataStoredTxt {
    display: block;
    margin: 10px 0;
    padding: 5px 5px 5px 16px;
    box-sizing: border-box;
}

/* END - Matrix */

/* JS Sortable Lists
   ========================================================================== */

.blockRow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.blockRow > [class*='col-'] {
    display: flex;
    flex-direction: column;
}

span.grippy {
    /*content: '....';*/
    width: 10px;
    height: 20px;
    display: inline-block;
    overflow: hidden;
    line-height: 5px;
    cursor: move;
    vertical-align: middle;
    margin-top: -.7em;
    margin-right: .3em;
    font-size: 12px;
    font-family: sans-serif;
    letter-spacing: 2px;
    color: #b0b0b0;
    text-shadow: 1px 0 1px black;
}

span.grippy:after {
    content: '.. .. ..';
}

ul.sortablelist li {
    width: 100%;
    padding: 0 30px;
    line-height: 20px;
    border-left: 5px solid #333;
    background: #eee;
    list-style: none;
}

ul.sortableNoBorderLeft li {
    border-left: 0 !important;
}

ul.sortablelist li.setGroup,
ul.sortablelist li.attSetGrp {
    min-height: 30px;
}

ul.sortablelist li li {
    border-left-color: green;
}

ul.sortablelist li li li {
    border-left-color: yellow;
}

ul.availList,
ul.scrollable {
    max-height: 80vh;
    overflow: scroll;
}

/*To Keep the div from going over the page fold*/
.shortPage {
    max-height: 600px;
}

.veryShortPage {
    max-height: 200px;
}

.modal ul.availList {
    height: 400px;
    overflow: scroll;
}

ul.availList li {
    border-left-color: #000;
}

ul.sortablelist li label {

}

ul.sortablelist li label.setGroupLabel,
ul.sortablelist li label.attSetGrpLabel {
    cursor: pointer;
}

ul.sortablelist li.setGroupItem {
    cursor: move;
    opacity: 0.75;
    filter: alpha(opacity=75); /* For IE8 and earlier */
}

ul.sortablelist li.attSetGrpAtt {
    opacity: 0.75;
    filter: alpha(opacity=75); /* For IE8 and earlier */
    cursor: default;
}

ul.sortablelist li.setGroupItem label {
    cursor: move;
}

ul.sortablelist li.attSetGrp span.grippy {
    cursor: default;
}

ul.sortablelist li.attSetGrpAtt span.grippy {
    cursor: default;
}

ul.sortablelist li.attSetGrpAtt.ui-draggable span.grippy {
    cursor: move;
}

ul.sortablelist li.setGroupItem:hover,
ul.sortablelist li.attSetGrpAtt:hover {
    opacity: 1;
    filter: alpha(opacity=100); /* For IE8 and earlier */
}

ul.sortablelist li.sortable-empty {
    cursor: default;
    font-style: italic;
    opacity: 0.75;
    filter: alpha(opacity=75); /* For IE8 and earlier */
}

/* AE - specific mods for Task Export builder */
.editForm ul#attSetGrps,
.editForm ul#availFields {
    margin-top: 10px;
}

ul.sortablelist li {
    padding: 0 0 0 30px !important;
}

.editForm ul#attSetGrps li,
.editForm ul#availFields li {
    /*background-color: #aaaaaa !important;*/
    border-right: 0 !important;
    border-top: 1px solid #dedede !important;
    /*border-top: 0 !important;*/
}

.editForm ul#attSetGrps > li > ul > li,
.editForm ul#availFields > li {
    border-top: 1px solid #dedede !important;
}

.editForm ul#attSetGrps li label,
.editForm ul#availFields li label {
    max-width: 90%;
    width: 300px;
}

ul.availFields {
    width: 100%;
    max-height: 51em;
    overflow: auto;
}

div.blockRow #attSetGrps {
    max-height: 45.25em;
    overflow: auto;
}

ul#assignedFields {
    max-height: 45.25em;
    overflow: auto;
}

#availableComponentLocations ul.availFields,
#assignedComponentLocations ul#assignedFields {
    width: 100%;
}

.settingsIcon a {
    display: inline-block;
    width: 35px;
    height: 25px;
    background-image: url(/images/v5/menu/sprite_menu.png);
    background-repeat: no-repeat;
    background-position: -250px 0;
}
.settingsIcon a:hover {
    background-position: -250px -50px;
}
.settingsIcon.active a {
    background-position: -250px -100px;
}

ul#availFields .settingsIcon {
    display: none;
}

ul#assignedFields li.attSetGrpAtt > div > span > label {
    margin-top: 1.5em;
}

/* Add to ONLY the outer <ul> of a sortable list to force a height on the top level containing <ul>.
   NOTE: This is a temp solution (until v666 rework) to resolve issue of left & right sort/draggable lists being unequal heights */
ul.sortablelist-outer {
    height: 80vh !important; /* force height, specificity conflicts */
    max-height: none !important; /* clear max-height, specificity conflicts */
    background-color: #f7f7f7;
    overflow: auto;
}

/* AJAX File Upload
   ========================================================================== */
#fileUploadWrapper {
    padding-right: 1rem;
}

.cellblock #fileUploadWrapper.addPicture .ajax-file-upload-container div {
    padding: initial;   /* temp hack - clear padding until .cellblock class removed new html */
}

div#fileUploadWrapper.addPicture .ajax-file-upload-container .ajax-file-upload-statusbar {
    margin: 0;
    padding: .5rem;   /* temp hack - add padding until .cellblock class removed new html */
}

#fileuploader {
    display: flex;              /* temp fix - override until new html */
    flex-direction: column;     /* temp fix - override until new html */
    padding: .5rem 0;           /* temp fix - override until new html */
}

.editForm li div#fileuploader div {
}

#fileuploader .ajax-upload-dragdrop {
    display: inline-flex;               /* temp fix - override until new html */
    justify-content: space-between;     /* temp fix - override until new html */
    align-items: center;
    max-width: 70rem;                   /* temp fix - override until new html */
    padding: .5rem 1rem .5rem .5rem;    /* temp fix - override until new html */
    border: 1px dashed var(--iq-color-grey-60);
    border-radius: var(--iq-border-radius-sm);
    background-color: #F8F9FA;
    color: var(--iq-text-color-light);
}

.ajax-upload-dragdrop b {
    font-weight: inherit;       /* temp fix - override until new html */
}

#fileuploader .ajax-upload-dragdrop.state-hover {
    border-color:  var(--iq-color-blue-600);
    background-color: #E3F2FC ;
}

#fileUploadWrapper div.button,
.fileUploadWrapper div.button {
    display: inline-flex;       /* temp fix - override until new html */
    margin: .25rem;
    padding: 0 8px !important;
}

/* Fix - Added pseudo element to resolve cursor issue on <input type="file"> in some browsers - will still have issues on earlier browsers.*/
.ajax-upload-dragdrop input[type="file"]::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 200;
    cursor: pointer;
}

/*!* Hack to enable cursor on file input button *!*/
/*#fileuploader input[type="file"] {*/
/*    margin: 0;*/
/*    padding: 0;*/
/*}*/

/*!* Hack to enable cursor on file input button *!*/
/*#fileuploader  input::file-selector-button {*/
/*    padding: 0;*/
/*    height: 2rem;*/
/*    border: 0;*/
/*    border-radius: 0;*/
/*    cursor: inherit;*/
/*}*/

#fileUploadWrapper div.button:hover,
.fileUploadWrapper div.button:hover {
    background-color: #CCD2DB;
}

.ajax-file-upload-error {
    /* @todo */
}

#fileUploadWrapper div.ajax-file-upload-cancel,
.fileUploadWrapper div.ajax-file-upload-cancel {
    padding: 4px 8px !important;
}

#fileUploadWrapper div.ajax-file-upload-bar,
.fileUploadWrapper div.ajax-file-upload-bar {
    height: 2em;
    padding-top: 3px;
}

div.ajax-file-upload-statusbar {
    padding: 8px;
    border-color: var(--iq-color-grey-50-rgba);
}

.ajax-file-upload-statusbar label {
    margin-left: 0; /* temp fix - override until new html */
}

div.ajax-file-upload-statusbar img {
    display: block;     /* temp fix - need parent wrapper */
    width: 100%;
    max-width: 100%;    /* temp fix - override inline width */
    max-height: 232px;  /* temp fix - override inline height */
    min-height: 232px;  /* temp fix - override inline height */
    margin: 0 auto .5rem;       /* temp fix - vert center image until parent wrapper added */
    padding: 0;         /* temp fix - override padding */
    object-fit: contain;
    background-color: #F4F5F7;  /* temp fix - spacing until parent wrapper added */
}
#modal-container .modal-content .ajax-file-upload-filename,
#fileUploadWrapper .ajax-file-upload-filename {
    margin: 0 0 .25rem;
    padding-right: .25rem;
    color: var(--iq-text-color-light);
    word-wrap: break-word;
}

/* @TODO replace with utility class .text-truncate to element, then delete  */
#fileUploadWrapper.addPicture .ajax-file-upload-filename,
#fileUploadWrapper.addDocument .ajax-file-upload-filename {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#fileUploadWrapper .ajax-file-upload-container {
    width: 100%;
    padding: 0;
}

#fileUploadWrapper.addPicture .ajax-file-upload-container,
#fileUploadWrapper.addDocument .ajax-file-upload-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, 428px); /* temp fix - override inline width */
    grid-gap: 1rem;
}

div#fileUploadWrapper.addPicture div.ajax-file-upload-container .extrahtml label,
div#fileUploadWrapper.addDocument div.ajax-file-upload-container .extrahtml label {
    width: 8rem;
}

div#fileUploadWrapper.addPicture div.ajax-file-upload-container .extrahtml .radiobtn + label,
div#fileUploadWrapper.addDocument div.ajax-file-upload-container .extrahtml .radiobtn + label {
    width: auto; /* temp fix - override inline width due to specificity override above */
}

div#fileUploadWrapper.addPicture div.ajax-file-upload-statusbar,
div#fileUploadWrapper.addDocument div.ajax-file-upload-statusbar,
div#supermodal-container div.ajax-file-upload-statusbar {
    width: 428px;
    top: 0;
    position: relative;
    /*float: left;*/ /* Removed this line as it was breaking the video uplaod progress bar.  Is is needed elsewhere? */
}

div#fileUploadWrapper.addPicture div.ajax-file-upload-statusbar li,
div#fileUploadWrapper.addDocument div.ajax-file-upload-statusbar li,
div#fileUploadWrapper div.ajax-file-upload-statusbar li,
div.ajax-file-upload-statusbar li {
    border: none;
    margin-left: 0;
    list-style: none;
}

div#supermodal-container div.ajax-file-upload-statusbar li {
    margin-left: 1em;
}

div.modal-body div.ajax-file-upload-form {
    display: none;
}

div.modal-body div.ajax-file-upload-form.show-file-upload-fields {
    display: block;
}

/* END - Ajax file upload */

/* GOOGLE COMPONENT MAP STYLES*/
.mapComponentMarkerTooltip {
    /*float: left;*/
    /*position: relative;*/
    /*padding: 5px;*/
    /*width: 280px;*/
    /*!*height: 75px;*!*/
    /*height: 90px;*/
}

.mapComponentMarkerTooltip label {
    color: #666;
    font-size: 0.917em;
    font-weight: bold;
    margin-left: 0;
    margin-right: 5px;
    width: 70px;
    text-align: right;
}

.mapComponentName,
.mapComponentType {
    float: left;
    width: 100%;
}

#mapMarkerTooltipBody {

    float: left;
    position: relative;
    padding: 5px;

}

#map-canvas {
    width: 100%;
    height: 600px;
    margin: 0;
    padding: 0;
}

/** ESRI Map - Component Tree Map
   ==========================================================================
 */


#layerOptions input[type="checkbox"] {
    display: inline-block;
    margin-right: 8px;
    height: 24px;
}

#layerOptions .col-md-6 div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
}


#layerOptions .col-md-6 div span {
    margin-right: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
}


.col-md-8 #toogleBaseMapLayer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
}


.col-md-8 #toogleBaseMapLayer span {
    margin-right: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

#toogleBaseMapLayer input[type="radio"] {
    margin-right: 8px;
}

#recenterMap {
    margin-top: 4px;
}

#anomalies_legend .color-legend,#components_legend .color-legend {
    display: flex;
    align-items: center;
}

#anomalies_legend .color-legend-item, #components_legend .color-legend-item {
    height: 20px;
    margin-right: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 12px;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#anomalies_legend .color-legend-item:first-child ,#components_legend .color-legend-item:first-child {
    margin-right: 0;
}

#anomalies_legend .color-legend-item:last-child , #components_legend .color-legend-item:last-child {
    margin-right: 0;
}

#anomalies_legend .color-legend-item span , #components_legend .color-legend-item span {
    padding: 0 6px;
}

#anomalies_legend .color-legend-item:first-child span, #components_legend .color-legend-item:first-child span {
    padding-left: 0;
}

#anomalies_legend .color-legend-item:last-child span , #components_legend .color-legend-item:last-child span {
    padding-right: 0;
}

.esri-legend {
    display: none;
}

/* Component map - both legends are opt-in via the "Show Legends" checkbox,
   toggled as state classes on #viewDiv by js/esriMap.js. The heatmap legend
   also needs one of the heatmap layers switched on. */
#viewDiv.show-legends.show-heatmap-legend .esri-legend {
    display: block;
}

#viewDiv:not(.show-legends) .comp_legend {
    display: none;
}

.comp_legend {
    padding: 16px;
    width: 260px;
    background: white;
}

.comp_legend .esri-popup__navigation {
    background-color: #f3f3f3;
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 0;
    justify-content: center;
}

.comp_legend .esri-widget__heading {
    margin: 8px 0;
}

.comp_legend-equipment-type {
    display: flex;
    flex-direction: column;
}

.comp_legend-equipment-type div {
    margin: 8px 0;
}

.comp_legend-equipment-type div img {
    width: 20px;
    height: 20px;
    margin-right: var(--iq-space-050);
}

.esri-legend__message {
    display: none;
}

/* Custom context menu styling */
.context-menu {
    display: none;
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    padding: 10px;
    width: 200px;
}
.context-menu-item {
    padding: 8px;
    cursor: pointer;
}
.context-menu-item:hover {
    background-color: #f0f0f0;
}

/* Contact Hist
   ========================================================================== */

.histTime {
    font-size: 0.9em;
    font-style: italic;
}

.histwrapper {
}

.histwrapper ul.nav-tabs.nav {
    margin-bottom: 20px;
}

.histwrapper .tab-content ul.nav-tabs.nav,
.histwrapper .tab-content .tab-content {
    margin: 20px;
}

.dateContainer {
    border-top: 1px solid #dedede;
}

.histwrapper div.datedetails,
.histwrapper div.actiondetails {
    padding: 0 10px;
    margin-top: 0;
}

.tab-pane .dateContainer:first-of-type,
.dateContainer .viewForm:first-of-type li {
    border-top: none;
}

.historyDate {
    float: left;
    width: 50%;
    font-weight: bold;
    padding-top: 5px;
}

.historyTime {
    width: 50%;
    float: right;
    padding-top: 5px;
}

/*Anomaly History*/

.displayDefectHistoryTime {
    font-size: 0.9em;
}

.displayDefectHistoryContact {
    color: #666666 !important;
    font-size: 14px;
}

.displayDefectHistoryHighlight th {
    font-family: var(--iq-font-stack);
    font-weight: normal !important;
    text-transform: none !important;
    color: #ECECEC;
    background-color: #ECECEC !important;
}

.displayDefectHistoryHighlight td {
    background-color: #FFFFFF !important;
}

.mediumBadge {
    width: 155px;
    float: left;
}

/*li.userlogitem {*/
/*font-weight: bold;*/
/*text-transform: uppercase;*/
/*background-color: #ececec;*/
/*border: 1px solid #dedede;*/
/*padding-left: 20px;*/
/*}*/

/*.viewForm .userlogitem label {*/
/*vertical-align: middle;*/
/*padding-top: 0;*/
/*}*/

/* RBA CSS
   ========================================================================== */

.rbathreatsummary {
    padding-bottom: 8px;
}

.rbathreatsummaryinner {
    height: 125px;
}

.rbathreatsummary .catwrapperselected {
    margin-top: 0 !important;
}

.threatitem {
    margin-top: 10px;
}

.threatitem .toolbar {
    margin-top: -30px;
}

/* v6 Merge - #13581 Rupali */
.eventConfigContainer {
    width: 750px;
}


/* PLOT PLAN CSS
   ========================================================================== */

.status-bar {
    height: 25px;
    line-height: 16px;
    border-bottom: 1px solid #dedede;
    background-color: #eee;
}

.status-bar label {
    margin-left: 20px;
    margin-right: 10px;
    font-weight: bold;
    display: inline-block;
}

.status-bar span {
    margin-right: 20px;
    display: inline-block;
}

.ppPopup {
    position: absolute;
    z-index: 9999;
    /*opacity: 0.9;*/
    /*filter: alpha(opacity=90); !* For IE8 and earlier *!*/
}

/* SPEECH BUBBLE WITH A BORDER AND TRIANGLE */
.triangle-border {
    position: relative;
    min-height: 100px;
    min-width: 150px;
    padding: 10px;
    margin: 0;
    border: 5px solid #0e2d7d;
    color: #000;
    background: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.triangle-border:before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 40px;
    border-width: 20px 20px 0;
    border-style: solid;
    border-color: #0e2d7d transparent;
    display: block;
    width: 0;
}

.triangle-border:after {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 47px;
    border-width: 13px 13px 0;
    border-style: solid;
    border-color: #fff transparent;
    display: block;
    width: 0;
}

/* Variant : top */
.triangle-border.top:before {
    top: -20px; /* value = - border-top-width - border-bottom-width */
    bottom: auto;
    /*left: auto;*/
    /*right: 40px; !* controls horizontal position *!*/
    border-width: 0 20px 20px;
}

.triangle-border.top:after {
    top: -13px; /* value = - border-top-width - border-bottom-width */
    bottom: auto;
    /*left: auto;*/
    /*right: 47px; !* value = (:before right) + (:before border-right) - (:after border-right) *!*/
    border-width: 0 13px 13px;
}

/* Variant : left */
.triangle-border.left:before {
    top: 10px; /* controls vertical position */
    bottom: auto;
    left: -30px; /* value = - border-left-width - border-right-width */
    border-width: 15px 30px 15px 0;
    border-color: transparent #0e2d7d;
}

.triangle-border.left:after {
    top: 16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
    bottom: auto;
    left: -21px; /* value = - border-left-width - border-right-width */
    border-width: 9px 21px 9px 0;
    border-color: transparent #fff;
}

/* Variant : right */
.triangle-border.right:before {
    top: 10px; /* controls vertical position */
    bottom: auto;
    left: auto;
    right: -30px; /* value = - border-left-width - border-right-width */
    border-width: 15px 0 15px 30px;
    border-color: transparent #0e2d7d;
}

.triangle-border.right:after {
    top: 16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
    bottom: auto;
    left: auto;
    right: -21px; /* value = - border-left-width - border-right-width */
    border-width: 9px 0 9px 21px;
    border-color: transparent #fff;
}

.graph-bar-outer {
    border: 1px solid #000000;
    background-color: #f0f0ee;
    display: block;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffe607+2,31e209+50,ff3535+100 */
    background: #ffe607; /* Old browsers */
    background: -moz-linear-gradient(left, #31e209 5%, #ffe607 10%, #ffcc33 30%, #ff3535 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #31e209 5%, #ffe607 10%, #ffcc33 30%, #ff3535 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #31e209 5%, #ffe607 10%, #ffcc33 30%, #ff3535 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe607', endColorstr='#ff3535', GradientType=1); /* IE6-9 */
    height: 17px;
}

.graph-bar-blocker {
    display: inline-block;
    height: 15px;
    width: 0;
    margin: 0;
    float: right;
    background-color: #f0f0ee;
}

/* PLOT DIAGRAM *
   ========================================================================== */

.masterDiagramListing:after {

}


/* SRA (PRISM) CSS
   ========================================================================== */

body.sramodule table thead th {
    background-color: #c2b5a3;
    color: #000000;
}

body.sramodule table thead th a {
    position: relative;
    margin-bottom: -0.25em;
    color: #234093;
    font-size: 1.25em;
}

body.sramodule .accordion-group > .panel-heading {
    background-color: #234093;
}

body.sramodule .accordion-group .accordion-group > .panel-heading {
    background-color: #5c585b;
}

body.sramodule #creationWizard .active:after, body.sramodule #creationWizard .active:hover:after {
    border-left-color: #234093;
}

body.sramodule #creationWizard .active, body.sramodule #creationWizard .active:hover {
    background: #234093;
}

.sratable.table-bordered tr td, .sratable.table-bordered tbody tr td {
    vertical-align: middle;
}

body.sramodule table.sratable td span.displaybox {
    display: block;
    margin-top: 10px;
}

.locationAnomalyCount,
.systemTypeAnomalyCount {
    width: 100%;
    font-size: 0.9em;
}

.componentAnomalyCount {
    width: 85%;
    color: var(--iq-color-grey-500);
    font-size: 0.875rem;
    font-weight: normal;
    text-transform: capitalize;
    line-height: 1.5rem;
    margin-top: 1rem;
}


/*.componentAnomalyCountsBorderTop,*/
.locationAnomalyCountsBorderTop,
.systemTypeAnomalyCountsBorderTop {
    border-top: 1px solid var(--iq-color-grey-40);
}

.summaryWrapper .extraDetailsWrapper .componentAnomalyCountsBorderTop {
    border-top: none;
}


/*Mikeys Test CSS*/
/*
.lockButton{
    margin-right: 50px !important;
    display: inline-block;
    padding: 0px 8px;
    border: 1px solid #dedede;
    -webkit-box-shadow: 0px 2px 3px #a7a5a6;
    -moz-box-shadow: 0px 2px 3px #a7a5a6;
    box-shadow: 0px 2px 3px #a7a5a6;
    background: #dedede url(/images/v5/buttons/button_bg_grey.jpg) repeat-x left top;
    color: #666666;
    font-size: 0.917em;
    font-weight: bold;
    text-transform: capitalize;
    line-height: 27px;
    height: 29px;
    vertical-align: middle;
    outline: none;
    white-space: nowrap;
}
*/

/*Used to force a minimum  height on an empty li*/
.emptyListItem {
    height: 38px;
}

.shortsummaryListPanel {
    margin-bottom: 0 !important;
}

/*Used on the short summary attribute template*/
.shortsummarydisplayBox {
    /*
        No styles are being applied but that is fine as it
        suits the requirment of the data being shown on screen
     */
}

/*User Groups Admin*/

#displayButtonContainer {
    position: relative;
    width: 80%;
    float: left;
}

#addUserToGroupsButton {
    position: relative;
    width: 20%;
    float: left;
}

/*Import Admin*/
.importTDSeperator {
    border-right: 1px solid #CCCCCC;
}

.importTDSeperatorHeader:last-child,
.importTDSeperator:last-child {
    /* styles */
    border-right: 0;
}

.importTDSeperatorHeader {
    border-right: 1px solid #FFFFFF;
    background-color: #CCCCCC;
    vertical-align: top;
}

.importMapResult {
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
}

/* Tasking Module - Drafts */
tr.draft td {
    /*background: #eee !important;*/
}

/* Tasking Module - Projects */
tr.project td.status .componentTag {
    padding: 10px 4px;
    background: #285064 !important;
    -moz-border-radius: 10px;
    border-radius: 10px;
    color: #fff !important;
    text-align: center;
}

tr.project.subproject td.status .componentTag {
    padding: 10px 4px;
    background: #3592ac !important;
    -moz-border-radius: 10px;
    border-radius: 10px;
    color: #fff !important;
    text-align: center;
}

tr.project td.status .componentTag a {
    color: #fff !important;
}

h2 .headerpath {
    display: inline-block;
    margin: 0 2px;
    padding: 0;
    transition: all 0.3s;
    transform: skewX(-10deg);
}

h2 .headerpath span {
    display: block;
    transform: skewX(10deg);
}

h2 a.endpath {
    margin: 0 0 0 10px;
}

h2 .headerpath a.headerbreadcrumb {
    display: block;
    height: 35px;
    padding: 0 20px;
    font-size: 0.7em !important;
    line-height: 35px;
    transition: all 0.3s;
}

h2 .headerpath a.headerbreadcrumb.project {
    background-color: #285064;
}

h2 .headerpath a.headerbreadcrumb:hover {
    color: #fff;
    background-color: #12242d;
    text-decoration: none !important;
}

/*Modal version of task header*/
h2 .headerpathmodal {
    display: inline-block;
    margin: 0 2px;
    padding: 0;
}

h2 span.endpathmodal {
    margin: 0;
}

h2 .headerpathmodal span.headerbreadcrumb {
    display: block;
    height: 35px;
    padding: 0;
    font-size: 0.7em !important;
    line-height: 35px;
}

table.small {
}

table.small th,
table.small td {
    padding: 2px 5px;
}

/* mid form config table
========================================================================== */
table.table-config {
    width: auto;
    margin-left: 50px;
}

table.table-config th,
table.table-config td {
    padding: 2px 5px;
}

table.table-config > thead > tr > th,
table.table-config > tbody > tr > th {
    border-color: inherit;
    background-color: inherit;
    color: inherit;
}

/* Gantt Chart Specific
========================================================================== */
.highlighted-column {
    background-color: #fff3a1;
}

.gantt_task_scale .gantt_scale_cell {
    cursor: default;
}

.gantt_task_scale .gantt_scale_cell.highlighted-column {
    color: #454545;
    font-weight: bold;
}

.column_sort {
    background-image: url(/software/lib/dhtmlxGantt/codebase/skins/grd_SortDesc.gif);
    background-repeat: no-repeat;
    background-position: 5px 50%;
}

.gantt_grid_head_cell {
    padding-left: 20px;
    text-align: left;
}

/*Alert Mark as Read*/
.mark_as_read {
    font-size: 1.6rem;
    line-height: 0.3;
    font-weight: 300;
    color: var(--iq-text-color);
    opacity: 1;
    margin-right: 0.7rem;
}

.mark_as_read:hover {
    opacity: 1;
}

/*CRM Related CSS*/

.poundDisplay {
    vertical-align: middle;
    /*border: 1px solid black;*/
}

.percentDisplay {
    vertical-align: middle;
    /*border: 1px solid black;*/
}

/* TASK QUESTIONS
========================================================================== */

/* QUESTION MODULE */
li.question-view {
    display: flex;  /* merged from v6 OVP-5904 18-nov-24 */
    flex-direction: column;
    /*border-top: none !important;*/
    /*padding-top: 10px;*/
}

.modal .question-view {
    width: 98%;
    margin-left: 2%;
}

.question-text label {
    display: block;
    width: initial;
    max-width: none;
    margin: 0 0 0.25rem;
    padding-top: 0;
    color: var(--iq-text-color-light);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;


}

.question-text .format-question-label {
    white-space: pre-line;
}

.question-text .displaybox {
    display: block;
    width: initial;
    max-width: none; /* Extend the width of the question and avoid wrapping on question text - this would change based on design requirement - Gloriya */
    margin: 0;
    padding-right: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.panel-group .panel.questionAttributes {
    /*margin-top: 8px;*/
    /*margin-bottom: 8px;*/
}

.tick:before,
.tickheavy:before,
.cross:before,
.crossheavy:before {
    position: absolute;
    margin-left: -35px;
    font-size: 1.5em;
}

.tick:before {
    content: "\2713";
    color: darkgreen;
}

.tickheavy:before {
    content: "\2714";
    color: darkgreen;
}

.cross:before {
    content: "\2717";
    color: crimson;
}

.crossheavy:before {
    content: "\2718";
    color: crimson;
}

span.redFlagOn {
    color: darkred;
}

span.redFlagOff {
    color: lightgrey;
}

span.questionRedFlag {
    display: inline-block;
    width: 25px;
}

span.questionRedFlag:after {
    content: "\2691";
    font-size: 2.1em;
}

.fail {
    border-color: darkred;
}

.questionNumbering {
    position: absolute;
    display: inline-block;
    margin-left: -10px;
    color: #234093;
    font-weight: normal;
    font-size: 1.2em;
    font-style: italic;
    font-family: Tahoma, Arial, sans-serif;
}

.question-view .questionNumbering {
    width: 20px;
    margin-left: -37px;
    text-align: right;
}

.questionNumbering:before {
    content: "";
}

.questionNumbering:after {
    content: ")";
}

.question-view-inner {
    width: 100%;
    /*border-left: 5px solid #DEDEDE;*/
    /*padding-left: 5px;*/
}

li.question-view.filter_answered .question-view-inner {
    /*border-left-color: #00e250;*/
}

li.question-view.filter_actioned .question-view-inner {
    /*border-left-color: #ff6600;*/
}

/* NEW TASK QUESTIONS - V666-369
========================================================================== */
/* Kali NEW Task Question Styles */
.panel-heading a {
    justify-content: normal; /* overrdide accordion heading spacing */
}

.task-section .accordionBtn {
    margin-left: auto;
}

/* Task Section Status : Icon in task section accordion header */
.task-section-status {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: var(--iq-space-100);
}

.task-section-status .iq-icon {
    width: var(--iq-icon-md);
    height: var(--iq-icon-md);
}

/* Task Section Status in Kendo UI TabStrip : configured to display integrated tasks as tabs instead of accordions */
.k-tabstrip .task-section-status {
    width: 1rem;
    height: 1rem;
    margin-right: var(--iq-space-075);
}

.k-tabstrip .task-section-status .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
}

/*  Not-Started - no questions have been started */
.task-section-status.not-started .iq-icon {
    color: var(--iq-color-grey-80);
}

/*  Started - 1 or more questions have been answered */
.task-section-status.started .iq-icon{
    color: var(--iq-color-blue-primary);
}

/*  Complete - all questions are answered and completed */
.task-section-status.complete .iq-icon {
    color: var(--iq-color-green-600);
}

.question-group .question-view,
.question-view-inner {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.question-group .question-view {
    margin-bottom: 1.5rem;

}

.question-group-heading {
    margin-top: .5rem;
    margin-bottom: 1rem;
    font-size: 1.25rem;
}

/* Question Header */
.question-view .question-view-header {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 2rem;
    margin-bottom: .5rem;
}

.question-view .question-view-header-content {
    display: flex;
    flex: 1;
    margin-right: 1.5rem;
}


/* Question dot status ------------- */
.question-view-header .question-status-dot {
    flex: 0 0 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1rem;
    margin: 1px 0.75rem 0 0;
}

/* Unanswered question dot */
.filter_unanswered .question-status-dot .iq-icon {
    width: .75rem;
    height: .75rem;
    color: var(--iq-color-grey-50);
    stroke-width: 2px;
}

/* Started question dot */
.filter_started .question-status-dot .icon-wrap {
    width: 1.125rem;
    height: 1.125rem;
    color: var(--iq-color-blue-primary);
}

/* Completed question dot */
.filter_answered .question-status-dot .iq-icon {
    width: 1.125rem;
    height: 1.125rem;
    color: var(--iq-color-green-600);
}

/* Question num status ------------- */
.question-view-header .question-status-num {
    flex: 0 0 1.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.5rem;
    height: 1.25rem;
    border-radius: var(--iq-border-radius-circle);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

.filter_unanswered .question-status-num {
    background-color: var(--iq-color-grey-30);
}

.filter_started .question-status-num {
    color: var(--iq-color-white);
    background-color: var(--iq-color-blue-primary);
}

.filter_answered .question-status-num {
    color: var(--iq-color-white);
    color: var(--iq-color-green-600);
}


/* Question Text & Code ------------- */
.question-view-header .question-text-container {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.question-view-header .question-code {
    margin-bottom: .25rem;
    color: var(--iq-text-color-light);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.question-view-header .question-text {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.question-text .link-icon {
    margin-left: .25rem;
}

.popover .question-answered-dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .375rem
}

.popover .question-answered-dates span  {
    white-space: nowrap;
}


/* Toolbar */
.question-view-header .toolbar {
    display: flex;
    align-self: flex-start;
    margin: 0 1rem 0 0;
}


/* Question Attributes */
/*.question-view .questionAttributes {*/
.question-view.filter_unanswered .questionAttributes,
.question-view.filter_started .questionAttributes,
.question-view.filter_answered .questionAttributes {
    display: flex;
    padding: 0;
    border: 0;
    border-radius: var(--iq-border-radius-sm);
}

/*.question-view .questionAttributes::before {*/
.question-view.filter_unanswered .questionAttributes::before,
.question-view.filter_started .questionAttributes::before,
.question-view.filter_answered .questionAttributes::before {
    content: "";
    display: inline-block;
    margin: 1rem 1rem 1rem 0.5rem;
    border-left: 2px solid  var(--iq-color-grey-30);
}

.question-view.filter_unanswered .questionAttributes::before {
    border-left-color: var(--iq-color-grey-30);
}

.question-view.filter_started .questionAttributes::before {
    border-left-color: var(--iq-color-blue-primary);
}

.question-view.filter_answered .questionAttributes::before {
    border-left-color: #00B76B;
}

/* In a question-view, there can be Sub-questions that are nested within Question Attributes container */
.question-view .questionAttributes ul.attribute-list-group { /* override list specificity issues */
    flex: 1;
    margin-top: .75rem;
}

.attribute-list-group > li { /* override list specificity issues */
    min-height: auto;
    margin: 0 0 .75rem 0;
    padding: 0;
    border: none;
}

.attribute-list-group .question-text {
    /*color: var(--iq-text-color-med);*/
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.question-view .questionAttributes ul.list_col_3,
.question-view .questionAttributes ul.list_col_2,
.question-view .questionAttributes ul.list_col_1 {
    flex: 1;
    margin-top: 0;
    padding: .5rem !important;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
}


/* Question Controls (integrated Tasks) */
.integratedTaskViewWrapper .task-section-controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 3rem;
    padding: .5rem 1rem;
    border-radius: var(--iq-border-radius-sm);
}

#divMain .controls.task-section-controls {
    min-height: 3rem; /* override specificity for #divMain */
}

.integratedTaskViewWrapper .panel.controls.task-section-controls .toolbar {
    margin: 0 0 0 1.5rem;
}

.controls-message {
    display: inline-flex;
    align-items: center;
}

.controls-message .icon-wrap {
    width: 1rem;
    height: 1rem;
    margin-right: .25rem;
}

/* Active Controls */
.task-section-controls.active {
    background-color: var(--iq-color-grey-20);
    color: #009553;
}

/* Pending Controls */
.task-section-controls.pending {
    background-color: var(--iq-color-blue-100);
    color: var(--iq-color-blue-primary);
}

.task-section-controls.pending .fw-semibold {
    display: inline-block;
    margin: 0 0.25rem;
}

/* Complete Controls */
.task-section-controls.complete {
    background-color: var(--iq-color-grey-20);
    color: var(--iq-text-color-light);
}

.task-section-controls.complete .fw-semibold {
    display: inline-flex;
    align-items: center;
    color: #009553;
}

.task-section-controls.complete .fw-semibold::after {
    content: "";
    width: .25rem;
    height: .25rem;
    margin: 0 .5rem;
    border-radius: var(--iq-border-radius-circle);
    background-color: var(--iq-text-color-xlight);
}

/* Task Questions: END */

/* TASK ANSWER/AMEND QUESTION - wraps the question form in edit mode
========================================================================== */
.attribute-form-wrapper {
    padding: 1rem;
}

.attribute-form-wrapper .questionAttributes {
    margin-top: 0;
    margin-bottom: .5rem;
}

/* END : Task Answer/Amend Questions: END */

/*temporary class until bug is fixed in firefox [Merge v6 Jun-24 Marie: TASKS-808] */
.temp-custom-fadein {
    animation: fadeInRight 0.2s ease-in-out;
}

/* Merge v6 Jun-24 Marie: TASKS-808 */
@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(300px);
    }
    to {
        opacity: 1;
    }
}

/*
Truncating text css below.
An experimental fade option is here, but doesn't work well with a hover bg change on table rows
*/
/* 3 lines of text */
.truncate-3 {
    display: block;
    position: relative;
    max-height: 3.6em;
    font-size: 1em;
    line-height: 1.2em;
    overflow: hidden;
}

.truncate-3.fade:after {
    content: "";
    position: absolute;
    top: 2.4em;
    right: 0;
    width: 30%;
    height: 1.2em;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 50%);
    text-align: right;
}

.table-striped > tbody > tr:nth-child(even) > td .truncate-3.fade:after {
    background: linear-gradient(to right, rgba(248, 249, 249, 0), rgba(248, 249, 249, 1) 50%);
}

.table-hover > tbody > tr:hover > td .truncate-3.fade:after {
    background: linear-gradient(to right, rgba(235, 235, 235, 0), rgba(235, 235, 235, 1) 50%);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

th.sortable {
    cursor: pointer;
    white-space: nowrap;
}

th.sortable:hover {
    background-color: #3EAAF3;
}

th.sortable .sortIcon {
    display: inline-block;
    color: #fff;
    font-size: 1.2em;
}

th.sortable.sortAsc,
th.sortable.sortDesc {
    /*width: auto !important;*/
}

th.sortable .sortIcon:before {
    content: "";
    opacity: 0.9;
    filter: alpha(opacity=90); /* For IE8 and earlier */
}

th.sortable.sortAsc .sortIcon:before {
    content: "\25BC";
}

th.sortable.sortDesc .sortIcon:before {
    content: "\25B2";
}

/*COMPONENT AND LOCATION SELECTOR MODAL - */
/* ========================================================================== */
/* @TODO New classes to replace all the ID specificity in below classes [jira - V666-1033] */
.available-options-list {}
.selected-options-list {}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.available-options-list .paginationBarContent,
#defectModalSelectWrapper .paginationBarContent,
#locationModalSelectWrapper .paginationBarContent,
#componentModalSelectWrapper .paginationBarContent {
    padding: 2px 20px 2px 0;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
#defectModalSelectWrapper .paginationBarResults,
#locationModalSelectWrapper .paginationBarResults,
#componentModalSelectWrapper .paginationBarResults {
    width: auto;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
#defectModalSelectWrapper .paginationBarSelectAllResults,
#locationModalSelectWrapper .paginationBarSelectAllResults,
#componentModalSelectWrapper .paginationBarSelectAllResults {
    display: none;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.defectSelectedWrapper,
.locationSelectedWrapper,
.componentSelectedWrapper {
    max-height: 350px;
    overflow: auto;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.defectSelectedWrapper ul li,
.locationSelectedWrapper ul li,
.componentSelectedWrapper ul li {
    float: none !important;
    margin: 2px 0;
    height: 28px;
    padding: 1px 8px !important;
    border: 1px solid var(--iq-color-blue-primary);
    background: #fff;
    list-style: none;
    white-space: nowrap;
    overflow: hidden;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.defectSelectedWrapper ul li a,
.defectSelectedWrapper ul li span,
.locationSelectedWrapper ul li a,
.locationSelectedWrapper ul li span,
.componentSelectedWrapper ul li a,
.componentSelectedWrapper ul li span {
    display: block !important;
    padding: 3px 5px;
    border-top: none;
    background: #fff;
    text-decoration: none;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.defectSelectedWrapper ul li.active a,
.defectSelectedWrapper ul li.active span,
.locationSelectedWrapper ul li.active a,
.locationSelectedWrapper ul li.active span,
.componentSelectedWrapper ul li.active a,
.componentSelectedWrapper ul li.active span {
    background: var(--iq-color-blue-primary);
    color: #fff;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.defectSelectedWrapper ul li.empty,
.locationSelectedWrapper ul li.empty,
.componentSelectedWrapper ul li.empty {
    height: auto;
    border: none;
    white-space: normal;
    overflow: auto;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.defectSelectedWrapper .deselectDefectLabel,
.locationSelectedWrapper .deselectLocationLabel,
.componentSelectedWrapper .deselectComponentLabel {
    max-width: 190px;
    overflow: hidden;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
.defectSelectedWrapper a.deselectDefect,
.locationSelectedWrapper a.deselectLocation,
.componentSelectedWrapper a.deselectComponent {
    float: right;
}

/* Ross 16/08/2023 v6 merge - TASKS-627 & Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
#defectSelectResults,
#locationSelectResults,
#componentSelectResults {
    table-layout: fixed;
}

/* Ross Feb/2024 v6 merge - TASKS-424 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
#defectSelectModalContainer #searchAccordionContent li > label,
#defectSelectModalContainer #searchAccordionContent li:first-child > label {
    width: 110px;
}


/* Shorten Modal Form labels in the Anomaly Search Panel */
#anomalySelectModalContainer #searchAccordionContent li > label,
#anomalySelectModalContainer #searchAccordionContent li:first-child > label {
    width: 110px;
    /*width: 40%;*/
    /*max-width: 110px;*/
}

/* END - COMPONENT AND LOCATION SELECTOR MODAL - */

/*PLOT PLAN*/
.canvasContainer-key {
    margin-top: 5px;
}

/*SIGN OFF*/
.panel.signofftypes:hover {
    border: 1px solid #a9a9a9;
}

.signature {
    max-width: 100%;
    max-height: 150px;
}


/* Damage Type Association Scenario - Copy/Delete buttons ~ v6 Merge - #13242 Gloriya
   Note: @TODO Button Groups to be update to latest Bootstrap HTML structure
   ========================================================================== */
/* v6 Merge - #13791 Amna */
.toolbar--icon {
    display: flex;
    justify-content: end;
    padding: 10px;
}

.btn-group-toolbar > .btn-copy,
.btn-group-toolbar > .btn-delete {
    margin-left: -4px;
}

.btn-group-toolbar > button {
    border-radius: 0;
}

.btn-group-toolbar > .btn-copy {
    width:3%;
    height: 2rem;
    border: 1px solid var(--iq-color-grey-40);
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    background: #fff url(/images/icons/copy.svg) no-repeat center;
    background-size: 1.125rem;
}

.btn-group-toolbar > .btn-delete {
    width:3%;
    height: 2rem;
    border: 1px solid var(--iq-color-grey-40);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background: #fff url(/images/icons/trash.svg) no-repeat center;
    background-size: 1.125rem;
}

.btn-copy:hover {
    width:3%;
    height: 2rem;
    background: var(--iq-color-grey-30) url(/images/icons/copy.svg) no-repeat center;
    background-size: 1.125rem;
    border: none;
    box-shadow: none;
}

.btn-delete:hover {
    width:3%;
    height: 2rem;
    background: var(--iq-color-grey-30) url(/images/icons/trash.svg) no-repeat center;
    background-size: 1.125rem;
    border: none;
    box-shadow: none;
}
/* END : Damage Type Association Scenario - Copy/Delete buttons */

/* AVAILABILITY CALENDAR */
/* ========================================================================== */
/* KAMAL CALENDAR */
/**
 * Calendar toolbar
 */
.availability-calendar-toolbar {
    float: left;
    width: 100%;
    padding-bottom: 15px;
    font-size: 1.4em;
    font-weight: bold;
}

.availability-calendar-toolbar .divCalendar {
    float: left;
    width: 100%;
}

.availability-calendar-toolbar .previousMonth {
    float: right;
    width: 5%;
    vertical-align: top;
}

.availability-calendar-toolbar .nextMonth {
    float: right;
    width: 5%;
    vertical-align: top;

}

.availability-calendar-toolbar .currentMonth {
    text-align: center;
}

.availability-calendar-toolbar .thisMonth {

}

.availability-calendar-toolbar input {
    width: 5%;
    background: #F5F5F5;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
    font-weight: bold;
    cursor: pointer;
}

/**
 * Calendar table and cells
 */
.availability-calendar {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    background: #FFF;

}

.availability-calendar th, .availability-calendar td {
    padding: 5px;
    border: 1px solid #DDD;
}

.availability-calendar td {
    height: 100px;
    background: #FFA07A;
    vertical-align: top;
    text-align: left;
    color: #0B1022;
}

.availability-calendar .ex-month {
    opacity: 0.4
}

.availability-calendar .dayson {
    background: #FFD700;
}

.availability-calendar .dayson div {
    text-align: right;
}

.availability-calendar .dayson:last-child div {
}

.availability-calendar .dayson .first {
    text-align: right;
}

.availability-calendar .dayson .last {
    text-align: right;
}

.availability-calendar .dayson div.capacity {
    margin-top: 30px;
    text-align: left;
}

.availability-calendar .dayson .progress {
    cursor: pointer;
}

.availability-calendar .dayson .progress div {
    text-align: center !important;
}

.dayOnKey span {
    background: #FFD700;

}

.dayOffKey span {
    background: #FFA07A;

}
/* END - AVAILABILITY CALENDAR */

/* BULK EDITOR
========================================================================== */

/* bulk editor */
.rownumber {
    font-weight: bold;
}

/* | VIRTUAL GROUPS ASSIGMENT INDICATOR - e.g. legacy v6 bookmark icon */
.disabledIconGroupBookmark {
    width: 2rem;
    height: 2rem;
}

span.disabledIconGroupBookmark {
    display: inline-block;
}

.iconGroupBookmark {
    width: 2rem;
    height: 2rem;
}

span.iconGroupBookmark {
    display: block;
    width: 2rem;
    height: 2rem;
    border-radius: var(--iq-border-radius-sm);
    cursor: pointer;
}

span.iconGroupBookmark:hover {
    background-color: var(--iq-color-grey-40);
}

span.iconGroupBookmark-blank {
    background-image: url("/images/icons/status-group-unassigned.svg");
    background-repeat: no-repeat;
    background-position: 50%;
}

span.iconGroupBookmark-green {
    background-image: url("/images/icons/status-group-assigned.svg");
    background-repeat: no-repeat;
    background-position: 50%;
}

/* End : Virtual Groups Assignment Indicator */

table.customGroupByOrderTable span.locked {
    background-image: url("/software/images/icons/closedPadlock.png");
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 1em 1em;

    display: inline-block;
    width: 10px;
    height: 20px;
    margin-top: -.7em;
    margin-right: .3em;
    vertical-align: middle;
    line-height: 5px;
    overflow: hidden;
    cursor: move;
}

table.customGroupByOrderTable span.unlocked {
    background-image: url("/software/images/icons/openPadlock.png");
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 1em 1em;

    display: inline-block;
    width: 10px;
    height: 20px;
    margin-top: -.7em;
    margin-right: .3em;
    vertical-align: middle;
    line-height: 5px;
    overflow: hidden;
    cursor: move;
}

table.customGroupByOrderTable button.mvBtn.locked {
    display: none;
}

table.customGroupByOrderTable button.mvBtn.unlocked {
    display: block;
}


span.ui-spinner input[type="text"].plus-minus-numeric.ui-spinner-input {
    margin-left: 2px;
    padding-right: 6px;
    text-align: right;
}

/* @TODO replace with utility class .text-truncate to element, then delete  */
.overflow-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*text-truncate class name compatible w/ bootstrap5 if we ever change it to that {*/
.text-truncate {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/*Utility Size max width */
.max-w-230 {
    max-width: var(--iq-width-230);
}

/* END -  BULK EDITOR */

/* v6 Merge - #13283 Amna */
/* bulk edit - damage type */
.bulkEdit table ul.fieldgroup {
    margin-left: 9px;
}

/* v6 Merge - #13283 Amna */
.bulkEdit table select.fieldgroup {
    margin-left: 9px;
}

/* v6 Merge - #13283 Amna */
.bulkEdit table input.fieldgroup {
    margin-left: 9px;
}

/* v6 Merge - #13765 Amna */
.editForm ul.fieldgroup label.disabled {
    color: #cccccc;
}

/* v6 Merge - #13283 Amna */
.editForm label.disabled {
    color: #cccccc;
}

/* v6 Merge - #13958 Amna */
.editForm span.disabled {
    color: #cccccc;
}

/* v6 Merge - #13283 Amna */
.tableheading {
    padding: 10px 10px 13px 10px;
    border-bottom: 2px solid #666666;
}

/* v6 Merge - #13283 Amna */
.editconfirmation tr td {
    padding: 10px;
    border-bottom: 1px solid #666666;
}

/* v6 Merge - #13283 Amna */
.editconfirmation tr:last-child td{
    border-bottom: none;
}

/* v6 Merge - #13765 Amna */
.repeatingClass {
    margin-top: 7px;
}

/* v6 Merge - #13765 Amna */
.damageCloneButton {
    padding-left: 1100px !important;
}

/* v6 Merge - #13765 Amna */
.anomSubType {
    padding-left: 4px !important;
}

/* v6 Merge - #13958 Amna */
.rbaThreatTemplate {
    padding-left: 10px !important;
}

/* v6 Merge - #14150 Rupali */
#printItemsForm .paginationBarResults {
    padding-left: 15px;
}

/* v6 Merge - #14150 Rupali */
.dragHandleLegend {
    padding: 0.5em 1.25em;
}

/* v6 Merge - #14217 Andy */
/*### FieldSets ###*/
#assignedGroupBtn {
    margin-top: 5px;
    float: right;
}

article {
    color: black;
}

/*-- help article buttons responsive --*/
.help-article-buttons button {
    margin-bottom: 5px !important;
}

.editForm .groupLabel {
    width: 300px;
    max-width: 50%;
    margin-left: 15px;
    background-color: transparent;
    text-align: left;
    color: #00567A;
    font-size: 16px;
}

#riskGradeTable .table-striped > tbody > tr:nth-child(2) > td, .table-striped > tbody > tr:nth-child(2) > th {
    background-color: #876e8c;
    color: #fff;
    font-weight: bold;
}

.color-box {
    display: inline-block;
    width: 28px;
    height: 16px;
    border-radius: 4px;
    vertical-align: middle;
}

/* checkmark character ✓ */
.htmlMark {
    font-size: 20px;
    transform: scale(.5, 1);
}

.checkedTick {
    color: #00CC00;
}

.crossMark {
    color: #000;
}

#questionSetGroupName h2 {
    height: 40px;
    padding: 0 8px 0 20px;
    margin-left: 10px;
    margin-top: -3px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    background-color: var(--iq-color-blue-primary);
    font-size: 1.250em;
    font-weight: bold;
    line-height: 40px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
}

.signOffLabelWidth {
    width: 100px !important;
}

#paperworkuploadform label {
    width: 180px !important;
}

.accordion-tools {
    position: absolute;
    top: 7px;
    right: 80px;
}

.accordion-tools button {
    background-color: transparent;
    border: 1px solid var(--iq-color-grey-50);
    color: var(--iq-color-grey-1000);
    font-size: 0.875rem;
    text-transform: none;
}

/*.dataTable input[type="radio"], input[type="checkbox"] {*/ /* this class was overriding the global checkbox class causing vertical alignment issues orig added 2020 */
.dataTable input[type="radio"],
.dataTable input[type="checkbox"] {
    height: 16px;
}

span.colouredData,
table.dataTable td span.colouredData {
    font-weight: bold;
}

/* TASK User Generated Questions & Question Groups
   ========================================================================== */
/* Draggable question outer container */
.viewQuestion {
    border-right: 0 !important;
    border-left: 0 !important;
}

.viewQuestion:hover {
    background-color: var(--iq-color-grey-10);
}

/* Draggable question wrapper - increased specificity due to .viewForm list rules */
.viewQuestion > .questionWrapper {
    flex-grow: 1;
    display: flex;
}

/* Question draggable grippy  */
.grippy-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--iq-border-radius-sm);
    cursor: move;
}

.question-group-sortable .panel-title .grippy-wrapper {
    width: auto;
    height: auto;
    padding-right: var(--iq-space-150);
    padding-left: var(--iq-space-050);
}

.question-group-sortable .grippy,
.questionWrapper .grippy {
    margin: 0;
}

/* Question Number */
.questionWrapper .questionNumber {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.5rem ;
    height: 1.5rem;
    margin-left: 0.5rem;
    margin-top:.25rem;
    border-radius: var(--iq-border-radius-circle);
    background-color: var(--iq-color-grey-20);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

/* Question Text */
.questionWrapper .question-text {
    flex: 1;
    margin-top: 0.5rem;
    margin-left: 1rem;
}

/* Question Alert - nested inline within a question */
.questionWrapper .question-text .alert {
    display: inline-block;
    margin: var(--iq-space-100) 0 0 ;
}


/*.questionWrapper .question-text .iq-icon {*/
/*    fill: white;*/
/*}*/

/* Currently Dragged - Question Group Accordion */
.question-group-sortable.ui-sortable-helper {
    /*max-width: 28rem !important;    !* override inline dynamic styles - jqueryUI *!*/
    /*height: 3rem !important;     !* override inline dynamic styles - jqueryUI *!*/
    /*overflow: hidden;*/
    background-color: rgba(255, 255, 255, 0.5);
}

.question-group-sortable.ui-sortable-helper .panel-body  {
    opacity: 50%;
}

.question-group-sortable.ui-sortable-helper .panel-heading a {
    background-color: var(--iq-link-color);
    color: var(--iq-text-color-inverted);
}

/* Currently Dragged - Question Item */
.viewQuestion.ui-sortable-helper {
    max-width: 28rem !important;    /* override inline dynamic styles - jqueryUI */
    height: 3.75rem !important;     /* override inline dynamic styles - jqueryUI */
    border-radius: var(--iq-border-radius-md);
    background-color: var(--iq-link-color);
    color: var(--iq-text-color-inverted);
    /*opacity: 1 !important;          !* override inline dynamic styles, change in task.js *!*/
}

.viewQuestion.ui-sortable-helper .grippy-wrapper {
    background-color: var(--iq-link-color);
}

.question-group-sortable.ui-sortable-helper .grippy,
.viewQuestion.ui-sortable-helper .grippy {
    color: var(--iq-text-color-inverted);
    text-shadow: none;
}

.viewQuestion.ui-sortable-helper .questionNumber {
    color: var(--iq-link-color);
}

.viewQuestion.ui-sortable-helper .question-text {
    width: 7rem !important;     /* override inline dynamic styles - jqueryUI */
    margin-right: 1rem;
}

.viewQuestion.ui-sortable-helper .question-text,
.viewQuestion.ui-sortable-helper .question-text .format-question-label {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.viewQuestion.ui-sortable-helper .question-toolbar {
    display: none;
}

/* END : User Generated Questions & Question Groups */

.mt8 {
    margin-top: 8px !important;
}

.existingQuestionGroupSelection {
    padding: 8px 0 8px 0;
    border-top: 1px solid #111;
    list-style: none;
}

.longLabel {
    width: 300px !important;
}

.mediumLabel {
    width: 150px !important;
}

.questionSortableList {
    min-height: 35px;
}

/* Drag Drop Target - jQueryUI overrides */
.ui-sortable-placeholder {
    box-sizing: border-box;
    border: 0;
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-blue-100);
    outline: 1px dotted var(--iq-link-color);
    visibility: visible !important;
    z-index: 1;
}

.ui-sortable-placeholder * {
    visibility: hidden;
}

.searchTerm {
    background: yellow;
    color: black;
    font-size: larger;
    font-weight: bold;
}

div.dataTables_wrapper {
    overflow: auto;
}

.dataTables_wrapper .top, .bottom {
    margin: 15px;
}

.dataTables_wrapper .dataTables_info {
    padding-top: 1em !important;
}

.dataTables_wrapper .dataTables_paginate {
    padding-top: 1.2em !important;
    padding-bottom: 1em;
}

#bAttSetAssignedDataTable {
    border: 1px solid #DEDEDE;
}

.smallWidth {
    width: 100px !important;
    min-width: 100px !important;
}

#modalHelpText {
    padding: 0.25em;
    background-color: #EEEEEE;
    font-weight: bold;
}

#questionTable.dataTable.compact tbody th, #questionTable.dataTable.compact tbody td {
    padding: 0 !important;
}

#questionGroupsTable.dataTable.compact tbody th, #questionGroupsTable.dataTable.compact tbody td {
    padding: 0 !important;
}

/* BOOTSTRAP TABS
   ========================================================================== */
/* Bootstrap horizontal tabs - Defect search - Task type filter */
.nav-tabs {
    border-bottom: 1px solid var(--iq-color-grey-40);
}

.nav-tabs > li {
    margin-bottom: 0;
}

.nav > li > a {
    padding: .875rem 1rem;
}

/* Bootstrap tabs */
.nav-tabs > li > a {
    margin-right: 0;
    border: 0;
    border-radius: 0;
    color: var(--iq-color-grey-90);
    font-weight: 600;
}

.nav-tabs > li.active > a  {
    border: 0;
    color: var(--iq-text-color);
}

/* Active State - bottom bar */
.nav-tabs > li.active::after  {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    border-bottom: 4px solid var(--iq-link-color);
}

.nav-tabs > li > a:hover {
    border: none;
    background-color: var(--iq-color-grey-20);
    color: var(--iq-text-color);
}

.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus:hover {
    border: none;
    background-color: var(--iq-color-grey-20);
    color: var(--iq-link-color);
}

.nav-tabs > li > a:focus,
.nav-tabs > li.active > a:focus {
    border: none;
    background-color: inherit;
    color: var(--iq-text-color);
    outline: 2px solid var(--iq-color-blue-900);
    outline-offset: -2px;
}

.nav-tabs > li > a:focus:not(:focus-visible),
.nav-tabs > li.active > a:focus:not(:focus-visible) {
    outline: none;
}

/* BOOTSTRAP VERTICAL TABS: left-side / right-side */
.tabs-left,
.tabs-right {
    border-bottom: none;
}

.tabs-left {
    border-right: 1px solid var(--iq-color-grey-40);
    min-height: 250px;
}

.tabs-right {
    border-left: 1px solid var(--iq-color-grey-40);
    min-height: 250px;
}

.tabs-left > li,
.tabs-right > li {
    float: none;
    margin-bottom: 1px;
}

.tabs-left > li.active::after {
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    border-bottom: 0;
    border-right: 4px solid var(--iq-link-color);
}

.tabs-right > li.active::after {
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    border-bottom: 0;
    border-left: 4px solid var(--iq-link-color);
}

/* END - Bootstrap Tabs */

/* TABS - v6 PSEUDO MENU TABS - E.g. Dashboard screen using old v6 menu html & CSS as tabs
   ========================================================================== */

/* Dashboard screen using old v6 menu html & CSS as tabs */
.subMenu {
    display: flex;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--iq-color-grey-40);
}

.subMenuItem {
    position: relative;
}

.subMenuItem a {
    display: block;
    padding: .875rem 1rem;
    color: var(--iq-color-grey-90);
    font-weight: 600;
}

.subMenuItem.activeFocus a {
    color: var(--iq-text-color);
}

/* Active State - bottom bar */
.subMenuItem.activeFocus::after  {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    border-bottom: 4px solid var(--iq-link-color);
}

.subMenuItem a:hover {
    background-color: var(--iq-color-grey-30);
    color: var(--iq-text-color);
}

.subMenuItem.activeFocus a:hover {
    color: var(--iq-link-color);
}

.subMenuItem a:focus,
.subMenuItem.activeFocus a:focus {
    background-color: inherit;
    color: var(--iq-text-color);
    outline: 2px solid var(--iq-color-blue-900);
    outline-offset: -2px;
}

.subMenuItem a:focus:not(:focus-visible),
.subMenuItem.activeFocus a:focus:not(:focus-visible) {
    outline: none;
}

/* END - Tabs - v6 Pseudo Menu Tabs */

/* Overwrite of Bootstrap Tabs within modal /Group & Workpacks modal - Component and Task module  */
.modal-body .nav-tabs {
    margin-bottom: 1rem;
}

/* END - Bootstrap Tabs */

/* Modal Subfilters - When opening a multi-select Quicksearch field, a modal for subfilters is displayed
   ========================================================================== */
.subFilterModal .modal-header {
    border: 0;
}

.subFilterModal .modalTitle {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--iq-text-color);
    margin: 0;
}

.subFilterModal .qsFormInner {
    margin-left: -13px;
    padding: 0 10px 0 24px;
    border-radius: 4px;
}

.subFilterModal .qsFormInner label {
    width: 120px;
}

.subFilterModal .qsFormInner label.exclude {
    width: 130px !important;
}

.subFilterModal .qsFormInner label.toDate {
    width: 25px !important;
}

.subFilterModal .qsFormInner .chkbox {
    margin-top: 5px;
    margin-left: 5px;
    background-color: #fff;
    border-radius: 2px;
}

.subFilterModal .qsFormInner .subHeader {
    min-height: 30px;
    padding: 9px 3px 8px 15px;
    border-radius: 0 20px 20px 0;
    background-color: #D7D7D7;
    color: #666;
    font-weight: bold;
}

.subFilterModal .qsFormInner .subClose {
    height: 0;
    margin-top: -2px;
    padding: 0;
    font-size: 21px;
    color: #000;
    opacity: .2;
    text-shadow: 0 1px 0 #fff;
    cursor: pointer;
}

.subFilterModal .qsFormInner .subClose:hover {
    font-weight: bold;
    opacity: .4;
}

.subFilterModal .qsFormInner .subFilterClose,
.subFilterWrapper .qsDefaultInnerForm .subFilterClose {
    float: right;
    display: block;
    margin: 0;
    padding-top: 3px;
    padding-left: 10px;
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    cursor: pointer;
}

.subFilterModal .qsFormInner .subFilterClose:hover,
.subFilterWrapper .qsDefaultInnerForm .subFilterClose:hover {
    font-weight: bold;
    opacity: .4;
}

.subFilterModal .qsFormInner .iconCalendar {
    margin-top: 10px !important;
}

.subFilterModal .controls {
    display: inline-block;
}

.subFilterModalWrapper .title {
    font-weight: bold;
}

.subFilterModalWrapper .qsmultiresults .quicksearchitemlabel {
    /*padding-top: 2px !important; !* Commented out for testing ONLY: not sure if this class is needed, may have been resolved by .quicksearchitemlabel class changes, further modal tag testing required - Kali 27/09/22 *!*/
}

.horizontalContent {
    margin-top: 20px;
}

.subFilterModalWrapper li {
    list-style: none;
}

.subFilterModal .qsFormInner .editForm label {
    margin-left: 0 !important;
}

/* END - Modal Subfilters */

/* force bulk edit inputs to a uniform width to prevent misalignment (OVP-4550) */
.bulkEditTable input[type="text"],
.bulkEditTable textarea,
.bulkEditTable select {
    width: 200px !important;
    min-width: 0 !important;
}

.tinyItalicText {
    font-size: 10px;
    font-style: italic;
}

#moduleHeader .threatDetailsWrapper {
    border-right: 1px dotted #bfbfbf;
}

.table td.table-title {
    font-weight: bold;
}

.modalInnerWrapper {
    margin: 10px;
}

.outputWrapper li.lbl {
    vertical-align: middle !important;
}

.scrollText {
    max-height: 120px !important;
    overflow-y: auto !important;
}

.checkAllLbl {
    border: none;
    border-color: var(--iq-color-blue-primary);
    background-color: var(--iq-color-blue-primary);
    color: #fff;
    font-size: 1em;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.15em;
    vertical-align: middle;
}

#regionAsset li {
    float: none !important;
}

.legend {
    float: left;
    width: 12px;
    height: 12px;
    margin: 5px;
    border: 1px solid rgba(0, 0, 0, .2);
}

/*.clearAllAssets {*/
/*    width: 60px;*/
/*    height: 20px;*/
/*    line-height: 0;*/
/*}*/

.clearAssetBtnWrapper {
    padding-left: 20px;
}

.noTopBorder {
    border-top: none !important;
}

.selectAllAssetWrapper {
    width: 1020px;
    border-bottom: 1px solid #dedede;
}

/*.regionAssetTreeView {*/
/*    width: 100%;*/
/*}*/

.radioOptionNewLine {
    height: 17px !important;
}

.riskWorkflow {
    padding-left: 455px;
    border-top: none !important;
}

.riskWorkflow .lWidth {
    width: 105px !important;
}

.riskWorkflow ul .fieldgroup label {
    width: 50px !important;
}

.ttContent .editForm li .mainLabel {
    width: 220px !important;
}

.attributeTrendData td {
    vertical-align: top !important;
}

/* Defect Summary Page - Component Details Panel */
.anomalyComponentDefectList {
    width: 94%;
}

.anomalyComponentDefectList tr {
    height: 20px;
}

.componentDefectListBtn {
    margin-left: var(--iq-space-100);
}

.anomalyFiltersPanelFour > li:nth-child(1) {
    width: 30% !important;
}

.anomalyFiltersPanelFour > li:nth-child(2) {
    width: 30% !important;
}

.anomalyFiltersPanelFour > li:nth-child(3) {
    width: 40% !important;
}

label.verticalTop {
    padding-top: 7px;
    vertical-align: top !important;
}

.regionAssetTreeView {
    padding-left: 120px;
    padding-bottom: 10px;
}

#riskDescription label {
    width: 180px !important;
}

#riskDescription textarea {
    width: 816px !important;
    min-width: 0 !important;
}

.riskConfig .riskTypes {
    width: 800px;
    margin-left: 0 !important;
}

.riskConfig .verticalTop {
    padding-top: 10px;
    vertical-align: top !important;
}

.riskConfig select.small {
    width: 60px !important;
}

.riskConfig .summaryFieldSet {
    width: 600px;
    margin-left: 315px !important;
}


/* JQUERY TABS - [3rd party] jQuery
   ========================================================================== */

.ui-tabs .ui-tabs-nav {
    background-color: inherit;
    border: none;
    border-bottom: 1px solid var(--iq-color-grey-40);
    border-radius: 0;
}

.editForm div.ui-tabs ul li {
    border-left: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.ui-tabs .ui-tabs-nav li {
    margin: 0 !important;
    background-color: var(--iq-color-white);
    border-top: none;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    color: var(--iq-color-grey-80);
    font-weight: 600;
    padding: 1rem !important;
    margin-bottom: -1px;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor:hover {
    color: var(--iq-text-color);
    font-weight: 600;
    background-color: var(--iq-color-grey-20);
    border-bottom: 4px solid var(--iq-color-grey-20);
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor:focus {
    color: var(--iq-text-color);
    background-color: var(--iq-color-white);
    border: 2px solid var(--iq-color-blue-900);
}

.ui-tabs .ui-tabs-nav .ui-tabs-active .ui-tabs-anchor {
    color: var(--iq-text-color);
    font-weight: 600;
    border-bottom: 4px solid var(--iq-link-color);
    cursor: pointer !important;
}

.ui-tabs .ui-tabs-nav .ui-tabs-active .ui-tabs-anchor:hover {
    color: var(--iq-link-color);
}

.ui-tabs .ui-tabs-nav .ui-tabs-active .ui-tabs-anchor:focus {
    border-bottom: 2px solid var(--iq-color-blue-900);
}

/* Location - Tabs  */
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    border: none;
}

.ui-state-default a:focus:not(:focus-visible),
.ui-widget-content .ui-state-default a:focus:not(:focus-visible),
.ui-widget-header .ui-state-default a:focus:not(:focus-visible) {
    outline: none;
    border: none;
}

/* KENDO UI TABSTRIP - [3rd party] Kendo jQuery Tabs
   ========================================================================== */
/* 3rd party - Kendo - This overrides Kendo tabs */

.k-tabstrip-wrapper #tabstrip {
    background-color: var(--iq-color-white);
}

.k-tabstrip > .k-content {
    overflow: visible !important;
}

.k-tabstrip {
    border-width: 0;
    border-color: transparent;
    box-sizing: border-box;
    outline: 0;
    background-color: transparent;
    display: flex;
    flex-flow: column nowrap;
    -webikit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
}

/* Temporary fix WEH-SEPT-2024 */
/*.k-tabstrip-items-wrapper {
    border-color: red;
}*/

.k-panelbar .k-tabstrip > .k-content, .k-tabstrip > .k-content {
    position: static;
    border-style: none !important;
    border-width: 0;
    margin: /*0 0.286em 0.3em*/ 0;
    padding: /*0.92em*/ 1rem 0.5rem 0.5rem 0.5rem;
    zoom: 1;
}

.k-tabstrip-top > .k-tabstrip-items-wrapper .k-tabstrip-items .k-active {
    margin-bottom: 0 !important;
    padding-bottom: 0;
    border-bottom: 4px solid var(--iq-link-color) !important;
}

/* Component Summary screen - Temporary fix WEH-SEPT-2024 */
#summaryDetailsContent .k-tabstrip-top > .k-tabstrip-items-wrapper .k-tabstrip-items .k-active,
.panel .k-tabstrip-top > .k-tabstrip-items-wrapper .k-item.k-active {
    margin-bottom: 0 !important;
    padding-bottom: 0;
    border-bottom: 4px solid var(--iq-link-color) !important;
}
.panel .k-tabstrip-items .k-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--iq-color-grey-90) !important;
    padding: 1rem;
}

/* Component Summary screen - Temporary fix WEH-SEPT-2024 */
#summaryDetailsContent .k-tabstrip-top > .k-tabstrip-items-wrapper .k-tabstrip-items .k-active .k-link,
.panel .k-tabstrip-top > .k-tabstrip-items-wrapper .k-item.k-active span.k-link {
    padding: 1rem;
}

.k-tabstrip-top > .k-tabstrip-items-wrapper .k-tabstrip-items .k-active:hover {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 4px solid var(--iq-link-color) !important;
}

.k-tabstrip-items .k-active {
    border: none !important;
}

.k-tabstrip-items .k-active:hover {
    background-color: var(--iq-color-grey-20) !important;
}

/* remove horizontal scroll */
/*.k-tabstrip>.k-content {
    overflow: hidden !important;
}*/

/* ---- */
.k-tabstrip-top > .k-tabstrip-items-wrapper {
    border-bottom-width: 1px;
    margin-bottom: 0;
}

.k-tabstrip-items-wrapper {
    color: black;
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    position: relative;
    z-index: 2;
}

.k-tabstrip .k-tabstrip-items {
    padding: 0.3em 0.3em 0 0;
    /*border-bottom: 1px solid var(--iq-color-grey-40);*/ /* Temporary fix WEH-SEPT-2024 */
    /*margin-left: 1rem;
    margin-right: 1rem;*/
}

.k-tabstrip-items .k-item {
    background-color: var(--iq-color-white) !important;
    border: none !important;
    border-bottom: 4px solid transparent !important;
    margin-bottom: 0.063rem !important; /* Temporary fix WEH-SEPT-2024 */
}

.k-tabstrip-items  .k-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--iq-color-grey-90) !important;
    padding: 1rem;
}

.k-tabstrip-items .k-item:hover {
    background-color: var(--iq-color-grey-20) !important;
    border: none !important;
    border-bottom: 4px solid var(--iq-color-grey-20) !important;
    margin-bottom: 0.063rem; /* Temporary fix WEH-SEPT-2024 */
}

.k-tabstrip-items .k-link:hover {
    color: var(--iq-text-color) !important;
    padding: 1rem;
}

/* Kendo Tabs displayed on Annotation Layer Box  */
#annotations .k-tabstrip-items .k-state-default .k-link {
    padding: 0.85rem;
}

.k-tabstrip-items .k-item {
    border-radius: 0 !important;
}

.k-panelbar > li.k-state-default > .k-link, .k-tabstrip-items .k-active .k-link {
    color: var(--iq-text-color) !important;
    font-size: 0.875rem;
    font-weight: 600;
}

.k-panelbar > li.k-state-default > .k-link, .k-tabstrip-items .k-active .k-link:hover {
    color: var(--iq-link-color) !important;
}

/* Kendo Tabs Native Loader - @TODO - define Post-EO-Sep */
.k-tabstrip-items .k-progress,
.k-tabstrip-items .k-loading {
    color: red; /* Test */
}

/* Kendo tabs - Task summary page - Time tracking */
#timetracktab {
    background-color: #fff;
}

.k-tabstrip-items .k-state-default {
    border-color: transparent;
}

/* Kendo tabs - responsive scroll */

.k-tabstrip-wrapper > .k-header {
    background-color: var(--iq-color-white);
}

.k-tabstrip>.k-button.k-flat {
    position: absolute;
    top: 0.9rem !important;
    z-index: 2;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* END - Tabs Kendo UI TabStrip */


/* KENDO SPA TRANSITIONS BELOW */

/* KENDO SPA TRANSITIONS BELOW */

/* KENDO SPA TRANSITIONS BELOW - [3rd party] Kendo
   ========================================================================== */

/* the initial position of the next div */
.k-fx-swap.k-fx-start .k-fx-next {
    -webkit-transform: translatex(100%);
    -moz-transform: translatex(100%);
    transform: translatex(100%);
}

/* the final position of the current div */
.k-fx-swap.k-fx-end .k-fx-current {
    opacity: 0;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    transform: scale(0.9);
}

/* the initial position of the next div */
.k-fx-slide.k-fx-start .k-fx-next {
    -webkit-transform: translatex(100%);
    -moz-transform: translatex(100%);
    transform: translatex(100%);
}

/* the final position of the current div */
.k-fx-slide.k-fx-end .k-fx-current {
    -webkit-transform: translatex(-100%);
    -moz-transform: translatex(-100%);
    transform: translatex(-100%);
}

/* the initial position of the next div */
.k-fx-fade.k-fx-start .k-fx-next {
    opacity: 0;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    transform: scale(0.9);
}

/* the final position of the current div */
.k-fx-fade.k-fx-end .k-fx-current {
    opacity: 0;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    transform: scale(0.9);
}

/* END KENDO SPA TRANSITIONS */

.fixToHeader {
    margin-top: -10px;
}

/* COMPONENT OPERATING STATUS */
/*.componentOperatingStatus {
    font-size: 0.875rem;
    width: 100%;
    padding-bottom: 1.4rem;
    padding-left: .5rem;
    line-height: 1;
    border-bottom: 1px solid var(--iq-color-grey-40);
}*/

.componentOperatingStatus {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--iq-color-grey-40);
    padding-bottom: 1rem;
}

.componentOperatingStatus .swatch_wrapper .status_swatch {
    margin-top: 0;
}

.extraDetailsWrapper .componentOperatingStatus {
    width: 94%;
    display: flex;
    align-items: center;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--iq-color-grey-40);
}

.componentOperatingStatus .labelCol {
    color: var(--iq-color-grey-500); /* Color to be confirmed with Kali */
    font-size: 0.875rem;
    font-weight: normal;
    text-transform: capitalize;
    line-height: 1;
}

#anomalyComponentAccordionContent .col-md-3 {
    padding-left: 30px;
    padding-right: 30px;
}

.k-widget .col-md-3 {
    padding-left: 30px;
}

.k-widget .anomalyComponentDefectList {
    width: 80%;
}

/* Defect Summary Page - Component Operating Status*/
#anomalyComponentAccordionContent .col-md-3 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/* ---------------- */

#editInputsWrapper .modalLabel {
    width: 195px !important;
    line-height: 22px; /* Component - Threat - View Calculation - Temporary fix on wrapping labels with tooltips */
}

#editInputsWrapper .fieldgroup.badgegroup {
    width: 25% !important;
}

.suggestedChange {
    background-color: #ff6600; /* b94a48*/
    color: #fff;
    font-weight: bold;
}

textarea.code {
    max-width: 100%;
    margin-bottom: 1.6em;
    color: #666;
    font-family: monospace;
    font-size: 15px;
    line-height: 1.6;
    word-wrap: break-word;
    page-break-inside: avoid;
}

.documentTypeTable {
    width: 100%;
    table-layout: fixed;
}

.documentTypeTable .wrapText {
    overflow-wrap: break-word;
}

.riskCol {
    padding-left: 15px !important;
}

.subFilterModalWrapper .radioLabel {
    width: 15px !important;
}

.subFilterModalWrapper .multiContainer {
    padding-left: 125px !important;
}


/* Task type search modal/All & Any */
.typeSearch {
    border-bottom: solid 1px var(--iq-color-grey-40);
    margin-bottom: 20px;
    padding-left: 20px;
}

.attributeAssignmentConfig label {
    width: 250px;
}

#dependencyWrapper .subFilterWrapper {
    padding-left: 270px;
}

#dependencyWrapper .qsSearchField .qsDefaultInnerForm {
    margin: 3px;
    padding: 0 10px 0 5px;
    background-color: #efefef;
    border-radius: 4px;
    border-left: medium none;
    border-right: medium none;
}

#dependencyWrapper .qsDefaultInnerForm .med-small {
    width: 80px !important;
}

.apiExternalRequestLogWrapper {
    padding: 10px 0 10px 0;
}

/* @todo change in code to utility class w-auto */
.selectAllLabel {
    width: auto !important;
}

/* @todo change in code to utility class w-50, used in 'software/anomalySearch/commonFilterPanel.php' */
.width50 {
    width: 50% !important;
}

.processStepInputChooser label {
    width: 150px !important;
}

/* MULTI-STEP  - Used for stepper with a large number of steppse.g. RBS, only displays labels on 3 elements
   ========================================================================== */
/* Multi-step wizard */

/* step limit - up to 3 steps */
/* Stepper Range - 1 to 3 steps : IMPORTANT: range limits set in JS */
.md-stepper-range-sm {
    --step-title-width: 300px;
}

/* Stepper Range - 4 to 10 steps :  IMPORTANT: range limits in JS */
.md-stepper-range-md {
    --step-title-width: 160px;
}

/* Stepper Range - 11 to 20 steps :  IMPORTANT: range limits in JS */
.md-stepper-range-lg {
    --step-title-width: 102px;
}

/* Stepper Outer Container */
.md-stepper-horizontal {
}

/* Stepper Inner Container */
.md-stepper-panel {
    display: flex;
    padding: 1rem;
}

/* ---- Steps ---- */
.md-stepper-horizontal .md-step {
    display: flex;
    /*align-items: start;*/
    /*flex: auto;*/
    /*padding: 1rem 0 0.5rem;*/
    /*font-weight: 600;*/
    flex: auto;
}

.md-stepper-horizontal .md-step.md-step-first {
    /*padding-left: 0.5rem;*/
}

.md-stepper-horizontal .md-step.md-step-last {
    flex-grow: 0;
    /*padding-right: 0.5rem;*/
}

.md-stepper-horizontal .md-stepper-range-md .md-step:not(:last-child)::after {
    /*content: "";*/
    /*flex: 1;*/
    /*min-width: 100px;*/
    /*height: 1px;*/
    /*margin: 0.5rem 0.5em 0.5rem 0.75rem;*/
    /*background-color: var(--iq-color-grey-50);*/
}

.md-stepper-horizontal .md-stepper-range-sm .md-step:not(:last-child)::after {
    /*content: "";*/
    /*flex: 1;*/
    /*min-width: 180px;*/
    /*height: 1px;*/
    /*margin: 0.5rem 0.5em 0.5rem 0.75rem;*/
    /*background-color: var(--iq-color-grey-50);*/
}

/* Step : Hover  */
.md-stepper-horizontal .md-step:hover,
.md-stepper-horizontal .md-step:active {
    /*background-color: rgba(0, 0, 0, 0.04);*/
}

/* Step : Disabled  */
.md-stepper-horizontal .md-step.disabled {
    pointer-events: none;
}

/* ---- Step Links : contains tile label and numbered step circle ---- */
/* Step Link */
.md-stepper-horizontal .md-step-link {
    flex: 1;
    display: flex;
    /*flex-wrap: wrap;*/
    padding: 0.75rem .25rem 0.5rem .25rem;
}

/* Step Link: Hover  */
.md-stepper-horizontal .md-step-link:hover {
    background-color: var(--iq-color-grey-20);
}

/* Step Bar */
.md-stepper-horizontal .md-step:not(:last-child) .md-step-link::after {
    content: "";
    flex: 1;
    min-width: 1rem;
    height: 1px;
    margin-top: 0.625rem;
    background-color:  var(--iq-color-grey-50);
}

/* ---- Step Circles : numbered step circle ---- */
/* Step Circle */
.md-stepper-horizontal .md-step-circle {
    flex: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.75rem;
    height: 1.75rem;
    margin-top: -0.25rem; /* optically align number */
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-circle);
    background-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);
    font-weight: 600;
    line-height: 1;
}

/* Disabled Step Circle  */
.md-stepper-horizontal .md-step.disabled .md-step-circle {
    border: 1px solid var(--iq-color-grey-50);
    background-color: transparent;
    color: var(--iq-text-color-xlight);
}

/* Active Step Circle  */
.md-stepper-horizontal .md-step.active .md-step-circle {
    background-color: var(--iq-color-blue-primary);
    border-color: var(--iq-color-blue-primary);
    color: var(--iq-color-white);
}

/* Completed Step Circle  */
.md-stepper-horizontal .md-step.completed .md-step-circle {
    background-color: var(--iq-color-grey-40);
    border-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);
}

/* First Step Circle : NOT active or aside */
/*.md-stepper-horizontal .md-step-first:not(.active):not(.md-step-aside) .md-step-circle {
    margin-left: calc((var(--step-title-width) - var(--step-circle-width)) / 2); * ((title width / 2) - cicle width) / 2 *
}*/

/* Last Step Circle : NOT active or aside */
/*.md-stepper-horizontal .md-step-last:not(.active):not(.md-step-aside) .md-step-circle {
    margin-right: calc((var(--step-title-width) - var(--step-circle-width)) / 2); * ((.md-step-title:width / 2) - .md-step-circle:width) / 2 *
}*/

/* ---- Step Titles : Step text labels ---- */
.md-stepper-horizontal .md-step-title {
    padding: 0 0.5rem;
    color: var(--iq-text-color);
    font-weight: 600;
}

/* Hide empty text labels */
.md-stepper-horizontal .md-step-title:empty {
    padding-left: 0;
}

.md-stepper-horizontal .md-step-last .md-step-title:empty {
    display: none;
}

/* Disabled Step Title  */
.md-stepper-horizontal .md-step.disabled .md-step-title {
    color: var(--iq-text-color-xlight);
}

/* Active Step Title */
.md-stepper-horizontal .md-step.active .md-step-title {
    color: var(--iq-color-blue-primary);
}

/* Aside Step Title */
.md-stepper-horizontal .md-step-aside .md-step-title {
    /*color: rgba(0, 0, 0, 0.26);*/
}

/* Displayed Step Title */
/* .md-stepper-horizontal .md-step .md-step-title.displayed, */
.md-stepper-horizontal .md-step.active .md-step-title,
.md-stepper-horizontal .md-step-aside .md-step-title {
    /*width: var(--step-title-width);*/
}

/* Progress Bar : displays current progress */
.md-stepper-horizontal .md-step .progressBar {
    background-color: #067db1;
}

/* Stepper Range - 1 to 3 steps : IMPORTANT: range limits set in JS */
.md-stepper-horizontal .md-stepper-range-sm .md-step:last-child {
    flex-grow: 1;
}

/* Stepper Range - 1 to 3 steps : IMPORTANT: range limits set in JS */
.md-stepper-horizontal .md-stepper-range-sm .md-step:last-child .md-step-link::after {
    content: "";
    flex: 1;
    min-width: 1rem;
    height: 1px;
    margin-top: 0.625rem;
    background-color:  var(--iq-color-grey-50);
}

/* TESTING CODE  - test alternative vertically stacked style using a breakpoint*/
@media screen and (max-width: 1919px) {
    .md-stepper-horizontal .md-step {
        flex: 1 1 0; /* keep equal width where possible, based on min-content size */
    }

    .md-stepper-horizontal .md-step-link {
        flex-wrap: wrap;
        flex: 1;
    }

    .md-stepper-horizontal .md-step-link .md-step-circle {
        width: 1.5rem;
        height: 1.5rem;
        margin-top: -0.125rem; /* optically align number */
    }

    .md-stepper-horizontal .md-step-link .md-step-title {
        order: 3;
        flex: 1 0 100%;
        height: 100%;
        padding-top: 0.25rem;
        padding-left: 0.375rem;
    }

    .md-stepper-horizontal .md-step .md-step-link::after {
        content: "";
        flex: 1;
        min-width: 1rem;
        height: 1px;
        margin: 0.625rem .5rem 0 .75rem;
        background-color:  var(--iq-color-grey-50);
    }

    .md-stepper-horizontal .md-step-link .md-step-link.active::after {
        background-color: var(--iq-color-blue-primary);
    }

    .md-stepper-horizontal .md-step:last-child {
        flex-grow: 1;
    }
}

/* ---- Stepper Content & Sub-stages stepper ---- */
/* ---- Sub-stages stepper ---- */
.p-wizard {
    padding: 1rem 1rem 0.1rem 1.5rem;
}

.wizardContentWrapper .panel-heading {
    /*padding: 0.5rem 0 1rem;*/
    /*padding-left: 0;*/
    /*padding-right: 0;*/
}

/* Question sets - layout to be confirm with Kali */
.wizardContentWrapper .question-view {
    display: flex;
    flex-direction: column;
}

.wizardContentWrapper > .panel-group {
    padding-bottom: 0.15rem;
    margin-bottom: 1rem;
}

/* ----- */

.wizardContentWrapper .toolbar {
    margin-bottom: 20px;
}

.wizardContentWrapper .panel-group .panel {
    margin: 1rem;
    width: inherit;
}

.wizardContentWrapper > .wizardSubStepper .md-stepper-horizontal {
    background-color: var(--iq-color-white);
}

.wizardContentWrapper > .wizardSubStepper .md-stepper-horizontal .md-step:hover {
    background-color: var(--iq-color-white);
}

.wizardContentWrapper > .wizardSubStepper .md-stepper-horizontal .md-step {
    width: auto;
}

.wizardContentWrapper .panel-group .panel .question-text {
    padding-left: 1.25rem;
    /* Question set positioning */
    display: inline-flex;
    margin-left: 1.25rem;
    margin-bottom: 0.25rem;
}

.wizardContentWrapper .question-text .displaybox {
    padding-top: 0.313rem;
}

/*  RBA -> Inspection Summary Stage [Merge v6 Rupali: CSL-445] */
.stageWrapper {
    position: relative;
}

.stageWrapper > .toolbar:first-child {
    top: var(--iq-space-100);
    right: var(--iq-space-100);
}

/* RBA Sign Off layout - Temp OE-Sep CSS */
/* ****************************************-*/
.wizardContentWrapper .panel-heading {

}
/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper .panel-heading h4 {
    font-size: 1.25rem;
}
/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper .panel-heading h4:after {
    content: '';
    display: block;
    margin-top: 1rem;
    border-bottom: 1px solid var(--iq-color-grey-40);
}
/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper h5.grey {
    margin-left: 0;
}
/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper .panel-group .signOffInnerContainer {
    margin: 16px;
    width: 98.5%;
}
/*!* Temp Hack to target RBA/CSL Stepper  *!*/
/*.wizardContentWrapper .signOffInnerContainer {*/
/*    display: flex;*/
/*}*/
/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper .panel-group .panel .question-text {
    padding-left: 20px;
}
/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper .question-view .questionAttributes {
    /*display: block;*/
}
/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper .question-view .questionAttributes::before {
    display: none;
}

/* undo the above override */
#workflowStageOuterContainer .question-view .questionAttributes::before {
/*.integratedTaskViewWrapper .question-view .questionAttributes::before {*/
    display: revert;
}

/* Temp Hack to target RBA/CSL Stepper  */
.wizardContentWrapper .question-view .questionAttributes > ul {
    flex-grow: 1;
}

/* Temp Hack to target RBA/CSL - Step 8  */
.wizardContentWrapper .section-primary-table {
    width: auto;
    margin: 1rem;
}

/* Temp Hack OE-Sep to target  - answer question carousel heading, remove when new html */
.pageNav h2 {
    position: absolute;
    top: 0;
    left: 1.5rem;
    margin-top: 1rem;
}
/* if previous button visible */
.pageNav .prevQuestion ~ h2 {
    left: 2rem;
}

/* TASK QUESTION Temp Fix OE-Sep fix issue of task questions old HTML - high specificity*/
.wizardContentWrapper .attribute-form-wrapper .question-view > .question-text {
    margin-left: 0;
    padding-left: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

/* Merge-Feb-24 Gloriya - CHRYSAOR-533 - added to force editForm labels to align to top by changing display property */
.attribute-form-wrapper .matrix-attr {
    display:flex;
}

/* v666-720 - TEmp Hack Anomaly → Risk assessment*/
.integratedWrapper .wizardContentWrapper {
    border: none;
}

/* v666-720 - TEmp Hack Anomaly → Risk assessment*/
#workflowStageOuterContainer .wizardContentWrapper > .panel-heading {
    padding: 1.5rem 0 1rem;
    border: none;
}

/* v666-720 - TEmp Hack Anomaly → Risk assessment*/
.wizardContentWrapper .question-view-header .toolbar {
    margin: 0;
}

/* v666-720 - TEmp Hack Anomaly → Risk assessment: answer question*/

.integratedTaskViewWrapper #workflowStageOuterContainer {
    padding: 0;
}

.integratedTaskViewWrapper #workflowStageOuterContainer .md-stepper-panel {
    padding: 0;
}

/* #workflowStageOuterContainer is used by Javascript to display read-only (View states) for steppers */
#workflowStageOuterContainer {
    padding: 1rem;
}

#workflowStageOuterContainer .md-stepper-horizontal {
    padding: 0;
}

#workflowStageOuterContainer .md-stepper-panel {
    padding: .5rem;
}

#workflowStageOuterContainer .wizardContentWrapper {
    border: none;
}

.question-view.question-view-with-button {
    min-height: auto;
}
    .question-view-with-button .toolbar {
        margin: 0;
        padding: 0;
    }

    .question-view-with-button .question-text {
        display: flex;
        flex-direction: column;
    }

        /* question code */
        /*.question-view-with-button .task-question .displaybox {*/

        /*}*/

        /* question text */
        .question-view-with-button .question-text .displaybox {
            margin: 0;
            padding-right: 0;
            font-size: 15px;
            font-weight: 600;
            line-height: 1.3;
        }



/* --- End temp OE-Sep RBA Stepper --- */
/* ----------------------------------------- */
/* --- End of Stepper --- */

/* QR Code  - modal container
   ========================================================================== */
#QRCodeBadgeWrapper {
    display: flex;
    justify-content: center;
}
/* END - QR Code */

/* SIGN OFF SECTIONS  - e.g. Task / Integrated Tasks
   ========================================================================== */
/* Sign Off section */
.signoff-section:not(:last-child) {
    margin-bottom: 1.5rem;
    /*background-color: red; !* Kali - testing only *!*/
}

/* Sign Off section Heading */
.signoff-section-heading {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-size: 1.25rem;
}

/* Group of sign off Items */
.signoff-group {
    display: grid;
    grid-auto-rows: minmax(11.5rem, auto);
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 1.5rem;
}

.signoff-section-heading + .signoff-group {
    margin-left: 0.5rem;
}

/*  Sign off - Item */
.signoff-item {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: 0.5rem;
    color: var(--iq-color-grey-500);
}

/* Space Sign Off elements */
.signoff-item > :not(:last-child) {
    margin-bottom: 1.5rem;
}

.signoff-section .panel-heading {
    padding: 0;
}

/*  sign off item - heading*/
.signoff-heading {
    display: flex;
    margin: 0 0 1.5rem;
    font-size: 18px;
}

/*  sign  item - Heading ICON */
.signoff-heading .icon-wrap {
    align-self: flex-start;
    margin-right: 0.5rem;
    color: #97A0AF;
}

.signoff-heading .iq-icon {
    width: 20px;
    height: 20px;
}

/* Sign Off Item - Notes */
.signoff-notes {

}

/* Sign Off Item - Details List UL */
ul.signoff-details-list {
}

/* Sign Off Item - Details List Item LI */
li.signoff-details-item {
    display: flex;
    min-height: initial;
    margin: 0;
    padding: 0;
}

li.signoff-details-item:not(:first-child) {
    border-top: 1px solid var(--iq-color-grey-40);
}

/* First Row Details item */
.signoff-details-item:first-child .signoff-label,
.signoff-details-item:first-child .displaybox {
    margin-top: 0; /* Fix spacing issues First items in the list */
}

/* Sign Off Item - Details Label */
label.signoff-label {
    flex-basis: 35%;
    /*width: 35%;*/
    max-width: 200px;
    margin: 0.5rem 0;
    padding: 0 0.5rem 0 0;
    color: var(--iq-color-grey-1000);
    font-weight: 600;
    line-height: 1.4;
}

/* Sign Off Item - Details Displaybox */
.signoff-details-item .displaybox {
    flex: 1;
    min-height: initial;
    margin: 0.5rem 0;
    padding: 0;
    color: var(--iq-color-grey-500);
    line-height: 1.4;
}


/* Sign Off Item - Comment: allow wrapping when comment text content gets to long */
.signoff-comment {
    flex-wrap: wrap;
}

.signoff-comment .signoff-label {
    margin-bottom: 0;
}

.signoff-comment .displaybox {
    flex: 1 auto;
    width: initial;
    margin-bottom: 0;
}

/* Sign Off Item - Wet Signature Image */
.signoff-signature img {
    max-width: 100%;
    max-height: 4rem;
    object-fit: contain;
}

/* Sign Off Item - Button */
.signoff-action {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin-top: auto;
}

.signoff-action > :not(:first-child) {
    margin-top: .5rem
}

.signoff-action button {
    height: 2.5rem;
}

/* Sign Off Item - Alerts */
.signoff-item .alert {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
}

.signoff-group .signoff-action .alert {
    display: flex;
    justify-content: center;
    align-items: center;
    height:2.5rem ;
    padding: 0;
    line-height: 1; /* visually align text */
}

.signoff-group .signoff-action .alert::before {
    position: static;
    flex: 0 0 1rem;
    /*width: 1rem;*/
    height: 1rem;
    margin-right: .5rem;
}

/* SIGN OFF FORM PANEL Variants */
.panel-signoff-form {
    padding-left: 3rem;
    border: none;
}

.panel-signoff-form .panel-heading {
    margin-left: -2rem;
    padding: .5rem 0 0 ;
}

.panel-signoff-form .button {
    align-self: flex-end;
    height: 2rem;
}

.panel-signoff-form .featured {
    padding: .5rem;
    background-color: #F7F8FB;
}

.panel-signoff-form .featured input,
.panel-signoff-form .featured textarea {
    background-color: var(--iq-color-white);
}

/* End Sign Off Section */

/* UTILITY CLASSES
   NOTE: Self-descriptive classes, typically scoped to a single CSS property
   ========================================================================== */

/* No Results - Add to elements displaying no results */
.no-results-text {
    color: var(--iq-text-color-xlight);
}

.no-results-table {
    /* @todo */
}

.no-results-container {
    /* @todo */
}

/* End Utility classes */

/* LOGS
   NOTE: Used for History Log & Historic Comments
   ========================================================================== */
/* History Log & Historic Comments - common element */
.log-group {
    padding: 1.5rem;
}

/* Log item header */
.log-item-header {
    position: relative;
    display: -webkit-box; /* wkHTMLtoPDF compatibility */
    display: flex;
    -webkit-box-align: center; /* wkHTMLtoPDF compatibility */
    align-items: center;
    padding-left: 1.5rem;
}

/* Log pseudo dot */
.log-item-header::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%); /* wkHTMLtoPDF compatibility */
    transform: translateY(-50%);
    display: inline-block;
    width: .5rem;
    height: .5rem;
    border-radius: var(--iq-border-radius-circle);
    border-radius: 50%; /* wkHTMLtoPDF compatibility - var() unsupported */
    background-color: var(--iq-color-grey-40);
    background-color: #dfe1e6; /* wkHTMLtoPDF compatibility - var() unsupported */
    margin-right: 1rem;
}

/* Log badges */
.log-date-time {
    min-width: 11rem;
    color: var(--iq-text-color);
    font-size: 0.75rem;
    font-weight: 500;
}

.log-date-time .iq-icon {
    width: var(--iq-icon-2xs);
    height: var(--iq-icon-2xs);
    width: .75rem; /* wkHTMLtoPDF compatibility - var() unsupported */
    height: .75rem;/* wkHTMLtoPDF compatibility - var() unsupported */
}

.log-user-id {
    margin: 0 1rem 0 0.75rem;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--iq-color-grey-300);
    color: #6b778d; /* wkHTMLtoPDF compatibility - var() unsupported */
}

/* Log Heading */
.log-heading {
    display: flex;
    align-items: center;
    padding-left: 1.5rem;
}

/* Log Breadcrumb */
.log-breadcrumb {
    position: relative;
    padding-left: 1.5rem;
}

.log-breadcrumb.breadcrumb-sm {
    color: var(--iq-color-grey-100);
}

.log-breadcrumb.breadcrumb-sm .icon-wrap {
    color: var(--iq-color-grey-50);
    margin-top: 0;
}

/* Log Sub heading */

.log-subheading {
    position: relative;
    font-weight: 600;
    color: var(--iq-text-color);
    display: flex;
    align-items: center;
    padding-left: 1.5rem;
}

/* Log Content */
.log-content {
    position: relative;
    /*display: -webkit-box; !* wkHTMLtoPDF compatibility *!*/
    /*display: flex;*/
    padding-left: 1.5rem;
}

/*!* Log Marker *!*/
/*.log-item {*/
/*    display: grid; !* Temp solution to display log marker with width 100% *!*/
/*}*/

/* Log Pseudo bar */
.log-heading::before,
.log-breadcrumb::before,
.log-subheading::before,
.log-content::before {
    content: '';
    position: absolute;
    left: 3px;
    display: block;
    width: 2px;
    height: 100%;
    background-color: var(--iq-color-grey-30);
    background-color: #ebecf0; /* wkHTMLtoPDF compatibility - var() unsupported */
}

.log-content .viewForm {
    /*width: 100%;*/
    /*margin: 0;*/
    /*padding: 0;*/
}

.log-content .viewForm li {
    margin: 0;
    padding: .5rem 0;
    /*min-height: 2rem;*/
    display: -webkit-box; /* wkHTMLtoPDF compatibility */
    display: flex;
}

.log-content .viewForm label {
    /*padding-top: 0.3rem;*/
    /*padding-bottom: 0.2rem;*/
    width: 17rem;
}

.log-content .viewForm span {
    /*padding-top: 0.6rem;*/
    /*padding-bottom: 0.5rem;*/
}

.log-content table {
    margin-bottom: 0;
}

.log-content .viewForm table > tbody > tr > td {
    padding: 0.5rem 0;
    vertical-align: top;
}

.log-content .viewForm table > tbody > tr:first-child > td {
    border-top: none;
}

/* Historic Comments */
.log-historic-comments .log-heading {
    padding: 1.5rem 1rem 2rem 1rem;
}

.log-historic-comments .log-heading h2 {
    display: flex;
    margin: 0;
}

.log-historic-comments .log-heading::before {
    content: '';
    margin-right: 0;
    margin-left: 0;
}

.log-historic-comments .log-heading .icon-wrap {
    width: 20px;
    height: 20px;
    margin-right: 0.5rem;
}

.log-historic-comments .log-heading .badge {
    color: var(--iq-text-color);
    min-width: 1.25rem;
}

.log-historic-comments .log-group {
    padding: 0 1.5rem 1.5rem 1.5rem;
}

.log-historic-comments .log-item:not(:last-child) .log-content {
    min-height: 4rem;
}

.log-historic-comments .log-item:not(:last-child) {
    margin-bottom: 1rem;
}

.log-historic-comments .log-item .log-content .viewForm {
    margin-top: 0.5rem;
}

.log-historic-comments .log-item-header::after {
    content: "";
    height: 1px;
    flex: 1;
    background-color: var(--iq-color-grey-40); /* Replace with desired color */
    margin-top: 1px; /* Adjust as needed */
}

.log-content-inner span {
    font-weight: 700;
    font-style: italic;
}
/* v6 Merge - #15613 Gloriya */
/* Task History Log - visually separation of log entries */
.log-group-tolerance {
    padding-bottom: 2px;
}

/* v6 Merge - #15613 Gloriya */
.log-group-entry {
    margin: 8px 16px 16px 32px;
    /*border-radius: 4px;*/
}

/* Task History Log - this is temporary fix. Adding <div class="log-content"> is causing conflict within the function of grouping logs within tolerance */
.log-group-entry .viewForm {
    position: relative;
    padding-left: 1.5rem;
}

.log-group-entry > .viewForm::before {
    content: '';
    position: absolute;
    left: 3px;
    display: inline-block;
    width: 2px;
    height: 100%;
    background-color: #ebecf0;
}

.log-group-entry .viewForm .viewForm {
    padding: 0;
}

.log-group-entry .log-subheading {
    padding-left: .5rem;
}

.log-group-entry .log-subheading::before {
    content: none;
}

.log-group-tolerance .log-heading {
    margin: 1rem 0 0;
}

.log-group-tolerance .log-heading::before {
    content: none;
}

.log-group-entry .viewForm li {
    padding: .5rem 0;
}
/* ----- */

/* v6 Merge - #15613 Gloriya */
.log-group-entry .log-group-entry {
    /*margin: 16px;*/
    border-color: #d7d7d7;
}
/* End of Task History Log - visually separation of log entries */

/* v6 Merge - #13137 Andy - Auto-Emailer - History Log*/
.row-heading {
    background-color: #d7d7d7;
    padding: 4px 0;
}

/* v6 Merge - #13137 Andy - Auto-Emailer - History Log*/
.lozenge-darkgrey {
    display: inline-block;
    text-align: center;
    border-radius: 6px;
    padding: 2px 8px 2px 8px;
    margin: 3px 6px 3px 0;
    color: #fff;
    border: 1px solid #999;
    background-color: #999;
}

/* v6 Merge - #13137 Andy - Auto-Emailer - History Log*/
.lozenge-darkblue {
    display: inline-block;
    text-align: center;
    border-radius: 6px;
    padding: 2px 8px 2px 8px;
    margin: 3px 6px 3px 0;
    color: #fff;
    border: 1px solid #067DB1;
    background-color: #067DB1;
}

/* History Log with status - CUI Calculation history log */
.log-status {
    display:  flex;
    flex-grow:  1;
    justify-content:  flex-end;
}
/* End of History Log & Historic Comments */

/* ANOMALY TASKS
   NOTE: Layout of Anomlay Tasks
   ========================================================================== */
.anom-task-panel {
    padding: 1rem;
    background-color: #fff;
}

.anom-task-item:not(:last-child) {
    margin-bottom: 1rem;
}

.anom-task-item {
    border: 1px solid #dadce0;
    border-radius: var(--iq-border-radius-md);
    padding: 1rem;
    display: grid;
    grid-template-columns: 1fr 3fr; /* Adjust the number of columns as needed */
    grid-gap: 1rem; /* Adjust the gap between grid items as needed */
}

.anom-task-header {
    grid-column: 1/ span 2;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.anom-task-heading h2 {
    margin: 0;
}

.anom-task-summary {
    grid-column: 1;
    background-color: var(--iq-color-grey-20);
    border-radius: var(--iq-border-radius-sm);
    padding: 1rem;
}

.anom-task-summary dl {
    margin: 0;
    display: grid;
    grid-template-columns: 2fr 3fr; /* Adjust the number of columns as needed */
    grid-gap: 10px; /* Adjust the gap between grid items as needed */
}

.anom-task-summary dt {
    grid-column: 1; /* Position the term in the first column */
}

.anom-task-summary dd {
    grid-column: 2; /* Position the description in the second column */
}

.anom-task-details {
    grid-column: 2;
}
/* End of Anomaly Task layout */


/* MENU SEARCH
   NOTE: Used in left menu sidebar
   ========================================================================== */

/* Search Input Container */
.search-container {
    position: relative;
    display: flex;
    padding: 2.5rem 2rem 2rem 1rem;
}

/* || INPUT-GROUP - extend form controls by adding text, buttons, or button groups on either side of textual inputs, custom selects, and custom file inputs. */
.search-input-group {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    min-width: 32px;
    padding: 0 .25rem;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-pill);
    background-color: var(--iq-color-white);
    overflow: hidden;
}

/*.search-container:hover,*/
.search-input-group:hover {
    outline: 2px solid var(--iq-color-blue-primary-light);
}

/*.search-container:focus,*/
.search-input-group:focus,
.search-input-group:focus-within {
    outline: 2px solid var(--iq-color-blue-primary);
    outline-color: var(--iq-color-blue-primary);
}

.search-container:focus .iq-icon-search,
.search-container:focus-within .iq-icon-search {
    color: var(--iq-text-color);
}


/* || INPUT-GROUP Input Field */
.search-input-group .form-control {
    flex: 1 1 auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    outline: 0;
    background-color: var(--iq-color-white);
    color: var(--iq-text-color);
}

.form-control:hover,
.form-control:focus {
    border: 0;
    outline: 0;
    box-shadow: initial;
}


/* || INPUT-GROUP Button */
.search-input-group .button-icon-only {
    flex: 0 0 auto;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0 .25rem;
    padding: 0;
    background-color: inherit;
    /*background-color: var(--iq-color-grey-30);*/
    color: var(--iq-color-grey-300) ;
}

.search-input-group .button-icon-only:hover {
    background-color: var(--iq-color-grey-40);
    color: var(--iq-text-color);

}

.search-input-group .button-icon-only:focus-visible {
    background-color: red; /* testing only */
}


/* Search Icon */
.search-input-group > .icon-wrap {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    color: var(--iq-text-color-light);
}

/*.search-input-group > .icon-wrap:first-child {*/
/*    margin-left: 0 .25rem;*/
/*}*/

/*.search-input-group > .icon-wrap:last-child {*/
/*    margin: 0 .25rem;*/
/*}*/


.search-input-group .clear {
    display: none;
    border-radius: var(--iq-border-radius-circle);
}

.search-input-group .clear.show {
    display: inline-flex !important; /* BS override */
}

.search-input-group .clear .iq-icon {
    width: 1rem;
    height: 1rem;
}


/* || Menu Search Results Dropdown */
.search-results {
    position: absolute;
    top: calc(100% - 1.75rem);
    left: 1rem;
    max-height: calc(100vh - 200px);
    min-height: 5rem;
    min-width: 16.75rem;
    background-color: #fff;
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 1000;
}

/* Search Results Category */
.search-results__category {
    padding: 1rem 0 .75rem;
}

.search-results__category:not(:last-child) {
    border-bottom: 1px solid var(--iq-color-grey-40);
}

/* Category Heading */
.search-results__category-title {
    display: flex;
    margin: 0 0 .5rem;
    padding: 0 1rem;
}

.search-results__category-title .iq-icon{
    width: 1rem;
    height: 1rem;
    margin-right: .25rem;
    stroke-width: 2;
}

/* Category Options */
.search-results__list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

/* Category Option - Link */
.search-results__link {
    display: flex;
    flex-direction: column;
    padding: .375rem 1rem;
    color: var(--iq-text-color); /* override default link style */
}
@supports (-moz-appearance:none) {
    .search-results__link {
        padding: .375rem 2rem .375rem 1rem;
    }
}

.search-results__link:hover {
    color: var(--iq-text-color); /* override default link style */
    background-color: #f5f5f5;
}

/* Category Option - Text */
.search-results__option {
    font-weight: 500;
}

/* Category Option - Breadcrumb */
.search-results__item .breadcrumb {
    flex-wrap: nowrap; /* override default breadcrumb behaviour */
    width: 100%;
    /*margin-top: .125rem;*/
    margin-bottom: .125rem;
    padding: 0;
}

.search-results__item .breadcrumb-item {
    flex-shrink: 0;
    margin: 0;  /* override default breadcrumb, margins overflow of flex container */
    line-height: 1;
    white-space: nowrap; /* override default breadcrumb behaviour */
}

.search-results__item .breadcrumb-divider {
    margin: 0;  /* override default breadcrumb, margins overflow of flex container */
    color: var(--iq-color-grey-80);
}

/* Highlights - search terms */
.search-results__option .highlight {
    background-color: var(--iq-color-blue-100);
    color: var(--iq-color-blue-primary);
}

.search-results__item .breadcrumb .highlight {
    color: var(--iq-link-color);
    font-weight: 500;
}

/* No Search Results - Empty */
.search-results__empty {
    width: 16.75rem;
    padding: 1.5rem;
    text-align: center;
}

.search-results__empty .heading-sm {
    font-weight: 500;
}

.search-results__empty span {
    color: var(--iq-text-color-light);
    font-size: .75rem;
}

/*  END :  Menu Search */

/* CSL RBA
   NOTE:  Specific Classes used in RBA
   ========================================================================== */

/* Andy 01/08/2023 v6 merge - CSL-169 (@todo TESTING NEEDED after v6 merge) */
/************************************************************************/
#moduleConfigurationBlock {
    display: inline-table;
    width: 880px;
    vertical-align: top;

}

#moduleConfigurationBlock .folderConfigSelector {
    display: table-row;
}

#moduleConfigurationBlock .folderConfigSelector div {
    display: table-cell;
}

#moduleConfigurationBlock .folderConfigSelector .folderConfigSelectorLabel {
    width: 75px;
    font-weight: bold;
}

#moduleConfigurationBlock .folderConfigSelector .folderConfigSelectorModule {
    width: 150px;
}

#moduleConfigurationBlock .folderConfigSelector .folderConfigSubSelectorLabel {
    width: 125px;
    font-weight: bold;
}

/* Dashboard Classes*/

/* Andy 08/08/2023 v6 merge - CSL-199 (@todo TESTING NEEDED after v6 merge) */
/* -------------- CSL-199 - Data Tables -------------- */
.blueColumn {
    background-color: #0000FF;
    color: #FFF;
    text-align: center;
}

.blueColumn a {
    color: #FFF;
    text-decoration: underline;
}

.greenColumn {
    background-color: #00CC00;
    color: #FFF;
    text-align: center;
}

.greenColumn a {
    color: #FFF;
    text-decoration: underline;
}

.orangeColumn {
    background-color: #FF7402;
    color: #FFF;
    text-align: center;
}

.orangeColumn a {
    color: #FFF;
    text-decoration: underline;
}

.redColumn {
    background-color: #FF0000;
    color: #FFF;
    text-align: center;
}

.redColumn a {
    color: #FFF;
    text-decoration: underline;
}

/* Amna 05/05/2023 v6 merge - COMI-164 (@todo TESTING NEEDED after v6 merge, is a modifier class only used in one file -software/task/issueTypes/formWorkpackIssueType.php - change to a new utility class) */
#preventWP {
    width: 350px !important;
}

/* TINY MCE
   NOTE:  all timmce editor style changes
   ========================================================================== */
/* Override - v6 '.editForm' classes conflicting with TinyMCE (Kali 7/10/24 v6 merge: OVP-5867) */
.tox-tinymce {
    display: flex !important;
}

.editForm .tox-tinymce {
    margin-block: 4px;
}

/* Rupali 13/07/2023 v6 merge - CSL-189 (@todo  duplicate style types, create common styles be shared across multiple components/elements) */
/** EDIT FORM - Tiny mce modifications starts */
.editForm .mce-panel, .editForm .mce-panel .mce-stack-layout,
.editForm .mce-panel .mce-stack-layout .mce-flow-layout {
    display: block;
}

/* v6 merge - OVP-5904 (Kali) TinyMCE Editor in edit form lists - allow for responsive width */
.editForm li.edit-form-li-editor {
    display: flex;
}

/* v6 merge - OVP-5904 (Kali) Targets the outer container for TinyMCE editor within '.editForm' */
.editor-container,
.edit-form-li-editor > .editor-container, /* target Auto-Emailer uses different html structure */
.editForm li.edit-form-li-editor > .editor-container {
    flex: 1 1 0;
    min-height: initial; /* Reset .displaybox property e.g. .displaybox.editor-container */
}

/* TINYMCE SPELLCHECKER TOOL : v6 merge - OVP-5966 (Marie) custom spellchecker, rest of style in iqispellchecker.js but should be moved here really*/
.spellcheck-suggestion-item {
    margin:4px;
}

.spellcheck-suggestion-item:hover {
    border-radius: 3px;
    background-color: #006ce7;
    color: #fff;
}

.spellcheck-suggestion-disabled:hover {
    background-color: transparent;
    color: #ccc;
    cursor: not-allowed;
}

.sspellcheck-suggestion-disabled {
    color: #ccc;
}

/* END : Tiny MCE */

/* IMAGE MODAL CAROUSEL : v6 Merge - #12868 Andy
   ========================================================================== */
/* Image Media Viewer : Next & Previous Carousel Controls */
.carouselControl {
    position: absolute;
    width: 100px;
    --height-if-can-scroll: var(--can-scroll) calc(100% - 88px);
    --height-if-cant-scroll:  100%;
    height: var(--height-if-can-scroll, var(--height-if-cant-scroll));
    top: 0;
    background-color: transparent;
    opacity: 0;
    cursor: pointer;
}

.carouselControl:hover {
    display: block;
    background-color: #ffffff40; /* temp fix WEH-SEPT-2024 */
    opacity: 1;
    backdrop-filter: blur(10px);
}

#carouselPrevious {
    left: 0;
    z-index: 99990;
}

#carouselNext {
    --right-if-can-scroll: var(--can-scroll) 16px;
    --right-if-cant-scroll: 0;
    right: var(--right-if-can-scroll, var(--right-if-cant-scroll));
    z-index: 99990;
}

/* Image Media Viewer : Data Contents */
/* Merge v6 Andy OVP-5586 */
#carouselData {
    position: relative;
    z-index: 99999;
    width: 100%;
    /*text-align: left !important; !*  Merge v6 Andy OVP-5586 added by Andy to override JS added inline values these should be managed more effectively *!*/
}

#carouselPrevious .iconWrapper,
#carouselNext .iconWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: #ffffff99; /* temp fix WEH-SEPT-2024 */
    border-radius: var(--iq-border-radius-circle);
    width: 2rem;
    height: 2rem;
    filter: invert(1); /* temp fix WEH-SEPT-2024 */
}

#carouselPrevious .iconWrapper .icon,
#carouselNext .iconWrapper .icon {
    position: relative;
    margin: 6px 0 0 0;
}

#carouselPrevious .iconWrapper .icon.prev {
    background-image: url(/images/icons/chevron-left.svg); /* temp fix WEH-SEPT-2024 */
    background-size: auto; /* temp fix WEH-SEPT-2024 */
}

#carouselNext .iconWrapper .icon.next {
    background-image: url(/images/icons/chevron-right.svg); /* temp fix WEH-SEPT-2024 */
    background-size: auto; /* temp fix WEH-SEPT-2024 */
}

#imagemodal-container .modalImgCloseBtn,
#imagemodal-container #modalImgCloseBtn {
    position: absolute;
    top: var(--iq-space-100);
    right: var(--iq-space-100);
    width: 2rem;
    border: var(--iq-border-default);
    background-color: var(--iq-color-white);
    color: var(--iq-text-color);
    opacity: 1;
    font-size: 1.25rem;
    font-weight: 300;
    z-index: 999999;
}

#imagemodal-container .modalImgCloseBtn,
#imagemodal-container #modalImgCloseBtn:hover {
    border-color: var(--iq-color-grey-30);
    background-color: var(--iq-color-grey-30);
}

#imagemodal-container > .modal-dialog {
    box-sizing: content-box;
    border: 8px solid white;
    border-radius: .5rem;
    overflow: hidden;
}

/* Boostrap UI Modal overrides for Image Media View */
#imagemodal-container .modal-content {
    border: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

@keyframes detect-scroll {
    from, to { --can-scroll: ;}
}

#imagemodal-container .imageModalScroller {
    max-height: 86vh;
    overflow: auto;

    --can-scroll: initial; /* initial = false */
    animation: detect-scroll;
    animation-timeline: scroll(self);
}

.carousel-content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--iq-space-100);
    width: 100%;
    /*margin-top: .75rem;*/
    padding: .75rem .5rem 0;
    background-color: var(--iq-color-white);
    text-align: left;
}

.carousel-item {
    display: flex;
    align-items: center;
    gap: .25rem;
}

.carousel-label {
    margin: 0;
    color: var(--iq-text-color);
    font-weight: var(--iq-font-weight-semibold);
}

.carousel-value {}

.carousel-icon {
    align-self: baseline; /* center align with text */
    width: 1rem;
    color: var(--iq-text-color-light);
    stroke-width: 1.5;
}

.carousel-count {
    margin-left: var(--iq-space-200);
    font-weight: var(--iq-font-weight-semibold);
}

.carousel-content .vr {
    align-self: center;
    height: 1rem;
    margin: 0 .25rem;
    color: var(--iq-text-color-med);
}

.carousel-content .spacer {
    flex-grow: 1;
    width: 1px;
    margin: auto;
}

.carousel-image-size-selector {
    gap: var(--iq-space-100);
}

.carousel-image-size-selector select {
    margin: 0; /* override default input margin */
}

.carousel-counter {
    margin-left: var(--iq-space-150);
}

.carousel-image-description {
    display: block;
    position: relative;
    top: -.5rem;
    width: 100%;
}

/* END : Image Modal Carousel */

/* Component Tree - Filter Options effected by .k-widget box-sizing property  */
#componentSearchModal select.inputbox.select {
    box-sizing: revert;
}

/* Location */
#right-pane .toolbar {
    margin-bottom: 1rem;
}

#left-pane #viewLocBtn {
    margin: 1rem 0;
}

.question-view::marker {
    content: '';
}


/* PAGE ERROR MESSAGE : e.g. 404 Error
   ========================================================================== */
.page-error #divMain {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(80vh);
}

.page-error-message {
    display: flex;
    flex-direction: column;
    align-items: center;
}
    .page-error-image {
        width: 5.5rem;
        margin-bottom: 1rem;
        text-align: center;
    }

    .page-error-code {
        color: var(--iq-color-grey-40);
        font-size: 6rem;
        font-weight: 600;
        text-align: center;
        line-height: 1
    }

    .page-error-text {
        color: var(--iq-text-color-light);
        font-size: 1.5rem;
        font-weight: 600;
        text-align: center;
    }
/* END : Page error message  */

/* DASH WIDGETS - 3rd party library
   ========================================================================== */
/* TEMPORARY OVERRIDE: Applied until the theme is implemented. Replace or remove when finalised. https://www.highcharts.com/docs/chart-design-and-style/themes */
.dashWidget * {
    font-family: var(--iq-font-stack) !important; /* Override dash widget inline fonts */
}

/* END : Dash Widgets  */

/* HIGH CHARTS - 3rd party library
   ========================================================================== */
/* TEMPORARY OVERRIDE: Applied until the theme is implemented. Replace or remove when finalised. */
.highcharts-container  * {
    font-family: var(--iq-font-stack) !important;
}

/* centre fixed width widgets */
.highcharts-container {
    margin: 0 auto;
}

/* END : High Charts  */

/* MANDATORY MEDIA - changed to Required Media
   ========================================================================== */
/* Mandatory Media - Group */
.mandatory-media-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
    gap: .75rem;
}

/* Mandatory Media - Item */
.mandatory-media-item {
    display: flex;
    align-items: center;
    padding: var(--iq-space-150);
    border: var(--iq-border-default);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-5);
}

/* Mandatory Media - If only 1 Item. Need to add media queries to manage on smaller small screens */
.mandatory-media-item:only-child {
    /*width: max(28rem, 50%); !* not sure if supported - released 2020 *!*/
    min-width: 28rem;
    max-width: 56rem; /* max width is the min-width of 2 items */
}

/* Mandatory Media - Status Bar */
.mandatory-media-item .status-bar {
    width: .25rem;
    height: 2rem;
    margin-right: .125rem;
    border: 0; /* override */
    border-radius: var(--iq-border-radius-pill);
    background-color: var(--iq-color-grey-50);
}

.mandatory-media-item.warning .status-bar {
    background-color: var(--iq-color-orange-500);
}

.mandatory-media-item.danger .status-bar {
    background-color: var(--iq-color-red-500);
}

.mandatory-media-item.complete .status-bar {
    background-color: var(--iq-color-green-500);
}

/* Mandatory Media - File Type Icon Wrapper */
.mandatory-media-type__icon {
    flex: 0 0 2rem;
    height: 2rem;
}

/* Mandatory Media - File Type Icon SVG */
.mandatory-media-type__icon .iq-icon {
    width: 1.75rem;
    height: 1.75rem;
    stroke-width: 1.5;
}

/* Mandatory Media - Details Wrapper */
.mandatory-media-details {
    flex: 1;
    padding: 0 .5rem;
}

/* Mandatory Media - Title */
.mandatory-media-title {
    margin-bottom: var(--iq-space-025);
    color: var(--iq-color-grey-800);
}

/* Mandatory Media - Status Message    */
.mandatory-media-item .status-message {
    display: flex;
    align-items: center;
    gap: var(--iq-space-050);
    color: var(--iq-color-grey-100);
    font-size: 11px;
    font-weight: var(--iq-font-weight-medium);
    line-height: var(--iq-line-height-xs);
}

.mandatory-media-item .status-message .iq-icon {
    width: var(--iq-icon-2xs);
    height: var(--iq-icon-2xs);
    stroke-width: 4;
}

.mandatory-media-item.warning .status-message {
    color: var(--iq-color-orange-500);
}

.mandatory-media-item.danger .status-message {
    color: var(--iq-color-red-500);
}

.mandatory-media-item.complete .status-message {
    color: var(--iq-color-green-500);
}

/* Mandatory Media - Button */
.mandatory-media-item .button {
    flex: 0 0 auto;
}

/*!* Mandatory Media - Completed Icon *!*/
/*.mandatory-media-item .icon-wrap--check {*/
/*    color: var(--iq-color-green-500);*/
/*}*/

/*.mandatory-media-item .icon-wrap--check .iq-icon {*/
/*    width: var(--iq-icon-lg);*/
/*    height: var(--iq-icon-lg);*/
/*    stroke-width: 2;*/
/*}*/
/* END : Mandatory Media */


/* Custom tooltip styling */
.custom-tooltip {
    position: absolute;
    z-index: 1000;
    visibility: hidden;
    padding: 0.25rem var(--iq-space-075);
    color: var(--iq-text-color-inverted);
    background-color: var(--iq-color-grey-800);
    border-radius: var(--iq-border-radius-sm);
    font-size: 0.75rem;
    line-height: 1.4;
    white-space: pre-wrap;
    opacity: 0;
    transition: opacity 0.2s, visibility 0s 0.2s;
    font-weight: 400;
}

.custom-tooltip.top {
    margin-bottom: 5px;
    padding: 6px 10px;
}

.custom-tooltip.top::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: var(--iq-color-grey-800) transparent transparent transparent;
}

.copy-pass-btn {
    height: 34px;
}

#copyButton {
    height:100%
}

/*Anomaly reports - page*/
.icon-wrap.icon-wrap--arrow-up, .icon-wrap.icon-wrap--arrow-down, .iq-icon.iq-icon-arrows-expand-x {
    width:var(--iq-icon-3xs);
    margin-top: 2px;
}
.count-container {

}
.count-container, .count-sub-block {
    display: flex;
    justify-content: flex-end;
}

.count-block {
    flex: 1;
    text-align: right;
}

.positive-transition  {
    display: flex;
    align-items: center;
}

.count-green {
    color: var(--iq-color-green-600);
}

.count-grey-xlight {
    color: var(--iq-text-color-xlight);
}

.count-grey {
    color: var(--iq-color-grey-90);
}

.count-red {
    color: var(--iq-color-red-600);
}

/* EMPTY STATE - Components
   ========================================================================== */

.iq-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--iq-space-300);
    background-color: var(--iq-color-grey-5);
    height: 100%;
    width:100%;
    border-radius:var(--iq-border-radius-md);
}

.iq-empty-state-icon {
    margin-bottom: 20px;
}

.iq-empty-state-title {
    font-size: var(--iq-heading-6);
    color: #5a5a5a;
}

.iq-empty-state-description {
    color: var(--iq-color-grey-50);
    margin: 10px 0;
}

.iq-empty-state-message {
    color: var(--iq-color-grey-50);
    margin: 10px 0;
}

.iq-empty-state-actions {
    margin-top: 20px;
}

/* iq-ghost-btn--flush — opt-in BEM modifier (applied on the <iq-ghost-btn>
 * host). Makes the inner ghost button's TEXT sit flush with the host's left
 * edge: horizontal padding is trimmed (the shared `.button` uses 0 .75rem)
 * and a matching negative margin cancels what remains, so the hover pill
 * bleeds slightly left instead of pushing the label right. Use it when the
 * button must line up with column content — e.g. inside a form row's
 * `.displaybox` under the input fields (Calculate page, LE-124). The
 * <iq-ghost-btn> component renders its inner control as `.button
 * .button-ghost`, so the inner selector targets that. */
.iq-ghost-btn--flush .button-ghost {
    padding: 0 var(--iq-space-050);
    margin-left: calc(-1 * var(--iq-space-050));
}

.iq-empty-state-actions .add-task-link {
    color: var(--iq-color-blue-primary);
    text-decoration: none;
    font-size: 14px;
    background-color: var(--iq-color-grey-5);
}
/* removes the default bootstrap outline */
.add-task-link:focus,
.add-task-link:focus-visible,
.add-task-link:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

.iq-empty-state-actions .add-task-link:hover {
    text-decoration: underline;
}

/* Backward compatibility - keep old selector for existing code */
.iq-empty-state-body .add-task-link {
    color: var(--iq-color-blue-primary);
    text-decoration: none;
    font-size: 14px;
    background-color: var(--iq-color-grey-5);
}

.iq-empty-state-body .add-task-link:hover {
    text-decoration: underline;
}

.empty-state__icon.icon-wrap.icon-wrap--duplicate-plus svg,
.empty-state__icon.icon-wrap.icon-wrap--magnifier-slash svg,
.empty-state__icon.icon-wrap.icon-wrap--history svg {
    width: var(--iq-icon-4xl);
    height: var(--iq-icon-4xl);
}

.empty-state__icon.icon-wrap.icon-wrap--magnifier-slash svg .nc-icon-wrapper,
.empty-state__icon.icon-wrap.icon-wrap--magnifier-slash svg rect,
.empty-state__icon.icon-wrap.icon-wrap--magnifier-slash svg path,
.empty-state__icon.icon-wrap.icon-wrap--magnifier-slash svg line,
.empty-state__icon.icon-wrap.icon-wrap--duplicate-plus svg .nc-icon-wrapper,
.empty-state__icon.icon-wrap.icon-wrap--duplicate-plus svg rect,
.empty-state__icon.icon-wrap.icon-wrap--duplicate-plus svg path,
.empty-state__icon.icon-wrap.icon-wrap--duplicate-plus svg line,
.empty-state__icon.icon-wrap.icon-wrap--history svg path,
.empty-state__icon.icon-wrap.icon-wrap--history svg line {
    stroke: var(--iq-color-grey-50);
    stroke-width: 1;
}

/* END : Empty State Component */

/* EMPTY TEXT : Shown in place of text content when it's empty or missing
   ========================================================================== */
.iq-empty-text {
    color: var(--iq-text-color-xlight);
    font-size: 1em;
}
/* END : Empty Text */

/* Workpack Task Sections : e.g. Contains Metric Bar
   ========================================================================== */
.workpack-metric-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--iq-space-200);
    /*padding: 16px;*/
    margin-bottom:var(--iq-space-300);
}

.workpack-metric {
    display: flex;
    align-items: center;
    background-color: var(--iq-color-grey-10);
    padding: .75rem 1.25rem;
    /*text-align: left;*/
    /*border: 1px solid #ddd;*/
    border-radius: var(--iq-border-radius-md);
    /*box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
}

.workpack-text-content {
    margin-left: var(--iq-space-150);
}

.workpack-metric svg {
    /*width: 1.25rem;*/
    /*height: 1.25rem;*/
    color: white;
    /*stroke-width: 2px;*/
}

.workpack-metric .background-circle {
    fill: none;
    stroke: var(--iq-color-grey-40);
    stroke-width: 6;
}

.workpack-metric .progress-circle {
    fill: none;
    stroke-width: 6;
    stroke-linecap: round;
    transition: stroke-dasharray 1s ease-out;
}
.workpack-metric .text-content {
    display: flex;
    flex-direction: column;
}

.workpack-metric .title {
    font-size: var(--iq-body-text-lg);
    font-weight:500;
    /*color: #1f2937; !* Text color for the title *!*/
    line-height: 1;
    margin-bottom: var(--iq-space-050);
}

.workpack-metric .metric {
    font-size: var(--iq-body-text-lg);
    font-weight:700;
    /*color: #1f2937; !* Text color for the metric number *!*/
    line-height: 1;
}

/* Tablet and smaller screen styles */
@media (max-width: 1260px) {
    .workpack-metric-container {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); /* Multiple columns on small screens */
        gap: 1rem; /* Gap between grid items */
    }

    .workpack-metric {
        flex-direction: column; /* Stack items within each grid item */
        align-items: center; /* Center align all items within the grid item */
        padding: 1rem; /* Adjust padding for more spacing */
        text-align: center; /* Center text alignment */
    }

    .workpack-text-content {
        margin-left: 0; /* Remove left margin in stacked layout */
        margin-top: 0.5rem; /* Space between icon and text content */
    }

    /*.workpack-metric svg {*/
    /*    margin-bottom: 0.5rem; !* Space between the icon and the title *!*/
    /*    color: var(--iq-color-blue-500); !* Optional: Change icon color *!*/
    /*}*/
}

.workpack-base__icon {
    padding: var(--iq-space-075);
    border-radius: var(--iq-border-radius-circle);

}

.module-task-dark {
    background-color: var(--iq-color-grey-1000);
}

.workpack-base__icon svg {
    width: var(--iq-icon-md);
    height:var(--iq-icon-md);
}

.workpack-metric .icon-wrap--status-open {
    background-color: var(--iq-color-blue-700);
}

.workpack-metric .icon-wrap--status-closed {
    background-color: var(--iq-color-green-600);
}

.workpack-metric .icon-wrap--calendar-alert {
    background-color: var(--iq-color-yellow-700);
}

.workpack-metric .icon-wrap--calendar-alert svg {
    width:20px;
    height:20px;
}

.workpack-progress-icon {
    width: 36px;
    height: 36px;
}

.workpack-metric .contextual-help {
    line-height: 1;
}

.workpack-metric .contextual-help-icon {
    display: inline-block;
    vertical-align: middle;
    line-height: 0.3rem;
    font-size: 0.6rem;
}

.iq-circular-progress-double {
    stroke-width: 24; /* stroke with is 4*pixels */
    width: 2.5rem;
    height: 2.5rem;
}

.iq-circular-progress-double .progress-inner-track,
.iq-circular-progress-double .progress-outer-track {
    stroke: var(--iq-color-grey-40);
}

.iq-circular-progress-double .progress-inner-bar {
    stroke: var(--iq-color-aqua-300);
}

.indicator--double-progress-circle-inner > .indicator__swatch {
    background-color: var(--iq-color-aqua-300);
}

.iq-circular-progress-double .progress-outer-bar {
    stroke: var(--iq-color-aqua-600);
}

.indicator--double-progress-circle-outer > .indicator__swatch {
    background-color: var(--iq-color-aqua-600);
}

.indicator--double-progress-circle-inner .indicator__label:last-child,
.indicator--double-progress-circle-outer .indicator__label:last-child {
    margin-left: auto;
    padding-left: var(--iq-space-200);
    font-weight: var(--iq-font-weight-bold);
}


/* END : Workpack Task Sections w/ Metric Bar */

.panel-group .pane-content div:has(> .table) {
    overflow-x: auto;
}

.panel-group .pane-content div:has(> .table.table-striped.table-hover.anomaly) {
    max-width: calc(100% - 2em);
}

/* BLACK BOX CALCULATIONS : e.g. todo
   ========================================================================== */

.panel-heading-flex-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1.5rem 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--iq-color-grey-40);
}

.panel-heading-flex-row h4,
.panel-heading-flex-row h5 {
    margin: 0;
    flex: 1;
}

.panel-heading.grey .panel-heading-flex-row h4::after,
.panel-heading.grey .panel-heading-flex-row h5::after {
    content: none;
    display: none;
    border-bottom: none;
    margin-top: 0;
}

.panel.p-3 .panel-heading.grey .panel-heading-flex-row h4 {
    margin: 0;
}

.panel.p-3 .panel-heading.grey .panel-heading-flex-row {
    margin: 0rem 0 1rem;
}

/* Perform calculation panel */
.panel-calculation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
}

.panel-calculation-inputs {
    width: calc(100% - 0.5rem);
    grid-column: 1;
    padding: 0 1rem 1rem 1rem;
    margin:0  1rem 1rem;
    border: 1px solid var(--iq-color-grey-30);
    border-radius: var(--iq-border-radius-sm);
}

.panel-calculation-outputs {
    /*width: calc(100% - 0.5rem);*/
    grid-column: 2;
    padding: 0 1rem 1rem 1rem;
    margin: 0 1rem 1rem;
    border: 1px solid var(--iq-color-grey-5);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-5);
}

.panel-outputs {
    padding: 1rem;
    background-color: var(--iq-color-white);
    border: 1px solid var(--iq-color-grey-30);
    border-radius: var(--iq-border-radius-xs);
}

.panel-outputs-header {
    margin-bottom: 1rem;
    padding-bottom: 0.25rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: solid;
    border-bottom-width: 1px;
    border-bottom-color: var(--iq-color-grey-30);
    font-size: var(--iq-body-text-sm);
}

.panel-outputs-results.viewForm ul.list_col_1 li {
    margin-left: 0;
    border-top: none;
}

.panel-inputs ul li {
    list-style: none;
}

.panel-calculation-comment {
    width: calc(100% - 0.5rem);
    grid-column: 1;
    margin: 1rem;
}

.calculation-comment ul li {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1rem;
    list-style: none;
    padding: 0 0 0 1rem;
}

.calculation-comment ul li textarea {
    width: 100%; ;
}

.calculation-comment ul li label {
    font-weight: bold;
    width:280px;
    max-width: 50%;
}

.panel #calcMsgContainer {
    margin: 0 1rem 1rem 1rem;
}

.panel-outputs-workings {
    display: flex;
    flex-direction: row-reverse;
}

.outputs-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.outputs-header .outputs-status {
    margin-top: 10px;
}

.panel-inputs.editForm ul li label {
    margin-left: 0;
    border-top: none;
}

.panel-inputs.editForm ul li {
    border-top: none;
}

/* END : Black Box Calculations */

/* GROUPS & WORKPACKS MODALS : Add/Remove/Replace Select Items
   ========================================================================== */
.k-listview-content {
    display: flex;
    flex-wrap: wrap;
    gap: var(--iq-space-200);
    /* no left padding: cards sit flush with the modal edge / heading. The
       checked-card ring is drawn inset (see modals' JS) so removing this padding
       does not clip it. */
    padding: 5px 5px 5px 0;
    overflow:auto;
    align-content: flex-start;
}

.modal-card {
    border: var(--iq-border-default);
    padding: 16px;
    border-radius: 4px;
    flex: 0 1 49%;
    box-sizing: border-box;
    height: 140px;
    max-width: 590px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: box-shadow 0.3s ease, background-color 0.3s ease;
    overflow: hidden;
}

/* Hide the button group initially */
.modal-card .btn-group {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Show the button group on hover only for cards with 'hover-enabled' class */
.hover-enabled:hover .btn-group {
    display: flex;
    pointer-events: none; /* Disable the buttons when hovering (if not checked) */
    opacity: 0.5; /* Reduce opacity to indicate disabled state */
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.hover-background:hover {
    background-color: var(--iq-color-grey-10);
}

/* Always show and enable the button group when the checkbox is checked */
.modal-card.checked .btn-group {
    display: flex !important;
    pointer-events: auto;
    opacity: 1;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.modal-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 30px;
    gap: var(--iq-space-100);
}

.modal-card-header .badge {
    margin: 0;
    flex-shrink: 0;
}

.modal-header-label {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    flex: 1;
    gap: var(--iq-space-050);
    min-width: 0;
}

.modal-card-title {
    word-break: break-word;
    max-width: 345px;
    color: var(--iq-color-grey-800);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    display: inline-block;
    vertical-align: top;
    flex-shrink: 0;
}

.modal-card-info {
    margin-left: var(--iq-space-300);
    /*margin-top: 30px;*/
}

.modal-card-info p {
    font-size:14px;
    height:16px;
}

.modal-card-asset{
    margin-bottom: var(--iq-space-100);
    color:var(--iq-color-grey-1000);
    font-size:var(--iq-body-text-sm);
    line-height: var(--iq-line-height-xs);
}

.modal-card-description {
    margin-bottom: 0;
    color:var(--iq-text-color-light);
    font-size:var(--iq-body-text-sm);
    line-height: var(--iq-line-height-xs);
    max-width: 530px;
}

.modal-card-checked {
    border: solid 2px var(--iq-color-blue-800);
}

.modal-card-unchecked {
    border-color: #ccc;
}

/* || Button Group - Modal Card Virtual Group */
.modal-card-virtual-group .btn-group > .btn { /* TEMP WEH-SEP-24 override boostrap button groups */
    border: 1px solid var(--iq-color-grey-40);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-20);
    font-weight: var(--iq-font-weight-semibold);
}

.modal-card-virtual-group .btn-group-sm > .btn { /* TEMP WEH-SEP-24 override boostrap button groups */
    padding: 4px 8px;
}

.modal-card-virtual-group .btn-group > .btn:hover { /* TEMP WEH-SEP-24 override boostrap button groups */
    background-color: var(--iq-color-grey-40);
}

.modal-card-virtual-group .btn-group > .btn:focus,
.modal-card-virtual-group .btn-group > .btn.focus { /* TEMP WEH-SEP-24 override boostrap button groups */
    /*color: ;*/
    /*background-color: ;*/
    /*border-color:;*/
}

.modal-card-virtual-group .btn-group > .btn:active,
.modal-card-virtual-group .btn-group > .btn.active{ /* TEMP WEH-SEP-24 override boostrap button groups */
    box-shadow: none;
    border-color: var(--iq-color-blue-primary);
    background-color: var(--iq-color-blue-primary);
    color: var(--iq-text-color-inverted);
    font-weight: var(--iq-font-weight-semibold);
}

.modal-card-virtual-group .btn-group > .btn:active:hover,
.modal-card-virtual-group .btn-group > .btn.active:hover { /* TEMP WEH-SEP-24 override boostrap button groups */
    background-color: var(--iq-color-blue-primary);
}

.modal-card-virtual-group .btn-group > .btn.disabled,
.modal-card-virtual-group .btn-group > .btn[disabled],
.modal-card-virtual-group.btn-group > .btn.disabled:hover,
.modal-card-virtual-group.btn-group > .btn[disabled]:focus,
.modal-card-virtual-group .btn-group > .btn.disabled.focus { /* TEMP WEH-SEP-24 override boostrap button groups */
    /*background-color: ;*/
    /*border-color: ;*/
}

/* || END Button Group - Modal Card Virtual Group */

.button-group {
    display: flex;
    justify-content: space-between;
    padding: 4px;
    border-radius: 4px;
    border: solid 1px var(--iq-color-grey-40);
    gap: 4px;
}

/*.button-group button {*/
/*    padding: 5px 10px;*/
/*    margin-right: 5px;*/
/*}*/

.badge-space{
    margin-left:var(--iq-space-050);
}

.group-workpack-checkbox {
    position: relative;
    top: 8px;
    flex-shrink: 0;
}

.group-workpack-checkbox input[type="checkbox"] {
    margin: 0;
    vertical-align: top;
    cursor: pointer;
}

.group-workpack-checkbox input[type="checkbox"]:not([disabled]) {
    cursor: pointer;
}

.summary-success-container {
    background-color: rgba(227, 246, 237, 0.4);
    border-radius: var(--iq-border-radius-lg);
    margin: 40px auto;
    max-height: 600px;
    height: auto;
    position: fixed;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.summary-success-title {
    text-align: center;
    padding: 32px 32px 16px 32px;
}

.summary-success-title h3 {
    color: var(--iq-color-green-700);
}

.summary-success-text {
    padding-bottom: 16px;
    padding-left: 32px;
}

.summary-success-group {
    padding: 0 32px 32px 32px;
}

.summary-success-group h4 {
    margin: 0;
}

.summary-success-sub-container {
    padding-bottom: 20px;
    padding-right: 20px;
}

.summary-success-list {
    max-height: 400px;
    overflow: auto;
}

.summary-success-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
}

.summary-success-item svg {
    margin-left: 10px;
}

.summary-success-icon .iq-icon.iq-icon-circle-check {
    height: var(--iq-space-400);
    width: var(--iq-space-400);
    color: var(--iq-color-green-700);
    stroke-width: 1.2;
}

.summary-success-item .iq-icon.iq-icon-check {
    color: var(--iq-color-green-700);
    width: var(--iq-space-200);
    height: var(--iq-space-200);
    stroke-width: 2;
}

.status-draft-svg {
    margin-left: 4px;
    opacity:0.3;
}

.lock-svg .icon-wrap.icon-wrap--lock {
    width: var(--iq-icon-sm);
    color: var(--iq-text-color-light);
}

div.group-workpack-radio input[type="radio"] {
    /*height: 16px;*/
    /*width: 16px;*/
    margin-top: 8px;
}

div.group-workpack-radio input[type="radio"]:not([disabled]) {
    cursor: pointer;
}

/* || Virtual Group Selection Landing Page (Modal) */

#kendoTextBox {
    height: 30px;
    font-size: 14px;
    color: var(--iq-text-color);
    padding: 0 0 0 24px;
}

#kendoTextBox::placeholder {
    color: var(--iq-color-grey-80);
}

.iq-kendo-search {
    position: relative;
    display: inline-block;
    width: 260px;
    height: 32px;
    padding: 0 30px 0 10px;
    border: 1px solid var(--iq-color-grey-40-rgba);
    border-radius: 4px;
    background: var(--iq-color-white);
    vertical-align: middle;
}

.iq-kendo-search:hover {
    border-color: var(--iq-color-grey-80);
}

.iq-kendo-search:focus-within {
    border-color: var(--iq-color-blue-800);
}

.iq-kendo-search .k-input-inner,
.iq-kendo-search input {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    height: 30px;
    line-height: 30px;
    padding: 0;
    width: 100%;
    -webkit-appearance: none;
}

.iq-kendo-search .icon-wrap--search {
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--iq-color-grey-80);
}

.iq-kendo-search:focus-within .icon-wrap--search {
    color: var(--iq-color-grey-300);
}

#kendoToolBarDiv.k-toolbar {
    /* border removed (was an invisible 1px white border) so the toolbar content
       sits flush with the modal content edge. See the card-select alignment
       note below. */
    border: 0;
    color: var(--iq-text-color);
    background-color: var(--iq-color-white);
}

#kendoToolBarDiv.k-toolbar-md {
    padding-block: 0;
    /* no horizontal inset: align toolbar content with the modal edge / heading */
    padding-inline: 0;
    gap: 0;
}

#kendoToolBarDiv.k-toolbar-md::before {
    margin-inline-start: 0;
}

#kendoToolBarDiv .k-toolbar {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

#kendoToolBarDiv .kendo-toolbar-results {
    font-size: 14px;
}

.btn.create-new-group-link {
    margin-left: auto;
    color: var(--iq-color-blue-primary);
    background-color: white;
}

.create-new-group-link:focus,
.create-new-group-link:active:focus,
.create-new-group-link.active:focus {
    outline: none;
    box-shadow: none;
}

#listView {
    display: flex;
}

#listView.k-listview {
    border: none;
}

#listView.k-listview:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/* Modal "card-select" pattern (Kendo search toolbar + card listview) alignment.
   The Kendo toolbar (#kendoToolBarDiv) and the card listview (.k-listview-content)
   are aligned FLUSH with the modal content edge, the toolbar has no horizontal
   padding/border and the listview has no left padding so the modal title,
   heading, toolbar and cards all share one left edge automatically, with no
   per-modal class. Because the listview left padding used to reserve space for
   the checked-card highlight ring, that ring is now drawn INSET (see the
   modals' JS: box-shadow 'inset 0 0 0 0.125rem ...') so it isn't clipped by the
   listview's overflow. This is the scalable, root-cause alignment: any future
   modal using this toolbar + card-listview pattern lines up with no extra markup. */
/* || END Virtual Group Selection Landing Page (Modal) */

/* END : Groups & Workpacks Modals */

/* CONTEXTUAL HELP : Types - Inline, Popover, Launch Help Documentation
   ========================================================================== */
/* HELP  - Base */
.iq-help {
    display: inline-flex;
    color: var(--iq-text-color-light);
}

.iq-help .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
}

/* INLINE HELP  - Variant */
.iq-help-inline {
    display: flex;
    margin-bottom: var(--iq-space-200);
    font-size: var(--iq-base-font-size);
}

.iq-help-inline-icon {
    padding-top: var(--iq-space-025);
}

.iq-help-inline-label {
    margin-left: var(--iq-space-075);
}

/* CONTEXTUAL HELP - Size Modifiers */
.iq-help-size-sm .iq-icon {
    width: var(--iq-icon-xs);
    height: var(--iq-icon-xs);
}

/*.iq-help-size-sm .iq-help-label {*/
.iq-help-size-sm .iq-help-inline-label {
    font-size: var(--iq-body-text-sm);
}

.iq-help-size-md .iq-icon {
    width: var(--iq-icon-sm);
    height: var(--iq-icon-sm);
}

/*.iq-help-size-md .iq-help-label {*/
.iq-help-size-md .iq-help-inline-label {
    font-size: var(--iq-body-text-md);
}

/* CONTEXTUAL HELP - Colour Modifiers */
.iq-help-emphasis-low  {
    color: var(--iq-text-color-xlight);
}

.iq-help-emphasis-med {
    color: var(--iq-text-color-light);
}

.iq-help-emphasis-high {
    color: var(--iq-text-color-med);
}

/* END : Contextual Help */

/* KENDO UI FONT CHANGE - temp global hack for WEH-SEPT-2024 - testing only delete after expo @todo
========================================================================== */
/* TEMPORARY OVERRIDE: Applied until the theme is implemented. Replace or remove when finalised. */
.k-widget,
[class^="k-"] {
    font-family: var(--iq-font-stack) !important;
}

/* End : Kendo UI temp font change*/


/* DISPLAY HTML CONTENT - resets needed when displaying HTML content inside a .viewForm or .editForm ul list.
   NOTE: content is typically outputted from and WYSIWYG text editor like tinyMCE into a .displaybox container, Merged 12-Nov-24 (v6 TASKS-920)
   ========================================================================== */
.display-html-content, /* target Auto-Emailer as html structure is different, not inside an default .editForm structure */
.viewForm li.text-block > .display-html-content   /* target content inside task attributes and .text-block, increased specificity to target them */
.viewForm .display-html-content {
    flex: 1 1 0;
    max-width: none;
    /*max-width: 100%;*/
    /*font-family: var(--iq-font-stack) !important; !* v666 only *!*/
}

/* HTML Content - div */
.viewForm .display-html-content div {
    display: block;
}

/* HTML Content - headings  @todo Test heading properties in v666 merge */
/*.display-html-content h1,*/
/*.display-html-content h2,*/
/*.display-html-content h3,*/
/*.display-html-content h4,*/
/*.display-html-content h5,*/
/*.display-html-content h6,*/
/*.viewForm .display-html-content h1,*/
/*.viewForm .display-html-content h2,*/
/*.viewForm .display-html-content h3,*/
/*.viewForm .display-html-content h4,*/
/*.viewForm .display-html-content h5,*/
/*.viewForm .display-html-content h6 {*/
/*    color: initial;     !* Temp for v6 - remove in v666 *!*/
/*    font-weight: 500;*/
/*}*/

.display-html-content h1,
.viewForm .display-html-content h1 {
    font-size: 28px;
}

.display-html-content h2,
.viewForm .display-html-content h2 {
    font-size: 24px;
}

.display-html-content h3,
.viewForm .display-html-content h3 {
    font-size: 20px;
}

.display-html-content h4,
.viewForm .display-html-content h4 {
    font-size: 16px;
}

.display-html-content h5,
.viewForm .display-html-content h5 {
    font-size: 14px;
}

.display-html-content h6,
.viewForm .display-html-content h6 {
    font-size: 12px;
}

/* HTML Content - div */
.viewForm .display-html-content p {
    margin: revert;
}

/* HTML Content - unordered list */
.display-html-content ul,
.viewForm .display-html-content ul {
    display: block;
    margin-block: 1em;
    padding: revert;
    list-style: initial;
}

.display-html-content ul ul,
.viewForm .display-html-content ul ul {
    margin: initial;
    padding-left: 2rem;
    list-style-type: circle;
}

.display-html-content ul ul ul,
.viewForm .display-html-content ul ul ul {
    list-style-type: square;
}

/* HTML Content - ordered list */
.display-html-content ol,
.viewForm .display-html-content ol {
    display: block;
    margin-block: 1em;
    padding: revert;
}

/* HTML Content - nested ordered list */
.display-html-content ol ol,
.viewForm .display-html-content ol ol {
    margin: initial;
    padding-left: 2rem;
}

/* HTML Content - list item */
.display-html-content ul li,
.display-html-content ol li,
.viewForm .display-html-content ul li,
.viewForm .display-html-content ol li {
    display: list-item;           /* Default for <li> */
    width: auto;                  /* Default value */
    height: auto;                 /* Default value */
    min-height: auto;             /* Default value */
    max-height: none;             /* Default value */
    margin: 0;                    /* Default margin for list items */
    padding: 0;                   /* Default padding for list items */
    border: none;                 /* Default border for list items */
    list-style-type: inherit;     /* Default list style */
}

/* HTML Content - table */
.display-html-content .table-container,
.viewForm .display-html-content .table-container {
    overflow-x: auto;   /* Stops tables overflowing parent containers. Placing the table within a <div> helps avoid browser inconsistencies  */
}

/* HTML Content - blockquote */
.display-html-content blockquote,
.viewForm .display-html-content blockquote {
    /* tinymce properties */
    margin-left: 1.5rem;
    padding-left: 1rem;
    border-left: 2px solid #ccc;
    font-size: inherit;
}

/* HTML Content - Adjust the spacing of the first element to ensure it aligns flush with the top of its parent container */
.viewForm .display-html-content > :first-child,
.display-html-content > :first-child {
    margin-top: 0;           /* Temp for v6 - remove in v666 */
}

/* HTML Content - Adjust the spacing of the last element to ensure it aligns flush with the bottom of its parent container */
.viewForm .display-html-content > :last-child,
.display-html-content > :last-child {
    margin-bottom: 0;           /* Temp for v6 - remove in v666 */
}


/* End :  DISPLAY HTML CONTENT */

/* BOUNDING BOX TOOL  (Rana/Gloriya)
   Annotation drawing + review UI: software/boundingBox/. In active use, not a prototype.
========================================================================== */
.bb-box {
    display: flex;
    flex-direction: row;
}

.bb-box .bb-box--description {
    width: calc(50% - 16px);
    margin-right: 8px;
}

.bb-box .bb-box--classify {
    width: calc(50% - 16px);
    margin-left: 8px;
}

.bb-box .bb-box--filter {
    width: calc(70% - 16px);
    margin-right: 8px;
}

.bb-box .bb-box--toolbar {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(30% - 16px);
    margin-left: 8px;
}

.bb-box--classification {
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.bb-box--classification ul li {
    border-left: none;
    border-right: none;
}

.bb-box--equipment {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center
}

.bb-box--classification .bb-box--tool {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    margin-left: 12px;
    padding: 0;
}

.bb-box--classification .bb-box--tool span {
    margin-left: 12px;
}

.bb-box--classification .bb-box--tool button {
    margin-right:8px;
}

.bb-box-centered {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.bb-box-controls {
    display: flex;
    justify-content: flex-end;
}

.bb-box-controls button {
    margin-left: 12px;
}

/* End :  BOUNDING BOX TOOL  */

/* ==========================================================================
   START : imageRecognition feature styles  (Rana/Gloriya)
   All CSS added for the imageRecognition feature lives in this single block:
   bounding-box layout helpers plus the annotated-images review / split-picker UI
   (software/boundingBox/ + software/boundingBox/review/).
   Add any new imageRecognition rule between this banner and the END banner below.
   ========================================================================== */

/* Canvas fallback image inside .bb-box--image-container. The canvas carries the real pixel
   dimensions as width/height attributes; this only stops an oversized fallback from breaking
   the layout, replacing a malformed inline style="width=NNNpx" that never applied. */
.bb-box--source-image {
    max-width: 100%;
    height: auto;
}

/* Debug footer sits below the floated annotation panels. Replaces style="clear: both". */
.bb-box--debug {
    clear: both;
}

/* ANNOTATED IMAGES REVIEW  (software/boundingBox/review/) */

/* Each format tab's canvas is sized in device pixels by JS (longest side up to 1200px) so the
   overlay geometry is drawn at the image's own resolution. Bootstrap's .modal-lg is only 900px
   wide, so without a CSS box the canvas lays out at that intrinsic width and spills outside the
   dialog: the dialog is widened here and the canvas is scaled down to the modal body. */
#airModal .modal-dialog {
    width: auto;
    max-width: 1300px;
}

#airModal .modal-body {
    max-height: calc(100vh - 13rem);
    overflow-y: auto;
}

#airModal .air-modal-canvas {
    display: block;
    /* min-width: 0 stops the flex parent (.bb-box-centered) sizing the canvas to its intrinsic
       pixel width instead of honouring max-width on narrow viewports. */
    min-width: 0;
    max-width: 100%;
    height: auto;
}

#airModal .air-format-meta {
    padding: var(--iq-space-100) 0;
}

#airModal .air-format-controls {
    padding-bottom: var(--iq-space-100);
}

#airModal .air-format-unavailable {
    padding: var(--iq-space-200);
    color: var(--iq-text-color-med);
    text-align: center;
}

#airModal .air-tab-badge {
    margin-left: var(--iq-space-050);
    color: var(--iq-text-color-light);
    font-size: var(--iq-body-text-sm);
}

/* Four tiles per row, five rows per page - a round 20, countable in blocks, and a full page that
   fits on screen without much scrolling.

   Flexed rather than built from Bootstrap's .col-md-3 floats, for the padding: the cell replaces
   Bootstrap's 15px column gutter with a token one. That gutter was the bulk of the empty space
   either side of every image, putting 30px between neighbouring tiles and reading as a wide grey
   channel down the page. Kept non-zero so the tiles still separate as cards rather than merging
   into one block. */
.air-grid {
    display: flex;
    flex-wrap: wrap;
}

.air-grid-cell {
    width: 25%;
    padding-right: var(--iq-space-050);
    padding-left: var(--iq-space-050);
}

/* Step down rather than squeeze: below these widths a narrower tile shrinks the image box faster
   than it shrinks the grey around it, which is the opposite of what the tighter gutter is for. */
@media (max-width: 991px) {
    .air-grid-cell {
        width: 33.333%;
    }
}

@media (max-width: 767px) {
    .air-grid-cell {
        width: 50%;
    }
}

/* Grid tile. Laid out as a fixed-height card so the row stays aligned no matter what aspect ratio
   each thumbnail comes back at (annotatedImageServe.php only caps the longest side), and so the
   text lines and the split badge each get their own space instead of overlapping. */
.air-thumb {
    display: flex;
    flex-direction: column;
    /* Fills the cell so all five tiles in a row are the same height regardless of how many lines
       their title and meta text take. */
    height: 100%;
    margin-bottom: var(--iq-space-100);
    cursor: pointer;
}

/* Anomaly number and - in split mode - the Training/Validation badge, on one row. The badge used to
   be absolutely positioned over the tile's top-left corner, where it sat on top of the number. */
.air-thumb-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.air-thumb-title {
    /* min-width: 0 lets the title shrink past its own text width so the ellipsis can kick in
       instead of the badge being pushed out of the tile. */
    min-width: 0;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.air-thumb-meta {
    margin: var(--iq-space-050) 0 var(--iq-space-100);
    overflow: hidden;
    color: var(--iq-text-color-med);
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: var(--iq-body-text-sm);
}

/* Fixed box so every row of tiles lines up. The thumbnail is letterboxed inside it rather than
   cropped - the annotation being reviewed can sit anywhere in the frame, so trimming the edges
   could hide the very thing the tile is being opened for. margin-top:auto keeps the image box
   bottom-aligned when a tile's text wraps to fewer lines than its neighbours. */
.air-thumb-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 11rem;
    margin-top: auto;
    background-color: var(--iq-color-grey-20);
}

.air-thumb-image img {
    max-width: 100%;
    max-height: 100%;
}

/* Visible Equipment focus mode (TDV-136).

   Two photographs on screen at a time rather than a grid of twelve. The task is different from the
   review grid's: a tagger is naming every object in one frame, not passing a quick verdict on a
   label, and at 25% width in an 11rem box a flange among pipework is not reliably visible. Two
   tiles also mean a page load fetches two images instead of twelve.

   The tile is replaced in place as each is answered, so the box has to be a fixed height for the
   same reason the grid's is - a shorter photograph following a taller one would otherwise move the
   checklist under the cursor between one assessment and the next. */
.ve-focus-cell {
    width: 50%;
    padding-right: var(--iq-space-100);
    padding-left: var(--iq-space-100);
}

/* One per row below tablet width. Half of a phone screen cannot show a photograph anyone could
   name equipment from, and a checklist of seventeen at that width is unusable. */
@media (max-width: 767px) {
    .ve-focus-cell {
        width: 100%;
    }
}

.ve-focus-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 18rem;
    background-color: var(--iq-color-grey-20);
}

/* Never upscale: the resolver normalises the short edge to 384px, and stretching that across a
   26rem box would look right while hiding the detail the answer depends on. A picture smaller than
   the box is letterboxed instead, which is honest about what is there. */
.ve-focus-image img {
    max-width: 100%;
    max-height: 100%;
}

@media (max-width: 991px) {
    .ve-focus-image {
        height: 14rem;
    }
}

/* Checklist rows, tightened.

   The checklist is NOT a scrolling box. It was one, capped at 13rem, and a tagger could not reach
   the last few items without finding a scroll region inside a tile — the worst kind, because
   nothing on screen says it is there. Seventeen items in two columns is nine rows, and nine rows
   fit once Bootstrap's own spacing is taken off them: .checkbox ships 10px margin top and bottom,
   so the gaps between rows were costing more vertical space than the rows themselves.

   Applied to .checkbox inside the tile only. The default spacing is right for a form with four
   fields on it and wrong for a list of seventeen being scanned for one word. */
.ve-focus-tile .checkbox {
    margin-top: 0;
    margin-bottom: 0;
}

.ve-focus-tile .checkbox + .checkbox {
    margin-top: var(--iq-space-025);
}

/* The label carries the click target, so it keeps its own padding rather than being tightened to
   the text: a tagger answering a few hundred of these is aiming at it a few thousand times. */
.ve-focus-tile .checkbox label {
    padding-top: 0;
    padding-bottom: 0;
}

/* Training split mode (TDV-101) - the review page acting as the manual train/validation picker for
   a training run. These only apply when the page is launched in split mode; the plain review screen
   never renders .split-train / .split-val / .air-split-badge. */

/* Every tile carries an explicit assignment, so both states are styled: validation is picked out
   with the accent border because it is the smaller, deliberately chosen set, while training keeps
   the default tile appearance and is distinguished by its badge alone. */
.air-thumb.split-val {
    border-color: var(--iq-color-blue-primary);
    border-width: var(--iq-border-width-200);
    box-shadow: var(--iq-shadow-1);
}

.air-thumb.split-train {
    border-color: var(--iq-border-color-default);
}

/* An image found by the wider search scope that is not in the set at all. Dashed rather than a third
   colour: it is not a third kind of assignment, it is the absence of one, and a dashed edge reads as
   "not committed" without competing with validation's accent border for attention. */
.air-thumb.split-none {
    border-style: dashed;
    border-color: var(--iq-border-color-default);
}

/* Sits beside the title, never shrinking below its text. */
.air-split-badge {
    flex: 0 0 auto;
    margin-left: var(--iq-space-100);
}

/* Bulk-selection checkbox, first in the tile's head row. Given its own padding so the hit area is
   bigger than the box itself - the whole tile opens the modal, so a near-miss on the checkbox is a
   modal the user did not ask for. */
.air-tile-select {
    flex: 0 0 auto;
    margin: 0;
    padding: 0 var(--iq-space-100) var(--iq-space-050) 0;
    cursor: pointer;
}

/* Bulk toolbar, between the totals and the grid it acts on. */
.air-bulk-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.air-bulk-select,
.air-bulk-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--iq-space-100);
}

.air-bulk-label {
    margin: 0;
}

.air-bulk-count {
    color: var(--iq-text-color-med);
}

/* Picked out only while something IS selected, so the bar is quiet on a page the user is only
   browsing and obvious the moment an action would do something. */
.air-bulk-bar.air-bulk-active {
    border-left: var(--iq-border-width-200) solid var(--iq-color-blue-primary);
}

.air-bulk-bar.air-bulk-active .air-bulk-count {
    color: var(--iq-text-color);
    font-weight: bold;
}

/* Set-wide train/validation totals shown beside the image count above the grid. */
.air-split-counts {
    margin-left: var(--iq-space-200);
    color: var(--iq-text-color-med);
}

/* Image set header (TDV-127) - which named set the picker is editing. Only rendered in split mode;
   the plain review screen is not editing a set and has nothing to name. */
.air-set-header {
    border-left: var(--iq-border-width-200) solid var(--iq-color-blue-primary);
}

.air-set-name {
    margin: 0;
}

.air-set-description {
    margin: var(--iq-space-050) 0 0;
    color: var(--iq-text-color-med);
}

.air-set-meta {
    margin: var(--iq-space-050) 0 0;
    color: var(--iq-text-color-light);
    font-size: var(--iq-body-text-sm);
}

/* A frozen set is marked in the warning colour rather than the accent one: the header is no longer
   just identifying the set, it is warning that editing will fork it. */
.air-set-header.air-set-locked {
    border-left-color: var(--iq-color-warning);
}

.air-set-lock-notice {
    margin: var(--iq-space-100) 0 0;
    color: var(--iq-text-color-med);
    font-size: var(--iq-body-text-sm);
}

/* The train/validation choice is the whole point of the modal in split mode, so it is boxed and
   sits above the tabs - the canvas below it can be 1200px tall, and anything after that scrolls out
   of sight in the modal body and reads as though the control is missing entirely. */
#airModal .air-split-controls {
    display: flex;
    align-items: center;
    margin-bottom: var(--iq-space-100);
    padding: var(--iq-space-100) var(--iq-space-200);
    border: var(--iq-border-width-100) solid var(--iq-border-color-default);
    border-radius: var(--iq-border-radius-sm);
    background-color: var(--iq-color-grey-20);
}

#airModal .air-split-controls > label {
    margin: 0 var(--iq-space-200) 0 0;
}

/* Training / Validation read as one either-or choice, so they sit side by side on the prompt's own
   line. .radio-inline is Bootstrap's inline-block radio label - the same pattern the per-format
   Shortlist / Skip controls in this modal already use - so no extra layout rule is needed here. */
#airModal .air-split-options {
    flex: 1 1 auto;
}

/* Selection summary beside the "Select Images" button on the training configuration screen. */
.split-summary {
    margin-left: var(--iq-space-100);
    color: var(--iq-text-color-med);
    font-size: var(--iq-body-text-sm);
}

/* ==========================================================================
   END : imageRecognition feature styles
   ========================================================================== */

/* Grid layout - Drag and Drop functionality: the grid layout replace legacy jQuery layout / 'col_md_5' and 'col_md-2' */
/* This layout is implemented on Group Keyrings and Group Members screens, and can replace remaining legacy jQuery layout on remaining Drag and Drop functionality */

/* Add class to main div */
.drag-and-drop {
    display: grid;
    grid-template-columns: 2fr 1fr 2fr;
    grid-template-rows: 1fr 1fr 2fr;
    gap: 0.25rem;
}

/* Drag and Drop selected / <div class="drag-and-drop-selected">  */
/* Contain group/group members heading and group/group members select option, previously displayed within <div class="col_md_5"> */
/* Class added to div containing user/group selection option that is part of the drag and drop selection section: <div id="currentUserGroupList" class="current-user-group"> */
.current-user-group ul li {
    display: flex;
    align-items: center;
}

/* <div class="col_md_2"> replaced by <div class="drag-and-drop-toolbar">  */
/* use when drag and drop functionality includes add/remove buttons or controls */
.drag-and-drop-toolbar {
    grid-column-start: 2;
    grid-row-start: 2;
    align-content: center;
}

/* div added to wrap add/remove buttons */
.grid-toolbar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1rem;
    align-items: center;
}

.grid-toolbar .button:first-child {
    grid-column-start: 2;
}

.grid-toolbar .button:last-child {
    grid-column-start: 2;
    grid-row-start: 2;
}

/* Drag and Drop unselected / <div class="drag-and-drop-unselected"> */
/* Contains heading and unselected search option, previously displayed within <div class="col_md_5"> */
.drag-and-drop-unselected {
    grid-column-start: 3;
    grid-row-start: 1;
}

/* Drag and Drop selected group / <div class="drag-and-drop-selected-group"> */
/* Contains selected options of the drag and drop functionality, previously displayed within <div class="col_md_5"> */
.drag-and-drop-selected-group {
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 2;
}

/* Drag and Drop unselected group / <div class="drag-and-drop-unselected-group"> */
/* Contains unselected options of the drag and drop functionality, previously displayed within <div class="col_md_5"> */
.drag-and-drop-unselected-group {
    grid-row: span 2 / span 2;
    grid-row-start: 2;
}

/* End of Grid layout - Drag and Drop functionality */

/* Video player inside the media modal (kendo image/video window or Bootstrap
   fallback). Scales within the window while preserving aspect ratio. V666-4816 - TESTING*/
.modalVideo {
    max-width: 100%;
    max-height: 75vh;
    display: block;
    margin: 0 auto;
}
/* Sparkline Grid chart (DW builder) — a table of small-multiple mini charts, one per measure per row */
.dw-sparkline-grid td[data-sparkline] {
    min-width: 120px;
    padding-top: 0;
    padding-bottom: 0;
}
.dw-sparkline-grid .dw-sparkline-grid-label {
    white-space: nowrap;
}
/* Sparkline Grid measure-list rows in the chart author */
.ca-measure-row {
    margin-bottom: 6px;
}
.ca-measure-row .ca-meas-name {
    width: 40%;
}
.ca-measure-row .ca-meas-remove {
    margin-left: 6px;
}
.ca-measure-row .ca-meas-ratio-sep {
    margin: 0 4px;
}

/* Absolutely-positioned loading-spinner overlay; the containing element needs
   its own position:relative anchor (e.g. #footprint-session-explorer .fp-cy below). */
.tile-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(/software/images/loading.gif) no-repeat 50% 50%;
}

/* Progressive (lazy) dashboard tile loading — positioning anchors + failed-tile message.
   The absolute .tile-loading spinner above needs its containing tile to be a position:relative anchor,
   otherwise the spinner escapes to the nearest positioned ancestor instead of centring in the tile.
   These are the config-driven Dashboard containers that host a lazy tile. Moved here from v5-skin.css
   (which v7 never links) so gridDashboard / displayDynamicDashboard / chartAuthor style correctly. */
#gridDashboard .grid-tile-body, /* grid: tile body carries the tile's real (flex) height */
.dashWidget.dash-lazy-tile {    /* legacy flow: widget container (min-height 300px) */
    /* NB: the chart-author preview pane (.ca-preview-box) also needs position:relative for its lazy-tile
       spinner — that (builder-only) rule now lives in the builder's own chartAuthor.css.php, not here. */
    position: relative;
}

.tile-error {
    display: block;
    padding: 8px;
}

/* grid dashboard: the "temporarily unavailable" message fills its tile body (which is the
   position:relative anchor above) and centres vertically + horizontally regardless of tile height */
#gridDashboard .tile-error.tile-unavailable {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Data Warehouse ERM Viewer (software/api/datawarehouse/ermViewer/dwErmViewer.php).
   ID-scoped so these stay local to the viewer page. Moved here from v5-skin.css (which v7 never
   links) and renamed to lowercase-hyphenated to match the v6-skin naming convention; the matching
   class attributes and JS class hooks in dwErmViewer.php were updated in lockstep. The #dwErmViewer
   host id stays camelCase (an existing element id, not a class). */
#dwErmViewer .erm-legend {
    margin-bottom: 8px;
}
#dwErmViewer .erm-legend .erm-legend-item {
    display: inline-block;
    margin-right: 14px;
    color: #666;
}
#dwErmViewer .erm-legend .erm-swatch {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 3px;
    margin-right: 5px;
    vertical-align: middle;
}
#dwErmViewer .erm-swatch.fact { background-color: #067DB1; }
#dwErmViewer .erm-swatch.flatfact { background-color: #3A9FC7; }
#dwErmViewer .erm-swatch.dim { background-color: #4A8F4A; }
#dwErmViewer .erm-swatch.ref { background-color: #B07D1A; }
#dwErmViewer .erm-swatch.rel { background-color: #8A5AA8; }
#dwErmViewer .erm-swatch.periodic { background-color: #E8730C; }
#dwErmViewer .erm-toolbar {
    display: flex;
    gap: 4px;
    margin-bottom: 6px;
    align-items: center;
}
#dwErmViewer .erm-toolbar .button {
    padding: 3px 7px;
    line-height: 1;
}
#dwErmViewer .erm-toolbar .button.active {
    background: #00567a;
    color: #fff;
}
#dwErmViewer .erm-toolbar .button svg {
    display: block;
    width: 15px;
    height: 15px;
}
#dwErmViewer .erm-diagram {
    position: relative;
    overflow: hidden;
    resize: vertical;
    min-height: 400px;
    height: 400px;
    padding: 8px;
    background-color: #ffffff;
    border: 1px solid #dedede;
    border-radius: 4px;
}
#dwErmViewer .erm-diagram.erm-pan { cursor: grab; }
#dwErmViewer .erm-diagram.erm-panning { cursor: grabbing; }
#dwErmViewer .erm-diagram svg { transform-origin: 0 0; }
#dwErmViewer .erm-tooltip {
    position: fixed;
    display: none;
    z-index: 10000;
    max-width: 260px;
    padding: 8px 10px;
    background-color: #ffffff;
    border: 1px solid #b6c2cc;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    font-size: 0.85em;
    color: #333;
    pointer-events: none;
}
#dwErmViewer .erm-tooltip.erm-show { display: block; }
#dwErmViewer .erm-tooltip .erm-tt-title { font-weight: bold; margin-bottom: 3px; }
#dwErmViewer .erm-tooltip .erm-tt-row { white-space: nowrap; }
#dwErmViewer .erm-tt-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 5px;
    vertical-align: middle;
}
#dwErmViewer .erm-tt-dot.active { background-color: #66CC00; }
#dwErmViewer .erm-tt-dot.seeding { background-color: #FFC000; }
#dwErmViewer .erm-tt-dot.error { background-color: #FF0000; }
#dwErmViewer .erm-tt-dot.notseeded { background-color: #C9C9C2; }
#dwErmViewer .erm-tt-dot.notable { background-color: #B6CAFB; }
#dwErmViewer .erm-tabs {
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
    border-bottom: 1px solid #d6dce2;
}
#dwErmViewer .erm-tabs li {
    display: inline-block;
    margin: 0 2px -1px 0;
}
#dwErmViewer .erm-tabs li a {
    display: block;
    padding: 6px 16px;
    color: #666;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
    font-weight: bold;
}
#dwErmViewer .erm-tabs li.active a {
    color: #067DB1;
    background: #fff;
    border-color: #d6dce2;
    border-bottom-color: #fff;
}
#dwErmViewer .erm-tabs li a:hover {
    color: #067DB1;
}
#dwErmViewer .erm-explore-toolbar,
#dwErmViewer .erm-route-bar {
    align-items: center;
}
#dwErmViewer .erm-tool-label {
    font-weight: bold;
    color: #555;
    margin-right: 2px;
}
#dwErmViewer .erm-tool-hint {
    margin-left: 8px;
}
#dwErmViewer .erm-route-bar select {
    max-width: 220px;
}
#modal-container .erm-cols-wrap {
    max-height: 60vh;
    overflow: auto;
}
#modal-container .erm-modal-loading {
    display: block;
    min-height: 180px;
    background: url(/software/images/loading.gif) no-repeat 50% 50%;
}
#dwErmViewer .erm-cy {
    position: relative;
    height: 500px;
    min-height: 400px;
    resize: vertical;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #dedede;
    border-radius: 4px;
}
#dwErmViewer .tile-loading {
    z-index: 20;
    background-color: rgba(255, 255, 255, 0.6);
}

/* Footprint Session Explorer - software/footprinting/sessionExplorer/viewSession.php */
#footprint-session-explorer .fp-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}
#footprint-session-explorer .fp-tool-label {
    margin: 0 2px 0 6px;
}
#footprint-session-explorer .fp-collapse-label {
    cursor: pointer;
}
/* three-way pill toggle, matching the annotations block switch-toggle component.
   content-box is required: the app's global border-box would collapse the pill
   (height + padding) so the dots hang below it. */
#footprint-session-explorer .switch-toggle {
    box-sizing: content-box;
    display: inline-block;
    vertical-align: middle;
    border: 2px solid #2196F3;
    border-radius: 10px;
    height: 7px;
    padding: 5px 1px;
    background-color: #2196F3;
    width: 48px;
    margin: 0 4px;
}
#footprint-session-explorer .switch-toggle input {
    position: absolute;
    opacity: 0;
}
#footprint-session-explorer .switch-toggle input + label {
    box-sizing: content-box;
    padding: 6px;
    margin: 0;
    float: left;
    background-color: #1e89de;
    color: #2196F3;
    cursor: pointer;
    height: 2px;
    width: 2px;
    border: 1px solid #1e89de;
    border-radius: 2em;
    margin-top: -4px;
}
#footprint-session-explorer .switch-toggle input:checked + label {
    background-color: #FFFFFF;
    color: #FFFFFF;
}
#footprint-session-explorer .fp-tool-hint {
    margin-left: 8px;
}
#footprint-session-explorer .fp-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 8px;
}
#footprint-session-explorer .fp-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
#footprint-session-explorer .fp-swatch {
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 2px;
    border: 1px solid #8AA0AD;
    background-color: #f0f3f5;
}
#footprint-session-explorer .fp-swatch.entry  { background-color: #E6F1FB; border-color: #185FA5; }
#footprint-session-explorer .fp-swatch.dw     { background-color: #E1F5EE; border-color: #0F6E56; }
#footprint-session-explorer .fp-swatch.admin  { background-color: #EEEDFE; border-color: #534AB7; }
#footprint-session-explorer .fp-swatch.export { background-color: #FAECE7; border-color: #993C1D; }
#footprint-session-explorer .fp-swatch.other  { background-color: #f0f3f5; border-color: #8AA0AD; }
#footprint-session-explorer .fp-cy-wrap {
    display: flex;
    gap: 10px;
    align-items: stretch;
}
#footprint-session-explorer .fp-cy {
    position: relative;
    flex: 1 1 auto;
    height: 520px;
    min-height: 400px;
    resize: vertical;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #dedede;
    border-radius: 4px;
}
/* right-hand column: the Path Details panel (content height) stacked above the
   Page Detail panel (content height); the column grows to fit both */
#footprint-session-explorer .fp-side {
    flex: 0 0 260px;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#footprint-session-explorer .fp-detail {
    overflow: visible;
    padding: 0;
    background-color: #ffffff;
    border: 1px solid #dedede;
    border-radius: 4px;
}
#footprint-session-explorer #fp-path-detail {
    flex: 0 0 auto;
}
#footprint-session-explorer #fp-type-chart {
    flex: 0 0 auto;
}
#footprint-session-explorer .fp-type-chart-host {
    width: 100%;
    min-height: 40px;
}
#footprint-session-explorer #fp-duration-chart {
    flex: 0 0 auto;
}
#footprint-session-explorer .fp-duration-chart-host {
    width: 100%;
    min-height: 40px;
}
/* Page Detail grows to fit its content rather than scrolling within a fixed
   pane; the side column (and so the whole wrap) extends to accommodate it */
#footprint-session-explorer #fp-detail {
    flex: 0 0 auto;
}
/* header reuses the standard .panel-heading + h4.panel-title (matches the
   component Summary header); flush to the panel edges */
#footprint-session-explorer .fp-detail .panel-heading {
    margin: 0;
    border-radius: 0;
}
#footprint-session-explorer .fp-detail-body {
    padding: 10px 12px;
}
#footprint-session-explorer .fp-detail-empty {
    padding: 10px 12px;
}
/* single-column label/value list, matching the component Information dl/dt/dd.
   grid keeps each label/value pair top-aligned even when a value wraps taller
   than its label (which a float+clear layout can't). */
#footprint-session-explorer .fp-detail dl {
    display: grid;
    grid-template-columns: 82px 1fr;
    column-gap: 8px;
    row-gap: 4px;
    margin: 0;
    font-size: 12px;
    color: #666666;
    line-height: 16px;
}
#footprint-session-explorer .fp-detail dt {
    margin: 0;
    padding: 2px 0 3px;
    font-size: 10px;
    color: #999999;
    text-align: right;
    text-transform: uppercase;
    line-height: 14px;
}
#footprint-session-explorer .fp-detail dd {
    margin: 0;
    padding: 2px 0 3px;
    font-size: 12px;
    color: #666666;
    line-height: 14px;
    word-break: break-word;
    overflow-wrap: anywhere;
}
#footprint-session-explorer #fp-path-detail dl {
    grid-template-columns: 112px 1fr;
}
#footprint-session-explorer .fp-detail-params {
    font-family: monospace;
    word-break: break-all;
}
#footprint-session-explorer .tile-loading {
    z-index: 20;
    background-color: rgba(255, 255, 255, 0.6);
}

/* Footprint Analytics dashboard - software/footprinting/analytics/dashboard.php */
#footprint-analytics .fpa-kpis {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin: 10px 0;
}
#footprint-analytics .fpa-kpi {
    position: relative;
    background-color: #ffffff;
    border: 1px solid #d4dde2;
    border-left-width: 3px;
    border-left-color: #067DB1;
    border-radius: 4px;
    padding: 10px 12px;
    overflow: hidden;
}
#footprint-analytics .fpa-kpi.good {
    border-left-color: #2f7d4f;
}
#footprint-analytics .fpa-kpi.warn {
    border-left-color: #b07d1a;
}
#footprint-analytics .fpa-kpi.crit {
    border-left-color: #b0392a;
}
#footprint-analytics .fpa-kpi-label {
    display: block;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6c7d88;
}
#footprint-analytics .fpa-kpi-value {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #213039;
    line-height: 1.1;
    margin-top: 2px;
}
#footprint-analytics .fpa-kpi-delta {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    margin-top: 3px;
    color: #6c7d88;
}
#footprint-analytics .fpa-kpi-delta.good {
    color: #2f7d4f;
}
#footprint-analytics .fpa-kpi-delta.bad {
    color: #b0392a;
}
#footprint-analytics .fpa-row {
    display: grid;
    gap: 12px;
    margin-bottom: 12px;
}
#footprint-analytics .fpa-row.a {
    grid-template-columns: 1.7fr 1fr;
}
#footprint-analytics .fpa-row.b {
    grid-template-columns: 1.2fr 1fr;
}
#footprint-analytics .fpa-card {
    background-color: #ffffff;
    border: 1px solid #d4dde2;
    border-radius: 4px;
    overflow: hidden;
}
#footprint-analytics .fpa-card-head {
    background-color: #eef2f5;
    border-bottom: 1px solid #d4dde2;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 700;
    color: #45585f;
    text-transform: capitalize;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#footprint-analytics .fpa-card-head a {
    font-size: 11px;
    font-weight: 600;
}
#footprint-analytics .fpa-card-body {
    padding: 12px;
}
#footprint-analytics .fpa-chart {
    width: 100%;
    height: 240px;
}
#footprint-analytics .fpa-bars {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
#footprint-analytics .fpa-bar-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3px;
    font-size: 12px;
    color: #45585f;
}
#footprint-analytics .fpa-bar-top .v {
    color: #6c7d88;
}
#footprint-analytics .fpa-bar-track {
    height: 8px;
    background-color: #eef2f5;
    border-radius: 4px;
    overflow: hidden;
}
#footprint-analytics .fpa-bar-fill {
    height: 100%;
    border-radius: 4px;
}
#footprint-analytics .fpa-heat {
    display: grid;
    grid-template-columns: 36px repeat(24, 1fr);
    gap: 2px;
    font-size: 9px;
}
#footprint-analytics .fpa-heat-head,
#footprint-analytics .fpa-heat-row-label {
    color: #6c7d88;
    text-align: center;
    align-self: center;
}
#footprint-analytics .fpa-heat-row-label {
    text-align: left;
}
#footprint-analytics .fpa-heat-cell {
    aspect-ratio: 1.4 / 1;
    min-height: 12px;
    border-radius: 2px;
    background-color: #067DB1;
}
#footprint-analytics .fpa-heat-swatch {
    display: inline-block;
    width: 14px;
    height: 12px;
    border-radius: 2px;
    background-color: #067DB1;
}
#footprint-analytics .fpa-heat-swatch.lvl1 {
    opacity: 0.2;
}
#footprint-analytics .fpa-heat-swatch.lvl2 {
    opacity: 0.45;
}
#footprint-analytics .fpa-heat-swatch.lvl3 {
    opacity: 0.7;
}
#footprint-analytics .fpa-heat-swatch.lvl4 {
    opacity: 1;
}
#footprint-analytics .fpa-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 10px;
    font-size: 11px;
    color: #6c7d88;
}
#footprint-analytics .fpa-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
#footprint-analytics .fpa-swatch {
    width: 11px;
    height: 11px;
    border-radius: 3px;
    border: 1px solid #8aa0ad;
}
#footprint-analytics .fpa-mini-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-bottom: 8px;
}
#footprint-analytics .fpa-mini-stats strong {
    color: #213039;
}
#footprint-analytics .fpa-pager {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 8px;
}
#footprint-analytics .fpa-pager .button {
    padding: 3px 10px;
}
#footprint-analytics .fpa-table-tools {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 6px;
}
#footprint-analytics .fpa-tool-label {
    font-size: 12px;
    color: #45585f;
    cursor: pointer;
    margin: 0;
}
#footprint-analytics .fpa-tool-label .chkbox {
    vertical-align: middle;
    margin-right: 4px;
}
@media (max-width: 900px) {
    #footprint-analytics .fpa-kpis {
        grid-template-columns: repeat(3, 1fr);
    }
    #footprint-analytics .fpa-row.a,
    #footprint-analytics .fpa-row.b {
        grid-template-columns: 1fr;
    }
}

/* ONE ASSISTANT (RAG CHAT)
   Two surfaces:
     .rag-chat*         chat page rendered inside the panel's iframe (software/ragChat/chat.php)
     .rag-chat-panel*   header launcher and floating panel (software/ragChat/header_chat_widget.php)
   ========================================================================== */
/* CHAT PAGE (iframe document) */
.rag-chat-page {
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: var(--iq-color-grey-10);
}

.rag-chat {
    display: flex;
    flex-direction: column;
    height: 100vh;
    font-family: var(--iq-font-stack);
    font-size: var(--iq-body-text-md);
    color: var(--iq-text-color);
}

    /* MESSAGE LOG */
    .rag-chat__log {
        flex: 1;
        overflow-y: auto;
        padding: var(--iq-space-200);
    }

    .rag-chat__welcome {
        margin: 0 0 var(--iq-space-150) 0;
        color: var(--iq-text-color-light);
        font-size: var(--iq-body-text-sm);
    }

        /* MESSAGE ROWS - user messages align right, assistant messages align left */
        .rag-chat__row {
            display: flex;
            flex-direction: column;
            margin-bottom: var(--iq-space-150);
        }

        .rag-chat__row--user {
            align-items: flex-end;
        }

        .rag-chat__row--bot {
            align-items: flex-start;
        }

        /* MESSAGE BUBBLES */
        .rag-chat__bubble {
            max-width: 85%;
            /* A FONT STACK IS RESOLVED PER GLYPH, NOT PER ELEMENT, and that is the whole
               point of this rule. RobotoFlexVariable and Arial carry every character of a
               normal answer, so they win for all of it and nothing here changes how the
               chat looks. What they do NOT carry is U+2581-U+2588, the Block Elements the
               trend sparkline is drawn from -- so those fell through to the generic
               `sans-serif`, where the browser searches installed fonts ONE CHARACTER AT A
               TIME. Different blocks resolved to different fonts, each with its own em box,
               and the sparkline sat on no common baseline. Alan, 21 Sep.
               Naming block-capable fonts here makes all eight come from ONE font, so they
               align. Windows / macOS / Linux in that order, generic last. */
            font-family: var(--iq-font), Arial, Helvetica,
                         "Segoe UI Symbol", Menlo, "DejaVu Sans Mono", Consolas, sans-serif;
            padding: var(--iq-space-150) var(--iq-space-200);
            border-radius: var(--iq-border-radius-md);
            line-height: var(--iq-line-height-2xl);
            box-shadow: var(--iq-shadow-1);
            /* answers arrive as plain text with meaningful line breaks, so preserve them */
            white-space: pre-wrap;
            overflow-wrap: anywhere;
        }

        .rag-chat__bubble--user {
            background-color: var(--iq-color-blue-primary);
            color: var(--iq-text-color-inverted);
            border-bottom-right-radius: var(--iq-border-radius-xs);
        }

        .rag-chat__bubble--bot {
            background-color: var(--iq-color-white);
            border: var(--iq-border-default);
            border-bottom-left-radius: var(--iq-border-radius-xs);
        }

        .rag-chat__bubble--error {
            background-color: var(--iq-color-red-100);
            border-color: var(--iq-color-red-300);
            color: var(--iq-color-red-1000);
        }

    /* COMPOSER */
    /* RICH SURFACE ONLY (software/ragChat/chatRich.php + ragChatRich.js).

       Every selector below is new and the classic surface emits nothing that matches one, so
       these rules are inert for anyone whose ragChatSurface is 'classic' -- which is everyone
       until the key is deliberately set. Nothing above this comment was changed. */

        /* a defect name the assistant produced, wrapped in a link to its view page. The
           element is built by the browser with createElement; the service only ever sends the
           name and an ep-encoded href. */
        .rag-chat__defect-link {
            color: var(--iq-color-blue-primary);
            text-decoration: underline;
            /* defect references run long (IQ-088-LOM-2010-PS) and the panel is 300px */
            overflow-wrap: anywhere;
        }

        .rag-chat__defect-link:hover,
        .rag-chat__defect-link:focus {
            text-decoration: none;
        }

        /* the strip of preferred-image thumbnails appended below the answer text */
        .rag-chat__thumbs {
            display: flex;
            flex-wrap: wrap;
            gap: var(--iq-space-100);
            margin-top: var(--iq-space-150);
        }

        .rag-chat__thumb {
            display: inline-block;
            line-height: 0;
            border: var(--iq-border-default);
            border-radius: var(--iq-border-radius-sm);
            overflow: hidden;
            cursor: pointer;
        }

        .rag-chat__thumb:hover,
        .rag-chat__thumb:focus {
            border-color: var(--iq-color-blue-primary);
        }

        .rag-chat__thumb img {
            display: block;
            width: 50px;
            height: 50px;
            /* fill, as ONE's own image cell renderer does, so a strip of thumbnails lines up
               regardless of each photograph's aspect ratio */
            object-fit: fill;
        }

    .rag-chat__composer {
        padding: var(--iq-space-150);
        border-top: var(--iq-border-default);
        background-color: var(--iq-color-white);
    }

    .rag-chat__form {
        display: flex;
        gap: var(--iq-space-150);
        align-items: center;
        margin: 0;
    }

        /* a visible label would duplicate the placeholder - kept for screen readers only */
        .rag-chat__label {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: var(--iq-space-negative-025);
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        .rag-chat__input {
            flex: 1;
        }

        .rag-chat__send {
            flex: 0 0 auto;
        }

    /* TYPING INDICATOR */
    .rag-chat__status {
        display: flex;
        align-items: center;
        gap: var(--iq-space-100);
        margin-top: var(--iq-space-100);
        color: var(--iq-text-color-light);
        font-size: var(--iq-body-text-sm);
    }

    /* STOP CONTROL -- sits in the status row, so it is present only while a question is in flight. */
    .rag-chat__stop {
        margin-left: auto;
        flex: 0 0 auto;
    }

    .rag-chat__status--hidden {
        display: none;
    }

    .rag-chat__spinner {
        width: var(--iq-icon-sm);
        height: var(--iq-icon-sm);
        border: var(--iq-border-width-300) solid var(--iq-color-grey-30);
        border-top-color: var(--iq-color-blue-primary);
        border-radius: var(--iq-border-radius-circle);
        animation: rag-chat-spin var(--iq-duration-1000) linear infinite;
    }

@keyframes rag-chat-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* HEADER LAUNCHER + FLOATING PANEL (application pages) */
/* launcher inherits .utility-nav__link sizing/hover from v6-menu.css */
.rag-chat-launcher {
    cursor: pointer;
}

.rag-chat-panel {
    position: fixed;
    right: var(--iq-space-300);
    bottom: var(--iq-space-300);
    z-index: 1000; /* above page content, below Bootstrap modals (1050) */
    display: flex;
    flex-direction: column;
    width: var(--iq-width-300);
    max-width: calc(100vw - var(--iq-space-400));
    height: 32rem;
    max-height: calc(100vh - var(--iq-space-800));
    overflow: hidden;
    background-color: var(--iq-color-white);
    border: var(--iq-border-default);
    border-radius: var(--iq-border-radius-md);
    box-shadow: var(--iq-shadow-5);
    font-family: var(--iq-font-stack);
}

.rag-chat-panel--closed {
    display: none;
}

/* minimised keeps the conversation loaded and only collapses to the header bar */
.rag-chat-panel--minimised {
    height: auto;
}

.rag-chat-panel--minimised .rag-chat-panel__body {
    display: none;
}

    /* PANEL HEADER */
    .rag-chat-panel__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: var(--iq-space-100);
        padding: var(--iq-space-100) var(--iq-space-150);
        background-color: var(--iq-color-blue-primary);
        color: var(--iq-text-color-inverted);
    }

        .rag-chat-panel__title {
            display: flex;
            align-items: center;
            gap: var(--iq-space-100);
            font-weight: var(--iq-font-weight-semibold);
        }

        .rag-chat-panel__dot {
            width: var(--iq-space-100);
            height: var(--iq-space-100);
            border-radius: var(--iq-border-radius-circle);
            background-color: var(--iq-color-success);
        }

        .rag-chat-panel__actions {
            display: flex;
            align-items: center;
            gap: var(--iq-space-050);
        }

        .rag-chat-panel__actions .button {
            background-color: transparent;
            border-color: transparent;
            color: var(--iq-text-color-inverted);
        }

        .rag-chat-panel__actions .button:hover {
            background-color: var(--iq-color-blue-900);
            border-color: transparent;
            color: var(--iq-text-color-inverted);
        }

        /* the header action icons ship at 24px; size them down to the small icon token */
        .rag-chat-panel__actions .iq-icon {
            width: var(--iq-icon-sm);
            height: var(--iq-icon-sm);
        }

    /* PANEL BODY */
    .rag-chat-panel__body {
        flex: 1;
        min-height: 0;
    }

    .rag-chat-panel__frame {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
    }
/* Automatic tag spot-check (TDV-131).

   A DIFFERENT SHAPE FROM .ve-focus-* ABOVE, and deliberately so. That screen shows two photographs
   because a tagger is naming every object in one frame. This one asks a much cheaper question - does
   this picture plainly contain the thing the model said - so it is a grid of twelve, and covering
   ground is the point.

   The image box is a fixed height for the same reason the focus tile's is: a shorter photograph
   following a taller one would shuffle the rows below it, and here the thing below is the class name
   and confidence the reviewer is reading against the picture. */
.vea-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 11rem;
    background-color: var(--iq-color-grey-20);
}

/* Never upscale. The resolver normalises the short edge to 384px and stretching that across the box
   would look right while hiding the detail the judgement depends on - a soft picture that reads as
   "probably a flange" is exactly the wrong failure on a screen for checking whether it is one. */
.vea-image img {
    max-width: 100%;
    max-height: 100%;
}

@media (max-width: 991px) {
    .vea-image {
        height: 9rem;
    }
}

/* The tile keeps a constant height so the badges line up across a row and can be scanned down a
   column rather than hunted for. */
.vea-tile {
    display: flex;
    flex-direction: column;
}

.vea-cell {
    margin-bottom: var(--iq-space-100);
}

/* Agreement badges.

   FOUR STATES, THREE COLOURS, and the pairing is the point. Green is the model being right and red
   the model being wrong, as verified against a human tick. Grey covers BOTH "nobody has assessed
   this" and "the photograph is unusable" because neither is evidence about the tag - and a reviewer
   scanning a page of grey badges should read "this page settles nothing", which is true. Colouring
   unassessed tiles green would be the single most misleading thing this screen could do. */
.vea-badge {
    display: inline-block;
    padding: var(--iq-space-025) var(--iq-space-100);
    border-radius: var(--iq-border-radius-sm);
    font-size: var(--iq-body-text-sm);
    line-height: 1.4;
}

.vea-badge-confirmed {
    background-color: var(--iq-color-green-100);
    color: var(--iq-color-green-800);
}

/* Agreement with a tick the threshold was FITTED ON. Amber rather than green, and it is the most
   consequential colour choice on this screen: the model agrees with its own calibration set 73 times
   out of 74, and a green badge would read as "the model is right" when it means "the tag and the
   tick are not independent". Green is reserved for a verdict recorded AFTER the tags were written,
   which is the only kind that confirms anything. */
.vea-badge-calibration {
    background-color: var(--iq-color-yellow-100);
    color: var(--iq-color-orange-1000);
}

.vea-badge-contradicted {
    background-color: var(--iq-color-red-100);
    color: var(--iq-color-red-900);
}

.vea-badge-unusable,
.vea-badge-unassessed {
    background-color: var(--iq-color-grey-20);
    color: var(--iq-text-color-med);
}

/* Rejected classes in the provenance table are muted rather than hidden. They are the evidence that
   two classes were CHOSEN rather than merely produced, and a reader who sees only the survivors
   cannot tell those two things apart - but they are not what the eye should land on first. */
.vea-run-rejected th,
.vea-run-rejected td {
    color: var(--iq-text-color-med);
}

.vea-run-shipped th,
.vea-run-shipped td {
    font-weight: 600;
}

/* The provenance table has eight numeric columns and must not force the page to scroll sideways.
   Bootstrap's .table-responsive already does this; the class is here so the rule survives a future
   move off Bootstrap, which is the stated direction for this skin. */
.vea-scroll-x {
    overflow-x: auto;
}

