/* Minification failed. Returning unminified contents.
(31,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(35,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(37,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(41,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(42,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(43,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(44,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(45,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(46,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(47,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(48,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(50,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(51,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(52,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(54,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(55,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(56,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(57,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(58,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(62,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(63,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(64,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(65,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(66,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(67,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(68,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(69,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(70,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(71,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(72,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(73,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(74,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(75,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(76,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(78,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(79,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(80,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(82,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(83,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(84,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(85,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(86,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(134,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(135,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(156,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(171,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(177,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(247,10): run-time error CSS1030: Expected identifier, found '>'
(247,36): run-time error CSS1031: Expected selector, found ')'
(247,36): run-time error CSS1025: Expected comma or open brace, found ')'
(252,10): run-time error CSS1030: Expected identifier, found '>'
(252,36): run-time error CSS1031: Expected selector, found ')'
(252,36): run-time error CSS1025: Expected comma or open brace, found ')'
(430,16): run-time error CSS1030: Expected identifier, found '>'
(430,29): run-time error CSS1031: Expected selector, found ')'
(430,29): run-time error CSS1025: Expected comma or open brace, found ')'
(442,18): run-time error CSS1030: Expected identifier, found '>'
(442,31): run-time error CSS1031: Expected selector, found ')'
(442,31): run-time error CSS1025: Expected comma or open brace, found ')'
(479,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(505,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(651,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(652,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(654,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(663,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(667,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(671,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(680,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(690,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(694,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(698,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(721,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(735,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(859,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(865,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(943,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(999,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1038,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1140,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1141,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1144,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1166,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1186,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1213,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1217,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1231,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1279,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1421,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1452,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1453,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1506,26): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1530,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1537,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1546,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1551,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1557,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1576,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1586,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1599,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1603,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1632,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1667,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1703,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1717,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1718,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1725,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1752,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1757,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1817,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1823,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1837,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1851,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1865,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1889,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1896,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1897,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1909,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1928,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1930,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1976,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1979,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1997,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2003,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2048,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2052,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2087,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2096,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2103,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2123,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2131,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2161,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2163,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2184,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(2185,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(2186,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(2437,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(2438,32): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2494,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2510,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2728,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2736,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2742,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(2743,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2744,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2765,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2959,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2970,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(2971,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2972,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2978,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2984,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3206,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3243,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(3290,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3446,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(3572,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3578,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3671,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(3672,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3675,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(3696,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3703,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3733,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3754,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(3793,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3800,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3812,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3843,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3855,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(3909,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3938,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3964,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(3980,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(3981,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3996,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4011,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(4029,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4032,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(4058,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4065,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(4083,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(4088,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(4541,25): run-time error CSS1039: Token not allowed after unary operator: '-d'
(4569,25): run-time error CSS1039: Token not allowed after unary operator: '-n'
(5081,32): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5098,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5107,35): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5181,26): run-time error CSS1039: Token not allowed after unary operator: '-glass-bg-light'
(5184,26): run-time error CSS1039: Token not allowed after unary operator: '-glass-border-light'
(5202,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5324,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5327,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5359,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5375,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5396,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(5397,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5405,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5410,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5768,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5773,44): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(5798,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5801,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5864,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5868,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5880,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5892,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(5893,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5896,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5912,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5923,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(5927,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5946,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(5947,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5972,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5980,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5981,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(5983,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5988,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6626,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(6627,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6630,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(6631,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6634,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(6641,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(6642,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6645,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6651,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6657,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6660,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6661,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6665,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6671,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6674,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6680,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6686,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6690,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6694,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(6695,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(6696,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(6699,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6702,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6708,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6712,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(6713,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6721,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6727,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6730,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6739,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6740,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6741,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6745,29): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6748,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6751,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6754,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6757,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6761,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6764,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6777,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6778,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6779,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6782,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6783,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6786,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6787,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6790,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6793,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6797,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6800,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(6801,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(6802,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(6805,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6808,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6809,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6812,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6813,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6816,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6817,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6820,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6821,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6822,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6826,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6827,20): run-time error CSS1039: Token not allowed after unary operator: '-shadow-elevated'
(6831,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6835,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6839,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6842,29): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6843,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6846,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6849,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6853,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6857,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6860,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6861,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6864,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6867,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6868,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6871,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6874,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6877,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6878,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6879,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6882,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6885,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6899,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(6900,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(6901,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(6908,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6913,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6916,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6917,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6918,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6921,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6924,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6925,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6926,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6930,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6934,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6935,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6936,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6940,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6941,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6945,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6961,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6965,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6966,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6969,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(6970,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6973,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6974,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6979,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6987,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6988,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6989,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7003,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7017,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7022,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7027,15): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(7035,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7036,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7037,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7042,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7043,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7044,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7049,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7050,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7051,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7061,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7062,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7063,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7081,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7082,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7083,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7109,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7110,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7111,15): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7116,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7117,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7118,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7151,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7152,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7153,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7159,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7160,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7161,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7179,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7180,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7181,15): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7187,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7188,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7202,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7203,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7204,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7214,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7236,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(7237,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(7238,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(7243,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7244,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7245,15): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7250,26): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(7251,22): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(7260,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7261,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7262,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7285,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7301,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7306,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7307,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7313,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7314,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7320,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7325,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7326,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(7372,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7374,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7375,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7376,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7377,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7379,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7380,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7382,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7384,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7386,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7388,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7389,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7390,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7391,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7485,27): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7495,27): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7527,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7528,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7536,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7539,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7542,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7543,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7544,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7548,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7549,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7565,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7577,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7585,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7592,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7593,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7594,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7600,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7615,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7629,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7637,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7649,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7650,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7663,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7667,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7675,33): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7676,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7690,20): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7695,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7723,20): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(7724,22): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(7728,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7729,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7730,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7735,20): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7739,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7740,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7741,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7747,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7750,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7753,20): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7760,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7761,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7766,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7767,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7768,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7774,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(7777,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7780,20): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7787,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(7788,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7945,27): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8119,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(8126,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8127,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(8143,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8144,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8177,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8347,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8359,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8368,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8376,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8383,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8412,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8457,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8466,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8468,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8547,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8548,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8637,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8644,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8649,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8650,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8821,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8824,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8827,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8953,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8997,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9016,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
 */
/*
  Intersoft Website CSS (Modernized 2026)
*/
/* Logo only */
/* legacy alias - now blue */
/* LoanPro deep navy */
/* Refined indigo - complements red */
/* Deep midnight indigo */
/* Softer warm coral */
/* Soft periwinkle */
/* Surface and text LESS variables are resolved to CSS custom properties at compile time, NOT hardcoded values. Every existing `color: @TEXT_PRIMARY` etc. compiles to `color: var(--text-primary)`, which auto-themes when :root[data-theme="dark"] is set. The CSS variables themselves are defined further down in the :root and :root[data-theme="dark"] blocks. This avoids needing per-component dark-mode overrides for every place these are used (85+ rules across the file). Keep these as `var(...)` — do NOT pass them through LESS colour functions like darken()/fade(), those need static colours and will fail to compile. */
/* Glassmorphism tokens. @GLASS_BG / @GLASS_BORDER are for dark backgrounds (e.g. heroes) and stay constant in both light and dark themes. @GLASS_BG_LIGHT / @GLASS_BORDER_LIGHT are for light backgrounds (e.g. .mini-feature cards in .full-width.light sections) — these go through CSS variables so the heavy white glass becomes a heavy dark-navy glass in dark mode. */
/* Spring-physics easing (mimics Framer Motion spring) */
/* Canonical responsive breakpoints.
   Use these for any NEW @media rules. Existing rules use a mix of historical widths (1320 / 1280 / 1100 / 1024 / 980 / 900 / 840 / 800 / 760 / 720 / 680 / 640 / 600 / 520 / 480) that pre-date this consolidation; do not refactor them all at once — that risks regressions. Refactor opportunistically when touching a component. */
/* split-layout → single column; hide laptop-only chrome */
/* phones (most modern phones in landscape); typography reflow */
/* small phones in portrait; aggressive trimming */

/*
======================================================
Theme tokens (CSS custom properties for light / dark)
======================================================
The site has historically used hard-coded colour LESS variables; many uses go through compile-time functions like fade()/darken() which cannot read CSS custom properties.

Strategy: light mode keeps the existing LESS values (most rules untouched), and dark mode is implemented as a focused set of overrides at the bottom of this file scoped to `:root[data-theme="dark"]`. The CSS variables below serve as the single source of truth for the surface tokens that DO get themed — anything else (gradients, glass tints, hero decoration, footers) is dark in both modes and stays as-is.

`<html data-theme="dark|light">` is set by an inline init script in MasterPage.master before paint, so there's no flash-of-wrong-theme. */

:root {
  --bg-base: #f7f8fa;
  /* page background under .full-width.light sections */
  --bg-surface: white;
  /* cards, panels, white sections */
  --bg-elevated: white;
  /* dropdowns, modals, popovers */
  --bg-header: white;
  /* main header bar */
  --border-subtle: #e5e5e5;
  --border-strong: #d5d5d5;
  --text-primary: #333333;
  --text-secondary: #666666;
  --text-muted: #999999;
  --link: #3d5aa9;
  --input-bg: #f7f8fa;
  --input-border: #e5e5e5;
  --input-text: #333333;
  --glass-bg-light: rgba(255, 255, 255, 0.65);
  /* heavy glass tint on a light surface */
  --glass-border-light: rgba(255, 255, 255, 0.5);
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-elevated: 0 12px 40px rgba(0, 0, 0, 0.15);
  /* Hero constellation SVG (Default.aspx) + the neural mesh canvas (Scripts/general.js initNeuralMesh). Both share --con-blue-bright so the brand visual language stays in sync — the bright sky-blue picks up the dot-and-line accent used in the SignatureBanner.png in our email signatures. The hero surface is dark in both themes (heroes do not flip), but the constellation reads marginally more luminous in dark mode against the deeper page chrome. */
  --con-grid: rgba(255, 255, 255, 0.04);
  --con-blue-deep: #3d5aa9;
  --con-blue-bright: #60a5fa;
  --con-coral-deep: #e97c73;
  --con-coral-bright: #ffb1a8;
}
:root[data-theme="dark"] {
  /* Palette re-tuned 2026-05-20 in response to feedback (J036935): Rochelle ("darkness harder to read"), Caroline ("grey is yuck"), Flynn (low-contrast text and panels on dark surfaces). Surfaces lifted one step away from near-black so cards/panels read as deliberate elevations; text contrast increased to WCAG AA on body text; link colour brightened so it actually looks like a link against the new mid-navy base. */
  --bg-base: #131a2e;
  --bg-surface: #1e2741;
  --bg-elevated: #2a3357;
  --bg-header: #181f36;
  --border-subtle: #353e60;
  --border-strong: #4a5478;
  --text-primary: #eef0f6;
  --text-secondary: #c7ccda;
  --text-muted: #8e94ab;
  --link: #93aeec;
  --link-hover: #b5cafb;
  --input-bg: #2a3357;
  --input-border: #4a5478;
  --input-text: #eef0f6;
  --glass-bg-light: rgba(42, 51, 87, 0.65);
  /* dark navy glass — visible against the dark base */
  --glass-border-light: rgba(147, 174, 236, 0.22);
  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.35);
  --shadow-elevated: 0 12px 40px rgba(0, 0, 0, 0.5);
  /* Hero constellation — slightly brighter palette so the nodes / particles hold against the deeper page surround in dark mode. */
  --con-grid: rgba(255, 255, 255, 0.06);
  --con-blue-deep: #4a6bcc;
  --con-blue-bright: #93aeec;
  --con-coral-deep: #f08f86;
  --con-coral-bright: #ffc9c1;
}
/*
======================================================
General
======================================================
*/

/* Google Font loaded via MasterPage.master <link> tag instead */

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}
@font-face {
  font-family: isfa;
  /*src: url(../Content/fontawesome-webfont.woff);*/
  src: url(../Content/fa-regular-400.woff);
}
@font-face {
  font-family: isfas;
  /*src: url(../Content/fontawesome-webfont.woff);*/
  src: url(../Content/fa-solid-900.woff);
}
@font-face {
  font-family: isfab;
  /*src: url(../Content/fontawesome-webfont.woff);*/
  src: url(../Content/fa-brands-400.woff);
}
html {
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;
  height: 100%;
  min-height: 100%;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}
body {
  height: 100%;
  min-height: 100%;
  margin: 0;
  overflow-y: scroll;
  overflow-x: hidden;
  padding: 0;
  color: var(--text-primary);
  background-color: var(--bg-base);
}
a {
  color: #3d5aa9;
  text-decoration: none;
  transition: color 0.15s ease;
}
a:hover {
  color: #2d427c;
}
p {
  margin: 0 0 8px 0;
  line-height: 1.65;
}
form {
  padding: 0;
  margin: 0;
}
hr {
  border: 0;
  height: 1px;
  background-color: var(--border-subtle);
  margin: 16px 0 16px 0;
}
textarea,
input,
select,
button {
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;
  margin-left: 0;
  margin-bottom: 4px;
  padding: 2px;
}
input,
select,
textarea {
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  font-size: 14px;
  padding: 10px 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  background-color: white;
  color: var(--text-primary);
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #3d5aa9;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
input.fieldMandatory,
select.fieldMandatory,
textarea.fieldMandatory {
  background-color: #fefce8;
  border-color: #fde68a;
}
button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment),
input[type='button'],
input[type='submit'] {
  background-color: #3d5aa9;
  border: none;
  border-radius: 4px;
  color: white;
  display: inline-block;
  margin: 0 4px 0 4px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  min-width: 60px;
  line-height: 20px;
  outline: none;
  padding: 10px 20px !important;
  -webkit-appearance: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment):hover,
input[type='button']:hover,
input[type='submit']:hover {
  background-color: #324a8b;
  color: white;
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
  transform: translateY(-1px);
}
button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment):active,
input[type='button']:active,
input[type='submit']:active {
  transform: translateY(0);
  box-shadow: none;
}
button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment):focus,
input[type='button']:focus,
input[type='submit']:focus {
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.2);
}
input[disabled='disabled'][type='submit'] {
  background-color: #e2e8f0 !important;
  color: #94a3b8 !important;
  cursor: not-allowed;
  box-shadow: none !important;
}
input.fieldNormal.search {
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 10px;
  width: 100%;
  max-width: 500px !important;
}
/* Search-bar form (input + button pair, e.g. on the News page) — laid out as a flex row so the button vertically centres against the input regardless of their individual box-sizing/padding differences. Block-level flex (not inline-flex) so the form claims the full available row and the input's natural max-width can apply without conflicting with the form's content-width. */

form:has(> input.fieldNormal.search) {
  display: flex;
  align-items: center;
  gap: 8px;
}
form:has(> input.fieldNormal.search) > input.fieldNormal.search {
  margin-bottom: 0;
  /* gap on the flex container replaces the bottom margin */
  flex: 0 1 auto;
  /* let the input keep its natural max-width (380px on News page via inline style; 500px otherwise via the input.fieldNormal.search rule), shrink-but-don't-grow */
  min-width: 0;
  /* allow the flex item to shrink below its intrinsic content size on very narrow viewports */

}
/*
======================================================
Custom Checkboxes & Radios
======================================================
*/

input[type='checkbox'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid #b0b8c0;
  border-radius: 4px;
  background-color: white;
  background-image: none;
  cursor: pointer;
  position: relative;
  top: 3px;
  margin: 0 6px 4px 0;
  padding: 0 !important;
  transition: background-color 0.15s ease, border-color 0.15s ease;
  flex-shrink: 0;
  vertical-align: middle;
  /* Fully suppress native rendering */
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
}
input[type='checkbox']:hover {
  border-color: #3d5aa9;
}
input[type='checkbox']:focus {
  border-color: #3d5aa9;
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.15);
  outline: none;
}
input[type='checkbox']:checked {
  background-color: #3d5aa9;
  border-color: #3d5aa9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6.5'/%3E%3C/svg%3E");
  background-size: 14px;
  background-position: center;
  background-repeat: no-repeat;
}
input[type='checkbox']:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
input[type='radio'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid #cbd5e0;
  border-radius: 50%;
  background-color: white;
  cursor: pointer;
  position: relative;
  top: 4px;
  margin: 0 6px 0 0;
  padding: 0;
  transition: all 0.2s ease;
}
input[type='radio']:hover {
  border-color: #3d5aa9;
}
input[type='radio']:focus {
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.2);
}
input[type='radio']:checked {
  border-color: #3d5aa9;
  border-width: 6px;
}
input[type='radio']:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
/*
======================================================
Main Layout
======================================================
*/

#wrapper {
  display: flex;
  flex-flow: column;
  height: 100%;
  min-height: 100%;
  align-items: center;
  position: relative;
}
div.header-wrapper {
  box-shadow: none;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 10;
}
header#header {
  background-color: rgba(255, 255, 255, 0.78);
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  backdrop-filter: blur(18px) saturate(1.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
  flex-grow: 0;
  height: 64px;
  min-height: 64px !important;
  width: 100%;
  position: relative;
  z-index: 20;
}
header#header > div {
  max-width: 1320px;
  height: 64px;
  margin-left: auto;
  margin-right: auto;
}
div#sitemenu {
  position: relative;
  width: 100%;
}
div#sitemenu > div {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
article#content {
  flex: 1 0 auto;
  /* width:100% spans the full body width. The `max-width: @SITE_MAX_WIDTH` + `padding: 0 24px` previously constrained article#content to 1320px and forced .full-width to escape via `width:100vw; left:50%; margin-left:-50vw`. That 100vw escape included the scrollbar gutter and caused a permanent horizontal scrollbar (Alex 2026-05-20). All page content is wrapped in .full-width sections that handle their own centring via the inner .site-width (max-width:1320). Removing article#content's max-width lets .full-width span its parent (full viewport) without needing the negative-margin escape. */
  width: 100%;
  margin: 0;
  padding: 0;
  /* Remove gap when first child is a full-width section */

}
article#content > .topic > .full-width:first-child {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  article#content {
    padding: 0 12px;
  }
}
/* Page-content gutters for .topic direct children that are NOT .full-width sections (and are NOT wrappers around a .full-width section).

Four layout patterns exist across the site:
  1. Pure full-width pages (homepage, Contact, About, Products listing, Demo) — every direct child of .topic is .full-width and intentionally spans the viewport.
  2. Pure long-form pages (Blog, Product detail, KB articles, Knowledge Base, Sales pitch, Support forms, Terms, Privacy, every My/Admin/*.aspx) — direct children are content blocks with no .full-width wrappers; on wide viewports they read flush to the edges without any gutter.
  3. Mixed pages (My/Default, Support/UserGuides) — a .full-width hero or panel sits next to non-.full-width body sections inside the same .topic.
  4. Wrapped-full-width pages (Articles/Default) — the .full-width section is nested inside a non-.full-width server-side wrapper div (runat="server" `<div>` with no class). Without the override below, the wrapper would be capped at @SITE_MAX_WIDTH and its .full-width children couldn't span the viewport.

Default rule constrains every direct child of .topic that isn't .full-width to the same column width that .site-width uses inside .full-width blocks. The :has(> .full-width) override identifies pattern-4 wrappers and unsets the constraint so their inner .full-width sections render edge-to-edge as intended.

Layout-only — no colour, no font, no theme-specific concerns. */

.topic > *:not(.full-width) {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
/* Wrapper-of-full-width override (pattern 4 — Articles/Default's pnlNewsIntroOuter). The same .has(> input...) idiom appears at form:has(...) above. Same specificity as the default rule, declared after it, so it wins by source order with no need for !important. */

.topic > *:has(> .full-width) {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (max-width: 720px) {
  .topic > *:not(.full-width) {
    padding-left: 16px;
    padding-right: 16px;
  }
  .topic > *:has(> .full-width) {
    padding-left: 0;
    padding-right: 0;
  }
}
/* Transition gap: when a non-.full-width content block is immediately followed by a .full-width section, replace the .full-width's default margin-top:-1px (intended for consecutive .full-width sections butting together seamlessly) with a small visual gap. Without this, the trailing element's bottom border butts directly against the .full-width section's background change — on UserGuides.aspx that made the search input's bottom border sit right on the gray-to-white boundary at the top of pnlGuidesGuides.light, which read as the input being "cut off" at the bottom (Alex 2026-05-25). */

.topic > *:not(.full-width) + .full-width {
  margin-top: 32px;
}
footer#footer {
  background: linear-gradient(180deg, #1e2547 0%, #1a1f3a 100%);
  color: white;
  flex-grow: 0;
  margin-top: 0;
  width: 100%;
  border-top: 1px solid rgba(123, 150, 212, 0.12);
  position: relative;
  /* Subtle aurora glow at the top fade */

}
footer#footer:before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(123, 150, 212, 0.4) 50%, transparent 100%);
}
footer#footer > div {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
div.deviceRight {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  clear: right;
  float: right;
  margin-left: 32px;
  margin-top: 0;
  position: relative;
  width: 236px;
  z-index: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
div.deviceRight p {
  margin: 0;
}
div.deviceRight div.sideboxheader {
  background-color: #12121c;
  color: white;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 6px 6px 0 0;
}
div.deviceRight div.sideboxheader > a {
  color: white;
}
div.deviceRight div.sideboxsubheader,
div.deviceRight div.sideboxsubheader > a {
  color: var(--text-primary);
  font-weight: 600;
  margin: 8px 0 4px 0;
}
div.deviceRight div.sideboxwithheaderinner,
div.deviceRight div.sideboxinner,
div.deviceRight div.sideboxbody {
  font-size: 13px;
  padding: 8px 12px;
}
div.deviceRight ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Responsive */

@media screen and (max-width: 640px) {
  div.deviceRight {
    display: block;
    margin: 0;
    width: 100%;
  }
}
/*
======================================================
Header
======================================================
*/

header#header > div {
  display: flex;
  flex-flow: row;
  align-items: center;
  /* Logo */

  /* Menu */

  /* Search */

  /* User Info */

}
header#header > div > div.site-logo {
  flex-grow: 0;
  padding: 0 12px 0 4px;
  display: flex;
  align-items: center;
  height: 64px;
}
header#header > div > div.site-logo a {
  background-image: url(../img/banner.gif);
  background-repeat: no-repeat;
  background-size: 80px auto;
  background-position: center;
  background-color: #e3222f;
  display: inline-block;
  width: 130px;
  height: 50px;
  padding: 12px 18px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(227, 34, 47, 0.25);
  transition: all 0.2s ease;
}
header#header > div > div.site-logo a:hover {
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(227, 34, 47, 0.35);
}
header#header > div > div#sitemenu {
  flex-grow: 0;
}
header#header > div > div.site-search {
  flex-grow: 1;
}
header#header > div > .myintersoft {
  flex-grow: 0;
  flex-shrink: 0;
  /* never compress this column — its content (SUPPORT / SALES / Sign In / theme toggle / hamburger) must stay on one line */
  white-space: nowrap;
  /* belt-and-braces; the legacy <nobr> alone isn't reliable, and using display:inline-flex here would force the inner <nobr> to become a flex item which breaks its intrinsic nowrap */

}
header#header > div > .myintersoft > nobr {
  white-space: nowrap;
  display: inline-block;
  /* keep nobr inline-block so it forms a single nowrap context for the user-action chrome */

}
header#header > div > .myintersoft > nobr > .support-button,
header#header > div > .myintersoft > nobr > .sales-button,
header#header > div > .myintersoft > nobr > .login-button,
header#header > div > .myintersoft > nobr > #themeToggle,
header#header > div > .myintersoft > nobr > #mobilemenu {
  vertical-align: middle;
}
div.site-search {
  margin: 0;
  padding: 0 16px;
  width: 100%;
  display: flex;
  align-items: center;
  height: 64px;
  position: relative;
}
div.site-search form {
  display: flex;
  align-items: center;
  position: relative;
}
div.site-search button#cmdSearch {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  margin: 0 0 0 -38px !important;
  padding: 0 !important;
  background: #3d5aa9 !important;
  border: none !important;
  border-radius: 50% !important;
  cursor: pointer;
  transition: background-color 0.15s ease;
  box-shadow: none !important;
  line-height: 30px;
  font-size: 0;
  color: transparent;
  overflow: hidden;
  text-transform: none;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
}
div.site-search button#cmdSearch:before {
  font-family: isfas;
  color: white;
  content: "\f002";
  font-size: 13px;
}
div.site-search button#cmdSearch:hover {
  background: #324a8b !important;
  transform: none !important;
  box-shadow: none !important;
}
div.site-search button#cmdSearch:focus {
  border: none !important;
  box-shadow: none !important;
}
div.site-search input {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  color: var(--text-primary);
  outline: none;
  padding: 9px 40px 9px 16px;
  width: 320px;
  max-width: 100%;
  margin-bottom: 0 !important;
  transition: all 0.25s ease;
}
div.site-search input::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search input:-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search input::-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search input:focus {
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.15);
  background-color: white;
  border-color: #3d5aa9;
}
div.site-search form.focused input {
  color: var(--text-primary);
  background-color: white;
  width: 450px;
  max-width: 100%;
  /* prevents focused expansion from overflowing the viewport on narrow phones — without this, 450px > phone width */
  border-color: white;
  padding-right: 44px;
  transition: all 0.25s ease;
}
div.site-search form.focused input::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search form.focused input:-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search form.focused input::-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search form.focused button#cmdSearch {
  background: #2ea3f2 !important;
}
div.site-search form.focused button#cmdSearch:before {
  color: white;
}
div.site-search form.focused button#cmdSearch:hover {
  background: #0e91e9 !important;
  transform: none !important;
}
/* Mobile search-icon trigger. Hidden by default; the mobile media query (≤840px) flips it to inline-flex. Lives in .myintersoft just before the hamburger so it sits in the same nowrap row as the existing user-action buttons. */

.mobile-search-trigger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 4px;
  border-radius: 8px;
  color: var(--text-secondary);
  cursor: pointer;
  text-decoration: none;
  vertical-align: middle;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.mobile-search-trigger:before {
  font-family: isfas;
  content: "\f002";
  /* magnifying glass */
  font-size: 16px;
}
.mobile-search-trigger:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--text-primary);
  text-decoration: none;
}
.mobile-search-trigger:focus-visible {
  outline: 2px solid #3d5aa9;
  outline-offset: 2px;
}
/* When the overlay search row is open, swap the glyph for an × and tint the button so the close affordance is unambiguous. */

body.search-open .mobile-search-trigger {
  color: #3d5aa9;
  background-color: rgba(61, 90, 169, 0.08);
}
body.search-open .mobile-search-trigger:before {
  content: "\f00d";
  /* fa-times */

}
/* Sticky Header (when NOT mobile but body is scrolled) */

/*@media screen and (min-width:840px) {
  body.scrolled {
    margin-top:66px;

    header#header {
      height:@SITE_HEADER_HEIGHT_FIXED !important;
      min-height: @SITE_HEADER_HEIGHT_FIXED !important;
    }

    div.site-menu {
      margin-top:0 !important;
    }

    div.site-logo {
      margin-top:-3px !important;

      a {
        background-size:cover !important;
        height:@SITE_HEADER_HEIGHT_FIXED !important;
      }
    }

    div.site-search,
    .login-button,
    .sales-button {
      display:none;
    }

    header#header {
      position:fixed;
      top:0;
      left:0;
      height: @SITE_HEADER_HEIGHT_FIXED;
      z-index:99;
      animation: headerSlideDown 0.5s;
      transition:all 0.5s;
    }

    div#sitemenusub {
      box-shadow: 0 2px 4px rgba(0,0,0,0.07);
      position:fixed;
      top:@SITE_HEADER_HEIGHT_FIXED;
      left:0;
      z-index:2;
      animation: headerSlideDown 0.5s;
      transition:all 0.5s;
    }
  }

  div.site-menu {
    ul[menu-id='root'] {
      > li > a {
        height: @SITE_HEADER_HEIGHT_FIXED !important;
        overflow:hidden;
      }
    }
  }
}*/

/*
======================================================
Footer
======================================================
*/

footer#footer > div {
  padding: 28px 16px 16px 16px;
}
footer#footer > div a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.15s ease;
}
footer#footer > div a:hover {
  color: white;
}
footer#footer > div #copyright,
footer#footer > div #terms {
  display: inline-block;
  font-size: 13px;
  margin-bottom: 16px;
  margin-right: 24px;
  color: rgba(255, 255, 255, 0.5);
}
footer#footer > div #copyright a,
footer#footer > div #terms a {
  color: rgba(255, 255, 255, 0.5);
}
footer#footer > div #copyright a:hover,
footer#footer > div #terms a:hover {
  color: rgba(255, 255, 255, 0.9);
}
/*
======================================================
Menu
======================================================
*/

body:not(.mobilemenu) div#sitemenu div.site-menu {
  margin: 0 0 0 24px;
  display: flex;
  align-items: center;
  height: 64px;
  padding: 0 4px;
  background-color: var(--bg-base);
  border-radius: 999px;
  align-self: center;
  height: 44px !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu a {
  color: var(--text-primary);
  display: block;
  font-size: 14px;
  padding: 8px 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  /* Root level */

}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li {
  display: none;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li.current {
  background-color: transparent;
  border-radius: 0;
  z-index: 9;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li.current a {
  color: #3d5aa9 !important;
  font-weight: 600;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li ul {
  display: none;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li {
  display: inline-flex;
  align-items: center;
  margin: 0 2px;
  padding: 0;
  position: relative;
  height: 36px;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > a {
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  border-radius: 999px;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover {
  background-color: transparent;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > a {
  color: #3d5aa9 !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul {
  display: block;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  backdrop-filter: blur(20px) saturate(1.5);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 10px;
  list-style: none;
  margin: 0;
  min-width: 240px;
  padding: 12px;
  position: absolute;
  top: 100%;
  z-index: 9999;
  transform-origin: top left;
  animation: navDropIn 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li {
  margin: 0;
  padding: 0;
  border-radius: 4px;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li a {
  color: var(--text-primary);
  display: block;
  padding: 10px 14px;
  font-weight: 500;
  font-size: 14px;
  border-radius: 4px;
  transition: all 0.12s ease;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub {
  background-color: rgba(61, 90, 169, 0.07);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub a {
  color: #2ea3f2;
  font-weight: 600;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover {
  background-color: rgba(61, 90, 169, 0.07);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover a {
  color: #2ea3f2;
  transform: translateX(2px);
}
/*
======================================================
Sub Menu Bar (never shown in mobile)
======================================================
*/

div#sitemenusub {
  background-color: rgba(247, 248, 250, 0.7) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  width: 100%;
  position: relative;
  z-index: 1;
  /* Subtle separator that fades inward from the edges */

}
div#sitemenusub:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.06) 20%, rgba(0, 0, 0, 0.06) 80%, transparent 100%);
}
div#sitemenusub div.site-menu-sub {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding: 8px 24px;
}
div#sitemenusub div.site-menu-sub a {
  color: var(--text-secondary);
  display: block;
  text-decoration: none;
  font-size: 13px;
  padding: 2px;
  transition: all 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div#sitemenusub div.site-menu-sub ul {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
div#sitemenusub div.site-menu-sub ul li {
  border: none;
  border-radius: 999px;
  display: inline-block;
  margin: 0;
  transition: background-color 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div#sitemenusub div.site-menu-sub ul li > a {
  display: block;
  padding: 6px 14px;
  font-weight: 500;
  border-radius: 999px;
}
div#sitemenusub div.site-menu-sub ul li.currentsub {
  background-color: rgba(61, 90, 169, 0.1);
}
div#sitemenusub div.site-menu-sub ul li.currentsub a {
  color: #3d5aa9;
  font-weight: 600;
}
div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) {
  background-color: rgba(0, 0, 0, 0.04);
}
div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) a {
  color: var(--text-primary);
}
/*
======================================================
Site Map
======================================================
*/

div.site-map a {
  color: rgba(255, 255, 255, 0.7);
  display: block;
  font-size: 13px;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}
div.site-map a:hover {
  color: white;
}
div.site-map a.deprecated {
  color: rgba(255, 255, 255, 0.35) !important;
}
div.site-map ul {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
}
div.site-map ul li {
  font-weight: normal;
  margin: 3px 0;
  padding: 3px 4px;
}
div.site-map > ul {
  display: flex;
  margin: 0;
  padding: 0;
  bottom: 0;
  /* Root level */

}
div.site-map > ul > li {
  display: inline-block;
  margin-right: 32px;
}
div.site-map > ul > li ul li.currentsub {
  border-radius: 4px;
  color: white;
  background-color: #3d5aa9;
}
div.site-map > ul > li ul a {
  font-size: 13px;
}
div.site-map > ul[menu-id='root'] > li {
  font-weight: 600;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
}
div.site-map li[menu-id='Home'],
div.site-map li[menu-id='Resources'] {
  display: none;
}
/*
======================================================
Login
======================================================
*/

.login-button,
.sales-button,
.support-button {
  border: none;
  border-radius: 4px;
  color: white;
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-right: 6px;
  margin-top: 0;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  min-width: 0;
  cursor: pointer;
}
.support-button {
  background-color: transparent;
  color: #3d5aa9 !important;
  border: 1px solid #3d5aa9 !important;
  font-weight: 700;
}
.support-button:hover {
  background-color: #3d5aa9 !important;
  color: white !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
}
.login-button {
  background-color: transparent;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary);
}
.login-button:hover {
  background-color: var(--bg-base) !important;
  color: #3d5aa9 !important;
  border-color: #3d5aa9 !important;
}
/* User dropdown menu (built by JS when logged in) */

.user-menu-wrapper {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.user-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  padding: 3px;
  border-radius: 50px;
  transition: background-color 0.15s ease;
  vertical-align: middle;
}
.user-menu-trigger:hover {
  background-color: var(--bg-base);
}
.user-menu-trigger .user-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #3d5aa9;
  border: 2px solid #3d5aa9;
  color: white;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}
.user-menu-trigger .user-chevron:after {
  content: "\f078";
  font-family: isfas;
  font-size: 8px;
  color: var(--text-muted);
}
.user-menu-wrapper.open .user-menu-trigger:after {
  transform: rotate(180deg);
}
.user-menu-dropdown {
  display: block;
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 6px;
  background-color: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.04);
  min-width: 240px;
  padding: 8px;
  z-index: 9999;
  transform-origin: top right;
}
.user-menu-dropdown .user-menu-header {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 4px;
  font-size: 13px;
  color: var(--text-secondary);
}
.user-menu-dropdown .user-menu-header strong {
  display: block;
  color: var(--text-primary);
  font-size: 14px;
}
.user-menu-dropdown a,
.user-menu-dropdown button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px !important;
  border: none !important;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  text-align: left;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.12s ease;
  margin: 0 !important;
  line-height: 20px;
}
.user-menu-dropdown a .mi,
.user-menu-dropdown button .mi {
  font-size: 15px;
  color: #888888;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
  display: inline-block;
  transition: color 0.12s ease;
}
.user-menu-dropdown a:hover,
.user-menu-dropdown button:hover {
  background-color: rgba(61, 90, 169, 0.07) !important;
  color: #2ea3f2;
  transform: translateX(2px);
  box-shadow: none;
}
.user-menu-dropdown a:hover .mi,
.user-menu-dropdown button:hover .mi {
  color: #2ea3f2;
}
.user-menu-dropdown .menu-signout .mi {
  color: #2ea3f2;
}
.user-menu-dropdown .menu-divider {
  height: 1px;
  background-color: rgba(0, 0, 0, 0.06);
  margin: 6px 8px;
}
.user-menu-dropdown .menu-signout {
  color: #2ea3f2;
}
.user-menu-dropdown .menu-section-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  padding: 10px 14px 4px 14px;
}
.user-menu-dropdown a.menu-tool .mi {
  font-size: 13px;
}
.user-menu-dropdown {
  max-height: 70vh;
  overflow-y: auto;
}
.user-menu-wrapper .user-menu-dropdown {
  /* Always in DOM but hidden via opacity/scale for animation */
  pointer-events: none;
  opacity: 0;
  transform: scale(0.92) translateY(-8px);
  transition: opacity 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.user-menu-wrapper.open .user-menu-dropdown {
  display: block;
  pointer-events: auto;
  opacity: 1;
  transform: scale(1) translateY(0);
}
.sales-button {
  background-color: #3d5aa9;
  color: white !important;
  font-weight: 700;
}
.sales-button:hover {
  background-color: #324a8b !important;
  color: white !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
}
/*
======================================================
 Other Animations
======================================================
*/

@keyframes pop {
  from {
    transform: scale(0.8);
  }
  to {
    transform: scale(1);
  }
}
@keyframes slideDown {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes headerSlideDown {
  0% {
    transform: translate(0, -100px);
  }
  100% {
    transform: translate(0, 0);
  }
}
/* Mega menu mode - applied via JS when dropdown has 5+ items.
   NOTE: only style on hover so the menu stays hidden by default. */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul.is-mega {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 2px 8px;
  min-width: 440px !important;
  padding: 10px !important;
}
/* Intent-delay gate. The dropdowns above show on :hover; this rule suppresses that show until JS sets .intent-armed on the <li> 150ms after mouseenter, stopping menus from flashing open as the cursor crosses the nav bar. JS removes .intent-armed on mouseleave (and clears the timer if the user moves off within 150ms, so the menu never appears at all). */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:not(.intent-armed):hover > ul,
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:not(.intent-armed):hover > ul.is-mega {
  display: none !important;
}
/* Eyebrow header spans both columns */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head {
  grid-column: -1;
  padding: 4px 12px 8px 12px !important;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head:hover {
  background-color: transparent !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head:hover a {
  color: inherit !important;
  transform: none !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head span.mega-eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #3d5aa9;
}
@keyframes navDropIn {
  0% {
    opacity: 0;
    transform: scale(0.92) translateY(-8px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
======================================================
Forms
======================================================
*/

div.fieldMandatoryLegend {
  display: inline-block !important;
  font-size: 14px;
  margin: 12px 0 0 0;
  width: auto !important;
}
div.fieldMandatoryLegend > div.fieldMandatoryBox {
  display: inline-block;
  background-color: #fdfaed;
  border: 1px solid #e8dfc0;
  border-radius: 4px;
  padding: 6px 10px;
  color: var(--text-secondary);
  font-size: 13px;
}
input:not([disabled='disabled'])[type='submit'][value='Delete'] {
  background-color: #c0392b !important;
  color: white !important;
}
input:not([disabled='disabled'])[type='submit'][value='Delete']:hover {
  background-color: #a93226 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(192, 57, 43, 0.25);
}
input:not([disabled='disabled'])[type='submit'][value='Save'] {
  background-color: #27ae60 !important;
  color: white !important;
}
input:not([disabled='disabled'])[type='submit'][value='Save']:hover {
  background-color: #229954 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(39, 174, 96, 0.25);
}
input:not([disabled='disabled'])[type='submit'][value='Duplicate'] {
  background-color: #2e86c1 !important;
  color: white !important;
}
input:not([disabled='disabled'])[type='submit'][value='Duplicate']:hover {
  background-color: #2874a6 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(46, 134, 193, 0.25);
}
button#cmdCancel:not([disabled='disabled']) {
  background-color: var(--bg-base) !important;
  color: var(--text-secondary);
}
button#cmdCancel:not([disabled='disabled']):hover {
  background-color: #e2e2e2 !important;
}
/* Live Search Dropdown */

.live-search-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  max-height: 480px;
  overflow-y: auto;
  padding: 6px;
}
.live-search-dropdown.open {
  display: block;
  animation: navDropIn 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
a.live-search-item {
  display: block;
  padding: 10px 14px;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.1s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
a.live-search-item:last-of-type {
  border-bottom: none;
}
a.live-search-item:hover {
  background-color: rgba(61, 90, 169, 0.07);
}
a.live-search-item .live-search-type {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 6px;
  border-radius: 3px;
  margin-right: 8px;
  color: white;
  background-color: var(--text-muted);
  vertical-align: middle;
}
a.live-search-item .live-search-type.article {
  background-color: #2e86c1;
}
a.live-search-item .live-search-type.blog {
  background-color: #e67e22;
}
a.live-search-item .live-search-type.news {
  background-color: #2e86c1;
}
a.live-search-item .live-search-type.guide {
  background-color: #16a085;
}
a.live-search-item .live-search-type.download {
  background-color: #27ae60;
}
a.live-search-item .live-search-type.kb {
  background-color: #8e44ad;
}
a.live-search-item .live-search-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  display: inline;
  vertical-align: middle;
}
a.live-search-item .live-search-abstract {
  display: block;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-top: 4px;
  padding-left: 0;
}
.live-search-loading,
.live-search-empty {
  padding: 16px 20px;
  font-size: 14px;
  color: var(--text-muted);
  text-align: center;
}
.live-search-loading strong,
.live-search-empty strong {
  color: var(--text-primary);
}
.live-search-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border-subtle);
  border-top-color: #2ea3f2;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
  animation: spinnerRotate 0.6s linear infinite;
}
@keyframes spinnerRotate {
  to {
    transform: rotate(360deg);
  }
}
a.live-search-all {
  display: block;
  padding: 10px 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  margin-top: 4px;
  text-align: center;
  font-size: 13px;
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.1s ease;
}
a.live-search-all:hover {
  background-color: rgba(61, 90, 169, 0.07);
  color: #2ea3f2;
}
a.live-search-all strong {
  color: var(--text-primary);
}
table.ISForm {
  font-size: 14px;
  width: 100%;
}
table.ISForm h2 {
  font-size: 22px;
  font-weight: 600;
}
table.ISForm th {
  font-weight: 500;
  text-align: left;
  color: var(--text-secondary);
  padding: 8px 12px 8px 0;
}
table.ISForm th.fieldMandatory {
  color: var(--text-primary);
  font-weight: 600;
}
table.ISForm td {
  padding: 4px 0;
}
/* Responsive */

@media screen and (max-width: 640px) {
  table.ISForm td,
  table.ISForm th {
    display: block;
  }
}
/*
======================================================
My Dashboard
======================================================
*/

div.MyOptions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
}
div.MyOptions div.MyOption {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  display: inline-block;
  padding: 16px 12px;
  position: relative;
  text-align: center;
  vertical-align: top;
  width: 15%;
  max-width: 140px;
  min-width: 120px;
  min-height: 140px;
  margin: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: all 0.2s ease;
  /* Responsive */

}
div.MyOptions div.MyOption:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
  border-color: #3d5aa9;
}
div.MyOptions div.MyOption > a {
  font-size: 14px !important;
}
@media screen and (max-width: 640px) {
  div.MyOptions div.MyOption {
    display: block;
    width: 100%;
    min-width: unset;
    max-width: unset;
    margin-right: 0;
  }
}
div.MyOptions div.MyOption > a {
  color: var(--text-primary);
  flex: 1 100%;
  font-size: 13px;
  height: 120px;
  text-decoration: none;
  transition: all 0.2s;
}
div.MyOptions div.MyOption > a > span {
  display: block;
  margin-bottom: 4px;
  padding: 8px 0 8px 0;
}
div.MyOptions div.MyOption > a > span > img {
  display: block;
  margin: 0 auto 0 auto;
}
/*
======================================================
My Dashboard - FontAwesome Icons
======================================================
*/

div.MyOption span.fa-icon {
  font-family: isfas;
  font-size: 36px;
  display: block;
  color: #2ea3f2;
  line-height: 1;
}
/*
======================================================
BLOG
======================================================
*/

div.blogitem {
  border-top: 1px solid var(--border-subtle);
  padding: 20px 0;
}
div.blogitem:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.015);
}
div.blogitem:not(:first-child) {
  margin-top: 0;
}
div.blogitem:first-child {
  border-top: none;
  padding-top: 0;
}
div.blogcontinuereading > a {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  margin: 4px 0 0 0;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div.blogcontinuereading > a:before {
  font-family: isfas;
  font-size: 14px;
  content: "\f02d";
  margin-right: 6px;
  color: #3d5aa9;
}
div.blogcontinuereading > a:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
div.blogcontinuereading > a:hover:before {
  color: white;
}
/*
======================================================
Search Results
======================================================
*/

div.ISSearchResults {
  border-top: 1px solid var(--border-subtle);
  padding-top: 12px;
}
div.ISSearchResults > div.ISSearchItem,
div.ISSearchResults > div.ISSearchItemAlt {
  color: var(--text-secondary);
  font-size: 14px;
  padding: 14px 16px;
  border-radius: 4px;
  margin-bottom: 2px;
  transition: background-color 0.15s ease;
}
div.ISSearchResults > div.ISSearchItem.Article,
div.ISSearchResults > div.ISSearchItemAlt.Article {
  background-color: rgba(61, 90, 169, 0.05);
  color: #2d5f7a !important;
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.Article:before,
div.ISSearchResults > div.ISSearchItemAlt.Article:before {
  color: #7abed4 !important;
  font-family: isfas;
  font-size: 22px;
  content: "\f15c";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.Article.B:Before,
div.ISSearchResults > div.ISSearchItemAlt.Article.B:Before {
  content: "\f4ad";
  left: 10px;
  font-size: 22px;
}
div.ISSearchResults > div.ISSearchItem.Article.News:Before,
div.ISSearchResults > div.ISSearchItemAlt.Article.News:Before {
  content: "\f15c";
  left: 10px;
  font-size: 22px;
}
div.ISSearchResults > div.ISSearchItem.Article.UG:Before,
div.ISSearchResults > div.ISSearchItemAlt.Article.UG:Before {
  content: "\f1cd";
  left: 10px;
  font-size: 22px;
}
div.ISSearchResults > div.ISSearchItem.Download,
div.ISSearchResults > div.ISSearchItemAlt.Download {
  background-color: rgba(39, 174, 96, 0.05);
  color: #2d5f42 !important;
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.Download:before,
div.ISSearchResults > div.ISSearchItemAlt.Download:before {
  color: #7ab89a;
  font-family: isfas;
  font-size: 22px;
  content: "\f56d";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.KB,
div.ISSearchResults > div.ISSearchItemAlt.KB {
  background-color: rgba(0, 0, 0, 0.02);
  color: var(--text-secondary) !important;
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.KB:before,
div.ISSearchResults > div.ISSearchItemAlt.KB:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 22px;
  content: "\f1c0";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.TSB,
div.ISSearchResults > div.ISSearchItemAlt.TSB {
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.TSB:before,
div.ISSearchResults > div.ISSearchItemAlt.TSB:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 22px;
  content: "\f552";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.TSG,
div.ISSearchResults > div.ISSearchItemAlt.TSG {
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.TSG:before,
div.ISSearchResults > div.ISSearchItemAlt.TSG:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 20px;
  content: "\f0f9";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.UG,
div.ISSearchResults > div.ISSearchItemAlt.UG {
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.UG:before,
div.ISSearchResults > div.ISSearchItemAlt.UG:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 20px;
  content: "\f007";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem > h3,
div.ISSearchResults > div.ISSearchItemAlt > h3 {
  font-size: 16px;
  font-weight: 500;
  margin: 0;
}
div.ISSearchResults > div.ISSearchItem > h3 > a,
div.ISSearchResults > div.ISSearchItemAlt > h3 > a {
  color: #2f4684;
  text-decoration: none !important;
}
div.ISSearchResults > div.ISSearchItem > h3 > a:hover,
div.ISSearchResults > div.ISSearchItemAlt > h3 > a:hover {
  color: #22325e;
}
div.ISSearchResults > div.ISSearchItem > div.ISSearchItemData,
div.ISSearchResults > div.ISSearchItemAlt > div.ISSearchItemData {
  color: var(--text-muted);
  font-size: 12px;
  margin: 4px 0 4px 0;
  padding-bottom: 2px;
}
div.ISSearchResults > div.ISSearchItemAlt {
  background-color: rgba(0, 0, 0, 0.015);
  border-bottom: 1px solid var(--border-subtle);
  border-top: 1px solid var(--border-subtle);
}
div.ISSearchResultsPager {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 20px;
  font-size: 14px;
  /* Prev/Next - replace text with FA icons */

}
div.ISSearchResultsPager > span {
  color: var(--text-muted);
}
div.ISSearchResultsPager > a,
div.ISSearchResultsPager > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 4px;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.15s cubic-bezier(0.22, 0.61, 0.36, 1);
  margin: 0 !important;
  line-height: 1;
}
div.ISSearchResultsPager > a {
  color: var(--text-primary);
  background-color: white;
  border: 1px solid var(--border-subtle);
}
div.ISSearchResultsPager > a:hover {
  background-color: #2ea3f2;
  border-color: #2ea3f2;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
div.ISSearchResultsPager > span.current {
  background-color: #2ea3f2;
  border: 1px solid #2ea3f2;
  color: white;
  font-weight: 700;
}
div.ISSearchResultsPager > a:first-child,
div.ISSearchResultsPager > span:first-child,
div.ISSearchResultsPager > a:last-child,
div.ISSearchResultsPager > span:last-child {
  font-size: 0;
  /* hide text */
  min-width: 36px;
  padding: 0;
}
div.ISSearchResultsPager > a:first-child:after,
div.ISSearchResultsPager > span:first-child:after,
div.ISSearchResultsPager > a:last-child:after,
div.ISSearchResultsPager > span:last-child:after {
  font-family: isfas;
  font-size: 14px;
}
div.ISSearchResultsPager > a:first-child:after,
div.ISSearchResultsPager > span:first-child:after {
  content: "\f104";
  /* chevron-left */

}
div.ISSearchResultsPager > a:last-child:after,
div.ISSearchResultsPager > span:last-child:after {
  content: "\f105";
  /* chevron-right */

}
div.recordcount {
  font-size: 14px;
  margin: 8px 0 8px 0;
  color: var(--text-secondary);
}
div.releasedate {
  color: var(--text-muted);
  font-size: 13px;
  margin: -8px 0 12px 0;
}
div.showMore {
  margin-top: 12px;
}
ul.links-strip {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul.links-strip > li {
  display: inline-block;
  padding: 0 !important;
  list-style: none;
  margin: 0 0 6px 0 !important;
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 4px 10px 4px 10px !important;
  transition: all 0.15s ease;
}
ul.links-strip > li a {
  color: var(--text-primary);
  display: block;
  font-size: 13px;
  font-weight: 500;
}
ul.links-strip > li:hover {
  background-color: #12121c;
  border-color: #12121c;
}
ul.links-strip > li:hover a {
  color: white;
}
ul.links-strip > li:before {
  content: "" !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul.links-strip > li.deprecated {
  opacity: 0.5;
}
ul.links-strip > li[selected='true'] {
  background-color: #12121c;
  border-color: #12121c;
}
ul.links-strip > li[selected='true'] > a {
  color: white;
}
/*
======================================================
Download
======================================================
*/

div.download {
  margin-top: 8px;
}
/* Download details meta icons */

.ArticleHeadingInfoBar table.download-meta th {
  width: 28px !important;
  padding-right: 0 !important;
  vertical-align: middle;
}
.ArticleHeadingInfoBar table.download-meta th .meta-icon {
  font-size: 15px;
  color: var(--text-muted);
}
.ArticleHeadingInfoBar table.download-meta td {
  font-size: 14px;
  color: var(--text-secondary);
}
/*
======================================================
Messages
======================================================
*/

div#WebStoppedWarning {
  background-color: #e3222f;
  color: white;
  font-weight: 600;
  margin: 0;
  padding: 10px 16px;
  font-size: 14px;
}
div.ISError {
  color: #922b21;
  font-weight: 600;
  margin: 0 0 8px 0;
  padding: 8px 12px;
  background-color: #fdfaf9;
  border: 1px solid #e6d5d1;
  border-radius: 4px;
}
div.ISSuccess {
  color: #1e8449;
  font-weight: 600;
  margin: 0 0 8px 0;
  padding: 8px 12px;
  background-color: #f7fdf9;
  border: 1px solid #d0e9d8;
  border-radius: 4px;
}
div#topicprint {
  border-top: 1px solid var(--border-subtle);
  display: block;
  margin-top: 24px;
  overflow: auto;
  min-height: 58px;
  padding-top: 8px;
}
div#topicprint a#topicprint_print {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  margin: 8px 0 0 0;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div#topicprint a#topicprint_print:before {
  font-family: isfas;
  font-size: 14px;
  content: "\f02f";
  margin-right: 6px;
  color: #3d5aa9;
}
div#topicprint a#topicprint_print:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
}
div#topicprint a#topicprint_print:hover:before {
  color: white;
}
div#topicprint a#topicprint_edit {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  margin: 8px 0 0 4px;
  position: relative;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div#topicprint a#topicprint_edit:before {
  font-family: isfa;
  font-size: 15px;
  content: "\f044";
  margin-right: 6px;
  position: relative;
  top: 1px;
  color: #3d5aa9;
}
div#topicprint a#topicprint_edit:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
}
div#topicprint a#topicprint_edit:hover:before {
  color: white;
}
/*
======================================================
Mobile Menu
======================================================
*/

/* Hamburger — Alex 2026-05-20: was invisible on the redesigned white header (legacy `color: white` + `border: rgba(255,255,255,0.3)` had been designed for the old red-banner header). Themed via tokens so it reads on light + dark + accessibility surfaces. */

a#mobilemenu {
  background-color: transparent;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  color: var(--text-primary);
  display: none;
  font-size: 18px;
  font-weight: normal;
  margin-right: 8px;
  margin-top: 0;
  padding: 8px;
  text-align: center;
  text-decoration: none;
  width: 36px;
  height: 36px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
a#mobilemenu:before {
  font-family: isfas;
  content: "\f0c9";
}
a#mobilemenu:hover,
a#mobilemenu:focus-visible {
  background-color: var(--bg-elevated);
  border-color: var(--link);
  color: var(--link);
}
body.mobilemenu {
  /* Tweaks */
  overflow: hidden;
  overscroll-behavior: contain;
  /* prevents iOS rubber-band scroll on the body while the drawer is open */

  /* Signed In */

  /* Mobile Menu */

}
body.mobilemenu a#mobilemenu {
  background-color: rgba(0, 0, 0, 0.2);
  border-color: rgba(0, 0, 0, 0.15);
}
body.mobilemenu a.avatar {
  display: inline-block !important;
  position: absolute;
  top: 68px;
  right: 8px;
  /* was -4px (avatar half off-screen). 8px keeps it visible inside the viewport */
  z-index: 999;
}
body.mobilemenu div#sitemenu {
  display: inline-block;
  overflow: hidden;
  width: 0px;
}
body.mobilemenu div.site-menu {
  color: white;
  background-color: #12121c;
  display: block;
  position: fixed;
  right: 0;
  top: 64px;
  bottom: 0;
  width: 100%;
  overflow: auto;
  animation: slideDown 0.2s;
  z-index: 9999;
  -webkit-overflow-scrolling: touch;
  /* Top-level */

  /* Mobile mega-menu accordion: sub-uls hidden by default; revealed when their parent li is .expanded (toggled by JS via the chevron button). */

  /* Per-item chevron toggle — injected by general.js for items that have sub-menus. Visibility is scoped to body.mobilemenu (see top-level hide rule below the body.mobilemenu block). */

  /* Mobile user-actions section (Support / Sales / Sign In) — injected by general.js so the drawer is the canonical place to find these on mobile. The original .login-button / .sales-button rules `display:none !important` so we use distinct class names on the clones. Display:block !important is required to override the top-level `.mobile-user-actions { display: none }` which hides this whole block on desktop. */

}
body.mobilemenu div.site-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.mobilemenu div.site-menu ul > li.currentsub a {
  background-color: rgba(255, 255, 255, 0.05);
  color: #3d5aa9;
}
body.mobilemenu div.site-menu ul > li > a {
  color: white;
  display: block;
  padding: 12px 16px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: background-color 0.15s ease;
}
body.mobilemenu div.site-menu ul > li > a:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
body.mobilemenu div.site-menu > ul > li {
  position: relative;
}
body.mobilemenu div.site-menu > ul > li > a {
  font-weight: 600;
  font-size: 16px !important;
  /* Reserve space for the chevron toggle on items that have sub-menus */
  padding-right: 56px !important;
}
body.mobilemenu div.site-menu ul > li > ul {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.18);
}
body.mobilemenu div.site-menu ul > li > ul > li > a {
  padding-left: 32px !important;
  /* indent sub-items */
  font-weight: 500;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.85);
}
body.mobilemenu div.site-menu ul > li.expanded > ul {
  display: block;
  animation: drawerSubExpand 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body.mobilemenu div.site-menu .mobile-submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 48px;
  height: 44px;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  padding: 0;
  display: flex !important;
  /* override the default display:none below */
  align-items: center;
  justify-content: center;
  z-index: 2;
}
body.mobilemenu div.site-menu .mobile-submenu-toggle:before {
  content: "\f078";
  /* chevron-down */
  font-family: isfas;
  font-size: 12px;
  transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body.mobilemenu div.site-menu .mobile-submenu-toggle:hover {
  color: white;
}
body.mobilemenu div.site-menu li.expanded > .mobile-submenu-toggle:before {
  transform: rotate(180deg);
}
body.mobilemenu div.site-menu .mobile-user-actions {
  display: block !important;
  margin-top: 12px;
  padding: 12px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
body.mobilemenu div.site-menu .mobile-action-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  color: white;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  /* life-ring */

  /* bullhorn */

  /* sign-in */

}
body.mobilemenu div.site-menu .mobile-action-link:last-child {
  border-bottom: none;
}
body.mobilemenu div.site-menu .mobile-action-link:before {
  font-family: isfas;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}
body.mobilemenu div.site-menu .mobile-action-link--support:before {
  content: "\f1cd";
}
body.mobilemenu div.site-menu .mobile-action-link--sales:before {
  content: "\f0a1";
}
body.mobilemenu div.site-menu .mobile-action-link--login:before {
  content: "\f2f6";
}
body.mobilemenu div.site-menu .mobile-action-link:hover {
  background: rgba(255, 255, 255, 0.05);
}
@keyframes drawerSubExpand {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* The .mobile-submenu-toggle chevron is injected into every menu item with sub-children at page load (so it works the moment the drawer is opened). It must be hidden on desktop where the mega-menu uses hover dropdowns — otherwise it renders as a default-styled button between each nav item. The body.mobilemenu rule above re-enables it. */

.mobile-submenu-toggle {
  display: none;
}
/* The .mobile-user-actions block (Support / Sales / Sign In clones for the drawer) is injected at page load into div.site-menu. On desktop it must be hidden — otherwise the cloned anchors render below the nav row, picking up the desktop nav's link styling (block, padding, underline). The body.mobilemenu rule above re-enables it. */

.mobile-user-actions {
  display: none;
}
/*
======================================================
Responsive
======================================================
*/

/* Smallish (e.g., laptop) */

@media screen and (max-width: 1100px) {
  a.sales-button {
    display: none;
  }
  div.site-logo a {
    margin-left: 4px;
  }
  div.site-menu ul[menu-id='root'] > li {
    padding: 8px 2px;
  }
  div.site-menu ul[menu-id='root'] > li > a {
    font-size: 12px !important;
    padding: 6px 8px;
  }
  div.site-search input {
    width: 140px;
  }
  div.site-map {
    display: none;
  }
  article#content {
    /* article#content now has padding:0 globally (see line ~430). This media-query override is a legacy holdover that constrained article#content with 4px padding on narrow viewports — no longer needed since .full-width sections span the parent without an escape. Kept as `padding:0` to make the override explicit. */
    padding: 0;
  }
}
/* Small (e.g., phone) */

@media screen and (max-width: 840px) {
  /*header#header {
      position:fixed;
      top:0;
      left:0;
      z-index:99;
    }*/
  
  /* Mobile search — the inline input row is replaced by a search-icon trigger in .myintersoft; tapping it toggles a body.search-open class which slides the overlay row down from behind the header. JS lives in initMobileSearchToggle (Scripts/general.js).
  
       The element stays in the DOM at all times so we can animate transform + opacity; CSS can't transition `display`. visibility flips with a delay so the close fade-out is actually visible — without the delayed visibility transition, the element snaps invisible the moment .search-open is removed and the opacity tween never renders. */
  
  div.site-search {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: auto;
    padding: 12px 16px;
    background: var(--bg-header);
    border-top: 1px solid var(--border-subtle);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    z-index: 50;
    /* Closed state. translateY pulls the row up behind the header so it slides DOWN into place on open. visibility:hidden additionally removes it from the accessibility tree and from tab order. */
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s linear 0.22s;
  }
  div.site-search form {
    width: 100%;
  }
  div.site-search input {
    width: 100% !important;
    max-width: 100% !important;
  }
  .mobile-search-trigger {
    display: inline-flex;
  }
  body.search-open div.site-search {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s linear 0s;
  }
  div#sitemenu {
    display: none;
  }
  div.site-menu-sub {
    display: none;
  }
  /* Only Sales is hidden on mobile — Sign In was previously also hidden but feedback was that not having a discoverable sign-in path on phones was a regression. .login-button is now shown but compacted to icon-only below (matching the Support / search / hamburger row). */
  
  .sales-button {
    display: none !important;
  }
  /* Right-align the user-action column. Without this, after #sitemenu + .site-search go to display:none the only two visible row items are the logo (left) and .myintersoft — which sat tight against the logo with a long empty stretch on the right. */
  
  .myintersoft {
    margin-left: auto;
  }
  /* Compact icon-only versions of Support + Sign In on mobile. Matches the visual weight of the existing .mobile-search-trigger and hamburger so all four right-side controls form an even row. Text labels stay in the DOM (font-size:0 collapses them visually but screen readers still announce them). */
  
  .support-button,
  .login-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    margin-right: 4px;
    border: none !important;
    background-color: transparent !important;
    color: var(--text-secondary) !important;
    font-size: 0;
    border-radius: 8px;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none !important;
  }
  .support-button:before,
  .login-button:before {
    font-family: isfas;
    font-size: 16px;
    color: inherit;
  }
  .support-button:hover,
  .login-button:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
    color: var(--text-primary) !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
  }
  .support-button:before {
    content: "\f1cd";
    /* fa-life-ring — universally-recognised support glyph */
  
  }
  .login-button:before {
    content: "\f2f6";
    /* fa-sign-in-alt — login arrow into door */
  
  }
  a#mobilemenu {
    display: inline-block;
  }
  footer#footer {
    padding: 0 4px 0 4px;
  }
}
/*
======================================================
Full Width Section
======================================================
*/

div.full-width {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 16px;
  margin-top: -1px;
  padding: 48px 4px;
  position: relative;
  width: 100%;
  /* width:100% (not 100vw) — article#content now spans the full body width with no max-width or padding, so 100% here == viewport, with no need for the historic `left:50%; margin-left:-50vw` escape that caused a permanent horizontal scrollbar from including the vertical-scrollbar gutter. Inner .site-width handles content centring via max-width:1320 + auto margins. */

  /* grid, 3 wide */

}
div.full-width.dark > div.site-width div.items > div.item {
  border: none !important;
}
div.full-width div.site-width {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 8px 16px;
}
div.full-width a.linkinternal {
  margin-bottom: 2px;
}
div.full-width p {
  line-height: 1.7;
  font-size: 16px;
}
div.full-width h1 {
  font-size: 40px;
  font-weight: 700;
  margin: 0 0 12px 0;
  letter-spacing: -0.025em;
  transition: all 0.2s;
  /* Responsive */

}
@media screen and (max-width: 900px) {
  div.full-width h1 {
    font-size: 36px;
  }
}
@media screen and (max-width: 640px) {
  div.full-width h1 {
    font-size: 32px;
  }
}
div.full-width h2 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.015em;
  transition: all 0.2s;
  /* Responsive */

}
@media screen and (max-width: 900px) {
  div.full-width h2 {
    font-size: 24px;
  }
}
@media screen and (max-width: 640px) {
  div.full-width h2 {
    font-size: 22px;
  }
}
div.full-width div.buttons {
  clear: both;
  margin: 0 !important;
  position: relative;
  text-align: left;
  padding-top: 8px;
}
div.full-width button {
  border-radius: 4px !important;
  border: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  height: auto !important;
  margin-bottom: 10px !important;
  margin-top: 8px !important;
  padding: 12px 28px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  /* CTA button — matches the .contact-quick-chip glass style used by the SUPPORT / SALES buttons on the Contact page, so it reads as part of the site's translucent visual vocabulary instead of competing as a saturated block. */

  /* Responsive */

}
div.full-width button.normal {
  background-color: rgba(255, 255, 255, 0.12) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: white !important;
}
div.full-width button.normal:hover {
  background-color: rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
div.full-width button.blue {
  background-color: #3d5aa9 !important;
  color: white !important;
}
div.full-width button.blue:hover {
  background-color: #324a8b !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
}
div.full-width button.green {
  background: rgba(255, 255, 255, 0.06) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: white !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}
div.full-width button.green:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(123, 150, 212, 0.55) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
@media screen and (max-width: 900px) {
  div.full-width button {
    font-size: 12px !important;
    padding: 10px 20px !important;
  }
}
div.full-width.dark {
  background: linear-gradient(180deg, #1e2547 0%, #1a2042 100%);
  color: rgba(255, 255, 255, 0.92);
  position: relative;
  /* Hairline accents at top and bottom that fade to transparent at the edges */

}
div.full-width.dark:before,
div.full-width.dark:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(123, 150, 212, 0.25) 50%, transparent 100%);
  pointer-events: none;
}
div.full-width.dark:before {
  top: 0;
}
div.full-width.dark:after {
  bottom: 0;
}
div.full-width.dark p,
div.full-width.dark li,
div.full-width.dark td,
div.full-width.dark th,
div.full-width.dark span,
div.full-width.dark label,
div.full-width.dark div {
  color: rgba(255, 255, 255, 0.85);
}
div.full-width.dark b,
div.full-width.dark strong {
  color: white;
}
div.full-width.dark .glyph {
  color: rgba(255, 255, 255, 0.85);
}
div.full-width.dark h1,
div.full-width.dark h2,
div.full-width.dark h2 > a,
div.full-width.dark h3,
div.full-width.dark a > p {
  color: white !important;
  text-decoration: none;
}
div.full-width.dark a {
  color: rgba(255, 255, 255, 0.95);
}
div.full-width.dark a:hover {
  color: white;
}
div.full-width.dark a.linkinternal {
  background-color: rgba(59, 130, 246, 0.15);
  color: #6983c9 !important;
}
div.full-width.light {
  background-color: white;
  color: var(--text-primary);
}
div.full-width.light .glyph {
  color: #3d5aa9;
}
div.full-width.light h1,
div.full-width.light h2,
div.full-width.light h3 {
  color: var(--text-primary);
}
div.full-width.light h2 {
  margin-top: 12px;
}
div.full-width.light button.normal {
  background-color: var(--bg-base) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
div.full-width.light button.normal:hover {
  background-color: #12121c !important;
  border-color: #12121c !important;
  color: white !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
div.full-width div.items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 24px;
  gap: 0;
  transition: all 0.2s;
  /* Responsive */

}
div.full-width div.items > div.item > a {
  color: var(--text-primary);
  display: block;
}
div.full-width div.items > div.item {
  border-radius: 10px;
  padding: 20px 16px;
  flex: 1 100%;
  margin-bottom: 20px;
  max-width: 30.5%;
  position: relative;
  transition: all 0.25s ease;
}
div.full-width div.items > div.item ul {
  display: block;
  margin: 0;
  padding: 0;
  text-align: left;
  width: auto !important;
}
div.full-width div.items > div.item ul > li {
  background-color: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  margin: 0;
  margin-bottom: 4px;
  padding: 6px 8px;
  width: auto !important;
  transition: background-color 0.15s ease;
}
div.full-width div.items > div.item ul > li a {
  display: block;
}
div.full-width div.items > div.item ul > li:before {
  content: "";
  margin: 0;
  padding: 0;
}
div.full-width div.items > div.item ul > li:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
div.full-width div.items > div.item a.linkinternal {
  background-color: transparent !important;
  border: none;
  border-radius: 0;
  padding: 0;
  border-bottom: 1px dotted;
}
div.full-width div.items.logos div.item {
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 1px 0 rgba(255, 255, 255, 0.8) inset;
  min-height: 140px;
  background-color: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(12px) saturate(1.4);
  backdrop-filter: blur(12px) saturate(1.4);
  transition: all 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div.full-width div.items.logos div.item:hover {
  background-color: rgba(255, 255, 255, 0.85);
  border-color: rgba(61, 90, 169, 0.25);
  box-shadow: 0 12px 32px rgba(61, 90, 169, 0.12), 0 0 0 1px rgba(61, 90, 169, 0.1);
  transform: translateY(-3px);
}
div.full-width div.items.logos div.item > a {
  display: block;
  height: 100%;
  line-height: 100%;
  display: flex;
  align-items: center;
}
div.full-width div.items.logos div.item > a > img {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
div.full-width div.items.solid > div.item {
  background-color: rgba(247, 248, 250, 0.7);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: all 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div.full-width div.items.solid > div.item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  background-color: rgba(255, 255, 255, 0.9);
  border-color: rgba(0, 0, 0, 0.1) !important;
}
@media screen and (max-width: 720px) {
  div.full-width div.items {
    display: block;
  }
  div.full-width div.items > div.item {
    max-width: unset;
  }
}
/*
======================================================
Carousel
======================================================
*/

.carousel {
  margin-bottom: 48px;
  /* Owl Carousel */

}
.carousel div.item {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 520px;
  position: relative;
  text-align: left;
}
.carousel div.item > h1 {
  color: white;
  margin: 0;
  padding: 32px 20px 0 32px;
  border: none;
  font-size: 34px;
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.75), 1px 1px 1px rgba(0, 0, 0, 0.75);
}
.carousel div.item > h2 {
  color: white;
  margin: 0;
  padding: 32px 20px 0 32px;
  border: none;
  font-size: 18px;
  line-height: 134%;
  max-width: 640px;
  text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.75), 1px 1px 2px rgba(0, 0, 0, 0.75);
}
.carousel div.item div.buttons {
  position: absolute;
  left: 32px;
  bottom: 24px;
}
.carousel div.item div.buttons > button {
  background-color: #f0f0f0;
  border: none;
  color: #606060;
  height: 40px;
  font-weight: bold;
  font-size: 14px;
  margin-right: 8px;
  margin-bottom: 8px;
  outline: none;
  padding: 12px 16px 12px 16px;
  box-shadow: -1px -1px 4px rgba(0, 0, 0, 0.5), 1px 1px 4px rgba(0, 0, 0, 0.5);
}
.carousel div.item div.buttons > button:hover,
.carousel div.item div.buttons > button:focus {
  background-color: #e3e3e3;
  border: none;
}
.carousel div.item div.buttons > button.green {
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.carousel div.item div.buttons > button.green:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(123, 150, 212, 0.55);
}
.carousel div.item img.mobile_demo {
  width: 186px;
  position: absolute;
  right: 40px;
  top: 40px;
}
.carousel > .owl-carousel .owl-nav {
  margin-top: 0;
}
.carousel > .owl-carousel .owl-nav > button.owl-prev,
.carousel > .owl-carousel .owl-nav > button.owl-next {
  font-size: 40px;
  min-width: 20px;
  height: auto;
  outline: none;
}
.carousel > .owl-carousel .owl-dots > button.owl-dot {
  min-width: 0;
  outline: none;
}
/*
======================================================
Site Administration
======================================================
*/

table.ISTableData {
  border: 1px solid var(--border-subtle);
  border-collapse: collapse;
  font-size: 13px;
  width: 100%;
  /* Heading Cells */

  /* Cells */

}
table.ISTableData tr > th,
table.ISTableData tr > th {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-bottom: 2px solid var(--border-subtle);
  border-top: none;
  font-weight: 600;
  padding: 10px 8px;
  text-align: left;
  white-space: nowrap;
  color: var(--text-secondary);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
table.ISTableData tr > td {
  border: 1px solid var(--border-subtle);
  padding: 8px;
}
table.ISTableData tr > td:first-child {
  border-left: none;
}
table.ISTableData tr > td:last-child {
  border-right: none;
}
table.ISTableData tr:hover > td {
  background-color: rgba(59, 130, 246, 0.03);
}
/*
======================================================
Glyphs
======================================================
*/

div.glyph {
  display: inline-block;
  font-size: 44px;
  margin: 0 0 8px 0;
  width: 64px;
  height: 64px;
  text-align: center;
  line-height: 64px;
}
div.glyph:before {
  font-family: isfa;
}
div.glyph.api:before {
  font-family: isfas;
  content: "\f085";
}
div.glyph.blog:before {
  content: "\f4ad";
}
div.glyph.box:before {
  font-family: isfas;
  content: "\f49e";
}
div.glyph.calculator:before {
  font-family: isfas;
  content: "\f1ec";
}
div.glyph.clients:before {
  font-family: isfas;
  content: "\f500";
}
div.glyph.clock:before {
  font-family: isfas;
  content: "\f017";
}
div.glyph.cloud:before {
  font-family: isfas;
  content: "\f0c2";
}
div.glyph.accounting:before {
  font-family: isfas;
  content: "\f51e";
}
div.glyph.security-enquiry:before {
  font-family: isfas;
  content: "\f1b9";
}
div.glyph.dashboard:before {
  font-family: isfas;
  content: "\f0ce";
}
div.glyph.database:before {
  font-family: isfas;
  content: "\f1c0";
}
div.glyph.credit-bureau:before {
  font-family: isfas;
  content: "\f2bb";
}
div.glyph.download:before {
  font-family: isfas;
  content: "\f56d";
}
div.glyph.external:before {
  font-family: isfas;
  content: "\f542";
}
div.glyph.history:before {
  font-family: isfas;
  content: "\f1da";
}
div.glyph.keyboard:before {
  font-family: isfas;
  content: "\f11c";
}
div.glyph.loan:before {
  font-family: isfas;
  content: "\f53a";
}
div.glyph.messaging:before {
  font-family: isfas;
  content: "\f3cd";
}
div.glyph.my:before {
  content: "\f2bd";
}
div.glyph.news:before {
  font-family: isfas;
  content: "\f15c";
}
div.glyph.portal:before {
  font-family: isfas;
  content: "\f0ac";
}
div.glyph.register:before {
  font-family: isfas;
  content: "\f5ac";
}
div.glyph.report:before {
  content: "\f15c";
}
div.glyph.report-script:before {
  content: "\f1c9";
}
div.glyph.script:before {
  font-family: isfas;
  content: "\f121";
}
div.glyph.star:before {
  font-family: isfas;
  content: "\f005";
}
div.glyph.statement:before {
  font-family: isfas;
  content: "\f15c";
}
div.glyph.security-enquiry:before {
  font-family: isfas;
  content: "\f1b9";
}
div.glyph.tsb:before {
  font-family: isfas;
  content: "\f552";
}
div.glyph.tsg:before {
  font-family: isfas;
  content: "\f0f9";
}
div.glyph.user:before {
  font-family: isfas;
  content: "\f007";
}
div.glyph.user-guide:before {
  font-family: isfas;
  content: "\f1cd";
}
div.glyph.workflow:before {
  font-family: isfas;
  content: "\f0e8";
}
/*
======================================================
Time Line
======================================================
*/

ul.timeline {
  list-style: none;
  margin: 20px 0 0 0 !important;
  padding: 0 !important;
  position: relative;
}
ul.timeline:before {
  content: "";
  display: block;
  width: 3px;
  height: auto;
  background-color: #d0d0d0;
  border-radius: 5px;
  position: absolute;
  top: 2px;
  bottom: 0;
  left: 21px;
}
ul.timeline > li {
  list-style: none;
  margin: 0 0 20px 0 !important;
  padding: 0;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  /* Current */

  /* Date */

  /* Info Box */

}
ul.timeline > li:before {
  content: "" !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul.timeline > li.current > span.date {
  background-color: #27ae60;
  border-color: #229954;
  border-radius: 8px;
  font-size: 13px;
}
ul.timeline > li > span.date {
  background-color: #3d5aa9;
  border: 2px solid #2f4684;
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  line-height: 40px;
  padding: 0;
  text-align: center;
  width: 44px;
}
ul.timeline > li > div.info {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: inline-block;
  font-size: 14px;
  margin-left: 8px;
  margin-top: 0px;
  min-width: 200px;
  max-width: 640px;
  width: 80%;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  white-space: normal;
  /* Heading */

  /* Content */

}
ul.timeline > li > div.info > h1 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  background-color: #2ea3f2;
  border-bottom: none;
  padding: 10px 14px;
  color: white !important;
  white-space: nowrap;
  border-radius: 6px 6px 0 0;
}
ul.timeline > li > div.info > div {
  padding: 12px 14px;
}
ul.timeline > li > div.info > div > p {
  line-height: 1.7;
  padding: 0;
  margin: 4px 0 8px 0;
  color: var(--text-secondary);
  font-size: 14px;
}
/*
======================================================
Homepage Panel Layouts
======================================================
*/

/* Introduction - legacy styles kept for non-homepage uses */

div#pnlHomeIntro div.left {
  text-align: left;
  max-width: 640px;
}
div#pnlHomeIntro div.logo {
  margin: 0 0 20px 0;
}
div#pnlHomeIntro div.logo img {
  max-width: 280px;
  width: 100%;
}
div#pnlHomeIntro div.buttons {
  position: relative;
  bottom: 0;
  margin: 24px 0 20px 0;
  text-align: left;
}
/* Flexible */

div#pnlHomeFlexible div.img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
/* Work */

div#pnlHomeWork div.img {
  background-image: url(../img/Home/use_anywhere.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-color: white;
  height: 320px;
  width: 100%;
  min-width: 280px;
  border-radius: 10px;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 16px;
}
/* Reporting */

/* Custom */

/* Customers */

div#pnlHomeCustomers div.buttons {
  text-align: center;
}
/* News */

div#pnlHomeNews div.items.item img {
  width: 64px;
  height: 64px;
}
div#pnlHomeNews div.buttons {
  text-align: center;
}
div#pnlHomeNews > .site-width > div > div.items > div.item {
  background-color: rgba(255, 255, 255, 0.05) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  transition: all 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div#pnlHomeNews > .site-width > div > div.items > div.item:hover {
  background-color: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(123, 150, 212, 0.35) !important;
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(123, 150, 212, 0.2);
}
div#pnlHomeNews > .site-width > div > div.items > div.item a {
  color: white !important;
}
div#pnlHomeNews > .site-width > div > div.items > div.item p {
  color: rgba(255, 255, 255, 0.78);
}
/*
======================================================
Products Panel Layouts
======================================================
*/

/* Introduction */

div#pnlProductsIntro div.left {
  text-align: left;
  max-width: 560px;
  min-height: 280px;
  position: relative;
  z-index: 1;
}
div#pnlProductsIntro div.screen {
  position: absolute;
  right: 10%;
  top: 32px;
  z-index: 0;
  background-image: url(../img/Products/demo1.gif);
  background-position: left 32px;
  background-repeat: no-repeat;
  animation: pop 0.3s;
  transition: all 0.2s;
}
div#pnlProductsIntro div.logo {
  margin: 0 0 16px 0;
}
div#pnlProductsIntro div.logo img {
  max-width: 280px;
  width: 100%;
}
div#pnlProductsIntro div.phone {
  position: absolute;
  right: 10%;
  bottom: -76px;
  margin-right: -80px;
  background-image: url(../img/Products/demo_phone.gif);
  background-position: 12px 36px;
  background-repeat: no-repeat;
  background-size: 156px auto;
  animation: pop 0.5s;
  transition: all 0.2s;
}
div#pnlProductsIntro div.phone img {
  -webkit-filter: drop-shadow(-2px -2px 1px rgba(0, 0, 0, 0.1));
}
@media screen and (max-width: 1320px) {
  div#pnlProductsIntro div.left {
    max-width: 480px;
  }
  div#pnlProductsIntro div.screen {
    right: -3%;
    transform: scale(0.78);
  }
  div#pnlProductsIntro div.phone {
    right: 6%;
    transform: scale(0.78);
  }
}
@media screen and (max-width: 1024px) {
  div#pnlProductsIntro div.screen {
    display: none;
  }
  div#pnlProductsIntro div.phone {
    right: 14%;
    transform: scale(1);
  }
}
@media screen and (max-width: 680px) {
  div#pnlProductsIntro div.phone {
    display: none;
  }
}
/* Licensing */

div#pnlProductsLicensing div.buttons {
  text-align: center;
}
/*
======================================================
News Panel Layouts
======================================================
*/

/* Introduction */

div#pnlNewsIntro div.left {
  width: 70%;
  min-width: 320px;
  text-align: left;
}
div#pnlNewsIntro div.right {
  float: right;
  text-align: right;
}
div#pnlNewsIntro div.right h2 {
  font-size: 18px;
  text-align: center;
}
div#pnlNewsIntro form {
  margin: 0 !important;
  font-size: 1.2em;
}
div#pnlNewsIntro input {
  font-size: 16px;
}
/* Latest */

div#pnlNewsLatest {
  text-align: center;
}
div#pnlNewsLatest div.date {
  color: var(--text-muted);
  font-size: 12px;
  margin: -8px 0 4px 0;
}
/*
======================================================
Support Panel Layouts
======================================================
*/

/* Introduction */

div#pnlSupportIntro div.left {
  float: left;
  width: 70%;
  min-width: 320px;
  text-align: left;
}
div#pnlSupportIntro div.right {
  float: right;
  text-align: right;
}
div#pnlSupportIntro div.right h2 {
  font-size: 18px;
  text-align: center;
}
div#pnlSupportIntro div.right table {
  border-collapse: collapse;
  position: relative;
  margin-left: auto;
}
div#pnlSupportIntro div.right table a {
  color: rgba(255, 255, 255, 0.9) !important;
  display: block;
  font-size: 13px;
  white-space: nowrap;
}
div#pnlSupportIntro div.right table th {
  display: none;
}
div#pnlSupportIntro div.right table td {
  font-size: 13px;
  padding: 8px;
  text-align: left;
}
div#pnlSupportIntro div.right table td:first-child {
  padding-right: 16px;
}
div#pnlSupportIntro div.right table tr {
  background-color: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
}
div#pnlSupportIntro div.right table tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.04);
}
div#pnlSupportIntro form {
  margin: 20px 0 20px 0 !important;
  font-size: 1.2em;
}
div#pnlSupportIntro input {
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  div#pnlSupportIntro div.left,
  div#pnlSupportIntro div.right {
    float: none;
    text-align: left;
    width: 100%;
  }
  div#pnlSupportIntro div.left h2,
  div#pnlSupportIntro div.right h2 {
    text-align: left;
  }
  div#pnlSupportIntro div.left table,
  div#pnlSupportIntro div.right table {
    margin-left: 0;
  }
}
/* Resources */

div#pnlSupportResources {
  text-align: center;
}
/*
======================================================
Resources Panel Layouts
======================================================
*/

/* Introduction */

div#pnlResourcesIntro div.left {
  text-align: left;
}
/* Resources */

div#pnlResourcesResources {
  text-align: center;
}
/*
======================================================
Guides Panel Layouts
======================================================
*/

/* Guides */

div#pnlGuidesGuides div.items > div.item {
  padding-bottom: 56px !important;
  text-align: center;
}
div#pnlGuidesGuides div.items > div.item a.linkinternal {
  display: block;
  border-bottom: none !important;
  line-height: 135%;
}
div#pnlGuidesGuides div.items > div.item .showall {
  position: absolute;
  padding: 8px;
  bottom: 0;
  display: block;
  left: 0px;
  width: 100%;
}
div#pnlGuidesGuides div.items > div.item .showall > a {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div#pnlGuidesGuides div.items > div.item .showall > a:before {
  font-family: isfas;
  font-size: 14px;
  content: "\f03a";
  margin-right: 6px;
  color: #3d5aa9;
}
div#pnlGuidesGuides div.items > div.item .showall > a:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
}
div#pnlGuidesGuides div.items > div.item .showall > a:hover:before {
  color: white;
}
/*
======================================================
My Intersoft Panel Layouts
======================================================
*/

/* My Intersoft hero - boost text contrast over the gradient */

div#pnlMyIntro {
  text-align: left;
}
div#pnlMyIntro > .site-width {
  max-width: 760px;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 32px 40px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  margin: 0 auto !important;
}
@media screen and (max-width: 640px) {
  div#pnlMyIntro > .site-width {
    padding: 24px 20px !important;
    border-radius: 12px;
  }
}
div#pnlMyIntro h1 {
  font-size: 36px !important;
  text-align: left;
  margin: 0 0 16px 0 !important;
}
div#pnlMyIntro p {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 10px;
}
div#pnlMyIntro p b {
  color: white;
  font-weight: 700;
}
div#pnlMyIntro table#subscriptions {
  margin: 12px 0;
  color: rgba(255, 255, 255, 0.95);
}
div#pnlMyIntro table#subscriptions td {
  padding: 4px 6px;
  color: rgba(255, 255, 255, 0.92);
}
div#pnlMyIntro table#subscriptions img {
  filter: brightness(1.2);
}
div#pnlMyIntro div.buttons {
  margin-top: 16px;
  text-align: left;
}
/*
======================================================
About Panel Layouts
======================================================
*/

/* About Page Tabs */

.about-tabs {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}
.about-tab {
  background-color: var(--bg-base) !important;
  border: 1px solid var(--border-subtle) !important;
  border-bottom: none !important;
  border-radius: 6px 6px 0 0 !important;
  color: var(--text-muted) !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 14px 24px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.about-tab .tab-icon {
  font-size: 18px;
  height: 22px;
  width: 22px;
  margin: 0;
  line-height: 22px;
}
.about-tab:hover {
  background-color: white !important;
  color: var(--text-primary) !important;
  transform: none;
  box-shadow: none;
}
.about-tab.active {
  background-color: white !important;
  color: #2ea3f2 !important;
  border-color: var(--border-subtle) !important;
  box-shadow: none;
  transform: none;
  position: relative;
  /* Cover the panel top border */

}
.about-tab.active:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: white;
}
.about-tab.active .tab-icon {
  color: #2ea3f2;
}
@media screen and (max-width: 640px) {
  .about-tab {
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  .about-tab .tab-icon {
    display: none;
  }
}
.about-tab-panels {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  position: relative;
  min-height: 200px;
}
.about-panel {
  display: none;
  padding: 24px 32px;
  animation: tabFadeIn 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  /* Tighten the intro paragraph above the team layout */

  /* Tables inside any panel (e.g. partner gallery rendered as a table grid) */

}
.about-panel.active {
  display: block;
}
.about-panel > .outline1 > p:first-child,
.about-panel > .staff-intro {
  margin: 0 0 14px 0;
  color: var(--text-secondary);
}
.about-panel table {
  border-spacing: 16px;
  margin: 0 auto;
}
.about-panel table td {
  padding: 8px !important;
  font-size: 14px;
  vertical-align: top;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .about-panel {
    padding: 16px;
  }
}
@keyframes tabFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Staff / Partners — flat team-section layout (no accordion).
   The CMS topics AboutUs.Staff and AboutUs.StrategicPartners are rendered as outline2/outline3 wrappers; the JS in About\Default.aspx transforms that markup into the .staff-team structure below. Staff renders the inner content as a grid of .staff-role-card; Partners keeps its logo gallery markup inside .staff-team-body. */

.about-panel .staff-team {
  margin-top: 40px;
}
.about-panel .staff-team:first-of-type {
  margin-top: 0;
}
.about-panel .staff-team-header {
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-subtle);
}
.about-panel .staff-team-header h2 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
.about-panel .staff-team-body > p:first-child {
  margin-top: 0;
}
.about-panel .staff-roles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.about-panel .staff-role-card {
  background: white;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 16px 18px 14px;
  transition: border-color 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
  position: relative;
  /* Solo role variant — one person, rendered more like a leader card */

}
.about-panel .staff-role-card:hover {
  border-color: rgba(61, 90, 169, 0.25);
  box-shadow: 0 4px 14px -8px rgba(61, 90, 169, 0.3);
  transform: translateY(-1px);
}
.about-panel .staff-role-card .role-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #3d5aa9;
  margin: 0 0 10px;
}
.about-panel .staff-role-card .role-people {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  /* Team Leader: a '-TL-' marker on the source name flags this person as the team leader. The renderer strips the token, adds .team-leader to the li, and appends a small badge. Styling is intentionally understated — a slightly heavier name plus a Connect-Blue pill — so the leader stands out at a glance without dominating the card. */

}
.about-panel .staff-role-card .role-people > li {
  padding: 5px 0;
  font-size: 14px;
  color: var(--text-primary);
  border-top: 1px solid #f0f0f3;
  margin-left: 0 !important;
}
.about-panel .staff-role-card .role-people > li:first-child {
  border-top: none;
  padding-top: 2px;
}
.about-panel .staff-role-card .role-people > li:before {
  display: none !important;
}
.about-panel .staff-role-card .role-people .quals {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 500;
  margin-left: 6px;
}
.about-panel .staff-role-card .role-people > li.team-leader {
  font-weight: 600;
  color: #3d5aa9;
}
.about-panel .staff-role-card .role-people .leader-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: white;
  background: #3d5aa9;
  padding: 2px 7px;
  border-radius: 10px;
  margin-left: 8px;
  vertical-align: middle;
  line-height: 1.4;
}
.about-panel .staff-role-card.solo .role-people > li {
  font-size: 15px;
  font-weight: 600;
  padding: 0;
}
.about-panel .staff-role-card.solo .role-people .quals {
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .about-panel .staff-roles {
    grid-template-columns: 1fr;
  }
  .about-panel .staff-team-header h2 {
    font-size: 18px;
  }
}
/* Visual Timeline */

.vtimeline {
  position: relative;
  padding: 0;
  /* Vertical line */

}
.vtimeline:before {
  content: '';
  position: absolute;
  left: 60px;
  top: 0;
  bottom: 0;
  width: 2px;
  background-color: var(--border-subtle);
}
@media screen and (max-width: 640px) {
  .vtimeline:before {
    left: 24px;
  }
}
.vtimeline-item {
  position: relative;
  padding: 0 0 32px 90px;
  display: flex;
  flex-direction: column;
}
.vtimeline-item:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 640px) {
  .vtimeline-item {
    padding-left: 52px;
  }
}
.vtimeline-marker {
  position: absolute;
  left: 53px;
  top: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: white;
  border: 3px solid var(--border-subtle);
  z-index: 1;
  transition: all 0.3s ease;
}
.vtimeline-item:hover .vtimeline-marker {
  border-color: #2ea3f2;
  transform: scale(1.2);
}
.vtimeline-item.current .vtimeline-marker {
  background-color: #2ea3f2;
  border-color: #2ea3f2;
  box-shadow: 0 0 0 4px rgba(61, 90, 169, 0.2);
}
@media screen and (max-width: 640px) {
  .vtimeline-marker {
    left: 17px;
  }
}
.vtimeline-date {
  position: absolute;
  left: 0;
  top: 2px;
  width: 48px;
  text-align: right;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}
.vtimeline-item.current .vtimeline-date {
  color: #2ea3f2;
}
@media screen and (max-width: 640px) {
  .vtimeline-date {
    position: relative;
    left: auto;
    width: auto;
    text-align: left;
    margin-bottom: 4px;
  }
}
.vtimeline-content {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  padding: 16px 20px;
  transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.vtimeline-item:hover .vtimeline-content {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border-color: rgba(46, 163, 242, 0.2);
}
.vtimeline-item.current .vtimeline-content {
  border-left: 3px solid #2ea3f2;
}
.vtimeline-content h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  cursor: default !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}
.vtimeline-content h3:after {
  display: none !important;
}
.vtimeline-content p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin: 0 0 8px 0;
}
.vtimeline-content p:last-child {
  margin-bottom: 0;
}
.vtimeline-content a {
  color: #3d5aa9;
}
/* Condensed History List (kept for other uses) */

ul.history-list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
ul.history-list > li {
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-secondary);
  position: relative;
  /* Expand arrow */

  cursor: pointer;
}
ul.history-list > li:last-child {
  border-bottom: none;
}
ul.history-list > li:before {
  display: none !important;
}
ul.history-list > li > span {
  display: inline-block;
  background-color: #12121c;
  color: white;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 8px;
  min-width: 36px;
  text-align: center;
  letter-spacing: 0.02em;
}
ul.history-list > li > strong {
  color: var(--text-primary);
  cursor: pointer;
}
ul.history-list > li:after {
  content: "\f078";
  font-family: isfas;
  font-size: 10px;
  color: var(--text-muted);
  float: right;
  margin-top: 3px;
  transition: transform 0.2s ease;
}
ul.history-list > li.open:after {
  transform: rotate(180deg);
}
ul.history-list > li.current > span {
  background-color: #2ea3f2;
}
ul.history-list > li:hover {
  background-color: rgba(0, 0, 0, 0.02);
}
.history-detail {
  display: none;
  margin-top: 8px;
  padding: 12px 14px;
  background-color: var(--bg-base);
  border-radius: 4px;
  border-left: 3px solid #2ea3f2;
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-secondary);
  animation: tabFadeIn 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.history-detail a {
  color: #3d5aa9;
}
li.open > .history-detail {
  display: block;
}
/* Legacy selectors kept for code-behind compatibility */

div#pnlAboutHistory {
  text-align: center;
  margin-bottom: 0;
}
div#pnlAboutStaff {
  text-align: center;
  margin-bottom: 0;
}
div#pnlAboutDirectors {
  text-align: center;
  margin-bottom: 0;
}
div#pnlAboutPartners {
  text-align: center;
}
div#pnlAboutPartners h2 {
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  margin: 20px 0 -12px 0;
  padding: 4px 0 4px 0;
  border-bottom: 3px solid #3d5aa9;
}
div#pnlAboutPartners table {
  border-spacing: 32px;
  padding-top: 4px !important;
}
div#pnlAboutPartners table td {
  padding: 8px 12px 8px 12px !important;
}
@media screen and (max-width: 800px) {
  div#pnlAboutPartners td {
    display: block;
  }
}
/* Miscellaneous */

div.tick {
  color: #27ae60;
  display: inline-block;
}
div.tick:before {
  content: "\f00c";
  font-family: isfas;
}
div.cross {
  color: #e3222f;
  display: inline-block;
}
div.cross:before {
  content: "X";
  font-weight: bold;
}
div.emergency-message {
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  background-color: #dc2626;
  color: white;
  font-size: 14px;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding: 4px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
div.emergency-message a {
  color: white;
  background-color: rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  display: inline-block;
  padding: 4px 8px;
  transition: background-color 0.15s ease;
}
div.emergency-message a:hover {
  background-color: rgba(0, 0, 0, 0.25);
}
div.emergency-message > h5 {
  margin: 8px 0 8px 0;
  color: white !important;
  font-size: 22px;
  text-decoration: none !important;
}
/*
======================================================
Hero Gradient (Homepage)
======================================================
*/

/* Homepage hero: taller to accommodate the constellation graphic */

div.full-width.hero-gradient#pnlHomeIntro {
  padding: 100px 4px 80px 4px;
  min-height: 600px;
}
div.full-width.hero-gradient {
  background: linear-gradient(135deg, #1e2547 0%, #1f2d5c 50%, #1f2d5c 100%);
  overflow: hidden;
  isolation: isolate;
  position: relative;
  padding: 64px 4px 56px 4px;
  /* Subtle grid line overlay. Opacity bumped from 0.04 to 0.10 so the cross-hatch pattern survives the panel's backdrop-filter blur — at 0.04, heavy blur smears the lines into nothing and the panel reads as a flat block. */

  /* Cursor glow */

  /* Aurora orbs - blurred floating glows */

  /* Animated colour blooms positioned behind .hero-content. These exist purely so the panel's backdrop-filter has visible colour to blur — without them, a smooth gradient blurred is indistinguishable from a flat tint. Both orbs drift slowly so the glass "shimmers" as colour moves underneath. */

  /* Dot field overlay at bottom */

  color: white;
  padding: 80px 4px 60px 4px;
  text-align: center;
  /* Inline links inside hero subtitle paragraphs should read as ordinary inline links, not chips. The .topic a.linkinternal rule (in topic.less) wraps every linkinternal in an inline-block pill with padding and a border, which breaks reading flow when used mid-sentence. Reset that styling specifically for paragraph-internal links so 'finPOWER Connect' inside 'finPOWER Connect, our flagship loan and deposit management system, ...' reads as a normal underlined link. */

  /* Split-layout hero */

  /* Hero constellation visual (right column of split hero) */

  /* Drawing-in lines */

  /* Pulsing nodes */

  /* Halos breathe slowly */

  /* Centre badge - sits on top of the SVG hub node */

  /* 13 capability chips evenly spaced (28deg apart) around the constellation.
     Each chip is centred via translate(-50%,-50%) at radius 50% of constellation.
     The bob animation preserves the centring transform. */

  /* Even-angle positions. left% = 50 + 50*sin(theta);  top% = 50 - 50*cos(theta) */

  /* Featured chip (Portals) - blue tint and stronger shadow */

  /* Trust signal row beneath CTAs */

  /* Floating stat chip cards. Hidden below 1100px (the original threshold). Natalie's concern about chips overlapping the centred panel at mid-range viewports (~1200px) is addressed via accessibility mode (which hides chips entirely) — not by raising this threshold for everyone. */

}
div.full-width.hero-gradient > .grid-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
}
div.full-width.hero-gradient > .cursor-glow {
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(61, 90, 169, 0.18) 0%, transparent 60%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
  opacity: 0;
  will-change: left, top;
}
div.full-width.hero-gradient:hover > .cursor-glow {
  opacity: 1;
}
div.full-width.hero-gradient:before,
div.full-width.hero-gradient:after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.5;
  z-index: -1;
  pointer-events: none;
}
div.full-width.hero-gradient:before {
  width: 480px;
  height: 480px;
  background: radial-gradient(circle, #3d5aa9 0%, transparent 70%);
  top: -120px;
  left: -120px;
  animation: orbFloat 1 18s ease-in-out infinite;
}
div.full-width.hero-gradient:after {
  width: 560px;
  height: 560px;
  background: radial-gradient(circle, #e97c73 0%, transparent 70%);
  bottom: -180px;
  right: -180px;
  opacity: 0.3;
  animation: orbFloat 2 22s ease-in-out infinite;
}
div.full-width.hero-gradient > .hero-bloom {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
div.full-width.hero-gradient > .hero-bloom .bloom-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  will-change: transform;
}
div.full-width.hero-gradient > .hero-bloom .bloom-orb--blue {
  width: 560px;
  height: 560px;
  left: 22%;
  top: 38%;
  background: radial-gradient(circle, #3d5aa9 0%, transparent 70%);
  opacity: 0.6;
  animation: bloomDrift 1 26s ease-in-out infinite;
}
div.full-width.hero-gradient > .hero-bloom .bloom-orb--coral {
  width: 440px;
  height: 440px;
  left: 38%;
  top: 70%;
  background: radial-gradient(circle, #e97c73 0%, transparent 70%);
  opacity: 0.35;
  animation: bloomDrift 2 34s ease-in-out infinite;
}
div.full-width.hero-gradient > .site-width {
  position: relative;
  z-index: 1;
}
div.full-width.hero-gradient h1,
div.full-width.hero-gradient h2,
div.full-width.hero-gradient h3,
div.full-width.hero-gradient a > p {
  color: white !important;
  text-decoration: none;
}
div.full-width.hero-gradient a.linkinternal {
  background-color: rgba(255, 255, 255, 0.12);
  color: white !important;
  border-color: rgba(255, 255, 255, 0.2);
}
div.full-width.hero-gradient .hero-subtitle a.linkinternal {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: inline !important;
  text-decoration: underline !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-weight: 600;
}
div.full-width.hero-gradient .hero-subtitle a.linkinternal:hover {
  color: white !important;
  text-decoration: underline !important;
}
div.full-width.hero-gradient .hero-content {
  max-width: 720px;
  margin: 0 auto;
  /* Glassmorphic panel so text remains legible over the animated gradient behind. The .hero-bloom child (injected by general.js) provides animated colour orbs positioned behind this panel — that's what the backdrop-filter is blurring, which is what makes the glass effect READ as glass. Blur is 14px (not stronger) so the grid lines, dot field and bloom orbs behind the panel remain visibly recognisable through the glass rather than smeared into uniform colour. */
  background: rgba(255, 255, 255, 0.04);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 40px 44px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
@media screen and (max-width: 640px) {
  div.full-width.hero-gradient .hero-content {
    padding: 28px 22px;
    border-radius: 10px;
  }
}
@media screen and (max-width: 480px) {
  div.full-width.hero-gradient .hero-content {
    padding: 20px 16px;
    /* on very narrow phones (<=480px) reclaim ~12px each side so headlines don't wrap into single-word lines */
    border-radius: 6px;
  }
}
div.full-width.hero-gradient .hero-split {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 100px;
  align-items: center;
}
@media screen and (max-width: 1280px) {
  div.full-width.hero-gradient .hero-split {
    gap: 72px;
  }
}
@media screen and (max-width: 1024px) {
  div.full-width.hero-gradient .hero-split {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
div.full-width.hero-gradient .hero-content--left {
  text-align: left;
  max-width: 620px;
  margin: 0;
}
div.full-width.hero-gradient .hero-content--left h1 {
  text-align: left;
}
div.full-width.hero-gradient .hero-content--left .hero-subtitle {
  margin: 0 0 24px 0;
  max-width: 540px;
}
div.full-width.hero-gradient .hero-content--left .hero-buttons {
  text-align: left !important;
}
div.full-width.hero-gradient .hero-content--left .hero-trust-row {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  justify-content: flex-start;
}
@media screen and (max-width: 1024px) {
  div.full-width.hero-gradient .hero-content--left {
    text-align: center;
    margin: 0 auto;
  }
  div.full-width.hero-gradient .hero-content--left h1 {
    text-align: center;
  }
  div.full-width.hero-gradient .hero-content--left .hero-subtitle {
    margin-left: auto;
    margin-right: auto;
  }
  div.full-width.hero-gradient .hero-content--left .hero-buttons {
    text-align: center !important;
  }
  div.full-width.hero-gradient .hero-content--left .hero-trust-row {
    justify-content: center;
  }
}
@media screen and (max-width: 1024px) {
  div.full-width.hero-gradient .hero-content--right {
    display: none;
  }
}
div.full-width.hero-gradient .hero-badge {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 16px;
  margin-bottom: 20px;
  letter-spacing: 0.02em;
}
div.full-width.hero-gradient h1 {
  font-size: 56px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin-bottom: 18px;
}
div.full-width.hero-gradient h1 .gradient-text {
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 50%, #e97c73 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
  line-height: 1.18;
  padding-bottom: 0.08em;
}
@media screen and (max-width: 900px) {
  div.full-width.hero-gradient h1 {
    font-size: 48px;
  }
}
@media screen and (max-width: 640px) {
  div.full-width.hero-gradient h1 {
    font-size: 36px;
  }
}
div.full-width.hero-gradient .logo {
  margin: 0 0 20px 0;
}
div.full-width.hero-gradient .logo img {
  max-width: 260px;
  width: 100%;
  background-color: white;
  border-radius: 6px;
  padding: 10px 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
div.full-width.hero-gradient .hero-subtitle {
  font-size: 17px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  max-width: 560px;
  margin: 0 auto 24px auto;
}
@media screen and (max-width: 720px) {
  div.full-width.hero-gradient .hero-subtitle {
    font-size: 15px;
    line-height: 1.6;
  }
}
div.full-width.hero-gradient .hero-buttons {
  text-align: center !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  /* gap replaces the old `margin: 4px 6px !important` so wrapped rows have proper vertical spacing on mobile */

}
div.full-width.hero-gradient .hero-buttons button {
  margin: 0 !important;
}
div.full-width.hero-gradient .hero-constellation {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 600px;
  margin: 0 auto;
  /* Hide on small phones — the constellation is a 600×600 block that sits below the hero text panel when the split collapses to single column, pushing the real content far below the fold. */

}
@media screen and (max-width: 640px) {
  div.full-width.hero-gradient .hero-constellation {
    display: none;
  }
}
div.full-width.hero-gradient .constellation-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}
div.full-width.hero-gradient .con-link {
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  animation: drawLine 6s ease-in-out infinite;
  animation-delay: var(--d, 0s);
}
div.full-width.hero-gradient .con-link--secondary {
  stroke: rgba(123, 150, 212, 0.25);
  stroke-width: 1;
}
@keyframes drawLine {
  0% {
    stroke-dashoffset: 400;
    opacity: 0;
  }
  20% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: -400;
    opacity: 0;
  }
}
div.full-width.hero-gradient .con-node {
  transform-origin: center;
  transform-box: fill-box;
  animation: nodePulse 3s ease-in-out infinite;
  animation-delay: var(--n, 0s);
  filter: drop-shadow(0 0 6px rgba(123, 150, 212, 0.6));
}
div.full-width.hero-gradient .con-node--hub {
  animation: hubPulse 4s ease-in-out infinite;
  filter: drop-shadow(0 0 14px rgba(123, 150, 212, 0.9));
}
div.full-width.hero-gradient .con-node--featured {
  animation-duration: 2.4s;
  filter: drop-shadow(0 0 10px rgba(123, 150, 212, 0.95));
}
@keyframes nodePulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.85;
  }
  50% {
    transform: scale(1.4);
    opacity: 1;
  }
}
@keyframes hubPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
}
div.full-width.hero-gradient .con-halos circle {
  animation: haloBreathe 5s ease-in-out infinite;
  transform-origin: center;
  transform-box: fill-box;
}
div.full-width.hero-gradient .con-halos circle:nth-child(1) {
  animation-delay: 0s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(2) {
  animation-delay: 0.5s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(3) {
  animation-delay: 1s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(4) {
  animation-delay: 1.5s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(5) {
  animation-delay: 2s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(6) {
  animation-delay: 2.5s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(7) {
  animation-delay: 3s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(8) {
  animation-delay: 3.5s;
}
div.full-width.hero-gradient .con-halos circle:nth-child(9) {
  animation-delay: 4s;
}
@keyframes haloBreathe {
  0%, 100% {
    opacity: 0.5;
    transform: scale(0.85);
  }
  50% {
    opacity: 0.9;
    transform: scale(1.05);
  }
}
div.full-width.hero-gradient .con-center-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  backdrop-filter: blur(20px) saturate(1.2);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 16px;
  padding: 20px 26px 16px 26px;
  text-align: center;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(123, 150, 212, 0.25) inset;
  z-index: 2;
  animation: centerFloat 6s ease-in-out infinite;
}
div.full-width.hero-gradient .con-center-badge .con-center-ai-tag {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #3d5aa9 0%, #e97c73 100%);
  color: white;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 3px 10px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.4);
  white-space: nowrap;
}
div.full-width.hero-gradient .con-center-badge .con-center-logo {
  display: block;
  width: 180px;
  height: auto;
  margin: 2px auto 6px;
}
div.full-width.hero-gradient .con-center-badge .con-center-sublabel {
  display: block;
  font-size: 12.5px;
  color: rgba(20, 30, 60, 0.6);
  margin-top: 2px;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@keyframes centerFloat {
  0%, 100% {
    transform: translate(-50%, -50%) translateY(0);
  }
  50% {
    transform: translate(-50%, -50%) translateY(-4px);
  }
}
div.full-width.hero-gradient .con-chip {
  position: absolute;
  background: rgba(255, 255, 255, 0.07);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  padding: 6px 13px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  z-index: 3;
  transform: translate(-50%, -50%);
  animation: chipBob 8s ease-in-out infinite;
  transform-origin: center;
}
div.full-width.hero-gradient .con-chip--p0 {
  top: 0%;
  left: 50%;
  animation-delay: 0s;
}
div.full-width.hero-gradient .con-chip--p1 {
  top: 9.3%;
  left: 71.4%;
  animation-delay: 0.3s;
}
div.full-width.hero-gradient .con-chip--p2 {
  top: 23.9%;
  left: 87.9%;
  animation-delay: 0.6s;
}
div.full-width.hero-gradient .con-chip--p3 {
  top: 44.5%;
  left: 95.7%;
  animation-delay: 0.9s;
}
div.full-width.hero-gradient .con-chip--p4 {
  top: 66.3%;
  left: 92.9%;
  animation-delay: 1.2s;
}
div.full-width.hero-gradient .con-chip--p5 {
  top: 84.5%;
  left: 80.5%;
  animation-delay: 1.5s;
}
div.full-width.hero-gradient .con-chip--p6 {
  top: 94.7%;
  left: 60.9%;
  animation-delay: 1.8s;
}
div.full-width.hero-gradient .con-chip--p7 {
  top: 94.7%;
  left: 39.1%;
  animation-delay: 2.1s;
}
div.full-width.hero-gradient .con-chip--p8 {
  top: 84.5%;
  left: 19.5%;
  animation-delay: 2.4s;
}
div.full-width.hero-gradient .con-chip--p9 {
  top: 66.3%;
  left: 7.1%;
  animation-delay: 2.7s;
}
div.full-width.hero-gradient .con-chip--p10 {
  top: 44.5%;
  left: 4.3%;
  animation-delay: 3.0s;
}
div.full-width.hero-gradient .con-chip--p11 {
  top: 23.9%;
  left: 12.1%;
  animation-delay: 3.3s;
}
div.full-width.hero-gradient .con-chip--p12 {
  top: 9.3%;
  left: 28.6%;
  animation-delay: 3.6s;
}
div.full-width.hero-gradient .con-chip--featured {
  background: rgba(123, 150, 212, 0.22);
  border-color: rgba(123, 150, 212, 0.5);
  box-shadow: 0 4px 14px rgba(123, 150, 212, 0.3);
  color: white;
}
@keyframes chipBob {
  0%, 100% {
    transform: translate(-50%, -50%);
  }
  50% {
    transform: translate(-50%, calc(-56%));
  }
}
div.full-width.hero-gradient .hero-trust-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
div.full-width.hero-gradient .trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
}
div.full-width.hero-gradient .trust-item .trust-icon {
  font-size: 14px;
  color: #7b96d4;
}
div.full-width.hero-gradient .hero-floating-stats {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
@media screen and (max-width: 1100px) {
  div.full-width.hero-gradient .hero-floating-stats {
    display: none;
  }
}
div.full-width.hero-gradient .floating-chip {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 14px 18px;
  color: white;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.3;
}
div.full-width.hero-gradient .floating-chip .chip-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: isfas;
  font-size: 16px;
  flex-shrink: 0;
}
div.full-width.hero-gradient .floating-chip .chip-label {
  display: block;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}
div.full-width.hero-gradient .floating-chip .chip-value {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: white;
  margin-top: 2px;
}
div.full-width.hero-gradient .floating-chip.chip-1 {
  top: 18%;
  left: 6%;
  animation: chipFloat 6s ease-in-out infinite;
}
div.full-width.hero-gradient .floating-chip.chip-2 {
  top: 28%;
  right: 6%;
  animation: chipFloat 7s ease-in-out infinite 0.8s;
}
div.full-width.hero-gradient .floating-chip.chip-3 {
  bottom: 26%;
  left: 9%;
  animation: chipFloat 8s ease-in-out infinite 1.6s;
}
div.full-width.hero-gradient .floating-chip.chip-4 {
  bottom: 30%;
  right: 9%;
  animation: chipFloat 9s ease-in-out infinite 2.4s;
}
@keyframes chipFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}
/*
======================================================
Pixel / Dot Field Effect (LoanPro-style)
======================================================
*/

.dot-field {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  /* Height bumped from 240px to 420px so the dot field reaches up far enough to sit behind the bottom portion of the .hero-content frosted panel — the panel's backdrop-filter blurs the dots into visible soft specks of light, contributing to the "real glass" effect. */
  height: 420px;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
  -webkit-mask-image: linear-gradient(to top, black 0%, black 30%, transparent 100%);
  mask-image: linear-gradient(to top, black 0%, black 30%, transparent 100%);
}
.dot-field:before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.4) 1px, transparent 1.5px);
  background-size: 14px 14px;
  background-position: 0 0;
  animation: dotDrift 60s linear infinite;
}
.dot-field:after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at center, rgba(120, 208, 248, 0.35) 1.5px, transparent 2px);
  background-size: 28px 28px;
  background-position: 7px 7px;
  animation: dotDrift 90s linear infinite reverse;
}
div.full-width.hero-gradient .dot-field,
div.full-width.cta-section .dot-field {
  display: block;
}
/*
======================================================
Neural Mesh (animated particle network)
======================================================
Canvas injected by `initNeuralMesh()` in Scripts/general.js as the ambient background of the hero, CTA, and Latest News sections. Replaces the previous `.dot-field` / `.grid-overlay` patterns on those sections with the connected-node pattern that runs as a static print in our email signature banner (Graphics/Intersoft/Email Signature/SignatureBanner.png).

Pinned to z-index 0 so the existing hero-bloom orbs, cursor glow, frosted panel and section content all paint above it. The injected element is positioned via JS `container.insertBefore(canvas, container.firstChild)`, but we still rely on this CSS for the geometry and stacking. */

.neural-mesh {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  opacity: 0.55;
}
/* The three sections that host a neural-mesh need to establish a stacking context and lift their primary content above the mesh layer. .hero-gradient and .cta-section are already position:relative through the dot-field / hero-bloom rules above; #pnlHomeNews historically wasn't, so include it explicitly. */

#pnlHomeNews {
  position: relative;
}
.hero-gradient > .site-width,
.cta-section > .site-width,
#pnlHomeNews > .site-width {
  position: relative;
  z-index: 2;
}
@keyframes dotDrift {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 280px 280px;
  }
}
@keyframes orbFloat1 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(80px, 60px) scale(1.1);
  }
  66% {
    transform: translate(40px, 120px) scale(0.95);
  }
}
@keyframes orbFloat2 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(-60px, -40px) scale(1.05);
  }
  66% {
    transform: translate(-100px, 60px) scale(1.15);
  }
}
@keyframes bloomDrift1 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(70px, -40px) scale(1.08);
  }
  66% {
    transform: translate(-50px, 60px) scale(0.95);
  }
}
@keyframes bloomDrift2 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(-80px, -50px) scale(1.06);
  }
  66% {
    transform: translate(60px, 40px) scale(1.12);
  }
}
@keyframes auroraPulse {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.7;
  }
}
/*
======================================================
Scroll Progress Bar
======================================================
*/

#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, #3d5aa9 0%, #7b96d4 50%, #e97c73 100%);
  z-index: 99999;
  transition: width 0.1s ease-out;
  box-shadow: 0 0 8px rgba(61, 90, 169, 0.6);
}
/*
======================================================
Magnetic Button Hover
======================================================
*/

.hero-buttons button,
.cta-section button {
  will-change: transform;
}
/*
======================================================
Stats Bar
======================================================
*/

div.full-width.stats-bar {
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  backdrop-filter: blur(20px) saturate(1.6);
  border-top: 1px solid rgba(255, 255, 255, 0.7);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset, 0 4px 24px rgba(0, 0, 0, 0.04);
  padding: 0 4px !important;
  margin-top: -1px;
}
div.full-width.stats-bar .stat-items {
  display: flex;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
div.full-width.stats-bar .stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 40px;
  border-right: 1px solid var(--border-subtle);
  transition: background-color 0.3s ease;
}
div.full-width.stats-bar .stat-item:hover {
  background-color: rgba(61, 90, 169, 0.05);
}
div.full-width.stats-bar .stat-item:last-child {
  border-right: none;
}
div.full-width.stats-bar .stat-item .stat-number {
  font-size: 30px;
  font-weight: 700;
  color: #3d5aa9;
  letter-spacing: -0.02em;
}
div.full-width.stats-bar .stat-item .stat-label {
  font-size: 13px;
  color: var(--text-muted);
  font-weight: 500;
  margin-top: 2px;
}
@media screen and (max-width: 720px) {
  div.full-width.stats-bar .stat-item {
    padding: 20px 24px;
    border-right: none;
    width: 50%;
    border-bottom: 1px solid var(--border-subtle);
  }
}
/*
======================================================
Section Labels
======================================================
*/

span.section-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #3d5aa9;
  margin-bottom: 8px;
}
span.section-label.light {
  color: #7b96d4;
}
/*
======================================================
Feature Split Layout
======================================================
*/

.feature-split {
  display: flex;
  align-items: center;
  gap: 60px;
  text-align: left;
}
.feature-split .feature-text {
  flex: 1;
  min-width: 280px;
}
.feature-split .feature-visual {
  flex: 1;
  min-width: 280px;
}
.feature-split.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 840px) {
  .feature-split {
    flex-direction: column !important;
    gap: 24px;
    text-align: center;
  }
}
.feature-cards-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;
  gap: 12px;
  /* Bento: make first card span 2 columns for asymmetry */

  /* Last item spans full width for bento balance */

}
.feature-cards-stack > .mini-feature:first-child {
  grid-column: span 2;
  padding: 28px 20px;
}
.feature-cards-stack > .mini-feature:first-child .glyph {
  font-size: 36px;
  height: 44px;
  width: 44px;
}
.feature-cards-stack > .mini-feature:first-child span {
  font-size: 15px;
}
.feature-cards-stack .mini-feature {
  background-color: var(--glass-bg-light);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid var(--glass-border-light);
  border-radius: 6px;
  padding: 20px 12px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: all 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.feature-cards-stack .mini-feature .glyph {
  font-size: 28px;
  height: 36px;
  width: 36px;
  margin: 0 auto 8px auto;
  color: #3d5aa9;
}
.feature-cards-stack .mini-feature span {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}
.feature-cards-stack .mini-feature:hover {
  box-shadow: 0 12px 32px rgba(61, 90, 169, 0.15);
  transform: translateY(-4px) scale(1.02);
  border-color: #3d5aa9;
  background-color: white;
}
.feature-cards-stack > .mini-feature:last-child:nth-child(even) {
  grid-column: span 2;
}
@media screen and (max-width: 480px) {
  .feature-cards-stack {
    grid-template-columns: 1fr;
  }
  .feature-cards-stack > .mini-feature:first-child,
  .feature-cards-stack > .mini-feature:last-child:nth-child(even) {
    grid-column: span 1;
  }
}
/*
======================================================
CTA Section
======================================================
*/

div.full-width.cta-section {
  background: linear-gradient(135deg, #1e2547 0%, #1f2d5c 100%);
  overflow: hidden;
  isolation: isolate;
  position: relative;
  color: white;
  text-align: center;
  padding: 60px 4px;
}
div.full-width.cta-section > .site-width {
  position: relative;
  z-index: 2;
}
div.full-width.cta-section > .site-width > div,
div.full-width.cta-section > .site-width {
  background: rgba(255, 255, 255, 0.04);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  backdrop-filter: blur(14px) saturate(1.3);
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  padding: 48px 40px !important;
  max-width: 900px;
  margin: 0 auto !important;
}
@media screen and (max-width: 720px) {
  div.full-width.cta-section > .site-width > div,
  div.full-width.cta-section > .site-width {
    padding: 32px 20px !important;
    border-radius: 12px;
  }
}
div.full-width.cta-section:before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  filter: blur(100px);
  background: radial-gradient(circle, #e97c73 0%, transparent 70%);
  opacity: 0.25;
  top: -200px;
  right: -200px;
  z-index: -1;
  animation: orbFloat 2 20s ease-in-out infinite;
}
div.full-width.cta-section > .site-width {
  position: relative;
  z-index: 1;
}
div.full-width.cta-section h2 {
  color: white !important;
  font-size: 30px;
  font-weight: 700;
  margin: 0 0 12px 0;
  letter-spacing: -0.02em;
}
div.full-width.cta-section p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  margin: 0 0 24px 0;
}
/*
======================================================
Auth Layout (Login / Register)
======================================================
*/

.auth-layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  max-width: 960px;
  margin: 0 auto;
  padding: 8px 0 32px 0;
}
@media screen and (max-width: 720px) {
  .auth-layout {
    flex-direction: column;
  }
}
.auth-card {
  flex: 1.2;
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  padding: 32px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  text-align: left;
}
.auth-card h2 {
  margin-top: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
}
.auth-card p {
  color: var(--text-secondary);
  margin-bottom: 16px;
}
.auth-card table.ISForm th {
  padding: 8px 12px 8px 0;
  vertical-align: middle;
  white-space: nowrap;
}
.auth-card table.ISForm td {
  padding: 4px 0;
}
.auth-card table.ISForm input[type='text'],
.auth-card table.ISForm input[type='password'] {
  width: 100%;
}
.auth-card .auth-submit {
  width: 100%;
  background-color: #2ea3f2 !important;
  border-color: #2ea3f2 !important;
  color: white !important;
  font-size: 15px !important;
  padding: 10px 24px !important;
}
.auth-card .auth-submit:hover {
  background-color: #0e91e9 !important;
  border-color: #0e91e9 !important;
}
.auth-links {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle);
}
.auth-links a {
  font-size: 14px;
  font-weight: 500;
  color: #3d5aa9;
}
/* Trust marker below sign-in button */

.auth-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.auth-trust:before {
  font-family: isfas;
  content: "\f023";
  /* lock icon */
  font-size: 11px;
  color: #27ae60;
}
.auth-sidebar {
  flex: 0.8;
  min-width: 220px;
}
@media screen and (max-width: 720px) {
  .auth-sidebar {
    width: 100%;
  }
}
.auth-info-card {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 24px;
  text-align: center;
}
.auth-info-card h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 8px 0;
}
.auth-info-card p {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}
/*
======================================================
Scroll Reveal Animations
======================================================
*/

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.reveal.reveal-visible {
  opacity: 1;
  transform: translateY(0);
}
/* Specific reveal variants for different element types */

.full-width .items > .item.reveal {
  transform: translateY(30px) scale(0.97);
}
.full-width .items > .item.reveal.reveal-visible {
  transform: translateY(0) scale(1);
}
.stat-item.reveal {
  transform: translateY(16px);
  transition: opacity 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mini-feature.reveal {
  transform: translateY(20px) scale(0.95);
  transition: opacity 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mini-feature.reveal.reveal-visible {
  transform: translateY(0) scale(1);
}
.timeline > li.reveal {
  transform: translateX(-20px);
  transition: opacity 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.timeline > li.reveal.reveal-visible {
  transform: translateX(0);
}
.MyOption.reveal {
  transform: translateY(16px) scale(0.96);
  transition: opacity 0.4s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.MyOption.reveal.reveal-visible {
  transform: translateY(0) scale(1);
}
.feature-text.reveal {
  transform: translateX(-30px);
  transition: opacity 0.6s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.feature-text.reveal.reveal-visible {
  transform: translateX(0);
}
.feature-visual.reveal {
  transform: translateX(30px);
  transition: opacity 0.6s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.feature-visual.reveal.reveal-visible {
  transform: translateX(0);
}
.feature-split.reverse .feature-text.reveal {
  transform: translateX(30px);
}
.feature-split.reverse .feature-text.reveal.reveal-visible {
  transform: translateX(0);
}
.feature-split.reverse .feature-visual.reveal {
  transform: translateX(-30px);
}
.feature-split.reverse .feature-visual.reveal.reveal-visible {
  transform: translateX(0);
}
/*
======================================================
Header Scroll Shrink
======================================================
*/

body.scrolled div.header-wrapper {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
body.scrolled header#header {
  height: 48px !important;
  min-height: 48px !important;
  transition: height 0.3s ease, min-height 0.3s ease;
}
body.scrolled header#header > div {
  height: 48px;
}
body.scrolled div.site-logo a {
  height: 48px !important;
  width: 100px;
  background-size: contain;
}
body.scrolled body:not(.mobilemenu) div#sitemenu div.site-menu {
  height: 48px;
}
body.scrolled body:not(.mobilemenu) div#sitemenu div.site-menu a {
  font-size: 13px;
  padding: 6px 10px;
}
body.scrolled .login-button,
body.scrolled .sales-button {
  padding: 5px 12px;
  font-size: 11px;
}
body.scrolled a#mobilemenu {
  padding: 5px;
  font-size: 16px;
}
header#header {
  transition: height 0.3s ease, min-height 0.3s ease;
}
header#header > div {
  transition: height 0.3s ease;
}
div.site-logo a {
  transition: height 0.3s ease, width 0.3s ease, background-size 0.3s ease;
}
/* Honour the user's OS-level reduced-motion preference for header / nav. */

@media (prefers-reduced-motion: reduce) {
  header#header,
  header#header > div,
  div.site-logo a,
  div#sitemenu div.site-menu > ul[menu-id='root'] > li:before,
  div#sitemenu div.site-menu > ul[menu-id='root'] > .nav-indicator {
    transition: none !important;
  }
  div#sitemenusub,
  article#content,
  body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul {
    animation: none !important;
  }
}
/*
======================================================
Enhanced Hover & Interactive Effects
======================================================
*/

/* Card hover glow */

.full-width .items.solid > div.item:hover,
.full-width .items.logos > div.item:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
/* Glyph icon pulse on card hover */

.full-width .items > div.item:hover > .glyph,
.full-width .items > div.item:hover > a > .glyph {
  animation: glyphPulse 0.4s ease;
}
@keyframes glyphPulse {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.18);
  }
  70% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
/* Logo images grayscale -> color on hover */

.full-width .items.logos > div.item img {
  filter: grayscale(40%);
  opacity: 0.8;
  transition: all 0.3s ease;
}
.full-width .items.logos > div.item:hover img {
  filter: grayscale(0);
  opacity: 1;
}
/* Button ripple-like press effect */

button:active:not(.owl-prev):not(.owl-next):not(.owl-dot),
input[type='submit']:active {
  transform: scale(0.97) !important;
  transition: transform 0.1s ease !important;
}
/* Modern Dribbble-style pill nav indicator */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li {
  position: relative;
  /* Pill background per-item (shows on hover for non-current items) */

  /* Always transition text colour smoothly so deactivating items fade back to dark */

  /* Active state - text white over the sliding indicator. */

  /* Suppress hover pill on the currently-active item */

}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: transparent;
  border-radius: 999px;
  transition: background-color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
  pointer-events: none;
  transform: scale(0.95);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover:not(.current):before {
  background-color: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transform: scale(1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > a {
  position: relative;
  z-index: 2;
  transition: color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li.current > a {
  color: white !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li.current:hover:before {
  background-color: transparent !important;
  box-shadow: none !important;
}
/* Shared sliding indicator that morphs between active items on click */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] {
  position: relative;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > .nav-indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 36px;
  background-color: #3d5aa9;
  border-radius: 999px;
  z-index: 1;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
  opacity: 0;
  will-change: transform, width;
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1), width 0.32s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > .nav-indicator.is-ready {
  opacity: 1;
}
/* Footer link hover slide */

footer#footer a {
  position: relative;
}
footer#footer a:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  transition: width 0.2s ease;
}
footer#footer a:hover:after {
  width: 100%;
}
/* Smooth page content entrance */

article#content {
  animation: pageIn 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes pageIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Hero content float */

.hero-content {
  transition: transform 0.15s ease-out;
}
/* Search input expand */

div.site-search input {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
div.site-search form.focused input {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Smooth focus ring for all interactive elements */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #3d5aa9;
  outline-offset: 2px;
  transition: outline-offset 0.15s ease;
}
/* MyOption dashboard cards - color accent on hover */

div.MyOption:hover > a > span > img {
  transform: scale(1.08);
  transition: transform 0.3s ease;
}
div.MyOption > a > span > img {
  transition: transform 0.3s ease;
}
/* Timeline item hover */

ul.timeline > li > div.info {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
ul.timeline > li > div.info:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateX(4px);
}
/* Sub menu items slide in */

div#sitemenusub {
  animation: subMenuIn 0.25s ease;
}
@keyframes subMenuIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
======================================================
Demo Page Placeholder
======================================================
*/

.demo-frame-wrap {
  margin: 0 auto;
  max-width: 1100px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.15);
  background: white;
  aspect-ratio: 1.6;
  border: 1px solid var(--border-subtle);
}
.demo-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--bg-base) 0%, white 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px;
}
.demo-placeholder-inner {
  max-width: 480px;
}
.demo-placeholder-inner .demo-placeholder-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(61, 90, 169, 0.1);
  color: #3d5aa9;
  font-size: 28px;
  margin-bottom: 20px;
}
.demo-placeholder-inner h2 {
  margin: 0 0 12px 0 !important;
  font-size: 22px !important;
  color: var(--text-primary) !important;
}
.demo-placeholder-inner p {
  color: var(--text-secondary);
  margin-bottom: 8px;
}
.demo-placeholder-inner .demo-placeholder-note {
  margin-top: 20px;
  font-size: 14px;
}
.demo-placeholder-inner .demo-placeholder-note a {
  color: #3d5aa9;
  font-weight: 600;
}
/*
======================================================
Command Palette (Cmd/Ctrl+K)
======================================================
*/

#cmd-palette {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 14vh;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
#cmd-palette.open {
  opacity: 1;
  pointer-events: auto;
}
#cmd-palette[hidden] {
  display: none !important;
}
.cmd-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 18, 28, 0.65);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.cmd-panel {
  position: relative;
  width: 92%;
  max-width: 640px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  transform: scale(0.97) translateY(-6px);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#cmd-palette.open .cmd-panel {
  transform: scale(1) translateY(0);
}
.cmd-search {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border-subtle);
}
.cmd-search .cmd-icon {
  font-family: isfas;
  color: var(--text-muted);
  font-size: 16px;
}
.cmd-search .cmd-icon:before {
  content: "\f002";
}
.cmd-search input {
  flex: 1;
  border: none !important;
  outline: none !important;
  background: transparent;
  font-size: 16px;
  color: var(--text-primary);
  padding: 4px 0 !important;
  margin: 0 !important;
}
.cmd-search input:focus {
  box-shadow: none !important;
  border: none !important;
}
.cmd-search .cmd-kbd {
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 2px 6px;
  color: var(--text-muted);
}
.cmd-results {
  max-height: 50vh;
  overflow-y: auto;
  padding: 8px;
}
a.cmd-result {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  /* 2px transparent border reserves layout space so .cmd-active doesn't reflow neighbouring rows when keyboard navigation moves the active state. */
  border: 2px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  color: var(--text-primary);
  cursor: pointer;
  transition: background-color 0.1s ease, border-color 0.1s ease;
  /* High-contrast 2px border on the active row for keyboard users — background-only highlight failed WCAG 2.2 visible-focus expectations against the panel surface. */

}
a.cmd-result:hover {
  background-color: rgba(61, 90, 169, 0.08);
}
a.cmd-result.cmd-active {
  background-color: rgba(61, 90, 169, 0.08);
  border-color: var(--link);
}
a.cmd-result .cmd-result-icon {
  font-size: 13px;
  color: var(--text-muted);
  width: 16px;
  flex-shrink: 0;
}
a.cmd-result .cmd-result-icon:before {
  content: "\f15c";
}
a.cmd-result .cmd-result-title {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
}
.cmd-type-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--bg-base);
  color: var(--text-muted);
}
.cmd-type-badge.cmd-type-article {
  background: rgba(61, 90, 169, 0.12);
  color: #3d5aa9;
}
.cmd-type-badge.cmd-type-blog {
  background: rgba(233, 124, 115, 0.15);
  color: #c0392b;
}
.cmd-type-badge.cmd-type-download {
  background: rgba(39, 174, 96, 0.15);
  color: #1e8449;
}
.cmd-type-badge.cmd-type-guide {
  background: rgba(39, 174, 96, 0.15);
  color: #1e8449;
}
.cmd-type-badge.cmd-type-kb {
  background: rgba(142, 68, 173, 0.12);
  color: #8e44ad;
}
.cmd-empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--text-muted);
  font-size: 14px;
}
.cmd-foot {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 10px 16px;
  border-top: 1px solid var(--border-subtle);
  background: var(--bg-base);
  font-size: 11px;
  color: var(--text-muted);
}
.cmd-foot kbd {
  font-family: inherit;
  background: white;
  border: 1px solid var(--border-subtle);
  border-radius: 3px;
  padding: 1px 5px;
  margin-right: 4px;
  font-size: 10px;
  font-weight: 600;
}
body.cmd-open {
  overflow: hidden;
}
/*
======================================================
Print
======================================================
*/

body.print {
  height: unset !important;
}
body.print header#header,
body.print footer#footer,
body.print div.deviceRight,
body.print div#sitemenu,
body.print div#sitemenusub,
body.print div#topicprint,
body.print div.NextPrevious {
  display: none !important;
}
body.print #wrapper {
  display: block !important;
  height: auto !important;
}
body.print #content {
  max-width: unset !important;
}
body.print div.topic {
  width: auto !important;
  max-width: unset !important;
}
@media print {
  body {
    height: unset !important;
  }
  .header-wrapper {
    display: none;
  }
  #wrapper {
    display: block !important;
    height: auto !important;
  }
  #content {
    max-width: unset !important;
  }
}
/*
======================================================
Contact Page
======================================================
*/

/* Hero quick-action chips
   Higher specificity than the base `div.full-width.hero-gradient .hero-content`
   rule so the contact hero gets enough room for a 4-chip row. */

.full-width.hero-gradient.contact-hero .hero-content {
  max-width: 940px;
  margin: 0 auto;
}
.contact-quick-chips {
  display: grid;
  /* 2 cols at desktop so each chip is wide enough for the full email address (enquiry@intersoft.co.nz) without overflow-wrap break. minmax(0, 1fr) lets columns shrink below content min-size, preventing the grid from overflowing right of the centred hero container. */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 36px auto 0;
  max-width: 720px;
}
@media screen and (max-width: 520px) {
  .contact-quick-chips {
    grid-template-columns: 1fr;
    max-width: 380px;
  }
}
.contact-quick-chip {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  text-align: left;
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  color: white;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  cursor: pointer;
}
.contact-quick-chip:hover,
.contact-quick-chip:focus-visible {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(123, 150, 212, 0.55);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
  text-decoration: none;
}
.contact-quick-chip .contact-chip-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 16px;
  box-shadow: 0 6px 14px rgba(61, 90, 169, 0.35);
}
.contact-quick-chip .contact-chip-body {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  min-width: 0;
}
.contact-quick-chip .contact-chip-label {
  font-size: 14px;
  font-weight: 700;
  color: white;
}
.contact-quick-chip .contact-chip-sub {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 3px;
  line-height: 1.3;
  /* Email addresses and phone numbers have no normal word-break points, so without this they overflow the card on narrow widths (the "enquiry@intersoft.co.nz" sub on the Email-us chip was visibly bleeding past the right edge). `anywhere` permits a break inside the string when there's no other option, with no effect on normal text. min-width:0 belongs on the parent (.contact-chip-body) and is already there. */
  overflow-wrap: anywhere;
}
/* Offices section */

.contact-offices {
  text-align: center;
}
.contact-offices .contact-section-sub {
  max-width: 720px;
  margin: 0 auto 36px;
  color: rgba(20, 30, 60, 0.7);
}
.office-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* Column gap intentionally matches the section's bottom padding (`.full-width`
     has `padding: 48px ...`) so the empty space between the cards equals the
     empty space below the cards before the next section. */
  column-gap: 48px;
  row-gap: 32px;
  margin: 12px 0 48px;
  text-align: left;
}
@media screen and (max-width: 980px) {
  .office-grid {
    grid-template-columns: 1fr;
    row-gap: 48px;
    column-gap: 0;
  }
}
.office-card {
  background: white;
  border: 1px solid rgba(61, 90, 169, 0.12);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(20, 30, 60, 0.1), 0 2px 6px rgba(20, 30, 60, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
}
.office-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px rgba(20, 30, 60, 0.18), 0 4px 10px rgba(20, 30, 60, 0.06);
}
.office-card-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px 18px;
  background: linear-gradient(135deg, rgba(61, 90, 169, 0.08) 0%, rgba(123, 150, 212, 0.04) 100%);
  border-bottom: 1px solid rgba(61, 90, 169, 0.08);
}
.office-flag {
  display: block;
  width: 56px;
  height: 34px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(20, 30, 60, 0.08);
}
.office-head-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.office-head-text h2 {
  margin: 2px 0 0;
  font-size: 24px;
  font-weight: 700;
  color: #15213e;
}
.office-head-text p {
  margin: 4px 0 0;
  color: rgba(20, 30, 60, 0.6);
  font-size: 14px;
}
.office-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #3d5aa9;
  background: rgba(61, 90, 169, 0.1);
  padding: 3px 9px;
  border-radius: 999px;
  width: fit-content;
}
.office-map {
  width: 100%;
  height: 280px;
  background: #e8eef7;
  position: relative;
  z-index: 0;
  /* Override Leaflet's default attribution colours so the map blends in */

}
.office-map .leaflet-control-attribution {
  background: rgba(255, 255, 255, 0.85);
  font-size: 10px;
}
/* Custom pin marker */

.office-pin {
  position: relative;
  width: 28px;
  height: 28px;
  pointer-events: auto;
}
.office-pin .office-pin-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #3d5aa9;
  border: 3px solid white;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
  z-index: 2;
}
.office-pin .office-pin-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(61, 90, 169, 0.35);
  z-index: 1;
  animation: officePinPulse 2s ease-out infinite;
}
@keyframes officePinPulse {
  0% {
    transform: translate(-50%, -50%) scale(0.6);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.4);
    opacity: 0;
  }
}
.office-popup {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}
.office-popup strong {
  display: block;
  color: #3d5aa9;
  margin-bottom: 4px;
  font-weight: 700;
}
.office-popup span {
  color: rgba(20, 30, 60, 0.75);
}
.office-details {
  padding: 22px 24px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.office-info {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.office-info li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.office-info .oi-icon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(61, 90, 169, 0.1);
  color: #3d5aa9;
  border-radius: 8px;
  font-size: 13px;
  margin-top: 2px;
}
.office-info .oi-text {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(20, 30, 60, 0.85);
  min-width: 0;
}
.office-info .oi-text strong {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(20, 30, 60, 0.5);
  margin-bottom: 2px;
}
.office-info .oi-text a {
  color: #3d5aa9;
  text-decoration: none;
  word-break: break-word;
}
.office-info .oi-text a:hover {
  text-decoration: underline;
}
.office-directions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 10px 18px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 13px;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(61, 90, 169, 0.3);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  margin-top: auto;
}
.office-directions:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(61, 90, 169, 0.4);
  text-decoration: none;
  color: white;
}
/* International */

.contact-international {
  text-align: center;
}
.contact-international .intl-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 900px;
  margin: 28px auto 0;
}
@media screen and (max-width: 760px) {
  .contact-international .intl-grid {
    grid-template-columns: 1fr;
  }
}
.contact-international .intl-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 22px 18px;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  color: white;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}
.contact-international .intl-card:hover,
.contact-international .intl-card:focus-visible {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(123, 150, 212, 0.55);
  text-decoration: none;
  color: white;
}
.contact-international .intl-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 18px;
  box-shadow: 0 8px 18px rgba(61, 90, 169, 0.35);
  margin-bottom: 6px;
}
.contact-international .intl-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.6);
}
.contact-international .intl-value {
  font-size: 16px;
  font-weight: 600;
  color: white;
  word-break: break-word;
}
/* Support chooser modal */

html.support-chooser-open {
  overflow: hidden;
}
.support-chooser {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.support-chooser[hidden] {
  display: none;
}
.support-chooser-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.7);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  animation: scFadeIn 0.18s ease-out;
}
.support-chooser-dialog {
  position: relative;
  width: 100%;
  max-width: 760px;
  background: white;
  border-radius: 18px;
  padding: 36px 36px 32px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
  text-align: center;
  animation: scPopIn 0.22s ease-out;
  max-height: calc(52vh);
  overflow-y: auto;
}
@media screen and (max-width: 600px) {
  .support-chooser-dialog {
    padding: 28px 22px 24px;
  }
}
.support-chooser-dialog h2 {
  margin: 8px 0 6px;
  font-size: 26px;
  color: #15213e;
}
.support-chooser-dialog p.support-chooser-lead {
  margin: 0 auto 24px;
  color: rgba(20, 30, 60, 0.65);
  max-width: 480px;
}
.support-chooser-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #3d5aa9;
  background: rgba(61, 90, 169, 0.1);
  padding: 4px 10px;
  border-radius: 999px;
}
.support-chooser-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(20, 30, 60, 0.06);
  color: rgba(20, 30, 60, 0.65);
  font-size: 22px;
  line-height: 1;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.support-chooser-close:hover,
.support-chooser-close:focus-visible {
  background: rgba(20, 30, 60, 0.12);
  color: #15213e;
  transform: rotate(90deg);
}
.support-chooser-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  text-align: left;
  margin-top: 4px;
}
@media screen and (max-width: 720px) {
  .support-chooser-options {
    grid-template-columns: 1fr;
  }
}
.support-chooser-option {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 22px 20px;
  border: 1px solid rgba(61, 90, 169, 0.16);
  border-radius: 14px;
  background: linear-gradient(180deg, white 0%, #f7f9ff 100%);
  text-decoration: none;
  color: #15213e;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  position: relative;
}
.support-chooser-option:hover,
.support-chooser-option:focus-visible {
  transform: translateY(-3px);
  border-color: #3d5aa9;
  box-shadow: 0 16px 30px rgba(61, 90, 169, 0.18);
  text-decoration: none;
  color: #15213e;
}
.support-chooser-option .sco-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 18px;
  box-shadow: 0 8px 18px rgba(61, 90, 169, 0.3);
  margin-bottom: 6px;
}
.support-chooser-option .sco-label {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: #15213e;
}
.support-chooser-option .sco-sub {
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(20, 30, 60, 0.65);
  flex: 1;
}
.support-chooser-option .sco-cta {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #3d5aa9;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.18s ease;
}
.support-chooser-option:hover .sco-cta {
  gap: 12px;
}
.support-chooser-option--portal {
  background: linear-gradient(180deg, white 0%, #fff6f5 100%);
  border-color: rgba(233, 124, 115, 0.25);
}
.support-chooser-option--portal:hover,
.support-chooser-option--portal:focus-visible {
  border-color: #e97c73;
  box-shadow: 0 16px 30px rgba(233, 124, 115, 0.22);
}
.support-chooser-option--portal .sco-icon {
  background: linear-gradient(135deg, #e97c73 0%, #f5a193 100%);
  box-shadow: 0 8px 18px rgba(233, 124, 115, 0.35);
}
.support-chooser-option--portal .sco-cta {
  color: #e97c73;
}
@keyframes scFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scPopIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/*
======================================================
Dark Mode (consolidated override block)
======================================================
Implemented as a series of high-specificity overrides scoped to `:root[data-theme="dark"]`. Light mode is the default and is unaffected by anything here. The dark heroes, footer, and CTA section are already dark in both modes and stay unchanged.

Toggle is implemented in general.js (cycles light → dark → system) and the preference is persisted in localStorage. The data-theme attribute is set by an inline init script in MasterPage.master BEFORE the first paint, so there is no flash-of-wrong-theme on load. */

:root[data-theme="dark"] body {
  background-color: var(--bg-base);
  color: var(--text-primary);
}
:root[data-theme="dark"] div.header-wrapper {
  background-color: var(--bg-header);
  border-bottom: 1px solid var(--border-subtle);
}
:root[data-theme="dark"] header#header {
  background-color: var(--bg-header);
}
:root[data-theme="dark"] header#header div.site-logo a {
  /* Add a slight brightness so the logo SVG/PNG (designed for white bg) reads on the dark header */
  filter: brightness(1.05) contrast(0.95);
}
:root[data-theme="dark"] div#sitemenusub {
  background-color: var(--bg-header) !important;
  border-bottom: 1px solid var(--border-subtle);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub a {
  color: var(--text-secondary);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) {
  background-color: rgba(255, 255, 255, 0.06);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) a {
  color: var(--text-primary);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li.currentsub {
  background-color: rgba(123, 150, 212, 0.18);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li.currentsub a {
  color: var(--link);
}
:root[data-theme="dark"] .full-width div.items.logos > div.item {
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
:root[data-theme="dark"] .full-width div.items.logos > div.item:hover {
  background-color: var(--bg-elevated);
  border-color: rgba(147, 174, 236, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(147, 174, 236, 0.18);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul {
  background-color: rgba(35, 43, 71, 0.96) !important;
  border: 1px solid var(--border-subtle);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li a {
  color: var(--text-primary);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover {
  background-color: rgba(123, 150, 212, 0.14);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover a {
  color: var(--link);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub {
  background-color: rgba(123, 150, 212, 0.22);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub a {
  color: var(--link);
}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
:root[data-theme="dark"] input.fieldNormal.search {
  background-color: var(--input-bg);
  border-color: var(--input-border);
  color: var(--input-text);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu {
  background-color: var(--bg-elevated);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu a {
  color: var(--text-primary);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu a:hover {
  color: white;
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover:not(.current):before {
  background-color: var(--bg-elevated) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}
:root[data-theme="dark"] .full-width.light {
  background-color: var(--bg-base) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .full-width.light h1,
:root[data-theme="dark"] .full-width.light h2,
:root[data-theme="dark"] .full-width.light h3,
:root[data-theme="dark"] .full-width.light h4,
:root[data-theme="dark"] .full-width.light h5,
:root[data-theme="dark"] .full-width.light h6 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .full-width.light p,
:root[data-theme="dark"] .full-width.light li,
:root[data-theme="dark"] .full-width.light td,
:root[data-theme="dark"] .full-width.light span.section-label {
  color: var(--text-secondary);
}
:root[data-theme="dark"] .full-width.light .glyph {
  color: var(--link);
}
:root[data-theme="dark"] .about-tab-panels,
:root[data-theme="dark"] .about-panel,
:root[data-theme="dark"] .staff-role-card,
:root[data-theme="dark"] .office-card,
:root[data-theme="dark"] .feature-cards-stack .mini-feature,
:root[data-theme="dark"] .user-menu-dropdown,
:root[data-theme="dark"] .full-width.light .item {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .office-card-head {
  background: linear-gradient(135deg, rgba(123, 150, 212, 0.08) 0%, rgba(123, 150, 212, 0.04) 100%) !important;
  border-bottom-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .office-card .office-head-text h2 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .office-card .office-head-text p {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-text {
  color: var(--text-primary);
}
:root[data-theme="dark"] .office-card .office-info .oi-text strong {
  color: var(--text-muted) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-icon {
  background: rgba(123, 150, 212, 0.16);
  color: var(--link);
}
:root[data-theme="dark"] .office-card .office-info .oi-text a {
  color: var(--link) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkmailto,
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkexternal {
  background-color: rgba(147, 174, 236, 0.12) !important;
  border-color: rgba(147, 174, 236, 0.28) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkmailto:hover,
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkexternal:hover {
  background-color: rgba(147, 174, 236, 0.2) !important;
  color: white !important;
}
:root[data-theme="dark"] .about-tab {
  background-color: var(--bg-surface) !important;
  color: var(--text-muted) !important;
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .about-tab:hover {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .about-tab.active {
  background-color: var(--bg-elevated) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .about-tab.active:after {
  background-color: var(--bg-elevated) !important;
}
:root[data-theme="dark"] .staff-role-card:hover {
  border-color: var(--link) !important;
  box-shadow: 0 4px 14px -8px rgba(123, 150, 212, 0.4) !important;
}
:root[data-theme="dark"] .staff-role-card .role-people > li {
  border-top-color: var(--border-subtle);
}
:root[data-theme="dark"] div.site-search input {
  background-color: var(--input-bg);
  border-color: var(--input-border);
  color: var(--input-text);
}
:root[data-theme="dark"] div.site-search input::placeholder {
  color: var(--text-muted);
}
:root[data-theme="dark"] div.site-search input:focus {
  background-color: var(--bg-elevated);
  border-color: var(--link);
}
:root[data-theme="dark"] div.site-search form.focused input {
  background-color: var(--bg-elevated);
  border-color: var(--link);
}
:root[data-theme="dark"] .login-button {
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .login-button:hover {
  background-color: var(--bg-elevated) !important;
  color: var(--link) !important;
  border-color: var(--link) !important;
}
:root[data-theme="dark"] .user-menu-dropdown {
  background-color: rgba(35, 43, 71, 0.96) !important;
  border-color: var(--border-subtle) !important;
  box-shadow: var(--shadow-elevated) !important;
}
:root[data-theme="dark"] .user-menu-dropdown a,
:root[data-theme="dark"] .user-menu-dropdown button {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .user-menu-dropdown a:hover,
:root[data-theme="dark"] .user-menu-dropdown button:hover {
  background-color: var(--bg-elevated) !important;
}
:root[data-theme="dark"] .user-menu-dropdown a .mi,
:root[data-theme="dark"] .user-menu-dropdown button .mi {
  color: var(--text-muted);
}
:root[data-theme="dark"] .user-menu-dropdown .user-menu-header {
  border-bottom-color: var(--border-subtle);
  color: var(--text-muted);
}
:root[data-theme="dark"] .user-menu-dropdown .user-menu-header strong {
  color: var(--text-primary);
}
:root[data-theme="dark"] .topic {
  color: var(--text-primary);
}
:root[data-theme="dark"] .topic a.linkinternal {
  background-color: rgba(123, 150, 212, 0.12) !important;
  color: var(--link) !important;
  border-color: rgba(123, 150, 212, 0.25) !important;
}
:root[data-theme="dark"] .vtimeline:before {
  background-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .vtimeline-content {
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 16px 20px;
  color: var(--text-primary);
}
:root[data-theme="dark"] .support-chooser-dialog {
  background-color: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-dialog h2 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-dialog p.support-chooser-lead {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .support-chooser-option {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-option .sco-label {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-option .sco-sub {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] footer#footer {
  background-color: #08101f;
  /* a touch darker than the bg-base so the footer remains distinct */

}
:root[data-theme="dark"] .normal,
:root[data-theme="dark"] button.normal,
:root[data-theme="dark"] input[type="text"],
:root[data-theme="dark"] input[type="email"],
:root[data-theme="dark"] input[type="password"],
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--input-text) !important;
}
:root[data-theme="dark"] .topic h1,
:root[data-theme="dark"] .topic h2,
:root[data-theme="dark"] .topic h3,
:root[data-theme="dark"] .topic h4,
:root[data-theme="dark"] .topic h5 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .topic p,
:root[data-theme="dark"] .topic li,
:root[data-theme="dark"] .topic td {
  color: var(--text-secondary);
}
:root[data-theme="dark"] div.MyOption {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] div.MyOption:hover {
  border-color: var(--link) !important;
}
:root[data-theme="dark"] div.deviceRight {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] div.deviceRight div.sideboxsubheader,
:root[data-theme="dark"] div.deviceRight div.sideboxsubheader > a {
  color: var(--text-primary);
}
:root[data-theme="dark"] > div.info,
:root[data-theme="dark"] .info {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .live-search-dropdown {
  background-color: rgba(35, 43, 71, 0.95) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .live-search-dropdown a,
:root[data-theme="dark"] .live-search-dropdown button {
  color: var(--text-primary);
}
:root[data-theme="dark"] .cmd-type-download,
:root[data-theme="dark"] .cmd-type-guide {
  background: rgba(74, 222, 128, 0.18) !important;
  color: #6ee7a8 !important;
  /* lighter green for dark-on-dark contrast */

}
:root[data-theme="dark"] .cmd-type-kb {
  background: rgba(192, 132, 252, 0.18) !important;
  color: #d8b4fe !important;
  /* lighter purple for dark-on-dark contrast */

}
:root[data-theme="dark"] .support-chooser-eyebrow {
  color: var(--link) !important;
  background: rgba(123, 150, 212, 0.15) !important;
}
:root[data-theme="dark"] .feature-cards-stack .mini-feature:hover {
  background-color: var(--bg-elevated) !important;
  border-color: var(--link) !important;
}
:root[data-theme="dark"] .vtimeline-marker {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] div#pnlHomeWork div.img {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
}
:root[data-theme="dark"] > .site-width > div > div.items > div.item {
  background-color: rgba(123, 150, 212, 0.06);
  border-color: var(--border-subtle);
}
:root[data-theme="dark"] .topic table tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.03);
}
:root[data-theme="dark"] .auth-card,
:root[data-theme="dark"] .auth-sidebar,
:root[data-theme="dark"] .auth-info-card {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .auth-card h1,
:root[data-theme="dark"] .auth-sidebar h1,
:root[data-theme="dark"] .auth-info-card h1,
:root[data-theme="dark"] .auth-card h2,
:root[data-theme="dark"] .auth-sidebar h2,
:root[data-theme="dark"] .auth-info-card h2,
:root[data-theme="dark"] .auth-card h3,
:root[data-theme="dark"] .auth-sidebar h3,
:root[data-theme="dark"] .auth-info-card h3,
:root[data-theme="dark"] .auth-card .auth-card-title,
:root[data-theme="dark"] .auth-sidebar .auth-card-title,
:root[data-theme="dark"] .auth-info-card .auth-card-title {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .auth-card p,
:root[data-theme="dark"] .auth-sidebar p,
:root[data-theme="dark"] .auth-info-card p,
:root[data-theme="dark"] .auth-card label,
:root[data-theme="dark"] .auth-sidebar label,
:root[data-theme="dark"] .auth-info-card label,
:root[data-theme="dark"] .auth-card .auth-help,
:root[data-theme="dark"] .auth-sidebar .auth-help,
:root[data-theme="dark"] .auth-info-card .auth-help,
:root[data-theme="dark"] .auth-card .auth-secondary,
:root[data-theme="dark"] .auth-sidebar .auth-secondary,
:root[data-theme="dark"] .auth-info-card .auth-secondary {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .auth-card a,
:root[data-theme="dark"] .auth-sidebar a,
:root[data-theme="dark"] .auth-info-card a {
  color: var(--link);
}
:root[data-theme="dark"] .auth-card a:hover,
:root[data-theme="dark"] .auth-sidebar a:hover,
:root[data-theme="dark"] .auth-info-card a:hover {
  color: var(--link-hover);
}
:root[data-theme="dark"] .auth-card .auth-info-callout,
:root[data-theme="dark"] .auth-sidebar .auth-info-callout,
:root[data-theme="dark"] .auth-info-card .auth-info-callout,
:root[data-theme="dark"] .auth-card .security-notice,
:root[data-theme="dark"] .auth-sidebar .security-notice,
:root[data-theme="dark"] .auth-info-card .security-notice {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] div#topicprint a,
:root[data-theme="dark"] a#topicprint_print,
:root[data-theme="dark"] a#topicprint_edit {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div#topicprint a:hover,
:root[data-theme="dark"] a#topicprint_print:hover,
:root[data-theme="dark"] a#topicprint_edit:hover {
  background-color: var(--bg-surface) !important;
  border-color: var(--link) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .filter-pills .filter-pill,
:root[data-theme="dark"] .filter-pills a,
:root[data-theme="dark"] .downloads-filter a,
:root[data-theme="dark"] .downloads-filter button,
:root[data-theme="dark"] a.view-all,
:root[data-theme="dark"] .view-all,
:root[data-theme="dark"] .guides-card .view-all,
:root[data-theme="dark"] .guides-card a.view-all {
  background-color: var(--bg-elevated) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .filter-pills .filter-pill:hover,
:root[data-theme="dark"] .filter-pills a:hover,
:root[data-theme="dark"] .downloads-filter a:hover,
:root[data-theme="dark"] .downloads-filter button:hover,
:root[data-theme="dark"] a.view-all:hover,
:root[data-theme="dark"] .view-all:hover,
:root[data-theme="dark"] .guides-card .view-all:hover,
:root[data-theme="dark"] .guides-card a.view-all:hover,
:root[data-theme="dark"] .filter-pills .filter-pill:focus-visible,
:root[data-theme="dark"] .filter-pills a:focus-visible,
:root[data-theme="dark"] .downloads-filter a:focus-visible,
:root[data-theme="dark"] .downloads-filter button:focus-visible,
:root[data-theme="dark"] a.view-all:focus-visible,
:root[data-theme="dark"] .view-all:focus-visible,
:root[data-theme="dark"] .guides-card .view-all:focus-visible,
:root[data-theme="dark"] .guides-card a.view-all:focus-visible {
  background-color: var(--bg-surface) !important;
  border-color: var(--link) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .filter-pills .filter-pill.active,
:root[data-theme="dark"] .filter-pills a.active,
:root[data-theme="dark"] .downloads-filter a.active,
:root[data-theme="dark"] .downloads-filter button.active,
:root[data-theme="dark"] a.view-all.active,
:root[data-theme="dark"] .view-all.active,
:root[data-theme="dark"] .guides-card .view-all.active,
:root[data-theme="dark"] .guides-card a.view-all.active,
:root[data-theme="dark"] .filter-pills .filter-pill[aria-current="page"],
:root[data-theme="dark"] .filter-pills a[aria-current="page"],
:root[data-theme="dark"] .downloads-filter a[aria-current="page"],
:root[data-theme="dark"] .downloads-filter button[aria-current="page"],
:root[data-theme="dark"] a.view-all[aria-current="page"],
:root[data-theme="dark"] .view-all[aria-current="page"],
:root[data-theme="dark"] .guides-card .view-all[aria-current="page"],
:root[data-theme="dark"] .guides-card a.view-all[aria-current="page"],
:root[data-theme="dark"] .filter-pills .filter-pill.is-current,
:root[data-theme="dark"] .filter-pills a.is-current,
:root[data-theme="dark"] .downloads-filter a.is-current,
:root[data-theme="dark"] .downloads-filter button.is-current,
:root[data-theme="dark"] a.view-all.is-current,
:root[data-theme="dark"] .view-all.is-current,
:root[data-theme="dark"] .guides-card .view-all.is-current,
:root[data-theme="dark"] .guides-card a.view-all.is-current {
  background-color: var(--link) !important;
  border-color: var(--link) !important;
  color: var(--bg-base) !important;
}
:root[data-theme="dark"] .required-fields-notice,
:root[data-theme="dark"] .required-fields-callout,
:root[data-theme="dark"] div.note.required {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .required-fields-notice .yellow-chip,
:root[data-theme="dark"] .required-fields-callout .yellow-chip,
:root[data-theme="dark"] div.note.required .yellow-chip,
:root[data-theme="dark"] .required-fields-notice .field-required-sample,
:root[data-theme="dark"] .required-fields-callout .field-required-sample,
:root[data-theme="dark"] div.note.required .field-required-sample {
  background-color: #4a3f12 !important;
  /* dark amber so the "yellow" chip still reads as yellow */
  color: #fbe08a !important;
  border: 1px solid #6b5a1f !important;
}
:root[data-theme="dark"] .pagination a,
:root[data-theme="dark"] .pager a,
:root[data-theme="dark"] ul.pagination a,
:root[data-theme="dark"] div.pager a,
:root[data-theme="dark"] .pagination span,
:root[data-theme="dark"] .pager span,
:root[data-theme="dark"] ul.pagination span,
:root[data-theme="dark"] div.pager span,
:root[data-theme="dark"] .pagination button,
:root[data-theme="dark"] .pager button,
:root[data-theme="dark"] ul.pagination button,
:root[data-theme="dark"] div.pager button,
:root[data-theme="dark"] .pagination li > a,
:root[data-theme="dark"] .pager li > a,
:root[data-theme="dark"] ul.pagination li > a,
:root[data-theme="dark"] div.pager li > a,
:root[data-theme="dark"] .pagination li > span,
:root[data-theme="dark"] .pager li > span,
:root[data-theme="dark"] ul.pagination li > span,
:root[data-theme="dark"] div.pager li > span {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .pagination a:hover,
:root[data-theme="dark"] .pager a:hover,
:root[data-theme="dark"] ul.pagination a:hover,
:root[data-theme="dark"] div.pager a:hover {
  background-color: var(--bg-surface) !important;
  border-color: var(--link) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .pagination .current,
:root[data-theme="dark"] .pager .current,
:root[data-theme="dark"] ul.pagination .current,
:root[data-theme="dark"] div.pager .current,
:root[data-theme="dark"] .pagination li.current > span,
:root[data-theme="dark"] .pager li.current > span,
:root[data-theme="dark"] ul.pagination li.current > span,
:root[data-theme="dark"] div.pager li.current > span,
:root[data-theme="dark"] .pagination li.active > a,
:root[data-theme="dark"] .pager li.active > a,
:root[data-theme="dark"] ul.pagination li.active > a,
:root[data-theme="dark"] div.pager li.active > a,
:root[data-theme="dark"] .pagination .is-current,
:root[data-theme="dark"] .pager .is-current,
:root[data-theme="dark"] ul.pagination .is-current,
:root[data-theme="dark"] div.pager .is-current {
  background-color: var(--link) !important;
  border-color: var(--link) !important;
  color: var(--bg-base) !important;
}
:root[data-theme="dark"] div.uiModal,
:root[data-theme="dark"] div.modal-container,
:root[data-theme="dark"] div.uiModalContent,
:root[data-theme="dark"] div.modalContent {
  background-color: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.uiModal .modalTitle,
:root[data-theme="dark"] div.modal-container .modalTitle,
:root[data-theme="dark"] div.uiModalContent .modalTitle,
:root[data-theme="dark"] div.modalContent .modalTitle,
:root[data-theme="dark"] div.uiModal .modal-header,
:root[data-theme="dark"] div.modal-container .modal-header,
:root[data-theme="dark"] div.uiModalContent .modal-header,
:root[data-theme="dark"] div.modalContent .modal-header,
:root[data-theme="dark"] div.uiModal .modalHeader,
:root[data-theme="dark"] div.modal-container .modalHeader,
:root[data-theme="dark"] div.uiModalContent .modalHeader,
:root[data-theme="dark"] div.modalContent .modalHeader {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
}
:root[data-theme="dark"] div.uiModal label,
:root[data-theme="dark"] div.modal-container label,
:root[data-theme="dark"] div.uiModalContent label,
:root[data-theme="dark"] div.modalContent label,
:root[data-theme="dark"] div.uiModal .fieldLabel,
:root[data-theme="dark"] div.modal-container .fieldLabel,
:root[data-theme="dark"] div.uiModalContent .fieldLabel,
:root[data-theme="dark"] div.modalContent .fieldLabel {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] div.uiModal input[type="text"],
:root[data-theme="dark"] div.modal-container input[type="text"],
:root[data-theme="dark"] div.uiModalContent input[type="text"],
:root[data-theme="dark"] div.modalContent input[type="text"],
:root[data-theme="dark"] div.uiModal input[type="email"],
:root[data-theme="dark"] div.modal-container input[type="email"],
:root[data-theme="dark"] div.uiModalContent input[type="email"],
:root[data-theme="dark"] div.modalContent input[type="email"],
:root[data-theme="dark"] div.uiModal input[type="password"],
:root[data-theme="dark"] div.modal-container input[type="password"],
:root[data-theme="dark"] div.uiModalContent input[type="password"],
:root[data-theme="dark"] div.modalContent input[type="password"],
:root[data-theme="dark"] div.uiModal textarea,
:root[data-theme="dark"] div.modal-container textarea,
:root[data-theme="dark"] div.uiModalContent textarea,
:root[data-theme="dark"] div.modalContent textarea,
:root[data-theme="dark"] div.uiModal select,
:root[data-theme="dark"] div.modal-container select,
:root[data-theme="dark"] div.uiModalContent select,
:root[data-theme="dark"] div.modalContent select {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--input-text) !important;
}
:root[data-theme="dark"] input[type="submit"].normal,
:root[data-theme="dark"] button.normal.primary,
:root[data-theme="dark"] a.button.primary {
  background-color: var(--link) !important;
  border-color: var(--link) !important;
  color: var(--bg-base) !important;
}
:root[data-theme="dark"] input[type="submit"].normal:hover,
:root[data-theme="dark"] button.normal.primary:hover,
:root[data-theme="dark"] a.button.primary:hover {
  background-color: var(--link-hover) !important;
  border-color: var(--link-hover) !important;
}
:root[data-theme="dark"] .contact-panel,
:root[data-theme="dark"] .get-in-touch,
:root[data-theme="dark"] .contact-quick-links,
:root[data-theme="dark"] .contact-quick-links a,
:root[data-theme="dark"] .contact-tile,
:root[data-theme="dark"] .contact-info-box,
:root[data-theme="dark"] .contact-card {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .contact-panel h1,
:root[data-theme="dark"] .get-in-touch h1,
:root[data-theme="dark"] .contact-quick-links h1,
:root[data-theme="dark"] .contact-quick-links a h1,
:root[data-theme="dark"] .contact-tile h1,
:root[data-theme="dark"] .contact-info-box h1,
:root[data-theme="dark"] .contact-card h1,
:root[data-theme="dark"] .contact-panel h2,
:root[data-theme="dark"] .get-in-touch h2,
:root[data-theme="dark"] .contact-quick-links h2,
:root[data-theme="dark"] .contact-quick-links a h2,
:root[data-theme="dark"] .contact-tile h2,
:root[data-theme="dark"] .contact-info-box h2,
:root[data-theme="dark"] .contact-card h2,
:root[data-theme="dark"] .contact-panel h3,
:root[data-theme="dark"] .get-in-touch h3,
:root[data-theme="dark"] .contact-quick-links h3,
:root[data-theme="dark"] .contact-quick-links a h3,
:root[data-theme="dark"] .contact-tile h3,
:root[data-theme="dark"] .contact-info-box h3,
:root[data-theme="dark"] .contact-card h3 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .contact-panel p,
:root[data-theme="dark"] .get-in-touch p,
:root[data-theme="dark"] .contact-quick-links p,
:root[data-theme="dark"] .contact-quick-links a p,
:root[data-theme="dark"] .contact-tile p,
:root[data-theme="dark"] .contact-info-box p,
:root[data-theme="dark"] .contact-card p,
:root[data-theme="dark"] .contact-panel .contact-sub,
:root[data-theme="dark"] .get-in-touch .contact-sub,
:root[data-theme="dark"] .contact-quick-links .contact-sub,
:root[data-theme="dark"] .contact-quick-links a .contact-sub,
:root[data-theme="dark"] .contact-tile .contact-sub,
:root[data-theme="dark"] .contact-info-box .contact-sub,
:root[data-theme="dark"] .contact-card .contact-sub {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .contact-quick-links a:hover,
:root[data-theme="dark"] .contact-tile:hover,
:root[data-theme="dark"] .contact-card:hover {
  background-color: var(--bg-elevated) !important;
  border-color: var(--link) !important;
}
:root[data-theme="dark"] .partner-logo,
:root[data-theme="dark"] .partner-tile,
:root[data-theme="dark"] .gridhomelogos > div,
:root[data-theme="dark"] .partner-grid > div {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: none !important;
}
:root[data-theme="dark"] .feature-tile,
:root[data-theme="dark"] .home-feature,
:root[data-theme="dark"] .home-features > div {
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .feature-tile:hover,
:root[data-theme="dark"] .home-feature:hover,
:root[data-theme="dark"] .home-features > div:hover {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-strong) !important;
}
/*
======================================================
Accessibility Mode (WCAG 2.2 AA+ profile, motion off)
======================================================
Driven by `<html data-accessibility="on">`. Set by the 4th segment of the theme slider, and persisted in localStorage. Also activated implicitly when the OS reports `prefers-reduced-motion: reduce` for first-time visitors.

The intent is to give users with vision, motor or cognitive needs a sturdier, calmer rendering — not a separate visual theme. Layout is unchanged. Adjustments are evidence-based against WCAG 2.2 AA (the conformance level mandated by NZ Web Accessibility Standard 1.2, March 2025) and lift selected criteria to AAA where practical:

  MOTION
  - All CSS transitions / animations are neutralised to ~0ms (WCAG 2.3.3 AAA).
  - SVG SMIL constellation orbs hidden (CSS animation rules don't affect SMIL).
  - Scroll-reveal pinned to visible state. Magnetic-button hover pinned to identity transform.
  - Heavy backdrop-filter blur removed (vestibular comfort + GPU cost).

  CONTRAST (WCAG 1.4.3 AA → AAA where feasible)
  - Body text contrast lifted toward 7:1 (AAA) on the bg-base surface.
  - Secondary text contrast lifted toward 4.5:1 (AAA large text → AAA normal text).
  - Borders lifted from "subtle" (low-vision invisible) to "strong" (≥3:1 against bg).

  TYPOGRAPHY (WCAG 1.4.12 AA)
  - Base font-size bumped from 15px to 17px so the 200% zoom requirement (1.4.4 AA) lands at 34px.
  - line-height ≥ 1.5 on body text.
  - letter-spacing ≥ 0.12em, word-spacing ≥ 0.16em on paragraph text.
  - paragraph margin ≥ 2× font-size.

  LINKS (WCAG 1.4.1 A — don't rely on colour alone)
  - All in-content links force `text-decoration: underline`.

  FOCUS (WCAG 2.4.7 AA + 2.4.13 Focus Appearance AAA)
  - 3px solid outline with 2px offset, in --link colour (AA contrast against any of our surfaces).

  TARGET SIZE (WCAG 2.5.8 AA → 2.5.5 AAA where feasible)
  - Buttons, anchor pills, form controls forced to ≥44×44 CSS pixels (iOS HIG / WCAG AAA).

  DECORATION
  - Translucent glass panels become opaque surfaces (low-vision users lose the layered effect anyway).
  - Hero gradient flattened to solid colour so text contrast is uniform across the section.
  - Background patterns (dot grid, bloom orbs, cursor glow) hidden.
*/

:root[data-accessibility="on"] {
  /* --------------------------------------------------------
     Token overrides — AAA-leaning palette, applied on top of the light theme (accessibility mode always resolves to data-theme="light").
     -------------------------------------------------------- */
  --bg-base: white;
  /* pure white — uniform background for max text contrast */
  --bg-surface: white;
  --bg-elevated: #f5f6f8;
  --bg-header: white;
  --border-subtle: #5a6378;
  /* lifted from #E5E5E5 — borders now meet 3:1 against white (1.4.11) */
  --border-strong: #2f3548;
  --text-primary: #15192a;
  /* 14.5:1 against white — AAA normal text */
  --text-secondary: #2f3548;
  /*  9.2:1 — comfortably AAA */
  --text-muted: #4e556c;
  /*  7.4:1 — still AAA normal text, no "grey" failure case */
  --link: #1f3d8c;
  /*  9.0:1 against white — strong primary blue */
  --link-hover: #122769;
  --input-bg: white;
  --input-border: #5a6378;
  --input-text: #15192a;
  /* --------------------------------------------------------
     Typography (WCAG 1.4.12 + 1.4.4)
     -------------------------------------------------------- */

  /* 200% zoom = 34px (1.4.4 AA) */

  /* paragraph spacing ≥ 2× font size pulse */

  /* --------------------------------------------------------
     Links (WCAG 1.4.1 — never colour alone)
     -------------------------------------------------------- */

  /* --------------------------------------------------------
     Focus (WCAG 2.4.7 AA + 2.4.13 AAA)
     -------------------------------------------------------- */

  /* Some interactive controls suppress the browser-default outline with outline:none; bring it back. */

  /* --------------------------------------------------------
     Target size (WCAG 2.5.5 AAA — 44×44)
     -------------------------------------------------------- */

  /* The theme-slider segments are deliberately exempt: they're 36px each because they belong to a tightly-grouped iOS-style segmented control where the whole 152px pill is the effective target. Forcing 44px width on each segment de-syncs the floating thumb track (which translates by 36px per position) — observed by Alex 2026-05-20. */

  /* Form fields — bump tap area to 44px */

  /* --------------------------------------------------------
     Decoration — flatten everything translucent
     -------------------------------------------------------- */

  /* Hero gradient → solid surface so text contrast is uniform across the section */

  /* CTA dark section — also flatten to a high-contrast surface. Recolour ALL descendants so styles that were designed for a dark surface (white text, white-ish icons, translucent panels) re-render legibly. */

  /* Glass panels → opaque surface. The theme slider is deliberately NOT in this list — it's a control, not a content panel; flattening it to --bg-surface (white) on a white page makes the thumb invisible and breaks the position indicator (reported by Alex 2026-05-20). The slider keeps its existing translucent-grey glass treatment, which already meets 3:1 against every backdrop. */

  /* Text colour fix-ups — base styles colour these as white-on-glass (because the original surfaces were dark blue or black). With glass flattened to white, white text became invisible (reported by Alex 2026-05-20). Repaint every label/headline on the now-opaque white surfaces. */

  /* Gradient text (heading words inside <span class="gradient-text">) — WCAG 1.4.1 frowns on relying on a gradient for emphasis because the effective contrast across the gradient varies. Force solid --text-primary so the whole headline reads at AAA contrast. */

  /* Buttons that were designed for dark/hero/CTA backgrounds use translucent-white fills + white text. With those sections flattened to light surfaces under a11y mode, those buttons become near-invisible (Alex 2026-05-20: "Contact Sales is almost invisible"). Force ALL primary action buttons sitting on the hero / CTA / dark contexts to a solid filled --link colour with white text — guaranteed AA (9:1 against --link blue). */

  /* The "Trusted by 400+ lenders worldwide" hero-badge sits on the now-white hero — its base style is a translucent-white pill which is invisible on white. Give it a solid AAA-readable surface. */

  /* "AI-POWERED" tag inside the constellation centre badge — base uses a coral-blue gradient with white text. The gradient is decorative; flatten to a solid AA-readable pill. */

  /* Contact-page quick chips (.contact-quick-chip) — glass cards with `color: white` + child label/sub also white. Repaint for the now-light hero. */

  /* Contact International cards (.intl-card) — same pattern: glass cards with white text on the dark international section. Section itself was already flattened above. */

  /* Background decoration hidden */

  /* --------------------------------------------------------
     Animation neutralisation (existing block below, kept)
     -------------------------------------------------------- */

  /* Stop the hero grid/constellation/cursor-glow motion. The dots become a static, slightly-on tint so the hero still has texture but nothing moves. */

  /* The hub constellation contains SVG SMIL animations (<animateMotion>) on the orbs that travel from the centre out to each module node. CSS `animation: none` does NOT affect SMIL animations — they are a separate animation system. Hiding the .con-particles group is the only reliable way to stop them in accessibility mode. (Reported by Alex 2026-05-20.) */

  /* Node, halo and chip pulses are CSS animations and ARE caught by the * rule above — but we also pin them to the static end-state explicitly so there's no momentary tween. */

  /* Floating decoration "bubbles" (Established / Cloud Access etc. that Natalie flagged as overlapping the panel at narrow viewports). Hidden entirely in accessibility mode — Natalie's concern is bound to this mode rather than enforced site-wide for everyone. (Alex 2026-05-20.) */

  /* Magnetic-button hover + scroll-reveal — both wrap content in JS-driven motion. Pin transforms to identity. */

  /* Heavy backdrop-filter blurs are visually busy — replace with a flat tint that still gives the same hierarchy. */

}
html:root[data-accessibility="on"] {
  font-size: 17px;
}
:root[data-accessibility="on"] body,
:root[data-accessibility="on"] p,
:root[data-accessibility="on"] li,
:root[data-accessibility="on"] td,
:root[data-accessibility="on"] dd,
:root[data-accessibility="on"] blockquote {
  line-height: 1.6 !important;
  /* ≥1.5 (1.4.12) */
  letter-spacing: 0.012em;
  /* gentle bump, not the full 0.12em (which the spec says must be ALLOWED — not forced) */

}
:root[data-accessibility="on"] p {
  margin-bottom: 1.2em !important;
}
:root[data-accessibility="on"] a:not(.button):not([class*="btn"]):not([class*="-button"]):not(.theme-slider-segment):not(.about-tab):not(.mini-feature):not(.contact-quick-chip):not(.intl-card):not(.MyOption):not(.cmd-result):not(.partner-logo):not(.partner-tile):not(.filter-pill):not(.view-all) {
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1.5px;
}
:root[data-accessibility="on"] *:focus-visible {
  outline: 3px solid var(--link) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px rgba(31, 61, 140, 0.18) !important;
}
:root[data-accessibility="on"] button:focus,
:root[data-accessibility="on"] input:focus,
:root[data-accessibility="on"] select:focus,
:root[data-accessibility="on"] textarea:focus,
:root[data-accessibility="on"] a:focus,
:root[data-accessibility="on"] [role="button"]:focus {
  outline: 3px solid var(--link) !important;
  outline-offset: 2px !important;
}
:root[data-accessibility="on"] button:not(.theme-slider-segment):not(.support-chooser-close):not(.mobile-submenu-toggle),
:root[data-accessibility="on"] input[type="button"],
:root[data-accessibility="on"] input[type="submit"],
:root[data-accessibility="on"] input[type="reset"],
:root[data-accessibility="on"] .button,
:root[data-accessibility="on"] a.button,
:root[data-accessibility="on"] a[role="button"],
:root[data-accessibility="on"] .filter-pill,
:root[data-accessibility="on"] .about-tab,
:root[data-accessibility="on"] .contact-quick-chip,
:root[data-accessibility="on"] .intl-card {
  min-height: 44px;
  min-width: 44px;
  padding-top: 10px;
  padding-bottom: 10px;
}
:root[data-accessibility="on"] input[type="text"],
:root[data-accessibility="on"] input[type="email"],
:root[data-accessibility="on"] input[type="password"],
:root[data-accessibility="on"] input[type="tel"],
:root[data-accessibility="on"] input[type="search"],
:root[data-accessibility="on"] input[type="url"],
:root[data-accessibility="on"] input[type="number"],
:root[data-accessibility="on"] select,
:root[data-accessibility="on"] textarea {
  min-height: 44px;
  padding: 10px 12px;
}
:root[data-accessibility="on"] .full-width.hero-gradient {
  background: var(--bg-base) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .full-width.hero-gradient h1,
:root[data-accessibility="on"] .full-width.hero-gradient h2,
:root[data-accessibility="on"] .full-width.hero-gradient h3,
:root[data-accessibility="on"] .full-width.hero-gradient h4,
:root[data-accessibility="on"] .full-width.hero-gradient .hero-subtitle,
:root[data-accessibility="on"] .full-width.hero-gradient .hero-badge {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .full-width.hero-gradient .hero-subtitle {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .full-width.hero-gradient .hero-badge {
  background-color: var(--bg-elevated) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section,
:root[data-accessibility="on"] .full-width.dark {
  background: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
  /* Section labels (eyebrow text) — base .section-label.light is white */

  /* News / item cards — base uses translucent-white glass on the dark section */

  /* Decorative icon glyphs (white icons on dark) — repaint to brand colour */

}
:root[data-accessibility="on"] .cta-section h1,
:root[data-accessibility="on"] .full-width.dark h1,
:root[data-accessibility="on"] .cta-section h2,
:root[data-accessibility="on"] .full-width.dark h2,
:root[data-accessibility="on"] .cta-section h3,
:root[data-accessibility="on"] .full-width.dark h3,
:root[data-accessibility="on"] .cta-section h4,
:root[data-accessibility="on"] .full-width.dark h4 {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section p,
:root[data-accessibility="on"] .full-width.dark p,
:root[data-accessibility="on"] .cta-section li,
:root[data-accessibility="on"] .full-width.dark li,
:root[data-accessibility="on"] .cta-section td,
:root[data-accessibility="on"] .full-width.dark td,
:root[data-accessibility="on"] .cta-section dd,
:root[data-accessibility="on"] .full-width.dark dd,
:root[data-accessibility="on"] .cta-section blockquote,
:root[data-accessibility="on"] .full-width.dark blockquote {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .cta-section .section-label,
:root[data-accessibility="on"] .full-width.dark .section-label,
:root[data-accessibility="on"] .cta-section span.section-label,
:root[data-accessibility="on"] .full-width.dark span.section-label,
:root[data-accessibility="on"] .cta-section span.section-label.light,
:root[data-accessibility="on"] .full-width.dark span.section-label.light {
  color: var(--link) !important;
  background-color: rgba(31, 61, 140, 0.1) !important;
}
:root[data-accessibility="on"] .cta-section .items .item,
:root[data-accessibility="on"] .full-width.dark .items .item,
:root[data-accessibility="on"] .cta-section .item,
:root[data-accessibility="on"] .full-width.dark .item {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section .items .item a,
:root[data-accessibility="on"] .full-width.dark .items .item a,
:root[data-accessibility="on"] .cta-section .item a,
:root[data-accessibility="on"] .full-width.dark .item a {
  color: var(--link) !important;
  text-decoration: underline !important;
}
:root[data-accessibility="on"] .cta-section .items .item h2,
:root[data-accessibility="on"] .full-width.dark .items .item h2,
:root[data-accessibility="on"] .cta-section .item h2,
:root[data-accessibility="on"] .full-width.dark .item h2,
:root[data-accessibility="on"] .cta-section .items .item h3,
:root[data-accessibility="on"] .full-width.dark .items .item h3,
:root[data-accessibility="on"] .cta-section .item h3,
:root[data-accessibility="on"] .full-width.dark .item h3,
:root[data-accessibility="on"] .cta-section .items .item h4,
:root[data-accessibility="on"] .full-width.dark .items .item h4,
:root[data-accessibility="on"] .cta-section .item h4,
:root[data-accessibility="on"] .full-width.dark .item h4 {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section .items .item p,
:root[data-accessibility="on"] .full-width.dark .items .item p,
:root[data-accessibility="on"] .cta-section .item p,
:root[data-accessibility="on"] .full-width.dark .item p,
:root[data-accessibility="on"] .cta-section .items .item span,
:root[data-accessibility="on"] .full-width.dark .items .item span,
:root[data-accessibility="on"] .cta-section .item span,
:root[data-accessibility="on"] .full-width.dark .item span,
:root[data-accessibility="on"] .cta-section .items .item time,
:root[data-accessibility="on"] .full-width.dark .items .item time,
:root[data-accessibility="on"] .cta-section .item time,
:root[data-accessibility="on"] .full-width.dark .item time {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .cta-section .glyph,
:root[data-accessibility="on"] .full-width.dark .glyph,
:root[data-accessibility="on"] .cta-section .item .glyph,
:root[data-accessibility="on"] .full-width.dark .item .glyph,
:root[data-accessibility="on"] .cta-section [class*="glyph-"],
:root[data-accessibility="on"] .full-width.dark [class*="glyph-"] {
  color: var(--link) !important;
  background-color: rgba(31, 61, 140, 0.1) !important;
}
:root[data-accessibility="on"] .hero-content,
:root[data-accessibility="on"] .floating-chip,
:root[data-accessibility="on"] .con-chip,
:root[data-accessibility="on"] .con-center-badge,
:root[data-accessibility="on"] .glass,
:root[data-accessibility="on"] .glass-light,
:root[data-accessibility="on"] .support-chooser-dialog,
:root[data-accessibility="on"] .live-search-dropdown,
:root[data-accessibility="on"] .user-menu-dropdown {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .con-chip,
:root[data-accessibility="on"] .con-chip--featured,
:root[data-accessibility="on"] .floating-chip,
:root[data-accessibility="on"] .floating-chip .chip-label,
:root[data-accessibility="on"] .floating-chip .chip-value,
:root[data-accessibility="on"] .trust-item,
:root[data-accessibility="on"] .hero-trust-row,
:root[data-accessibility="on"] .hero-content {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .floating-chip .chip-label,
:root[data-accessibility="on"] .trust-item .trust-icon {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .gradient-text,
:root[data-accessibility="on"] .topic .gradient-text,
:root[data-accessibility="on"] .hero-content .gradient-text {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: var(--text-primary) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .hero-buttons button,
:root[data-accessibility="on"] .hero-buttons a.button,
:root[data-accessibility="on"] .cta-section button,
:root[data-accessibility="on"] .cta-section a.button,
:root[data-accessibility="on"] .full-width.hero-gradient button,
:root[data-accessibility="on"] .full-width.dark button,
:root[data-accessibility="on"] button.green,
:root[data-accessibility="on"] button.blue,
:root[data-accessibility="on"] button.red,
:root[data-accessibility="on"] a.button.green,
:root[data-accessibility="on"] a.button.blue,
:root[data-accessibility="on"] a.button.red {
  background: var(--link) !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  color: white !important;
  border: 1px solid var(--link) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
:root[data-accessibility="on"] .hero-buttons button:hover,
:root[data-accessibility="on"] .hero-buttons a.button:hover,
:root[data-accessibility="on"] .cta-section button:hover,
:root[data-accessibility="on"] .cta-section a.button:hover,
:root[data-accessibility="on"] .full-width.hero-gradient button:hover,
:root[data-accessibility="on"] .full-width.dark button:hover,
:root[data-accessibility="on"] button.green:hover,
:root[data-accessibility="on"] button.blue:hover,
:root[data-accessibility="on"] button.red:hover,
:root[data-accessibility="on"] a.button.green:hover,
:root[data-accessibility="on"] a.button.blue:hover,
:root[data-accessibility="on"] a.button.red:hover,
:root[data-accessibility="on"] .hero-buttons button:focus-visible,
:root[data-accessibility="on"] .hero-buttons a.button:focus-visible,
:root[data-accessibility="on"] .cta-section button:focus-visible,
:root[data-accessibility="on"] .cta-section a.button:focus-visible,
:root[data-accessibility="on"] .full-width.hero-gradient button:focus-visible,
:root[data-accessibility="on"] .full-width.dark button:focus-visible,
:root[data-accessibility="on"] button.green:focus-visible,
:root[data-accessibility="on"] button.blue:focus-visible,
:root[data-accessibility="on"] button.red:focus-visible,
:root[data-accessibility="on"] a.button.green:focus-visible,
:root[data-accessibility="on"] a.button.blue:focus-visible,
:root[data-accessibility="on"] a.button.red:focus-visible {
  background: var(--link-hover) !important;
  border-color: var(--link-hover) !important;
  color: white !important;
}
:root[data-accessibility="on"] .hero-badge {
  background-color: var(--bg-elevated) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
:root[data-accessibility="on"] .con-center-ai-tag {
  background: var(--link) !important;
  color: white !important;
}
:root[data-accessibility="on"] .contact-quick-chip {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .contact-quick-chip .contact-chip-label {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .contact-quick-chip .contact-chip-sub {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .contact-quick-chip .contact-chip-icon {
  background: var(--link) !important;
  background-image: none !important;
  color: white !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .contact-quick-chip:hover,
:root[data-accessibility="on"] .contact-quick-chip:focus-visible {
  background: var(--bg-elevated) !important;
  border-color: var(--link) !important;
  transform: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .intl-card {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .intl-card .intl-label {
  color: var(--text-muted) !important;
}
:root[data-accessibility="on"] .intl-card .intl-value {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .intl-card .intl-icon {
  background: var(--link) !important;
  background-image: none !important;
  color: white !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .intl-card:hover,
:root[data-accessibility="on"] .intl-card:focus-visible {
  background: var(--bg-elevated) !important;
  border-color: var(--link) !important;
  transform: none !important;
}
:root[data-accessibility="on"] .dot-field,
:root[data-accessibility="on"] .grid-overlay,
:root[data-accessibility="on"] .hero-bloom,
:root[data-accessibility="on"] .cursor-glow,
:root[data-accessibility="on"] .hero-cursor-glow,
:root[data-accessibility="on"] .hero-particles,
:root[data-accessibility="on"] .bloom-orb,
:root[data-accessibility="on"] .con-particles,
:root[data-accessibility="on"] .con-link,
:root[data-accessibility="on"] .con-halos {
  display: none !important;
}
:root[data-accessibility="on"] *,
:root[data-accessibility="on"] *::before,
:root[data-accessibility="on"] *::after {
  animation-duration: 0.001ms !important;
  animation-delay: 0ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  transition-delay: 0ms !important;
  scroll-behavior: auto !important;
}
:root[data-accessibility="on"] .hero-constellation,
:root[data-accessibility="on"] .hero-grid,
:root[data-accessibility="on"] .hero-dots,
:root[data-accessibility="on"] .hero-cursor-glow,
:root[data-accessibility="on"] .hero-particles {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}
:root[data-accessibility="on"] .hero-cursor-glow,
:root[data-accessibility="on"] .hero-particles {
  display: none !important;
  /* purely-decorative cursor glow / particles — remove entirely */

}
:root[data-accessibility="on"] .con-particles,
:root[data-accessibility="on"] .con-link {
  display: none !important;
}
:root[data-accessibility="on"] .con-node,
:root[data-accessibility="on"] .con-node--hub,
:root[data-accessibility="on"] .con-node--featured,
:root[data-accessibility="on"] .con-halos circle,
:root[data-accessibility="on"] .con-chip,
:root[data-accessibility="on"] .con-center-badge {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}
:root[data-accessibility="on"] .con-chip {
  transform: translate(-50%, -50%) !important;
}
:root[data-accessibility="on"] .con-center-badge {
  transform: translate(-50%, -50%) !important;
}
:root[data-accessibility="on"] .hero-floating-stats,
:root[data-accessibility="on"] .hero-floating-stat,
:root[data-accessibility="on"] .floating-badge {
  display: none !important;
}
:root[data-accessibility="on"] .magnetic-btn,
:root[data-accessibility="on"] .magnetic-button {
  transform: none !important;
}
:root[data-accessibility="on"] .reveal {
  opacity: 1 !important;
  transform: none !important;
}
:root[data-accessibility="on"] .glass,
:root[data-accessibility="on"] .glass-light,
:root[data-accessibility="on"] .support-chooser-dialog,
:root[data-accessibility="on"] .theme-slider {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
/*
======================================================
Theme slider (floating, bottom-left, iOS-style)
======================================================
Three explicit positions: Left = Light, Middle = System, Right = Dark. The user clicks the segment they want; localStorage persists the choice. Visual is an iOS-style segmented control — a track with a floating white thumb that springs between positions on click. */
.theme-slider {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 90;
  /* below modals (which sit at 9999+) but above ordinary content */
  display: inline-flex;
  align-items: center;
  padding: 4px;
  /* Opacity bumped 0.16 → 0.32 → 0.48 so the slider reads as a defined pill on every backdrop. Flynn (J036935 #9) reported the slider was barely visible over the white footer in light mode — 0.32 was enough on dark sections but disappeared on the white footer band. 0.48 keeps the glassy iOS look on coloured surfaces while staying clearly defined on white. */
  background: rgba(120, 120, 128, 0.48);
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 6px 18px rgba(0, 0, 0, 0.12);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  backdrop-filter: blur(24px) saturate(180%);
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;
  /* Floating thumb — slides between segment positions with spring physics. */

  /* Slide the thumb and darken the active segment's icon (dark icon on white thumb reads naturally) — driven by data-theme-preference on <html> */

  /* Toast — confirmation pill that appears briefly above the slider when the user changes theme. role="status" / aria-live="polite" makes screen-readers announce the change. */

  /* On phones, sit a bit closer to the corner so it doesn't crowd content */

}
.theme-slider .theme-slider-track {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: white;
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 1;
  pointer-events: none;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.06), inset 0 0 0 0.5px rgba(0, 0, 0, 0.04);
}
.theme-slider .theme-slider-segment {
  position: relative;
  z-index: 2;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  /* Inactive icons: opaque enough to read on any backdrop (was 0.6 — became invisible over dark sections) */
  color: rgba(60, 60, 67, 0.85);
  transition: color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.15s cubic-bezier(0.22, 0.61, 0.36, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* sun */

  /* desktop */

  /* moon */

  /* universal-access */

}
.theme-slider .theme-slider-segment:hover {
  color: rgba(60, 60, 67, 0.9);
}
.theme-slider .theme-slider-segment:active {
  transform: scale(0.92);
}
.theme-slider .theme-slider-segment:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 3px;
}
.theme-slider .theme-slider-segment .theme-slider-icon {
  font-family: isfas;
  font-size: 14px;
  line-height: 1;
}
.theme-slider .theme-slider-segment[data-theme-set="light"] .theme-slider-icon:before {
  content: "\f185";
}
.theme-slider .theme-slider-segment[data-theme-set="system"] .theme-slider-icon:before {
  content: "\f108";
}
.theme-slider .theme-slider-segment[data-theme-set="dark"] .theme-slider-icon:before {
  content: "\f186";
}
.theme-slider .theme-slider-segment[data-theme-set="accessibility"] .theme-slider-icon:before {
  content: "\f29a";
}
:root[data-theme-preference="light"] .theme-slider .theme-slider-track {
  transform: translateX(0);
}
:root[data-theme-preference="system"] .theme-slider .theme-slider-track {
  transform: translateX(36px);
}
:root[data-theme-preference="dark"] .theme-slider .theme-slider-track {
  transform: translateX(72px);
}
:root[data-theme-preference="accessibility"] .theme-slider .theme-slider-track {
  transform: translateX(108px);
}
:root[data-theme-preference="light"] .theme-slider .theme-slider-segment[data-theme-set="light"],
:root[data-theme-preference="system"] .theme-slider .theme-slider-segment[data-theme-set="system"],
:root[data-theme-preference="dark"] .theme-slider .theme-slider-segment[data-theme-set="dark"],
:root[data-theme-preference="accessibility"] .theme-slider .theme-slider-segment[data-theme-set="accessibility"] {
  color: #1a1a1a;
  /* iOS primary label — dark for high contrast on the white thumb */

}
.theme-slider .theme-slider-toast {
  position: absolute;
  bottom: calc(108%);
  left: 0;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(28, 28, 30, 0.92);
  /* iOS toast dark fill, near-opaque so the message is unambiguous */
  color: white;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(6px) scale(0.96);
  transform-origin: bottom left;
  transition: opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25), 0 1px 3px rgba(0, 0, 0, 0.15);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  z-index: 3;
  /* Render empty by default — only appears when JS sets text + adds .is-visible */

}
.theme-slider .theme-slider-toast:empty {
  display: none;
}
.theme-slider .theme-slider-toast.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
@media screen and (max-width: 720px) {
  .theme-slider {
    bottom: 14px;
    left: 14px;
  }
}
/*
======================================================
Theme Slider — animated collapse / expand
======================================================
The full 4-segment pill is intrusive when sitting permanently in the corner — especially on mobile. Default state collapses to a single-icon pill showing the currently-active theme at reduced opacity, so the widget is recognisable but quiet. Hovering (on hover-capable devices) or tapping (on touch devices) adds the `.is-expanded` class, which animates the inactive segments back in (width 0 → 36px, opacity 0 → 1, scale 0.5 → 1) and lifts the container opacity to fully opaque. Esc, outside-tap, or selecting a segment removes `.is-expanded` again (segment-select keeps it visible for ~900ms so the toast confirmation has time to display).

JS owns the `.is-expanded` toggle exclusively — using CSS `:hover` to drive expansion would leave the slider stuck open on touch devices after a tap. Lives in initThemeToggle (Scripts/general.js).

Accessibility mode disables transitions globally via the existing `*` rule at general.less:8031 — the expand/collapse becomes instant when motion is off, no extra code needed. */

/* Slider container — transparent + compact in the default (collapsed) state, fully opaque when expanded. */

.theme-slider {
  transition: opacity 0.28s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.theme-slider:not(.is-expanded) {
  opacity: 0.45;
  cursor: pointer;
}
.theme-slider.is-expanded {
  opacity: 1;
}
/* Segments need width + opacity in the transition list so the collapse animation reads as a smooth shrink-back rather than a snap. Overrides the existing color/transform-only transition on the same selector (same specificity, source order wins because this rule sits later in the file). */

.theme-slider .theme-slider-segment {
  transition: color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), width 0.28s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
/* Hide every non-active segment when collapsed. The active segment stays at full size — and because the others have width:0 in the flex row, the active segment naturally ends up at the leftmost visible position regardless of which one it is. */

:root[data-theme-preference="light"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="light"]),
:root[data-theme-preference="system"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="system"]),
:root[data-theme-preference="dark"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="dark"]),
:root[data-theme-preference="accessibility"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="accessibility"]) {
  width: 0;
  opacity: 0;
  transform: scale(0.5);
  pointer-events: none;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
/* Track snaps to position 0 when collapsed. The existing data-theme-preference rules at the top of the .theme-slider block push the track to positions 0/36/72/108 — those still apply when .is-expanded; this override only kicks in when collapsed, where the active segment is the only one shown and sits at position 0. The `:root` prefix bumps specificity to (0,3,1) to match the existing `:root[data-theme-preference=…] .theme-slider .theme-slider-track` rule; source order then decides, and this is later in the file so it wins. */

:root .theme-slider:not(.is-expanded) .theme-slider-track {
  transform: translateX(0);
}
/* Dark mode — invert the colour tokens so the slider reads naturally on dark surfaces */

:root[data-theme="dark"] .theme-slider {
  background: rgba(120, 120, 128, 0.24);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 4px 14px rgba(0, 0, 0, 0.5);
  /* Active segment in dark mode: bright text on the dark thumb */

}
:root[data-theme="dark"] .theme-slider .theme-slider-track {
  background: #3a3a3c;
  /* iOS dark-mode elevated surface */
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3), inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}
:root[data-theme="dark"] .theme-slider .theme-slider-segment {
  color: rgba(235, 235, 245, 0.5);
}
:root[data-theme="dark"] .theme-slider .theme-slider-segment:hover {
  color: rgba(235, 235, 245, 0.85);
}
:root[data-theme-preference="light"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="light"],
:root[data-theme-preference="system"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="system"],
:root[data-theme-preference="dark"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="dark"],
:root[data-theme-preference="accessibility"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="accessibility"] {
  color: white;
}
/*
======================================================
J036935 — round-2 layout / theme-agnostic fixes (2026-05-20)
======================================================
Targeted overrides for the issues that aren't dark-mode-only.
Most go through CSS variables so they auto-theme.
Each rule cites the feedback author + screenshot number. */

/* Contact-page .office-info: long email links wrapped in .linkmailto/.linkexternal pills overflow the column at narrow widths because the pill is inline-block and inline-block ignores `word-break`. Allow the chip to wrap and cap its width to its parent. Caroline #6.Contact Page (email exceeds box). Flynn #15 (contact details don't line up). */

.office-info .oi-text a.linkmailto,
.office-info .oi-text a.linkexternal,
.office-info .oi-text a.linkinternal {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}
/* Homepage mini-feature tiles: Martin asked us to lose the white/grey top border ("makes them look 3d, sooooooo 90's brah") and Flynn #16 reported the tiles look interactive on hover but go nowhere, and that their default border is too faint to give the layout definition. Strengthen the border, suppress the inset-highlight 3D edge, and downgrade the hover so the tile reads as a passive feature card. Tiles that ARE links keep their interactive hover via the existing `a.mini-feature` rule. */

.mini-feature,
.feature-cards-stack .mini-feature {
  /* Suppress the inset white "top" highlight that pre-existed as a 3D effect */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  border-color: var(--border-strong) !important;
}
/* Non-anchor tiles (passive feature cards) — keep static, neutral hover */

div.mini-feature:not(a):hover,
.feature-cards-stack > div.mini-feature:not(a):hover {
  transform: none !important;
  background-color: var(--bg-base) !important;
  border-color: var(--border-strong) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  cursor: default;
}
/* Footer dot-strip (Flynn #17 — the strip above the footer feels redundant in light mode, most noticeable there). The strip is `.dot-field` projected up into the bottom of certain full-width sections. Suppress the dot-field projection in light mode for the section that sits directly above the footer; leave the hero's own dot-field intact. */

:root[data-theme="light"] div.full-width:last-of-type .dot-field,
:root[data-theme="light"] #pnlHomeWork ~ .full-width .dot-field {
  display: none !important;
}
/* Partner logo tiles (About → Partners): on light mode the existing tile chrome has mixed brightness (some logos sit on a near-white background, some on a slightly different tint, some are empty placeholders). Normalise every tile to one consistent translucent surface so the LOGO is the focal point, not the chrome. Combined with the `mix-blend-mode` rule below this gives uniform optical weight. Jo (Monoova broken image) is fixed in the ASPX markup. Flynn #10 — "mixed logo backgrounds + empty rectangles". */

.partner-logo,
.partner-tile,
.gridhomelogos > div,
.partner-grid > div {
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: none;
  /* Empty tiles (no <img> child) should be hidden rather than rendered as ghost rectangles. */

}
.partner-logo:empty,
.partner-tile:empty,
.gridhomelogos > div:empty,
.partner-grid > div:empty {
  display: none !important;
}
.partner-logo img,
.partner-tile img,
.gridhomelogos > div img,
.partner-grid > div img {
  /* Light-mode default; dark mode is overridden in the dark-block. mix-blend-mode `multiply` lets logos drawn on their own white backgrounds blend cleanly with the tile surface. */
  mix-blend-mode: multiply;
}
:root[data-theme="dark"] .partner-logo img,
:root[data-theme="dark"] .partner-tile img,
:root[data-theme="dark"] .gridhomelogos > div img,
:root[data-theme="dark"] .partner-grid > div img {
  mix-blend-mode: screen;
  /* dark surface — invert the blend so a white logo background reads as glow rather than block */
  filter: brightness(0.92);
}
/* "Access From Any Device" home-page screenshot (Flynn #8 — "doesn't look great"). The image is a raw composite; wrap it in a proper device-style frame so it reads as deliberate device chrome (bezel + soft drop shadow) instead of a floating screenshot. Selector matches both the existing #pnlHomeWork container and any anchor-style equivalent. */

#pnlHomeWork div.img,
div.deviceShowcase,
div.deviceShowcase > img,
img.deviceShowcase {
  border-radius: 10px;
  background-color: var(--bg-surface);
  padding: 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 24px 60px -20px rgba(15, 20, 38, 0.35), 0 8px 20px -8px rgba(15, 20, 38, 0.25);
}
#pnlHomeWork div.img img,
div.deviceShowcase img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.2);
}
:root[data-theme="dark"] #pnlHomeWork div.img,
:root[data-theme="dark"] div.deviceShowcase,
:root[data-theme="dark"] div.deviceShowcase > img,
:root[data-theme="dark"] img.deviceShowcase {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 24px 60px -20px rgba(0, 0, 0, 0.55), 0 8px 20px -8px rgba(0, 0, 0, 0.45);
}
/* Forgotten-password "Remind" submit button (Flynn #18 — drifting/off-centre). The pre-existing rule centred the button via `display: block; margin: 0 auto;`, but the surrounding form-table layout was overriding that on certain widths. Force the centring with `align-self: center` for flex parents and a fallback `margin-inline: auto`. */

#cphMain #cmdRemind,
input[type="submit"][value="Remind"],
input.normal[name*="cmdRemind"] {
  display: inline-block;
  margin-inline: auto;
  align-self: center;
}
/* Horizontal-overflow guard for `.full-width` sections (Martin + Flynn #13). Originally we used `overflow-x: hidden` on both `html` and `.full-width`, because `.full-width` then used `width: 100vw` which includes the vertical-scrollbar gutter and so genuinely overflowed by ~17px. `.full-width` has since been refactored to `width: 100%` (see div.full-width rule, line ~2609), so the 17px overflow is gone — but the `overflow-x: hidden` declarations had a second, separately-harmful effect we hit later: per CSS Overflow Module Level 3, setting `overflow-x: hidden` on an element with default `overflow-y: visible` promotes `overflow-y` to `auto`, turning the element into a scroll container that paints a vertical scrollbar on any tiny overflow. Every `.full-width` section thus became a scroll container, and `.reveal` children (which start at `transform: translateY(16–30px)` before the IntersectionObserver flips them to 0) painted ~16–30px below their parent's layout box, which the implicit `overflow-y: auto` faithfully decorated with a short scrollbar — the "tiny pointless scrollbar" Alex reported on 2026-05-20. Using `overflow-x: clip` clips horizontally without creating a scroll container, so the other axis stays `visible` and no scrollbar appears. We also removed the `html { overflow-x: hidden }` rule for the same reason (it broke `body`'s overflow propagation to the viewport). NOTE: do NOT use `scrollbar-gutter: stable` on html — it reserves an EMPTY gutter even when no scroll thumb is needed, which renders as a visible "weird" band on short pages. */

.full-width {
  overflow-x: clip;
}
/*
======================================================
J036935 mobile drawer — deterministic visibility rules
======================================================
The legacy `body.mobilemenu div.site-menu { display: block; position: fixed; ... }` relies on specificity to beat the `@media (max-width:840)` `div#sitemenu { display: none }` rule. Force the win with !important so the drawer ALWAYS paints when body has .mobilemenu.

CRITICAL: `header#header` has `backdrop-filter: blur(18px)`. Per CSS spec, an ancestor with `backdrop-filter` (or transform/filter/perspective/will-change) becomes the containing block for `position: fixed` descendants — the drawer was being positioned relative to the 64px-tall header instead of the viewport, collapsing to 0 height. (Alex 2026-05-20: hamburger click toggled the class but nothing appeared, horizontal scrollbar flickered because the drawer fell back to a block-level child pushing layout sideways.) Solution: kill backdrop-filter on the header WHEN the drawer is open, so .site-menu's position:fixed anchors to the viewport again. The header is mostly covered by the drawer in this state so losing the glass effect is invisible. */

body.mobilemenu .header-wrapper,
body.mobilemenu header#header {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.mobilemenu div#sitemenu {
  display: inline-block !important;
}
body.mobilemenu div.site-menu {
  display: block !important;
  position: fixed !important;
  top: 64px;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 9999;
  background-color: #12121c;
  color: white;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
/*
======================================================
Mobile pass — Caroline 2026-05-20 (J036935)
======================================================
Three reported issues on iPhone:
  1. Hamburger button non-functional / menu items not tappable
  2. Theme toggle button non-functional
  3. Scrolling broken

Defensive fixes — most likely root causes covered:
  - Ensure the hamburger anchor is on top of any decoration (no fixed element overlaps it)
  - Ensure mobile-menu surface inherits dark/light tokens (was rendering with white-on-white)
  - Allow iOS momentum scrolling, restore `-webkit-overflow-scrolling: touch`
  - Stop the page from auto-locking to a fixed body when an open hamburger collides with overflow:hidden */

@media screen and (max-width: 720px) {
  /* Restore iOS momentum scrolling and guarantee the html element is the scroll container. Setting overflow on both html and body simultaneously sometimes breaks momentum on iOS Safari — keep overflow on html only. */
  
  html,
  body {
    -webkit-overflow-scrolling: touch;
  }
  body {
    overflow-y: visible;
    /* let html scroll the page, not body */
  
  }
  /* When the hamburger drawer is open, allow the drawer itself to scroll independently and prevent the underlying body from scrolling (so swipes in the open drawer work). */
  
  body.mobilemenu {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }
  /* Hamburger trigger — make sure it sits above the floating theme slider and a11y toggle (which are z-index: 90) and is fully tappable. */
  
  #mobilemenu {
    position: relative;
    z-index: 100;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Floating theme slider: at phone widths, sink it BELOW the open drawer (the drawer covers it when open), so taps within the drawer don't fall through. */
  
  body.mobilemenu .theme-slider {
    display: none;
  }
  /* Drawer item tap targets — make every menu link a real 44px touch target on iOS HIG. */
  
  body.mobilemenu div.site-menu a {
    display: block;
    padding: 14px 18px;
    min-height: 44px;
  }
}
/* iPhone-only safe-area inset so the floating theme slider clears the home-indicator. The calc() values are wrapped in ~"..." escape so dotless passes them through verbatim instead of trying to arithmetic-evaluate env() at compile time. Unwrapped `@supports` is unsupported by dotless 1.x — the rules are applied unconditionally; env() falls back to 0 on browsers that don't recognise it, so the calc resolves to the base offset and layout stays correct. */

.theme-slider {
  bottom: calc(20px + env(safe-area-inset-bottom));
  left: calc(20px + env(safe-area-inset-left));
}
@media screen and (max-width: 720px) {
  .theme-slider {
    bottom: calc(14px + env(safe-area-inset-bottom));
    left: calc(14px + env(safe-area-inset-left));
  }
}
.topic {
  padding: 0 0 24px 0;
  /* Responsive */

}
.topic > p,
.topic > h1,
.topic > h2,
.topic > h3,
.topic > h4,
.topic > ul,
.topic > ol,
.topic > table.ISForm,
.topic > div.messageouter,
.topic > div.message_alert32,
.topic > div.message_Info32,
.topic > div.message_help32,
.topic > div.message_note32,
.topic > div.message_special32 {
  max-width: 800px;
}
@media screen and (max-width: 1320px) {
  .topic {
    padding: 12px;
  }
}
.topic table.normaltable td,
.topic table.normaltable th,
.topic table.normaltable caption {
  font-size: 0.85em;
}
.topic p {
  line-height: 1.85;
  margin-bottom: 1em;
  margin-top: 0;
  color: #444444;
  font-size: 15px;
}
.topic h1 {
  color: var(--text-primary);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  margin-top: 48px;
  line-height: 1.15;
}
.topic h1:first-of-type {
  margin-top: 16px;
}
.topic h2 {
  color: var(--text-primary);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.015em;
  margin: 2em 0 0.6em 0;
  padding: 0 0 0.15em 0;
  line-height: 1.25;
}
.topic h3 {
  color: var(--text-primary);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 1.8em 0 0.6em 0;
  line-height: 1.35;
}
.topic h4 {
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 500;
  margin: 1.5em 0 0.4em 0;
  line-height: 1.4;
}
.topic h5 {
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
  margin: 1.2em 0 0.3em 0;
  line-height: 1.5;
  text-decoration: none;
}
/* Eyebrow / micro labels */

.topic .eyebrow,
.topic h6 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #3d5aa9;
  line-height: 1.5;
  margin: 1em 0 0.4em 0;
}
.topic h5 {
  color: #e3222f;
  font-size: 1.8em;
  font-weight: bold;
  text-decoration: line-through;
}
.topic h1 a,
.topic h2 a,
.topic h3 a,
.topic h4 a {
  color: var(--text-primary);
  text-decoration: none;
}
.topic h1 a:hover,
.topic h2 a:hover,
.topic h3 a:hover {
  color: #2f4684;
  text-decoration: none;
}
.topic a:hover.bookmark {
  text-decoration: none;
}
.topic a.linkexternal {
  background-color: rgba(46, 163, 242, 0.06);
  color: #2f4684 !important;
  border: 1px solid rgba(46, 163, 242, 0.15);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.linkexternal:hover {
  background-color: rgba(46, 163, 242, 0.12);
  color: #253666 !important;
}
.topic a.linkexternal:before {
  font-family: isfas;
  content: "\f0ac";
  margin-right: 4px;
  font-size: 0.85em;
}
.topic a.linkinternal {
  background-color: rgba(46, 163, 242, 0.06);
  color: #2f4684 !important;
  border: 1px solid rgba(46, 163, 242, 0.12);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 4px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.linkinternal.deprecated {
  color: var(--text-muted) !important;
  background-color: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.04);
}
.topic a.linkinternal:hover {
  background-color: rgba(46, 163, 242, 0.12);
  color: #253666 !important;
}
.topic a.linkaddress {
  background-color: var(--bg-base);
  color: #2f4684 !important;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  transition: all 0.15s ease;
}
.topic a.linkaddress:hover {
  background-color: rgba(46, 163, 242, 0.1);
  color: #253666 !important;
}
.topic a.linkinvalid {
  border-bottom: 1px dotted #e3222f;
  color: #e3222f;
  text-decoration: none;
}
.topic a.linkmailto {
  background-color: rgba(46, 163, 242, 0.06);
  color: #2d5f7a !important;
  border: 1px solid rgba(46, 163, 242, 0.12);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.linkmailto:hover {
  background-color: rgba(46, 163, 242, 0.12);
  color: #1a4a5f !important;
}
.topic a.linkmailto:before {
  font-family: isfas;
  content: "\f0e0";
  margin-right: 4px;
  font-size: 0.85em;
}
/* Begin Section Outlines */

/* End Section Outlines */

/* Begin Image Styles */

.topic div.image {
  margin-bottom: 1.25em;
  margin-top: 1.25em;
}
.topic td div.image {
  margin-bottom: 2px;
  margin-top: 2px;
}
.topic div.imageleft {
  clear: both;
  float: left;
  margin-right: 8px;
  margin-bottom: 8px;
  margin-top: 8px;
}
.topic div.imageright {
  clear: both;
  float: right;
  margin-left: 8px;
  margin-bottom: 8px;
  margin-top: 8px;
}
.topic div.imagecenter {
  clear: both;
  margin-bottom: 8px;
  margin-top: 8px;
  text-align: center;
}
.topic img.imageinline {
  vertical-align: middle;
}
/* End Image Styles */

/* Begin Code Blocks */

.topic pre.normalcode {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 16px;
  margin-top: 16px;
  padding: 16px 20px;
  width: 858px;
  max-width: 100%;
  overflow: auto;
  font-size: 13px;
  line-height: 1.7;
}
.topic td pre.codenormal {
  margin-bottom: 0px;
  margin-top: 0px;
}
.topic pre.codenoborder {
  display: inline-block;
}
/* End Code Blocks */

/* Begin Normal List*/

.topic ul,
.topic ul.normallist {
  line-height: 180%;
  margin-top: 8px;
  margin-bottom: 16px;
  padding: 0;
  font-size: 15px;
  color: #444444;
}
.topic ul > li,
.topic ul.normallist > li {
  list-style: none;
  margin-bottom: 8px;
  margin-left: 18px;
  position: relative;
}
.topic ul > li:before,
.topic ul.normallist > li:before {
  color: #b0b8c0;
  content: "\f0da";
  position: absolute;
  left: 0;
  font-family: isfas;
  margin-left: -16px;
  margin-right: 2px;
}
.topic ul.normallist p,
.topic ol.normallist p {
  margin: 0;
  padding: 0;
}
.topic ul.normallist ul,
.topic ol.normallist ul {
  line-height: 150%;
  list-style: circle outside;
  margin-bottom: 4px;
  margin-top: 4px;
  margin-left: 16px;
  padding: 0;
}
.topic ol.normallist {
  line-height: 150%;
  list-style: decimal outside;
  margin-top: 0px;
  margin-left: 32px;
  margin-bottom: 6px;
  padding: 0;
}
.topic ol.normallist ol,
.topic ul.normallist ol {
  line-height: 150%;
  list-style: decimal outside;
}
.topic ul.normallist li,
.topic ol.normallist li,
.topic ol.normallist li,
.topic ul.normallist li {
  margin-bottom: 4px;
}
/* End Normal List */

/* Begin Normal Table */

.topic table.normaltable {
  margin: 1.5em 0;
  background: white;
  border: 1px solid var(--border-subtle);
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.6;
}
.topic table.normaltable th,
.topic table.normaltable td {
  border: 1px solid var(--border-subtle);
  padding: 8px 12px;
}
.topic table.normaltable th {
  font-weight: 600;
  background: var(--bg-base);
  color: var(--text-secondary);
  font-size: 13px;
}
.topic table.normaltable caption {
  margin-left: inherit;
  margin-right: inherit;
  font-weight: 600;
}
.topic table.normaltable code {
  background-color: transparent;
}
.topic div.message_quote {
  background-image: url(../hlpPOWER/images/Template_QuoteL.gif);
  background-repeat: no-repeat;
  background-position: top left;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px;
  margin-top: 12px;
  padding-left: 20px;
}
.topic a.download {
  background-color: rgba(39, 174, 96, 0.06);
  color: #2d5f42 !important;
  border: 1px solid rgba(39, 174, 96, 0.15);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.download:hover {
  background-color: rgba(39, 174, 96, 0.12);
  color: #1e4a30 !important;
}
.topic a.download:before {
  color: #7ab89a;
  font-family: isfas;
  content: "\f063";
  margin-right: 4px;
  font-size: 0.85em;
}
/* ####################### */

/* Start Message Templates */

/* ####################### */

div.messageouter {
  margin-bottom: 12px;
  margin-top: 12px;
  text-align: left;
}
div.messageouter ul {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 150%;
}
div.message_info {
  background-image: url(../img/Info.gif);
  background-position: 0px 3px;
  background-repeat: no-repeat;
  color: #16a34a;
  padding: 2px;
  padding-left: 20px;
  text-align: left;
}
div.message_alert32 {
  background-color: #fdf6f5;
  border-radius: 6px;
  border: 1px solid #e8d4d0;
  border-left: 4px solid #d4837a;
  color: #6b3a34;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_alert32:before {
  color: #d4837a;
  font-family: isfas;
  font-size: 20px;
  content: "\f06a";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_alert32 > p {
  padding: 0;
  margin: 0;
}
div.message_Info32 {
  background-color: #f5f9fd;
  border-radius: 6px;
  border: 1px solid #d0dee8;
  border-left: 4px solid #7abed4;
  color: #2d5f7a;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_Info32:before {
  color: #7abed4;
  font-family: isfas;
  font-size: 20px;
  content: "\f05a";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_Info32 > p {
  padding: 0;
  margin: 0;
}
div.message_help32 {
  background-color: #f5faf7;
  border-radius: 6px;
  border: 1px solid #d0e4d8;
  border-left: 4px solid #7ab89a;
  color: #2d5f42;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_help32:before {
  color: #7ab89a;
  font-family: isfas;
  font-size: 20px;
  content: "\f059";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_help32 > p {
  padding: 0;
  margin: 0;
}
div.message_keyfeature32 {
  background-color: var(--bg-base);
  background-position: 4px center;
  background-repeat: no-repeat;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid #3d5aa9;
  border-radius: 4px;
  color: var(--text-primary);
  font-size: 16px;
  font-variant: normal;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding: 12px 16px;
  text-align: left;
  min-height: 18px;
  line-height: 1.4;
}
div.message_note32 {
  background-color: #fdfaf3;
  border-radius: 6px;
  border: 1px solid #e8dec8;
  border-left: 4px solid #d4b86a;
  color: #6b5a2d;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_note32 a {
  background-color: rgba(180, 155, 80, 0.1) !important;
  color: #6b5a2d !important;
  border: 1px solid rgba(180, 155, 80, 0.2) !important;
  border-radius: 4px;
  display: inline-block;
  padding: 2px 4px;
  text-decoration: none !important;
}
div.message_note32:before {
  color: #d4b86a;
  font-family: isfas;
  font-size: 20px;
  content: "\f249";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_note32 > p {
  padding: 0;
  margin: 0;
}
.topic div.message_special32 {
  background-color: #fdf8f3;
  border-radius: 6px;
  border: 1px solid #e8d8c8;
  border-left: 4px solid #d4a06a;
  color: #6b4a2d;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
.topic div.message_special32 a {
  background-color: rgba(180, 130, 70, 0.1) !important;
  color: #6b4a2d !important;
  border: 1px solid rgba(180, 130, 70, 0.15) !important;
  border-radius: 4px;
  display: inline-block;
  padding: 2px 4px;
  text-decoration: none !important;
}
.topic div.message_special32:before {
  color: #d4a06a;
  font-family: isfas;
  font-size: 20px;
  content: "\f005";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
.topic div.message_special32 > p {
  padding: 0;
  margin: 0;
}
div.message_warning {
  background-image: url(../img/Warning.gif);
  background-position: 0px 3px;
  background-repeat: no-repeat;
  color: #e3222f;
  padding: 2px;
  padding-left: 20px;
  text-align: left;
}
td div.messageouter,
p div.messageouter {
  margin-bottom: 0;
  margin-top: 0;
}
div.errormessage {
  background-color: #fdfaf9;
  border: 1px solid #e8d4d0;
  border-radius: 4px;
  color: #6b3a34;
  font-family: "courier new";
  padding: 12px;
  word-wrap: hyphenate;
}
/* ####################### */

/* End Message Templates */

/* ####################### */

.topic .ArticleHeadingInfoBar {
  color: var(--text-muted);
  font-size: 13px;
  margin-bottom: 16px;
  margin-top: 4px;
  padding-bottom: 8px;
}
.topic .ArticleHeadingInfoBar a {
  font-size: 14px;
  padding: 8px;
}
.topic .ArticleHeadingInfoBar table.ISForm {
  width: 100%;
  max-width: 400px;
}
.topic .ArticleHeadingInfoBar table.ISForm tbody > tr > th {
  padding: 0;
  width: 60px;
  white-space: nowrap;
}
.topic .ArticleHeadingInfoBar table.ISForm tbody > tr > td {
  padding: 0;
  font-weight: 600;
}
div.KeyList ul,
div.KeyList ul.normallist {
  padding: 0;
  margin: 0;
  margin-left: 0px;
}
div.KeyList ul li {
  list-style: none;
}
div.KeyList ul li:before {
  color: #aabbcc;
  font-family: isfas;
  content: "\f069";
  margin-right: 8px;
}
table.VideoGallery h2 {
  margin: 0;
  padding: 0;
  border: none;
}
table.VideoGallery td {
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 8px;
}
table.VideoGallery td a {
  color: #3d5aa9;
}
table.VideoGallery td a:hover {
  color: #293c71;
}
div.NextPrevious {
  margin: 16px 0 16px 0;
}
div.NextPrevious a.linkinternal {
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  width: 80px;
}
div.NextPrevious span {
  color: var(--text-muted);
  font-weight: normal;
}
.syntax_keyword {
  color: #2e86c1;
}
.syntax_comment {
  color: #27ae60;
}
.syntax_string {
  background-color: #fdfaf3;
  color: #6b5a2d;
}
.syntax_highlight {
  background-color: #f5f0e0;
}
.syntax_xmlcomment {
  color: #2d8c9e;
}
/*
Screen Templates
*/

/* Browser */

div.screen_browser {
  cursor: zoom-in;
  display: block;
  width: 482px;
  margin: 8px 0 8px 43px;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_browser > div {
  height: 295px;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_browser > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 1px;
  top: 25px;
  width: 480px;
  transition: all 0.2s;
}
div.screen_browser > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 419px;
  background-image: url(../Content/img/browser_template.png);
  background-size: 482px 295px;
  background-repeat: no-repeat;
}
div.screen_browser > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_browser.full {
  cursor: zoom-out;
  width: 962px;
  transition: all 0.2s;
}
div.screen_browser.full > div {
  height: 589px;
}
div.screen_browser.full > div > img {
  left: 1.5px;
  top: 49px;
  width: 960px;
}
div.screen_browser.full > div.overlay {
  height: 838px;
  background-size: 962px 589px;
}
/* Laptop */

div.screen_laptop {
  cursor: zoom-in;
  display: block;
  width: 569px;
  margin: 8px 0 8px 0;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_laptop > div {
  height: 332px;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_laptop > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 44px;
  top: 16px;
  width: 481px;
  transition: all 0.2s;
}
div.screen_laptop > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 332px;
  background-image: url(../Content/img/laptop_template.png);
  background-size: 569px 332px;
  background-repeat: no-repeat;
}
div.screen_laptop > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_laptop.full {
  cursor: zoom-out;
  width: 1138px;
  transition: all 0.2s;
}
div.screen_laptop.full > div {
  height: 664px;
}
div.screen_laptop.full > div > img {
  left: 88px;
  top: 32px;
  width: 961px;
}
div.screen_laptop.full > div.overlay {
  height: 664px;
  background-size: 1138px 664px;
}
/* Phone */

div.screen_phone {
  cursor: zoom-in;
  display: block;
  width: 200px;
  margin: 8px 0 8px 43px;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_phone > div {
  height: 378px;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_phone > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 6px;
  top: 17px;
  width: 188px;
  transition: all 0.2s;
}
div.screen_phone > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 378px;
  background-image: url(../Content/img/phone_template2.png);
  background-size: 200px 378px;
  background-repeat: no-repeat;
}
div.screen_phone > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_phone.full {
  cursor: zoom-out;
  width: 400px;
  transition: all 0.2s;
}
div.screen_phone.full > div {
  height: 756px;
}
div.screen_phone.full > div > img {
  left: 12px;
  top: 33px;
  width: 376px;
}
div.screen_phone.full > div.overlay {
  height: 756px;
  background-size: 400px 756px;
}
/* Generic */

div.screen_generic {
  cursor: zoom-in;
  display: block;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_generic > div {
  display: inline-block;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_generic > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 0;
  top: 0;
  width: 50%;
  transition: all 0.2s;
}
div.screen_generic > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
div.screen_generic > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_generic.full {
  cursor: zoom-out;
  transition: all 0.2s;
}
div.screen_generic.full > div > img {
  width: 100%;
}
/* Laptop + Phone */

div.laptop_phone {
  display: inline-block;
  position: relative;
  margin-bottom: 12px;
}
div.laptop_phone > div.screen_phone {
  position: absolute;
  top: 18px;
  right: -80px;
  transform: scale(0.75);
}
div.laptop_phone > div.screen_phone img {
  -webkit-filter: drop-shadow(-2px -2px 1px rgba(0, 0, 0, 0.1));
}
/* Responsive */

@media screen and (max-width: 400px) {
  div.screenshot {
    transform: scale(0.64);
    transform-origin: top left;
    margin-bottom: -300px;
  }
  div.laptop_phone div.screen_phone {
    right: 0;
    left: 196px;
    transform: scale(0.64);
  }
  div.laptop_phone div.screen_phone.full {
    left: -44px;
    top: 0;
  }
}
/*
#####################################################################################

  CSS tweaks for HTML Widgets running on the Intersoft Website

  Version Date: 23-Sep-2020

#####################################################################################
*/

body {
  overflow-x: hidden;
}
input[type="checkbox"] {
  -webkit-appearance: checkbox;
}
.is-widget-content table.is-form {
  font-size: 14px;
}
.is-widget-content table.is-form td[ng-bind] {
  font-weight: bold;
}
/*
=========================================
Within a Topic, e.g., Dealer Support Form
=========================================
*/

.topic.is-widget-content div.is-widget-form-body {
  padding: 0;
  margin-top: 8px;
}
.topic.is-widget-content label.is-label-heading {
  color: #0f172a;
  font-size: 22px;
  font-weight: 600;
  margin: 12px 0 4px 0;
  padding: 0 0 2px 0;
}
.topic.is-widget-content th > label.is-label-heading {
  margin-left: -8px;
}
/*
===============
Widget Controls
===============
*/
.is-widget-content input.is-textbox,
.is-widget-content textarea.is-textbox,
.is-widget-content input.is-datebox,
.is-widget-content input.is-combobox,
.is-widget-content input.is-timebox,
.is-widget-content input.is-numberbox {
  border-color: #e2e8f0 !important;
  border-radius: 6px !important;
  font-size: 14px;
  padding: 8px !important;
  height: auto !important;
}
.is-widget-content input.is-textbox.is-datebox,
.is-widget-content textarea.is-textbox.is-datebox,
.is-widget-content input.is-datebox.is-datebox,
.is-widget-content input.is-combobox.is-datebox,
.is-widget-content input.is-timebox.is-datebox,
.is-widget-content input.is-numberbox.is-datebox {
  padding-right: 20px !important;
}
.is-widget-content input.is-textbox.is-readonly,
.is-widget-content textarea.is-textbox.is-readonly,
.is-widget-content input.is-datebox.is-readonly,
.is-widget-content input.is-combobox.is-readonly,
.is-widget-content input.is-timebox.is-readonly,
.is-widget-content input.is-numberbox.is-readonly {
  background-color: #f0f0f0 !important;
  color: #202020 !important;
}
.is-widget-content input.is-textbox:focus,
.is-widget-content textarea.is-textbox:focus,
.is-widget-content input.is-datebox:focus,
.is-widget-content input.is-combobox:focus,
.is-widget-content input.is-timebox:focus,
.is-widget-content input.is-numberbox:focus {
  box-shadow: none !important;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1) !important;
}
.is-widget-content button.is-combobox-button {
  border: none !important;
  height: 30px !important;
  line-height: 34px !important;
}
.is-widget-content button.is-combobox-button:before {
  content: "\e936";
  font-size: 10px;
  top: 3px;
  position: relative;
}
.is-widget-content button.is-combobox-button:hover {
  background-color: transparent !important;
  color: black;
}
.is-widget-content div.is-dropdown {
  margin-top: -3px;
  border-color: #e2e8f0;
  border-radius: 0 0 6px 6px;
  animation: none;
  transform-origin: top left;
}
.is-widget-content div.is-dropdown.active .is-grid-container {
  top: 30px !important;
}
.is-widget-content div.is-dropdown ul > li,
.is-widget-content div.is-dropdown > table td,
.is-widget-content div.is-dropdown > table th {
  padding: 8px;
}
.is-widget-content div.is-dropdown button.dbcombo-search {
  border: none !important;
  height: 30px !important;
}
.is-widget-content label.is-combobox {
  line-height: 30px;
}
.is-widget-content button.is-button {
  border-radius: 30px !important;
  line-height: 36px;
  height: 38px;
}
.is-widget-content button.small {
  line-height: 33px;
  height: 32px !important;
}
.is-widget-content input.is-datebox {
  width: 9em !important;
}
.is-widget-content span.is-checkbox {
  height: 22px;
}
.is-widget-content span.is-checkbox input:checked + label,
.is-widget-content span.is-checkbox input:not(:checked) + label {
  font-size: 13px;
  line-height: 22px;
  padding-left: 24px;
  top: -2px;
}
.is-widget-content span.is-checkbox input:checked + label:before,
.is-widget-content span.is-checkbox input:not(:checked) + label:before {
  color: limegreen;
  content: "\F16B" !important;
  border: none;
  font-size: 18px;
  font-weight: normal;
  line-height: 18px;
  overflow: visible;
  width: 18px;
  height: 18px;
}
.is-widget-content span.is-checkbox input:focus + label:before {
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2) !important;
}
.is-widget-content span.is-checkbox input:checked + label:before {
  color: "pink";
  content: "\F16E" !important;
}
.is-widget-content span.is-checkbox input:checked + label.is-radio-button:before,
.is-widget-content span.is-checkbox input:not(:checked) + label.is-radio-button:before {
  border: none;
  border-radius: 20px;
  color: silver;
  content: "\f138" !important;
  font-size: 22px;
  line-height: 20px;
  top: -2px;
  margin-left: -1px;
}
.is-widget-content span.is-checkbox input:checked + label.is-radio-button:before {
  color: "pink";
  content: "\E1D2" !important;
}
.is-widget-content .is-file-upload {
  background-color: transparent;
  border-radius: 8px;
  margin-bottom: 8px;
  padding: 8px;
}
.is-widget-content .is-file-upload label.addfile > div {
  border-radius: 8px;
  margin-right: 8px;
}
