/* Minification failed. Returning unminified contents.
(1863,10): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,25): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,42): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,59): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,74): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,88): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,105): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,122): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,138): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,153): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,168): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,181): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,196): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,216): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,234): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,254): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,272): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,287): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,305): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,322): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,338): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,353): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,371): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,393): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,415): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,437): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,460): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1863,656): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1889,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1890,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1891,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1894,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1895,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1898,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1899,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1900,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1901,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1902,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1928,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1940,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1951,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1952,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1957,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1989,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1990,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1992,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1996,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1997,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1998,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1999,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2000,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2001,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2002,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2003,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2006,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2007,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2008,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2011,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2012,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2013,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2014,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2015,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2016,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2021,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2026,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2033,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2039,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2044,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2045,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2046,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2047,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2048,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2049,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2052,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2053,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2068,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2069,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2070,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2090,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2091,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2092,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2097,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2098,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2099,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2100,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2101,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2105,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2106,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2107,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2110,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2177,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(2480,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(2494,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(2654,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(2674,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(2674,53): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(2678,31): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(2678,51): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(2759,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(2766,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(2773,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(2814,36): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(2861,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(2868,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(2909,36): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(2997,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3007,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-sm'
(3008,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3009,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3052,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3096,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-modal-actions-height'
(3106,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3118,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3144,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3149,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(3160,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3164,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(3167,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(3231,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(3257,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(3276,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3279,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(3283,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3297,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3300,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(3316,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(3318,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3344,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(3351,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(3387,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(3425,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3427,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3525,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(3528,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3557,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(3582,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(3630,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3641,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3643,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(3665,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(3721,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(3722,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(3724,27): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(3779,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(3836,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(3852,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(3866,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4172,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4174,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4175,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4186,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4205,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4214,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4223,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4248,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4250,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4252,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4275,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4276,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4277,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(4288,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4293,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(4312,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4313,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4330,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4332,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4333,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4362,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4364,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4370,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4371,31): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4377,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4379,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4388,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(4412,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4414,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4415,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4425,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(4427,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4440,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4442,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4445,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4449,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(4457,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4474,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4475,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4497,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4499,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4505,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4513,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4523,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(4529,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4540,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(4546,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4556,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4558,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4559,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4563,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(4570,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4571,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4576,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(4583,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4584,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4595,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4597,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4599,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(4622,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(4623,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4624,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(4635,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4640,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(4651,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4652,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4667,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4669,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4670,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4688,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(4689,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4695,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4722,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4736,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(4737,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4764,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4766,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(4772,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4773,31): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(4796,36): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4903,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4904,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4923,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(4932,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(4943,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(4945,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(4945,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(4947,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(4949,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(4950,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(4951,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(4966,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(4975,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(4982,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(4983,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(4984,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(4998,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(4999,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(5004,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(5004,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5007,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(5011,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(5012,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(5013,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-danger'
(5018,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-hover'
(5019,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-hover'
(5020,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(5024,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5025,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(5030,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-hover'
(5036,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-danger'
(5048,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5049,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5050,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(5065,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5066,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5067,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(5068,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5069,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-sm'
(5076,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5081,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(5082,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5083,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(5084,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(5090,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(5091,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(5092,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(5099,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(5100,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(5101,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(5113,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(5114,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(5114,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5115,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5116,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(5117,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(5118,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(5119,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5120,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(5125,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-info'
(5129,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-warning'
(5133,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(5137,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-success'
(5145,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(5147,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(5147,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(5148,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(5149,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(5150,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5151,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5152,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(5153,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(5162,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(5171,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(5176,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(5177,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(5183,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5184,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5185,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(5198,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(5199,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(5200,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5209,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5212,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(5213,27): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(5214,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(5222,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(5231,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(5248,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(5250,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(5251,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(5253,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5254,27): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(5255,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(5271,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5272,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(5273,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5274,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5300,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(5301,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5302,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5303,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5304,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(5305,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(5315,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5316,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(5326,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5327,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5328,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5329,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5339,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(5340,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5341,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5342,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(5343,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5344,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(5352,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5356,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(5357,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5358,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(5359,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(5364,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5365,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5366,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(5373,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(5378,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5379,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(5380,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(5403,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5403,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5404,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(5405,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5406,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(5407,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(5408,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(5417,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(5420,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(5488,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-color-scheme'
(5494,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(5495,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5496,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(5507,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5508,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(5509,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(5514,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5515,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5523,71): run-time error CSS1019: Unexpected token, found ' '
(5523,71): run-time error CSS1019: Unexpected token, found ' '
(5523,71): run-time error CSS1042: Expected function, found ' '
(5523,71): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(5524,72): run-time error CSS1019: Unexpected token, found ' '
(5524,72): run-time error CSS1019: Unexpected token, found ' '
(5524,72): run-time error CSS1042: Expected function, found ' '
(5524,72): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(5529,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(5530,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading-weight'
(5533,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5542,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(5584,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-header'
(5585,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-header'
(5589,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(5589,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5591,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-sm'
(5594,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5594,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5598,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(5599,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5599,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5601,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(5601,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5602,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(5602,54): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5619,45): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-header'
(5623,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-press'
(5630,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5631,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5632,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(5633,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(5634,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(5634,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(5639,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5640,45): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5641,45): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(5646,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5657,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(5660,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(5684,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5684,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5685,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5685,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5686,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5686,50): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5687,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5687,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5688,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(5688,54): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5692,47): run-time error CSS1039: Token not allowed after unary operator: '-oo-press'
(5697,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(5702,56): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(5719,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(5720,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(5722,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(5742,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5743,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5744,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5744,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5745,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5745,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5755,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(5756,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5766,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(5775,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5781,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5802,78): run-time error CSS1039: Token not allowed after unary operator: '-oo-menu-columns'
(5802,108): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5802,129): run-time error CSS1039: Token not allowed after unary operator: '-oo-menu-columns'
(5823,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5824,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5824,49): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5825,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(5839,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5840,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(5841,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-xs'
(5844,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5844,54): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5845,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5845,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5846,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(5846,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5847,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-slow'
(5847,51): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5854,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-lg'
(5855,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(5873,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-section-band'
(5874,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(5874,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5876,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5881,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading-weight'
(5900,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(5905,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(5906,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(5907,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(5907,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(5910,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(5910,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5911,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(5911,50): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5920,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(5921,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-xl'
(5939,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5946,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5951,49): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(5964,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(5965,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(5968,42): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(5974,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-slow'
(5974,54): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(5975,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-slow'
(5975,52): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(6027,10): run-time error CSS1030: Expected identifier, found '>'
(6027,35): run-time error CSS1031: Expected selector, found ')'
(6027,35): run-time error CSS1025: Expected comma or open brace, found ')'
(6037,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(6039,14): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(6040,14): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(6041,14): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(6051,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(6053,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(6054,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(6054,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(6055,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-xs'
(6179,8): run-time error CSS1030: Expected identifier, found '.'
(6179,20): run-time error CSS1031: Expected selector, found ')'
(6179,20): run-time error CSS1025: Expected comma or open brace, found ')'
(6186,8): run-time error CSS1030: Expected identifier, found '.'
(6186,20): run-time error CSS1031: Expected selector, found ')'
(6186,20): run-time error CSS1025: Expected comma or open brace, found ')'
(6198,8): run-time error CSS1030: Expected identifier, found '.'
(6198,20): run-time error CSS1031: Expected selector, found ')'
(6198,20): run-time error CSS1025: Expected comma or open brace, found ')'
(6227,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(6249,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-header'
(6269,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(6270,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(6271,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(6280,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(6291,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(6314,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6334,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-bottom-bar-height'
(6451,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(6465,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(6483,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(6485,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(6489,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(6492,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(6500,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(6501,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(6503,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(6507,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6515,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(6516,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(6523,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6526,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(6527,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(6561,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-success'
(6562,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-success'
(6563,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(6565,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(6573,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-warning'
(6574,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-warning'
(6584,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(6585,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(6586,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6593,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6593,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(6594,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(6604,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6604,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6605,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-warning'
(6606,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(6607,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-warning'
(6608,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-warning'
(6609,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(6664,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(6665,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(6665,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6666,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(6671,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(6672,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(6691,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6692,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6693,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6693,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(6694,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(6694,53): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(6695,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(6696,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(6697,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-sm'
(6710,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6737,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(6770,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6770,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6771,31): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6772,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(6773,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(6774,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(6785,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6788,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(6788,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(6790,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(6791,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(6792,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(6793,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(6860,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(6861,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6861,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(6862,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(6863,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-success'
(6864,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-success'
(6865,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(6868,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(6896,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(6897,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(6986,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(6998,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(6998,41): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(6999,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(7000,36): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7001,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(7002,27): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(7006,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7010,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7014,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(7016,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7038,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7042,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7044,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(7049,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(7054,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7071,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7072,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(7082,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7084,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(7085,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7092,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7093,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7097,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7103,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7104,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7105,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7109,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(7116,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7117,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(7118,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(7119,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7129,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7147,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(7148,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(7149,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(7150,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7151,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7157,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(7158,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(7163,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7169,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(7170,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(7171,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(7177,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(7178,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(7179,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(7180,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7185,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7189,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(7190,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(7191,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(7197,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7215,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7217,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7218,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7224,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7225,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7229,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(7236,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-hover'
(7243,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(7247,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(7263,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7273,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(7274,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(7275,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(7276,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7277,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(7283,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(7284,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(7289,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7301,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7369,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(7370,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7371,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7375,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7388,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7396,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7397,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7398,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(7403,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7404,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7420,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(7421,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(7422,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7423,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(7424,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(7428,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7429,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(7430,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(7431,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7435,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7436,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7437,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7443,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7444,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7450,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7451,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7467,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7472,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7500,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7509,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7518,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7519,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(7519,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7520,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7521,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(7522,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7531,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7545,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7549,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(7551,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(7552,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(7553,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(7570,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7642,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(7643,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(7644,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7649,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(7650,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7656,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7657,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7658,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7673,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(7674,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(7678,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7679,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7680,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(7681,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(7686,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(7687,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7688,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(7693,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7694,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7697,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7705,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7709,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(7711,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7718,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(7722,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(7724,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7729,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(7744,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(7748,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7749,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7750,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7751,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7752,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(7753,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(7758,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7759,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7760,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7765,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(7766,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7767,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7775,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7776,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(7802,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(7804,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7809,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7814,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(7833,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7834,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7835,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7836,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(7837,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(7841,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7842,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7843,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(7856,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(7857,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7858,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(7862,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7879,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-success'
(7899,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(7903,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7904,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7905,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(7906,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(7911,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(7912,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7913,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(7921,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7922,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7932,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7937,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7938,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(7939,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(7944,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(7945,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(7946,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7950,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7956,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(7957,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(7958,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7964,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7972,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7973,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(7974,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(7980,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(7981,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(7994,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8000,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8007,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(8011,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8028,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(8032,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(8033,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8034,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(8035,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(8040,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8048,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8053,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8054,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(8055,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(8065,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8066,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8070,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8071,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8072,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(8080,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(8080,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8081,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8082,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8087,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8096,20): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8096,40): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(8097,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8102,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8103,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8104,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8110,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8111,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(8115,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8116,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8117,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8124,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(8128,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8137,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8138,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8139,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(8140,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8146,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8152,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8159,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8160,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(8165,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8171,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8176,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8177,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(8198,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(8202,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(8203,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8204,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(8205,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(8210,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8211,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-success'
(8212,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(8217,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8218,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8219,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8225,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8229,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8230,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8231,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8236,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(8237,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(8243,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(8249,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(8249,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8250,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8251,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(8252,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(8269,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8269,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8270,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8271,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(8281,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8282,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(8288,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(8289,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8290,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8300,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8301,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(8308,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(8309,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(8314,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-success'
(8318,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8327,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8328,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(8329,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(8339,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8340,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8341,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8342,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(8346,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8347,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8351,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8352,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(8358,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8359,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8372,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8374,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8375,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(8376,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8377,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8378,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(8385,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(8390,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-raised'
(8401,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8402,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(8408,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(8409,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8410,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8415,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(8416,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8417,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8421,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8422,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8429,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8433,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-success'
(8434,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8442,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8447,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8462,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8463,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(8464,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(8473,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8474,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8480,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(8481,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8482,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(8490,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(8494,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(8508,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8509,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8519,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8521,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8522,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(8523,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(8524,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(8525,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(8532,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(8551,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8570,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8571,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(8572,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(8573,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8574,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8581,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8581,49): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8585,27): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8585,47): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8604,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(8605,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(8606,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(8607,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(8607,59): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(8614,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(8622,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8623,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8624,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(8668,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8669,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(8670,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(8679,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8711,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(8734,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(8735,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-body'
(8736,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(8739,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8747,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8748,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8756,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8772,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(8772,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8773,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(8774,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(8775,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8776,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8787,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8788,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8791,34): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8792,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8794,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(8794,54): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(8795,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(8795,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(8801,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(8817,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-header-offset'
(8819,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(8820,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(8821,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-xs'
(8825,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8826,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8826,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8833,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8834,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(8835,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(8835,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(8836,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(8837,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(8838,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(8841,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(8841,61): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(8842,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(8842,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(8843,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(8843,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(8871,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(8890,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8891,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8892,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(8893,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-chip-selected-weight'
(8928,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-chip-selected-weight'
(8933,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(8934,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(8974,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8974,42): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(8987,67): run-time error CSS1030: Expected identifier, found ':'
(8987,68): run-time error CSS1031: Expected selector, found 'not('
(8987,68): run-time error CSS1025: Expected comma or open brace, found 'not('
(9012,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(9012,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(9012,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(9013,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9021,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(9022,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(9023,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading-weight'
(9026,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9030,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(9033,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9037,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(9046,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9047,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9050,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(9051,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(9053,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9053,61): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9058,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(9066,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(9071,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(9072,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(9073,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9074,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9075,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-xs'
(9079,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(9080,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(9081,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading-weight'
(9083,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(9089,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(9090,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(9091,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9102,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9103,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9105,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(9106,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9106,61): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9120,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(9121,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9158,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(9165,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(9175,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(9176,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(9177,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(9190,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9190,61): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9195,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(9207,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(9215,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(9216,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(9217,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9218,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9218,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9219,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(9222,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9222,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9223,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9223,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9227,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9228,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(9232,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(9234,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(9235,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(9264,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(9265,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(9266,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9273,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9274,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9275,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(9278,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9278,61): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9279,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9279,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9280,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(9280,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(9294,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(9295,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9296,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(9299,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(9301,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9302,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9303,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9313,20): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9314,16): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9315,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9316,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(9317,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(9320,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-xs'
(9328,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(9328,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9329,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9333,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(9334,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-warning'
(9335,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9335,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9336,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(9341,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9341,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(9342,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9343,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9347,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(9348,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9348,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(9349,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(9376,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9377,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9381,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9382,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9387,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9407,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9414,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9427,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(9435,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9443,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9470,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9504,27): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9505,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9513,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9514,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9521,27): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9522,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9546,10): run-time error CSS1030: Expected identifier, found '>'
(9546,24): run-time error CSS1031: Expected selector, found ')'
(9546,24): run-time error CSS1025: Expected comma or open brace, found ')'
(9569,32): run-time error CSS1030: Expected identifier, found '.'
(9569,56): run-time error CSS1031: Expected selector, found ')'
(9569,56): run-time error CSS1025: Expected comma or open brace, found ')'
(9574,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9594,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(9624,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(9625,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(9625,43): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-9'
(9630,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(9644,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(9667,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9668,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(9669,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(9670,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(9671,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9681,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(9682,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(9683,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(9684,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(9692,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-lg'
(9700,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(9706,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9714,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(9724,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(9736,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(9771,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(9781,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9814,36): run-time error CSS1030: Expected identifier, found '.'
(9814,48): run-time error CSS1031: Expected selector, found ')'
(9814,48): run-time error CSS1025: Expected comma or open brace, found ')'
(9829,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9838,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(9839,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9845,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(9846,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9857,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(9858,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(9859,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(9864,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9890,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(9897,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(9898,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(9899,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(9900,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(9901,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(9920,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9930,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9939,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(9940,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(9954,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(9974,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(9998,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10006,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10019,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10027,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10035,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10036,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10078,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand-text'
(10100,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10106,40): run-time error CSS1030: Expected identifier, found '.'
(10106,52): run-time error CSS1031: Expected selector, found ')'
(10106,52): run-time error CSS1025: Expected comma or open brace, found ')'
(10112,30): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(10113,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(10123,36): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(10136,36): run-time error CSS1030: Expected identifier, found '.'
(10136,48): run-time error CSS1031: Expected selector, found ')'
(10136,48): run-time error CSS1025: Expected comma or open brace, found ')'
(10142,36): run-time error CSS1030: Expected identifier, found '.'
(10142,48): run-time error CSS1031: Expected selector, found ')'
(10142,48): run-time error CSS1025: Expected comma or open brace, found ')'
(10155,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(10156,24): run-time error CSS1039: Token not allowed after unary operator: '-oo-brand'
(10157,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-brand'
(10175,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10234,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-8'
(10234,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10234,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-9'
(10240,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(10247,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(10248,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-lg'
(10249,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-lg'
(10250,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(10250,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10251,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-slow'
(10251,51): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(10258,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10276,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(10277,38): run-time error CSS1019: Unexpected token, found ' '
(10277,38): run-time error CSS1019: Unexpected token, found ' '
(10277,38): run-time error CSS1042: Expected function, found ' '
(10277,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(10287,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10288,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(10289,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(10294,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10295,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10296,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(10300,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10301,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10302,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10304,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(10307,47): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10320,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(10321,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10322,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(10324,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-lg'
(10332,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(10332,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10341,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10347,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10348,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(10349,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10350,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(10363,29): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10377,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10381,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(10382,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10383,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(10384,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(10385,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10385,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10390,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(10391,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-2xl'
(10394,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(10399,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10400,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xs'
(10404,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10415,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface'
(10416,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10417,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(10418,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-xs'
(10419,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(10419,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(10420,35): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-base'
(10420,57): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(10425,26): run-time error CSS1039: Token not allowed after unary operator: '-oo-shadow-md'
(10426,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border-control'
(10435,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(10436,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10436,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10443,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(10444,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(10447,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(10451,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-1'
(10452,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10453,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(10457,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10457,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10465,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(10466,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10467,32): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10484,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(10484,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10493,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10494,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(10495,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(10496,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10497,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(10502,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(10503,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(10505,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(10509,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10511,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10512,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(10515,38): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10524,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(10524,39): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10529,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-font-heading'
(10534,18): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10535,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10536,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(10543,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10556,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(10557,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(10570,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10570,37): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10571,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-border'
(10572,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-md'
(10573,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(10576,60): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10582,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10636,19): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-3'
(10653,15): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10654,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-2'
(10662,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(10664,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10665,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(10668,33): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(10668,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(10669,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(10669,50): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(10673,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(10674,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface'
(10678,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(10682,47): run-time error CSS1039: Token not allowed after unary operator: '-oo-press'
(10687,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-7'
(10694,41): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10694,59): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10695,62): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10711,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-link'
(10716,28): run-time error CSS1039: Token not allowed after unary operator: '-oo-motion-fast'
(10716,50): run-time error CSS1039: Token not allowed after unary operator: '-oo-ease'
(10719,36): run-time error CSS1039: Token not allowed after unary operator: '-oo-link-hover'
(10723,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-sm'
(10724,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-focus-ring'
(10737,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-4'
(10738,25): run-time error CSS1039: Token not allowed after unary operator: '-oo-radius-pill'
(10739,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-surface-sunken'
(10740,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10741,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-xl'
(10748,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-danger'
(10769,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10770,17): run-time error CSS1039: Token not allowed after unary operator: '-oo-on-surface-muted'
(10771,21): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-sm'
(10779,23): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-6'
(10793,22): run-time error CSS1039: Token not allowed after unary operator: '-oo-space-5'
(10826,55): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(10827,49): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(10828,51): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(10829,49): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-lg'
(10830,51): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
(10831,54): run-time error CSS1039: Token not allowed after unary operator: '-oo-text-md'
 */
/*! jQuery UI - v1.12.1 - 2016-09-14
* http://jqueryui.com
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
* Copyright jQuery Foundation and other contributors; Licensed MIT */

.ui-helper-hidden {
    display: none
}

.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.ui-helper-reset {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    line-height: 1.3;
    text-decoration: none;
    font-size: 100%;
    list-style: none
}

.ui-helper-clearfix:before, .ui-helper-clearfix:after {
    content: "";
    display: table;
    border-collapse: collapse
}

.ui-helper-clearfix:after {
    clear: both
}

.ui-helper-zfix {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    filter: Alpha(Opacity=0)
}

.ui-front {
    z-index: 100
}

.ui-state-disabled {
    cursor: default !important;
    pointer-events: none
}

.ui-icon {
    display: inline-block;
    vertical-align: middle;
    margin-top: -.25em;
    position: relative;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat
}

.ui-widget-icon-block {
    left: 50%;
    margin-left: -8px;
    display: block
}

.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ui-accordion .ui-accordion-header {
    display: block;
    cursor: pointer;
    position: relative;
    margin: 2px 0 0 0;
    padding: .5em .5em .5em .7em;
    font-size: 100%
}

.ui-accordion .ui-accordion-content {
    padding: 1em 2.2em;
    border-top: 0;
    overflow: auto
}

.ui-autocomplete {
    position: absolute;
    top: 0;
    left: 0;
    cursor: default
}

.ui-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
    outline: 0
}

    .ui-menu .ui-menu {
        position: absolute
    }

    .ui-menu .ui-menu-item {
        margin: 0;
        cursor: pointer;
        list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")
    }

    .ui-menu .ui-menu-item-wrapper {
        position: relative;
        padding: 3px 1em 3px .4em
    }

    .ui-menu .ui-menu-divider {
        margin: 5px 0;
        height: 0;
        font-size: 0;
        line-height: 0;
        border-width: 1px 0 0 0
    }

    .ui-menu .ui-state-focus, .ui-menu .ui-state-active {
        margin: -1px
    }

.ui-menu-icons {
    position: relative
}

    .ui-menu-icons .ui-menu-item-wrapper {
        padding-left: 2em
    }

.ui-menu .ui-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: .2em;
    margin: auto 0
}

.ui-menu .ui-menu-icon {
    left: auto;
    right: 0
}

.ui-button {
    padding: .4em 1em;
    display: inline-block;
    position: relative;
    line-height: normal;
    margin-right: .1em;
    cursor: pointer;
    vertical-align: middle;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow: visible
}

    .ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active {
        text-decoration: none
    }

.ui-button-icon-only {
    width: 2em;
    box-sizing: border-box;
    text-indent: -9999px;
    white-space: nowrap
}

input.ui-button.ui-button-icon-only {
    text-indent: 0
}

.ui-button-icon-only .ui-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -8px;
    margin-left: -8px
}

.ui-button.ui-icon-notext .ui-icon {
    padding: 0;
    width: 2.1em;
    height: 2.1em;
    text-indent: -9999px;
    white-space: nowrap
}

input.ui-button.ui-icon-notext .ui-icon {
    width: auto;
    height: auto;
    text-indent: 0;
    white-space: normal;
    padding: .4em 1em
}

input.ui-button::-moz-focus-inner, button.ui-button::-moz-focus-inner {
    border: 0;
    padding: 0
}

.ui-controlgroup {
    vertical-align: middle;
    display: inline-block
}

    .ui-controlgroup > .ui-controlgroup-item {
        float: left;
        margin-left: 0;
        margin-right: 0
    }

        .ui-controlgroup > .ui-controlgroup-item:focus, .ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
            z-index: 9999
        }

.ui-controlgroup-vertical > .ui-controlgroup-item {
    display: block;
    float: none;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    text-align: left
}

.ui-controlgroup-vertical .ui-controlgroup-item {
    box-sizing: border-box
}

.ui-controlgroup .ui-controlgroup-label {
    padding: .4em 1em
}

    .ui-controlgroup .ui-controlgroup-label span {
        font-size: 80%
    }

.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
    border-left: none
}

.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
    border-top: none
}

.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
    border-right: none
}

.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
    border-bottom: none
}

.ui-controlgroup-vertical .ui-spinner-input {
    width: 75%;
    width: calc( 100% - 2.4em )
}

.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
    border-top-style: solid
}

.ui-checkboxradio-label .ui-icon-background {
    box-shadow: inset 1px 1px 1px #ccc;
    border-radius: .12em;
    border: none
}

.ui-checkboxradio-radio-label .ui-icon-background {
    width: 16px;
    height: 16px;
    border-radius: 1em;
    overflow: visible;
    border: none
}

.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
    background-image: none;
    width: 8px;
    height: 8px;
    border-width: 4px;
    border-style: solid
}

.ui-checkboxradio-disabled {
    pointer-events: none
}

.ui-datepicker {
    width: 17em;
    padding: .2em .2em 0;
    display: none
}

    .ui-datepicker .ui-datepicker-header {
        position: relative;
        padding: .2em 0
    }

    .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
        position: absolute;
        top: 2px;
        width: 1.8em;
        height: 1.8em
    }

    .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover {
        top: 1px
    }

    .ui-datepicker .ui-datepicker-prev {
        left: 2px
    }

    .ui-datepicker .ui-datepicker-next {
        right: 2px
    }

    .ui-datepicker .ui-datepicker-prev-hover {
        left: 1px
    }

    .ui-datepicker .ui-datepicker-next-hover {
        right: 1px
    }

    .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
        display: block;
        position: absolute;
        left: 50%;
        margin-left: -8px;
        top: 50%;
        margin-top: -8px
    }

    .ui-datepicker .ui-datepicker-title {
        margin: 0 2.3em;
        line-height: 1.8em;
        text-align: center
    }

        .ui-datepicker .ui-datepicker-title select {
            font-size: 1em;
            margin: 1px 0
        }

    .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
        width: 45%
    }

    .ui-datepicker table {
        width: 100%;
        font-size: .9em;
        border-collapse: collapse;
        margin: 0 0 .4em
    }

    .ui-datepicker th {
        padding: .7em .3em;
        text-align: center;
        font-weight: bold;
        border: 0
    }

    .ui-datepicker td {
        border: 0;
        padding: 1px
    }

        .ui-datepicker td span, .ui-datepicker td a {
            display: block;
            padding: .2em;
            text-align: right;
            text-decoration: none
        }

    .ui-datepicker .ui-datepicker-buttonpane {
        background-image: none;
        margin: .7em 0 0 0;
        padding: 0 .2em;
        border-left: 0;
        border-right: 0;
        border-bottom: 0
    }

        .ui-datepicker .ui-datepicker-buttonpane button {
            float: right;
            margin: .5em .2em .4em;
            cursor: pointer;
            padding: .2em .6em .3em .6em;
            width: auto;
            overflow: visible
        }

            .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
                float: left
            }

    .ui-datepicker.ui-datepicker-multi {
        width: auto
    }

.ui-datepicker-multi .ui-datepicker-group {
    float: left
}

    .ui-datepicker-multi .ui-datepicker-group table {
        width: 95%;
        margin: 0 auto .4em
    }

.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 50%
}

.ui-datepicker-multi-3 .ui-datepicker-group {
    width: 33.3%
}

.ui-datepicker-multi-4 .ui-datepicker-group {
    width: 25%
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
    border-left-width: 0
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
    clear: left
}

.ui-datepicker-row-break {
    clear: both;
    width: 100%;
    font-size: 0
}

.ui-datepicker-rtl {
    direction: rtl
}

    .ui-datepicker-rtl .ui-datepicker-prev {
        right: 2px;
        left: auto
    }

    .ui-datepicker-rtl .ui-datepicker-next {
        left: 2px;
        right: auto
    }

    .ui-datepicker-rtl .ui-datepicker-prev:hover {
        right: 1px;
        left: auto
    }

    .ui-datepicker-rtl .ui-datepicker-next:hover {
        left: 1px;
        right: auto
    }

    .ui-datepicker-rtl .ui-datepicker-buttonpane {
        clear: right
    }

        .ui-datepicker-rtl .ui-datepicker-buttonpane button {
            float: left
        }

            .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, .ui-datepicker-rtl .ui-datepicker-group {
                float: right
            }

    .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
        border-right-width: 0;
        border-left-width: 1px
    }

.ui-datepicker .ui-icon {
    display: block;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat;
    left: .5em;
    top: .3em
}

.ui-dialog {
    position: absolute;
    top: 0;
    left: 0;
    padding: .2em;
    outline: 0
}

    .ui-dialog .ui-dialog-titlebar {
        padding: .4em 1em;
        position: relative
    }

    .ui-dialog .ui-dialog-title {
        float: left;
        margin: .1em 0;
        white-space: nowrap;
        width: 90%;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .ui-dialog .ui-dialog-titlebar-close {
        position: absolute;
        right: .3em;
        top: 50%;
        width: 20px;
        margin: -10px 0 0 0;
        padding: 1px;
        height: 20px
    }

    .ui-dialog .ui-dialog-content {
        position: relative;
        border: 0;
        padding: .5em 1em;
        background: none;
        overflow: auto
    }

    .ui-dialog .ui-dialog-buttonpane {
        text-align: left;
        border-width: 1px 0 0 0;
        background-image: none;
        margin-top: .5em;
        padding: .3em 1em .5em .4em
    }

        .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
            float: right
        }

        .ui-dialog .ui-dialog-buttonpane button {
            margin: .5em .4em .5em 0;
            cursor: pointer
        }

    .ui-dialog .ui-resizable-n {
        height: 2px;
        top: 0
    }

    .ui-dialog .ui-resizable-e {
        width: 2px;
        right: 0
    }

    .ui-dialog .ui-resizable-s {
        height: 2px;
        bottom: 0
    }

    .ui-dialog .ui-resizable-w {
        width: 2px;
        left: 0
    }

    .ui-dialog .ui-resizable-se, .ui-dialog .ui-resizable-sw, .ui-dialog .ui-resizable-ne, .ui-dialog .ui-resizable-nw {
        width: 7px;
        height: 7px
    }

    .ui-dialog .ui-resizable-se {
        right: 0;
        bottom: 0
    }

    .ui-dialog .ui-resizable-sw {
        left: 0;
        bottom: 0
    }

    .ui-dialog .ui-resizable-ne {
        right: 0;
        top: 0
    }

    .ui-dialog .ui-resizable-nw {
        left: 0;
        top: 0
    }

.ui-draggable .ui-dialog-titlebar {
    cursor: move
}

.ui-draggable-handle {
    -ms-touch-action: none;
    touch-action: none
}

.ui-resizable {
    position: relative
}

.ui-resizable-handle {
    position: absolute;
    font-size: 0.1px;
    display: block;
    -ms-touch-action: none;
    touch-action: none
}

.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle {
    display: none
}

.ui-resizable-n {
    cursor: n-resize;
    height: 7px;
    width: 100%;
    top: -5px;
    left: 0
}

.ui-resizable-s {
    cursor: s-resize;
    height: 7px;
    width: 100%;
    bottom: -5px;
    left: 0
}

.ui-resizable-e {
    cursor: e-resize;
    width: 7px;
    right: -5px;
    top: 0;
    height: 100%
}

.ui-resizable-w {
    cursor: w-resize;
    width: 7px;
    left: -5px;
    top: 0;
    height: 100%
}

.ui-resizable-se {
    cursor: se-resize;
    width: 12px;
    height: 12px;
    right: 1px;
    bottom: 1px
}

.ui-resizable-sw {
    cursor: sw-resize;
    width: 9px;
    height: 9px;
    left: -5px;
    bottom: -5px
}

.ui-resizable-nw {
    cursor: nw-resize;
    width: 9px;
    height: 9px;
    left: -5px;
    top: -5px
}

.ui-resizable-ne {
    cursor: ne-resize;
    width: 9px;
    height: 9px;
    right: -5px;
    top: -5px
}

.ui-progressbar {
    height: 2em;
    text-align: left;
    overflow: hidden
}

    .ui-progressbar .ui-progressbar-value {
        margin: -1px;
        height: 100%
    }

    .ui-progressbar .ui-progressbar-overlay {
        background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
        height: 100%;
        filter: alpha(opacity=25);
        opacity: 0.25
    }

.ui-progressbar-indeterminate .ui-progressbar-value {
    background-image: none
}

.ui-selectable {
    -ms-touch-action: none;
    touch-action: none
}

.ui-selectable-helper {
    position: absolute;
    z-index: 100;
    border: 1px dotted black
}

.ui-selectmenu-menu {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    display: none
}

    .ui-selectmenu-menu .ui-menu {
        overflow: auto;
        overflow-x: hidden;
        padding-bottom: 1px
    }

        .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
            font-size: 1em;
            font-weight: bold;
            line-height: 1.5;
            padding: 2px 0.4em;
            margin: 0.5em 0 0 0;
            height: auto;
            border: 0
        }

.ui-selectmenu-open {
    display: block
}

.ui-selectmenu-text {
    display: block;
    margin-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis
}

.ui-selectmenu-button.ui-button {
    text-align: left;
    white-space: nowrap;
    width: 14em
}

.ui-selectmenu-icon.ui-icon {
    float: right;
    margin-top: 0
}

.ui-slider {
    position: relative;
    text-align: left
}

    .ui-slider .ui-slider-handle {
        position: absolute;
        z-index: 2;
        width: 1.2em;
        height: 1.2em;
        cursor: default;
        -ms-touch-action: none;
        touch-action: none
    }

    .ui-slider .ui-slider-range {
        position: absolute;
        z-index: 1;
        font-size: .7em;
        display: block;
        border: 0;
        background-position: 0 0
    }

    .ui-slider.ui-state-disabled .ui-slider-handle, .ui-slider.ui-state-disabled .ui-slider-range {
        filter: inherit
    }

.ui-slider-horizontal {
    height: .8em
}

    .ui-slider-horizontal .ui-slider-handle {
        top: -.3em;
        margin-left: -.6em
    }

    .ui-slider-horizontal .ui-slider-range {
        top: 0;
        height: 100%
    }

    .ui-slider-horizontal .ui-slider-range-min {
        left: 0
    }

    .ui-slider-horizontal .ui-slider-range-max {
        right: 0
    }

.ui-slider-vertical {
    width: .8em;
    height: 100px
}

    .ui-slider-vertical .ui-slider-handle {
        left: -.3em;
        margin-left: 0;
        margin-bottom: -.6em
    }

    .ui-slider-vertical .ui-slider-range {
        left: 0;
        width: 100%
    }

    .ui-slider-vertical .ui-slider-range-min {
        bottom: 0
    }

    .ui-slider-vertical .ui-slider-range-max {
        top: 0
    }

.ui-sortable-handle {
    -ms-touch-action: none;
    touch-action: none
}

.ui-spinner {
    position: relative;
    display: inline-block;
    overflow: hidden;
    padding: 0;
    vertical-align: middle
}

.ui-spinner-input {
    border: none;
    background: none;
    color: inherit;
    padding: .222em 0;
    margin: .2em 0;
    vertical-align: middle;
    margin-left: .4em;
    margin-right: 2em
}

.ui-spinner-button {
    width: 1.6em;
    height: 50%;
    font-size: .5em;
    padding: 0;
    margin: 0;
    text-align: center;
    position: absolute;
    cursor: default;
    display: block;
    overflow: hidden;
    right: 0
}

.ui-spinner a.ui-spinner-button {
    border-top-style: none;
    border-bottom-style: none;
    border-right-style: none
}

.ui-spinner-up {
    top: 0
}

.ui-spinner-down {
    bottom: 0
}

.ui-tabs {
    position: relative;
    padding: .2em
}

    .ui-tabs .ui-tabs-nav {
        margin: 0;
        padding: .2em .2em 0
    }

        .ui-tabs .ui-tabs-nav li {
            list-style: none;
            float: left;
            position: relative;
            top: 0;
            margin: 1px .2em 0 0;
            border-bottom-width: 0;
            padding: 0;
            white-space: nowrap
        }

        .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
            float: left;
            padding: .5em 1em;
            text-decoration: none
        }

        .ui-tabs .ui-tabs-nav li.ui-tabs-active {
            margin-bottom: -1px;
            padding-bottom: 1px
        }

            .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
                cursor: text
            }

.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
    cursor: pointer
}

.ui-tabs .ui-tabs-panel {
    display: block;
    border-width: 0;
    padding: 1em 1.4em;
    background: none
}

.ui-tooltip {
    padding: 8px;
    position: absolute;
    z-index: 9999;
    max-width: 300px
}

body .ui-tooltip {
    border-width: 2px
}

.ui-widget {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 1em
}

    .ui-widget .ui-widget {
        font-size: 1em
    }

    .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
        font-family: Arial,Helvetica,sans-serif;
        font-size: 1em
    }

    .ui-widget.ui-widget-content {
        border: 1px solid #c5c5c5
    }

.ui-widget-content {
    border: 1px solid #ddd;
    background: #fff;
    color: #333
}

    .ui-widget-content a {
        color: #333
    }

.ui-widget-header {
    border: 1px solid #ddd;
    background: #e9e9e9;
    color: #333;
    font-weight: bold
}

    .ui-widget-header a {
        color: #333
    }

    .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
        border: 1px solid #c5c5c5;
        background: #f6f6f6;
        font-weight: normal;
        color: #454545
    }

        .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited, a.ui-button, a:link.ui-button, a:visited.ui-button, .ui-button {
            color: #454545;
            text-decoration: none
        }

            .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus {
                border: 1px solid #ccc;
                background: #ededed;
                font-weight: normal;
                color: #2b2b2b
            }

                .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited, .ui-state-focus a, .ui-state-focus a:hover, .ui-state-focus a:link, .ui-state-focus a:visited, a.ui-button:hover, a.ui-button:focus {
                    color: #2b2b2b;
                    text-decoration: none
                }

.ui-visual-focus {
    box-shadow: 0 0 3px 1px rgb(94,158,214)
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
    border: 1px solid #003eff;
    background: #007fff;
    font-weight: normal;
    color: #fff
}

    .ui-icon-background, .ui-state-active .ui-icon-background {
        border: #003eff;
        background-color: #fff
    }

    .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
        color: #fff;
        text-decoration: none
    }

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    border: 1px solid #dad55e;
    background: #fffa90;
    color: #777620
}

.ui-state-checked {
    border: 1px solid #dad55e;
    background: #fffa90
}

.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a {
    color: #777620
}

.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
    border: 1px solid #f1a899;
    background: #fddfdf;
    color: #5f3f3f
}

    .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a {
        color: #5f3f3f
    }

.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text {
    color: #5f3f3f
}

.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary {
    font-weight: bold
}

.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary {
    opacity: .7;
    filter: Alpha(Opacity=70);
    font-weight: normal
}

.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled {
    opacity: .35;
    filter: Alpha(Opacity=35);
    background-image: none
}

    .ui-state-disabled .ui-icon {
        filter: Alpha(Opacity=35)
    }

.ui-icon {
    width: 16px;
    height: 16px
}

.ui-icon, .ui-widget-content .ui-icon {
    background-image: url("images/ui-icons_444444_256x240.png")
}

.ui-widget-header .ui-icon {
    background-image: url("images/ui-icons_444444_256x240.png")
}

.ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-button:hover .ui-icon, .ui-button:focus .ui-icon {
    background-image: url("images/ui-icons_555555_256x240.png")
}

.ui-state-active .ui-icon, .ui-button:active .ui-icon {
    background-image: url("images/ui-icons_ffffff_256x240.png")
}

.ui-state-highlight .ui-icon, .ui-button .ui-state-highlight.ui-icon {
    background-image: url("images/ui-icons_777620_256x240.png")
}

.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {
    background-image: url("images/ui-icons_cc0000_256x240.png")
}

.ui-button .ui-icon {
    background-image: url("images/ui-icons_777777_256x240.png")
}

.ui-icon-blank {
    background-position: 16px 16px
}

.ui-icon-caret-1-n {
    background-position: 0 0
}

.ui-icon-caret-1-ne {
    background-position: -16px 0
}

.ui-icon-caret-1-e {
    background-position: -32px 0
}

.ui-icon-caret-1-se {
    background-position: -48px 0
}

.ui-icon-caret-1-s {
    background-position: -65px 0
}

.ui-icon-caret-1-sw {
    background-position: -80px 0
}

.ui-icon-caret-1-w {
    background-position: -96px 0
}

.ui-icon-caret-1-nw {
    background-position: -112px 0
}

.ui-icon-caret-2-n-s {
    background-position: -128px 0
}

.ui-icon-caret-2-e-w {
    background-position: -144px 0
}

.ui-icon-triangle-1-n {
    background-position: 0 -16px
}

.ui-icon-triangle-1-ne {
    background-position: -16px -16px
}

.ui-icon-triangle-1-e {
    background-position: -32px -16px
}

.ui-icon-triangle-1-se {
    background-position: -48px -16px
}

.ui-icon-triangle-1-s {
    background-position: -65px -16px
}

.ui-icon-triangle-1-sw {
    background-position: -80px -16px
}

.ui-icon-triangle-1-w {
    background-position: -96px -16px
}

.ui-icon-triangle-1-nw {
    background-position: -112px -16px
}

.ui-icon-triangle-2-n-s {
    background-position: -128px -16px
}

.ui-icon-triangle-2-e-w {
    background-position: -144px -16px
}

.ui-icon-arrow-1-n {
    background-position: 0 -32px
}

.ui-icon-arrow-1-ne {
    background-position: -16px -32px
}

.ui-icon-arrow-1-e {
    background-position: -32px -32px
}

.ui-icon-arrow-1-se {
    background-position: -48px -32px
}

.ui-icon-arrow-1-s {
    background-position: -65px -32px
}

.ui-icon-arrow-1-sw {
    background-position: -80px -32px
}

.ui-icon-arrow-1-w {
    background-position: -96px -32px
}

.ui-icon-arrow-1-nw {
    background-position: -112px -32px
}

.ui-icon-arrow-2-n-s {
    background-position: -128px -32px
}

.ui-icon-arrow-2-ne-sw {
    background-position: -144px -32px
}

.ui-icon-arrow-2-e-w {
    background-position: -160px -32px
}

.ui-icon-arrow-2-se-nw {
    background-position: -176px -32px
}

.ui-icon-arrowstop-1-n {
    background-position: -192px -32px
}

.ui-icon-arrowstop-1-e {
    background-position: -208px -32px
}

.ui-icon-arrowstop-1-s {
    background-position: -224px -32px
}

.ui-icon-arrowstop-1-w {
    background-position: -240px -32px
}

.ui-icon-arrowthick-1-n {
    background-position: 1px -48px
}

.ui-icon-arrowthick-1-ne {
    background-position: -16px -48px
}

.ui-icon-arrowthick-1-e {
    background-position: -32px -48px
}

.ui-icon-arrowthick-1-se {
    background-position: -48px -48px
}

.ui-icon-arrowthick-1-s {
    background-position: -64px -48px
}

.ui-icon-arrowthick-1-sw {
    background-position: -80px -48px
}

.ui-icon-arrowthick-1-w {
    background-position: -96px -48px
}

.ui-icon-arrowthick-1-nw {
    background-position: -112px -48px
}

.ui-icon-arrowthick-2-n-s {
    background-position: -128px -48px
}

.ui-icon-arrowthick-2-ne-sw {
    background-position: -144px -48px
}

.ui-icon-arrowthick-2-e-w {
    background-position: -160px -48px
}

.ui-icon-arrowthick-2-se-nw {
    background-position: -176px -48px
}

.ui-icon-arrowthickstop-1-n {
    background-position: -192px -48px
}

.ui-icon-arrowthickstop-1-e {
    background-position: -208px -48px
}

.ui-icon-arrowthickstop-1-s {
    background-position: -224px -48px
}

.ui-icon-arrowthickstop-1-w {
    background-position: -240px -48px
}

.ui-icon-arrowreturnthick-1-w {
    background-position: 0 -64px
}

.ui-icon-arrowreturnthick-1-n {
    background-position: -16px -64px
}

.ui-icon-arrowreturnthick-1-e {
    background-position: -32px -64px
}

.ui-icon-arrowreturnthick-1-s {
    background-position: -48px -64px
}

.ui-icon-arrowreturn-1-w {
    background-position: -64px -64px
}

.ui-icon-arrowreturn-1-n {
    background-position: -80px -64px
}

.ui-icon-arrowreturn-1-e {
    background-position: -96px -64px
}

.ui-icon-arrowreturn-1-s {
    background-position: -112px -64px
}

.ui-icon-arrowrefresh-1-w {
    background-position: -128px -64px
}

.ui-icon-arrowrefresh-1-n {
    background-position: -144px -64px
}

.ui-icon-arrowrefresh-1-e {
    background-position: -160px -64px
}

.ui-icon-arrowrefresh-1-s {
    background-position: -176px -64px
}

.ui-icon-arrow-4 {
    background-position: 0 -80px
}

.ui-icon-arrow-4-diag {
    background-position: -16px -80px
}

.ui-icon-extlink {
    background-position: -32px -80px
}

.ui-icon-newwin {
    background-position: -48px -80px
}

.ui-icon-refresh {
    background-position: -64px -80px
}

.ui-icon-shuffle {
    background-position: -80px -80px
}

.ui-icon-transfer-e-w {
    background-position: -96px -80px
}

.ui-icon-transferthick-e-w {
    background-position: -112px -80px
}

.ui-icon-folder-collapsed {
    background-position: 0 -96px
}

.ui-icon-folder-open {
    background-position: -16px -96px
}

.ui-icon-document {
    background-position: -32px -96px
}

.ui-icon-document-b {
    background-position: -48px -96px
}

.ui-icon-note {
    background-position: -64px -96px
}

.ui-icon-mail-closed {
    background-position: -80px -96px
}

.ui-icon-mail-open {
    background-position: -96px -96px
}

.ui-icon-suitcase {
    background-position: -112px -96px
}

.ui-icon-comment {
    background-position: -128px -96px
}

.ui-icon-person {
    background-position: -144px -96px
}

.ui-icon-print {
    background-position: -160px -96px
}

.ui-icon-trash {
    background-position: -176px -96px
}

.ui-icon-locked {
    background-position: -192px -96px
}

.ui-icon-unlocked {
    background-position: -208px -96px
}

.ui-icon-bookmark {
    background-position: -224px -96px
}

.ui-icon-tag {
    background-position: -240px -96px
}

.ui-icon-home {
    background-position: 0 -112px
}

.ui-icon-flag {
    background-position: -16px -112px
}

.ui-icon-calendar {
    background-position: -32px -112px
}

.ui-icon-cart {
    background-position: -48px -112px
}

.ui-icon-pencil {
    background-position: -64px -112px
}

.ui-icon-clock {
    background-position: -80px -112px
}

.ui-icon-disk {
    background-position: -96px -112px
}

.ui-icon-calculator {
    background-position: -112px -112px
}

.ui-icon-zoomin {
    background-position: -128px -112px
}

.ui-icon-zoomout {
    background-position: -144px -112px
}

.ui-icon-search {
    background-position: -160px -112px
}

.ui-icon-wrench {
    background-position: -176px -112px
}

.ui-icon-gear {
    background-position: -192px -112px
}

.ui-icon-heart {
    background-position: -208px -112px
}

.ui-icon-star {
    background-position: -224px -112px
}

.ui-icon-link {
    background-position: -240px -112px
}

.ui-icon-cancel {
    background-position: 0 -128px
}

.ui-icon-plus {
    background-position: -16px -128px
}

.ui-icon-plusthick {
    background-position: -32px -128px
}

.ui-icon-minus {
    background-position: -48px -128px
}

.ui-icon-minusthick {
    background-position: -64px -128px
}

.ui-icon-close {
    background-position: -80px -128px
}

.ui-icon-closethick {
    background-position: -96px -128px
}

.ui-icon-key {
    background-position: -112px -128px
}

.ui-icon-lightbulb {
    background-position: -128px -128px
}

.ui-icon-scissors {
    background-position: -144px -128px
}

.ui-icon-clipboard {
    background-position: -160px -128px
}

.ui-icon-copy {
    background-position: -176px -128px
}

.ui-icon-contact {
    background-position: -192px -128px
}

.ui-icon-image {
    background-position: -208px -128px
}

.ui-icon-video {
    background-position: -224px -128px
}

.ui-icon-script {
    background-position: -240px -128px
}

.ui-icon-alert {
    background-position: 0 -144px
}

.ui-icon-info {
    background-position: -16px -144px
}

.ui-icon-notice {
    background-position: -32px -144px
}

.ui-icon-help {
    background-position: -48px -144px
}

.ui-icon-check {
    background-position: -64px -144px
}

.ui-icon-bullet {
    background-position: -80px -144px
}

.ui-icon-radio-on {
    background-position: -96px -144px
}

.ui-icon-radio-off {
    background-position: -112px -144px
}

.ui-icon-pin-w {
    background-position: -128px -144px
}

.ui-icon-pin-s {
    background-position: -144px -144px
}

.ui-icon-play {
    background-position: 0 -160px
}

.ui-icon-pause {
    background-position: -16px -160px
}

.ui-icon-seek-next {
    background-position: -32px -160px
}

.ui-icon-seek-prev {
    background-position: -48px -160px
}

.ui-icon-seek-end {
    background-position: -64px -160px
}

.ui-icon-seek-start {
    background-position: -80px -160px
}

.ui-icon-seek-first {
    background-position: -80px -160px
}

.ui-icon-stop {
    background-position: -96px -160px
}

.ui-icon-eject {
    background-position: -112px -160px
}

.ui-icon-volume-off {
    background-position: -128px -160px
}

.ui-icon-volume-on {
    background-position: -144px -160px
}

.ui-icon-power {
    background-position: 0 -176px
}

.ui-icon-signal-diag {
    background-position: -16px -176px
}

.ui-icon-signal {
    background-position: -32px -176px
}

.ui-icon-battery-0 {
    background-position: -48px -176px
}

.ui-icon-battery-1 {
    background-position: -64px -176px
}

.ui-icon-battery-2 {
    background-position: -80px -176px
}

.ui-icon-battery-3 {
    background-position: -96px -176px
}

.ui-icon-circle-plus {
    background-position: 0 -192px
}

.ui-icon-circle-minus {
    background-position: -16px -192px
}

.ui-icon-circle-close {
    background-position: -32px -192px
}

.ui-icon-circle-triangle-e {
    background-position: -48px -192px
}

.ui-icon-circle-triangle-s {
    background-position: -64px -192px
}

.ui-icon-circle-triangle-w {
    background-position: -80px -192px
}

.ui-icon-circle-triangle-n {
    background-position: -96px -192px
}

.ui-icon-circle-arrow-e {
    background-position: -112px -192px
}

.ui-icon-circle-arrow-s {
    background-position: -128px -192px
}

.ui-icon-circle-arrow-w {
    background-position: -144px -192px
}

.ui-icon-circle-arrow-n {
    background-position: -160px -192px
}

.ui-icon-circle-zoomin {
    background-position: -176px -192px
}

.ui-icon-circle-zoomout {
    background-position: -192px -192px
}

.ui-icon-circle-check {
    background-position: -208px -192px
}

.ui-icon-circlesmall-plus {
    background-position: 0 -208px
}

.ui-icon-circlesmall-minus {
    background-position: -16px -208px
}

.ui-icon-circlesmall-close {
    background-position: -32px -208px
}

.ui-icon-squaresmall-plus {
    background-position: -48px -208px
}

.ui-icon-squaresmall-minus {
    background-position: -64px -208px
}

.ui-icon-squaresmall-close {
    background-position: -80px -208px
}

.ui-icon-grip-dotted-vertical {
    background-position: 0 -224px
}

.ui-icon-grip-dotted-horizontal {
    background-position: -16px -224px
}

.ui-icon-grip-solid-vertical {
    background-position: -32px -224px
}

.ui-icon-grip-solid-horizontal {
    background-position: -48px -224px
}

.ui-icon-gripsmall-diagonal-se {
    background-position: -64px -224px
}

.ui-icon-grip-diagonal-se {
    background-position: -80px -224px
}

.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
    border-top-left-radius: 3px
}

.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
    border-top-right-radius: 3px
}

.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
    border-bottom-left-radius: 3px
}

.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
    border-bottom-right-radius: 3px
}

.ui-widget-overlay {
    background: #aaa;
    opacity: .003;
    filter: Alpha(Opacity=.3)
}

.ui-widget-shadow {
    -webkit-box-shadow: 0 0 5px #666;
    box-shadow: 0 0 5px #666
}

/*!
 * Bootstrap v4.5.3 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
/*# sourceMappingURL=bootstrap.min.css.map */
/* ==========================================================================
   OO design tokens
   --------------------------------------------------------------------------
   Owner: the FOUNDATION lane. Names are fixed by _worktrees/_oo-modern/CONTRACT.md.
   Do not add a name here without changing that file first.

   Every value below is the value the product already renders today, taken from
   Content/bootstrap.css (Bootstrap 4.5.3) or from an existing rule in this file.
   Four colours are one step darker than the value they replace, because the
   contract requires 4.5:1 for every --oo-on-<x> pair and the Bootstrap value
   does not reach it. Each one is Bootstrap's own hover or active shade of the
   same hue, so the hue does not change:

     --oo-brand   #007BFF -> #0069D9   white 3.98:1 -> 5.22:1  (btn-primary:hover)
     --oo-accent  #3D7BD8 -> #2F66B8   white 4.18:1 -> 5.65:1  (loyalty accent)
     --oo-success #28A745 -> #1E7E34   white 3.13:1 -> 5.14:1  (btn-success:active)
     --oo-info    #17A2B8 -> #117A8B   white 3.04:1 -> 5.02:1  (btn-info:hover)

   Merchant themes override these on :root from /CSS. Views/Shared/_Layout.cshtml
   renders that stylesheet after the ~/Content/css bundle, so an override wins.
   ========================================================================== */

:root {
    /* Brand. --oo-brand is a background; --oo-on-brand is its text colour. */
    --oo-brand: #2B2B2B;
    --oo-on-brand: #FFFFFF;
    --oo-brand-hover: #1A1A1A;

    /* Accent. Second emphasis colour, from the 2025 loyalty and eGift screens. */
    --oo-accent: #444444;
    --oo-on-accent: #FFFFFF;

    /* Surfaces. --oo-surface is the page; --oo-surface-raised is a card on it. */
    --oo-surface: #FFFFFF;
    --oo-surface-raised: #FAFAFA;
    --oo-surface-sunken: #F5F5F5;
    --oo-on-surface: #1A1A1A;
    --oo-on-surface-muted: #666666;

    /* Two border tokens, because they have different jobs.

       --oo-border is decorative: a card edge, a divider, a table rule. No contrast
       requirement applies to a separator.

       --oo-border-control is the boundary of something the customer operates: an
       input, a select, a textarea, a chip, a stepper. WCAG 1.4.11 wants 3:1 against
       the surface behind it, and a SHIPPED DEFAULT must clear its bar by 0.25 rather
       than merely clear it, so the bar here is 3.25.
       #767676 measures 4.542 / 4.352 / 4.166 on surface, raised and sunken.

       It replaced #8C8C8C, which measured 3.363 / 3.222 / 3.084 and PASSED, and was
       still wrong: it failed outright on a second palette that another lane measured
       against, and 0.084 above the bar is not headroom. That is the whole reason the
       0.25 rule exists. Do not reintroduce it.

       #767676 has been questioned as heavy, since 4.542 is text-level contrast for a
       control edge. Checked on the rendered register form 2026-09-01: the inputs read
       as defined rather than harsh, and they sit beside a --oo-border hairline so the
       two weights are visibly distinct. #808080 is the lighter alternative at
       3.949 / 3.784 / 3.623 if a built screen ever reads too strong.

       This is the one place the token layer changes the pre-existing look:
       Bootstrap's input border #CED4DA measures 1.49:1 and fails outright. */
    --oo-border: #E3E3E3;
    /* The fill behind a category heading, when a merchant wants a section band.

       Defaults to transparent, so the neutral design is a quiet rule rather than a
       filled bar. A merchant who has set a background on .CustomCategoryHeaderRowCSS
       gets it mapped ONTO this token by CSSTokenLogic, and the declaration is removed
       from the rule it came from, so it stops painting the element directly.

       That mapping is the whole point. Overriding the fill with transparent !important
       would have thrown away a merchant decision; reading it into a token keeps their
       intent while letting the new design decide how a band is expressed. It also
       means there is nothing left to fight, so the !important disappears. */
    --oo-section-band: transparent;

    /* The site header. It gets its OWN pair rather than reusing the brand, because a
       header is the first thing anyone sees and a tenant may want dark chrome above a
       light page or the reverse.

       Before this the navbar carried Bootstrap's .bg-dark, which is !important, so
       EVERY theme rendered the same #343A40 header and no setting could reach it. The
       fix was to take .bg-dark off the markup rather than to out-shout it: the six
       layouts are ours, so there was never a need for an !important here.
       Measured: #FFFFFF on #1F1F1F is 16.48:1. */
    --oo-header: #1F1F1F;
    --oo-on-header: #FFFFFF;

    /* Tells the browser which scheme to render native UI in: scrollbars, form controls,
       spinners. It is a CSS PROPERTY, not a paint, so no other custom property can
       reach it, and without it a dark theme keeps light scrollbars and light selects. */
    --oo-color-scheme: light;


    /* A link, as text on a surface.

       It defaults to --oo-brand-text, which is the merchant brand already darkened
       until it is legible, and falls back to the neutral chrome colour when no
       merchant brand is set. So an unbranded tenant gets a near-black link and a
       branded one gets their own colour, contrast-corrected, with no second thing
       to configure.

       The unbranded fallback is a blue, chosen by the user directly, and it does not
       breach "do not brand the default". They drew that line themselves twice: status
       colours keep their hue because red means error generically, and a link colour is
       the same class of thing. Unbranded means no brand IDENTITY, not no semantic
       colour, and a link is semantic.

       KEEP THE UNDERLINE ANYWAY. It is not redundant next to the blue: it is the
       affordance surviving a merchant who sets --oo-link to something with poor
       luminance contrast against their own surface. Content/oo-modern.css underlines
       links for that reason and the rule says so; do not tidy it away.
       Measured unbranded: 5.352 / 5.128 / 4.909 across the three surfaces, so it
       clears the 4.75 headroom bar on all three.

       A LITERAL, not var(--oo-brand-text, ...). A token whose value is a reference to
       another token is a third kind that nothing downstream can measure: the theme
       editor's contrast engine returned "cannot measure" for it and then treated
       unmeasurable as passing, so the one coloured element in the design became the one
       control with no contrast feedback. An unmeasurable value is not a passing value.
       The brand still drives it, but in the EMITTER: CSSTokenLogic derives --oo-link
       from --oo-brand-text when a merchant has a brand, so what ships is always a real
       colour somebody can measure. */
    --oo-link: #0066DB;
    --oo-link-hover: #0052AF;

    --oo-border-control: #767676;

    /* Status. --oo-warning keeps the Bootstrap yellow and carries dark text,
       which is what Bootstrap itself does on .btn-warning. */
    --oo-success: #1E7E34;
    --oo-on-success: #FFFFFF;
    --oo-warning: #FFC107;
    --oo-on-warning: #1A1A1A;
    --oo-danger: #B02A37;
    --oo-on-danger: #FFFFFF;
    --oo-info: #117A8B;
    --oo-on-info: #FFFFFF;

    /* Radius. sm is the Bootstrap 0.25rem; md and lg are the 2025 screens. */
    --oo-radius-sm: 6px;
    --oo-radius-md: 10px;
    --oo-radius-lg: 14px;

    /* Spacing. */
    --oo-space-1: 4px;
    --oo-space-2: 8px;
    --oo-space-3: 12px;
    --oo-space-4: 16px;
    --oo-space-5: 24px;
    --oo-space-6: 32px;

    /* Type. The two families are the same today. The theme editor splits them
       later. 'Source Sans Pro' is what body already asks for; the rest of the
       stack is the fallback the current rule is missing. */
    --oo-font-body: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    /* A LITERAL stack, not var(--oo-font-body). Same reason as --oo-link: a reference
       cannot be measured or previewed by anything downstream. Headings following the
       body font is expressed by the two defaults being equal, not by one pointing at
       the other, so a theme can move either independently. */
    --oo-font-heading: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    /* 700, not 650. NO STATIC FONT FILE CONTAINS A 650 WEIGHT, so asking for it forces
       the browser to SYNTHESISE bold by smearing the 400 face, even for a family that
       ships a genuine 700. 700 is a weight that exists in real files.
       The emitter drops this to 400 when the heading family is a single-weight display
       face, because those cannot be emboldened honestly and do not need it. See
       SupplyHeadingWeight in CSSTokenLogic.cs. */
    --oo-font-heading-weight: 700;
    /* A CAP on the menu grid, not a fixed count, bounded 1-6 by the validator.
       6 is chosen to be behaviour-neutral: the grid already fits about six 300px cards
       at 1920px, so the default renders as it did before the token existed. A theme that
       sets 2 or 3 gets fewer, larger cards, and the grid still reflows down on a narrow
       screen because the cap only ever raises the track floor. */
    --oo-menu-columns: 6;

    /* Type scale, in rem so the browser text-size setting works (WCAG 1.4.4).
       The six steps are the six px sizes this file already uses most:
       12, 14, 16, 18, 22, 28. */
    --oo-text-xs: 0.75rem;
    --oo-text-sm: 0.875rem;
    --oo-text-md: 1rem;
    --oo-text-lg: 1.125rem;
    --oo-text-xl: 1.375rem;
    --oo-text-2xl: 1.75rem;

    /* Shadows, copied from the two shadows this file already uses. */
    --oo-shadow-sm: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 5px 0 rgba(0, 0, 0, 0.06);
    --oo-shadow-md: 0 4px 24px rgba(0, 0, 0, 0.07);

    /* Focus ring. A complete box-shadow value: use it as
       box-shadow: var(--oo-focus-ring). The white layer separates the ring from
       the control so it stays visible on a coloured background. */
    /* The ring is COMPOSED from two colour tokens rather than being one settable
       box-shadow, and that split is what makes it themable without making it breakable.
       A colour cannot carry invalid box-shadow syntax, so the reason --oo-focus-ring itself
       is kept off the contract disappears for these two, while the protection remains.

       The outer colour is ALSO contrast-corrected by the emitter against every surface, to
       the 3:1 that WCAG 1.4.11 asks of a non-text indicator. That matters most where nobody
       was looking: #2B2B2B measures 10.7 to 12.2 on the five light themes and 1.07:1 on a
       dark theme raised surface, so keyboard focus was invisible on dark and invisible in
       every screenshot taken so far, because the ring only appears when tabbing. */
    --oo-focus-ring-inner: #FFFFFF;
    --oo-focus-ring-outer: #2B2B2B;
    --oo-focus-ring: 0 0 0 2px var(--oo-focus-ring-inner), 0 0 0 4px var(--oo-focus-ring-outer);

    /* ---------------------------------------------------------------
       PASS 2, 2026-09-01. Appearance.
       Grounded in the two screens already modernized by hand,
       Views/GiftCard/Index.cshtml and Views/Orders/Details.cshtml.
       Those set the target: 10px radius, soft wide shadows, 40px panel
       padding, uppercase tracked micro-labels, and a 200ms transition
       with a scale(0.99) press.

       Merchants cannot reach any of this. A merchant CSS setting can only
       carry color, background, border-color, font-family, font-weight and
       text-decoration. Verified 2026-09-01 against a live location and all
       three shipped themes: zero occurrences of border-radius, box-shadow,
       padding, margin, transition, transform, gap or letter-spacing.
       So radius, elevation, spacing, motion and type scale are ours to set
       and no !important can fight them.
       --------------------------------------------------------------- */

    /* Elevation. The two large values are the reference screens' own. */
    --oo-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --oo-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.10);
    --oo-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.14);

    /* Motion. One easing, three durations. Every animated property in this
       file should use these rather than a literal duration, so the whole
       site can be slowed, sped up or disabled from one place. */
    --oo-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --oo-motion-fast: 120ms;
    --oo-motion-base: 200ms;
    --oo-motion-slow: 320ms;
    --oo-press: scale(0.99);

    /* Larger spacing steps, for the generous panel padding the reference
       screens use. The existing 1 to 6 are unchanged. */
    --oo-space-7: 40px;
    --oo-space-8: 48px;
    --oo-space-9: 64px;

    /* A pill radius, for chips and the category rail. */
    --oo-radius-pill: 999px;
}

/* THREE TOKENS ARE NOT DECLARED ABOVE. They are emitted at runtime by
   BusinessLogic/Controllers/CSSTokenLogic.cs into the :root block that /CSS
   returns, because they are derived from the merchant's own settings and there
   is no sensible base value for them:

     --oo-brand-text    the brand darkened until it is legible AS TEXT on the
                        surface. Use it for every link and quiet button. Never
                        use --oo-brand for text.
     --oo-menu-columns  a CAP on the menu grid column count, bounded 1-6.

   Grepping this file for --oo-brand-text finds nothing. That is expected.

   WARNING ABOUT EVERY RATIO QUOTED IN THIS FILE AND IN CONTRACT.md. The numbers
   describe the BASE palette above. /CSS substitutes the merchant's values for
   most of these tokens, so a component reading --oo-brand may be rendering
   anything: at Mike's Office it is #00BFFF, which measures 2.05:1 as text on
   white where the base #0069D9 measures 5.22:1. Both numbers are true of the
   same rule. Never conclude a component is compliant from the base value
   alone. */

.ModifierModWrapper {
    border: 1px solid #e9ecef;
    border-radius: 0.25rem;
    border-top: none;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

.password-requirements {
    border: 1px solid #ced4da;
    border-top: 0;
    border-radius: 0 0 .25rem .25rem;
    margin-top: -1px;
}

.no-bottom-radius {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

    .no-bottom-radius:focus {
        box-shadow: 0px -2px 0px 1px rgba(0, 123, 255, 0.25);
    }

        .no-bottom-radius:focus + .password-requirements {
            margin-top: -2px;
        }

.LHRHWrapper {
    padding-top: 5px;
}

.LHRHInput {
    position: absolute;
    z-index: -1;
}

.LHRHLabel {
    display: block;
    position: relative;
    width: 32px;
}

    .LHRHLabel::before {
        background-color: var(--oo-surface);
        border-bottom-color: #ADB5BD;
        border-bottom-left-radius: 50%;
        border-bottom-right-radius: 50%;
        border-bottom-style: solid;
        border-bottom-width: 0px;
        border-left-color: #ADB5BD;
        border-left-style: solid;
        border-left-width: 0px;
        border-right-color: #ADB5BD;
        border-right-style: solid;
        border-right-width: 0px;
        border-top-color: #ADB5BD;
        border-top-left-radius: 50%;
        border-top-right-radius: 50%;
        border-top-style: solid;
        border-top-width: 0px;
        box-shadow: 0px 0px 0px 1px inset;
        color: #D1D1D1;
        content: "";
        cursor: pointer;
        display: block;
        height: 32px;
        left: 0px;
        line-height: 22px;
        position: relative;
        top: 0px;
        transform: none;
        transition-delay: 0s;
        transition-duration: 0.2s;
        transition-property: box-shadow;
        transition-timing-function: ease;
        width: 32px;
    }

    .LHRHLabel::after {
        background-color: #D1D1D1;
        content: "";
        cursor: pointer;
        display: block;
        height: 24px;
        position: absolute;
        top: 16px;
        transform: matrix(1, 0, 0, 1, 0, -12);
    }

.Whole::after {
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    left: 4px;
    width: 24px;
}

.Left::after {
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 0px;
    border-top-left-radius: 24px;
    border-top-right-radius: 0px;
    left: 4px;
    width: 12px;
}

.Right::after {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 24px;
    border-top-left-radius: 0px;
    border-top-right-radius: 24px;
    left: 16px;
    width: 12px;
}

.LHRHSpan {
    display: block;
    height: 1px;
    overflow-x: hidden;
    overflow-y: hidden;
}

.LHRHInput:checked ~ .LHRHLabel::before {
    color: #6C757D;
    box-shadow: 0px 0px 0px 1.5px inset;
}

.LHRHInput:checked ~ .LHRHLabel::after {
    background-color: #6C757D;
}

.LHRHInput:not(:checked):hover ~ .LHRHLabel::before {
    color: #A2A2A2;
    box-shadow: 0px 0px 0px 1.5px inset;
}

.separator {
    display: flex;
    align-items: center;
    text-align: center;
}

    .separator::before,
    .separator::after {
        content: '';
        flex: 1;
        border-bottom: 1px solid #000;
    }

    .separator:not(:empty)::before {
        margin-right: .25em;
    }

    .separator:not(:empty)::after {
        margin-left: .25em;
    }

.CreditIconWrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 10px;
}

.VisaIconWrapper,
.MasterCardIconWrapper,
.AmexIconWrapper,
.DiscoverIconWrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px; /* Set a consistent width for all icons */
    height: 21px; /* Set a consistent height for all icons */
}

.CreditIconWrapper svg {
    max-width: 100%; /* Make sure the SVG scales to fit the wrapper */
    max-height: 100%;
}

#google-pay-button button:first-of-type {
    width: 100%; /* Make the button full-width */
}
#apple-pay-button {
    width: 100% !important;
    max-width: unset !important;
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    50% {
        transform: translateX(5px);
    }

    75% {
        transform: translateX(-5px);
    }
}

.shake {
    animation: shake 0.5s;
}

/*** Fonts ***/
/* Add more from here: https://google-webfonts-helper.herokuapp.com/fonts 
    Folder prefix: /Content/Fonts/
*/
/* source-sans-pro-regular - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    src: url('/Content/Fonts/source-sans-pro-v13-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('/Content/Fonts/source-sans-pro-v13-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/Content/Fonts/source-sans-pro-v13-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('/Content/Fonts/source-sans-pro-v13-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('/Content/Fonts/source-sans-pro-v13-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('/Content/Fonts/source-sans-pro-v13-latin-regular.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

/* roboto-regular - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('/Content/Fonts/roboto-v20-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Roboto'), local('Roboto-Regular'), url('/Content/Fonts/roboto-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/Content/Fonts/roboto-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('/Content/Fonts/roboto-v20-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('/Content/Fonts/roboto-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('/Content/Fonts/roboto-v20-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* Alfa Slab One */
@font-face {
    font-family: 'Alfa Slab One';
    font-style: normal;
    font-weight: 400;
    src: url('/Content/Fonts/AlfaSlabOne-Regular.ttf') format('truetype');
}

/* Daytona Condensed Fat */
/*font-family:'Daytona Pro', sans-serif;*/
@font-face {
    font-family: 'Daytona Condensed Fat';
    font-style: normal;
    font-weight: 400;
    src: url('/Content/Fonts/DaytonaPro-CondFat.ttf') format('truetype');
}

/* Open Sans */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('/Content/Fonts/OpenSans-Regular.ttf') format('truetype');
}

/* https://www.dafont.com/barcode-font.font */
@font-face{
    font-family: 'Barcode';
    font-style: normal;
    font-weight: 400;
    src: url('/Content/Fonts/BarcodeFont.ttf') format('truetype')
}

/* ---------------------------------------------------------------------------
   THE REAL 700 CUTS. Until these existed, --oo-font-heading-weight: 700 could
   only be SYNTHESISED: the browser smeared the 400 face because no other weight
   was available to select. Every heading on the site was faux-bold.

   Three deliberate differences from the 400 blocks above, each for a reason:

   1. woff2 ONLY. No eot/woff/ttf/svg cuts were obtained, and that is safe rather
      than incomplete. A browser too old for woff2 cannot load this face, finds no
      other 700, and synthesises from the 400 exactly as it does today. The
      fallback path is the current behaviour, so nothing can regress.

   2. NO local(). The 400 blocks use it and these do not. local() lets a machine
      substitute its OWN installed copy, which may be a different version or a
      variable font with different metrics, so headings would render differently
      per machine with nothing in the page to explain why. Google stopped emitting
      local() in their served CSS for this reason. An author cannot see a defect
      that only appears on someone else's machine.

   3. font-display: swap, which the 400 blocks do not set. These blocks introduce
      a NEW download that did not exist before. Under the default (auto), a heading
      would be invisible for up to three seconds while the bold arrives, where
      previously it painted immediately as a smeared 400. swap paints the fallback
      at once and upgrades on arrival, so adding real bolds cannot cost first paint.

   Latin subset, from Google Fonts. Source Sans Pro and Open Sans are SIL OFL,
   Roboto is Apache 2.0.

   The display faces get NO bold block on purpose. Alfa Slab One and Daytona
   Condensed Fat ship one weight by design, and SupplyHeadingWeight in
   CSSTokenLogic.cs drops them to 400 rather than asking for a cut that cannot exist.
   --------------------------------------------------------------------------- */

/* source-sans-pro-700 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/Content/Fonts/source-sans-pro-v13-latin-700.woff2') format('woff2');
}

/* roboto-700 - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/Content/Fonts/roboto-v20-latin-700.woff2') format('woff2');
}

/* open-sans-700 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/Content/Fonts/OpenSans-Bold.woff2') format('woff2');
}


/**
 * ==============================================
 * Dot Pulse
 * ==============================================
 */
.dot-pulse {
    position: relative;
    left: -9999px;
    width: 10px;
    height: 10px;
    border-radius: var(--oo-radius-md);
    background-color: #ee572b;
    color: #ee572b;
    box-shadow: 9999px 0 0 -5px #ee572b;
    animation: dotPulse 1.5s linear .25s infinite;
}

    .dot-pulse::before, .dot-pulse::after {
        content: '';
        display: inline-block;
        position: absolute;
        top: 0;
        width: 10px;
        height: 10px;
        border-radius: var(--oo-radius-md);
        background-color: #ee572b;
        color: #ee572b;
    }

    .dot-pulse::before {
        box-shadow: 9984px 0 0 -5px #ee572b;
        animation: dotPulseBefore 1.5s linear 0s infinite;
    }

    .dot-pulse::after {
        box-shadow: 10014px 0 0 -5px #ee572b;
        animation: dotPulseAfter 1.5s linear .5s infinite;
    }

@keyframes dotPulseBefore {
    0% {
        box-shadow: 9984px 0 0 -5px #ee572b;
    }

    30% {
        box-shadow: 9984px 0 0 2px #ee572b;
    }

    60%, 100% {
        box-shadow: 9984px 0 0 -5px #ee572b;
    }
}

@keyframes dotPulse {
    0% {
        box-shadow: 9999px 0 0 -5px #ee572b;
    }

    30% {
        box-shadow: 9999px 0 0 2px #ee572b;
    }

    60%, 100% {
        box-shadow: 9999px 0 0 -5px #ee572b;
    }
}

@keyframes dotPulseAfter {
    0% {
        box-shadow: 10014px 0 0 -5px #ee572b;
    }

    30% {
        box-shadow: 10014px 0 0 2px #ee572b;
    }

    60%, 100% {
        box-shadow: 10014px 0 0 -5px #ee572b;
    }
}

/**
 * ==============================================
 * Shimmer / Skeleton Loading boxes
 * ==============================================
 */
.skeleton-box {
    display: inline-block;
    height: 1em;
    position: relative;
    overflow: hidden;
    background-color: #dddbdd;
}

    .skeleton-box::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transform: translateX(-100%);
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
        animation: shimmer 5s infinite;
        content: '';
    }

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

.ModalLink{
    cursor: pointer;
}

.LoyaltyLoading {
    position: absolute;
    top: 50%;
    left: 50%;
}

.LocSelectFromSpan {
    display: none;
}

.MethodTimeSectionCSS{
    text-align: center;
}

.LocationSectionCSS{
    text-align: center;
}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .LocSelectFromSpan {
        display:inline-block;
    }

    .MethodTimeSectionCSS {
        text-align: right;
        padding-left: 0;
        padding-right: 0;
    }

    .LocationSectionCSS {
        text-align:left;
        padding-left:0;
        padding-right:0;
    }
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
    
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    
}

.OrderDetailsHeader.ui-state-active {
    background: #6c757d;
}

.switch-field {
    display: flex;
    overflow: hidden;
}

    .switch-field input {
        position: absolute !important;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        width: 1px;
        border: 0;
        overflow: hidden;
    }

    .switch-field label {
        background-color: #e4e4e4;
        color: rgba(0, 0, 0, 0.6);
        font-size: var(--oo-text-sm);
        line-height: 1;
        text-align: center;
        padding: 8px 16px;
        margin-right: -1px;
        border: 1px solid rgba(0, 0, 0, 0.2);
        box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
        transition: all 0.1s ease-in-out;
    }

        .switch-field label:hover {
            cursor: pointer;
        }

    .switch-field input:checked + label {
        background-color: #a7deff;
        box-shadow: none;
    }

    .switch-field label:first-of-type {
        border-radius: var(--oo-radius-sm) 0 0 var(--oo-radius-sm);
    }

    .switch-field label:last-of-type {
        border-radius: 0 var(--oo-radius-sm) var(--oo-radius-sm) 0;
    }

.Barcode {
    font-family: 'Barcode', Barcode;
    font-size: 4em;
}

#GiftCardPreviewDiv {
    height: 200px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.GiftCardThumbnail {
    height: 50px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 1px 1px 1px 1px;
}

/*** Global Tags ***/
* {
    box-sizing: border-box;
}

/*Body*/
body {
    /* PASS 2: no padding-top. It reserved space for a FIXED navbar. Content/oo-modern.css
       makes the header sticky, so it sits in normal flow and occupies its own space; the
       reservation became 50px of dead air at the top of every page. The inline
       style="padding-top: 112px" the six layouts carried was removed for the same reason,
       and this rule was missed then. */
    padding-bottom: 20px;
    font-family: 'Source Sans Pro';
}

.ErrorMsg{
    text-align: center;
    color: darkred;
}

.CustomItemNameHeaderCSS{
    font-weight: bold;
}

.padded-bottom-10 {
    padding-bottom: 10px;
}

.SpecialInstructionsText {
    color: #6b6b83;
    font-style: italic;
}

.OrderDetailsHeader{

}

.OrderDetailsPanel{

}

/*fixed-top {
    padding-top: 0!important;
    padding-bottom: 0!important;
    height: 56px!important;
}*/
/*.navbar-collapse.show {
    background-color: inherit;
    color: inherit;
}*/
.CheckboxDiv {
    margin-top: 3px;
    margin-bottom: 3px;
}

.item-image-img {
    width: 100%;
    border-radius: var(--oo-radius-md);
    max-width: 150px;
    max-height: 130px;
}

.CustomRadioGroupWrapper {
    max-width: 550px;
    font-size: var(--oo-text-lg);
    font-weight: 600;
    line-height: 36px;
    font-family: 'Fira Sans', sans-serif;
}

.CustomRadioGroup {
    background-color: var(--oo-surface); /*Unselected background color*/
    display: block;
    margin: 10px 0;
    position: relative;
    box-shadow: 0px 0px 10px 5px;
    color: #EEE; /*Glow color around the button*/
}

    .CustomRadioGroup label {
        padding: 12px 30px;
        width: 100%;
        display: block;
        text-align: left;
        color: #3c454c; /*Label font color*/
        cursor: pointer;
        position: relative;
        z-index: 2;
        transition: color 200ms ease-in;
        overflow: hidden;
    }

        .CustomRadioGroup label:before {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            content: '';
            background-color: #5562eb; /*Background color when selected*/
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%) scale3d(1, 1, 1);
            transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
            opacity: 0;
            z-index: -1;
        }

        .CustomRadioGroup label:after {
            width: 32px;
            height: 32px;
            content: '';
            border: 2px solid #d1d7dc; /*Border of checkbox when NOT checked*/
            background-color: var(--oo-surface); /*Background color of the checkbox when NOT checked*/
            background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.414 11L4 12.414l5.414 5.414L20.828 6.414 19.414 5l-10 10z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E ");
            background-repeat: no-repeat;
            background-position: 2px 3px;
            border-radius: 50%;
            z-index: 2;
            position: absolute;
            right: 30px;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            transition: all 200ms ease-in;
        }

    .CustomRadioGroup input:checked ~ label i {
        fill: #28a745; /***SVG checkmark color***/
    }

    .CustomRadioGroup input:checked ~ label {
        color: #fff; /*Font color of the label when checked*/
    }

        .CustomRadioGroup input:checked ~ label:before {
            transform: translate(-50%, -50%) scale3d(56, 56, 1);
            opacity: 1;
        }

        .CustomRadioGroup input:checked ~ label:after {
            background-color: #54e0c7; /*Checkbox background when checked*/
            border-color: #54e0c7; /*checkbox border when checked*/
        }

    .CustomRadioGroup input {
        width: 32px;
        height: 32px;
        order: 1;
        z-index: 2;
        position: absolute;
        right: 30px;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
        visibility: hidden;
    }

.CustomRadioGroupWrapper_eGift {
    max-width: 550px;
    font-size: var(--oo-text-lg);
    font-weight: 600;
    line-height: 36px;
    font-family: 'Fira Sans', sans-serif;
}

.CustomRadioGroup_eGift {
    background-color: var(--oo-surface);
    display: block;
    margin: 10px 0;
    position: relative;
    box-shadow: 0px 0px 10px 5px;
    color: #EEE;
}

    .CustomRadioGroup_eGift label {
        padding: 12px 30px;
        width: 100%;
        display: block;
        text-align: right;
        color: #3c454c;
        cursor: pointer;
        position: relative;
        z-index: 2;
        transition: color 200ms ease-in;
        overflow: hidden;
    }

        .CustomRadioGroup_eGift label:before {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            content: '';
            background-color: #5562eb;
            position: absolute;
            right: 50%;
            top: 50%;
            transform: translate(-50%, -50%) scale3d(1, 1, 1);
            transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
            opacity: 0;
            z-index: -1;
        }

        .CustomRadioGroup_eGift label:after {
            width: 32px;
            height: 32px;
            content: '';
            border: 2px solid #d1d7dc;
            background-color: var(--oo-surface);
            background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.414 11L4 12.414l5.414 5.414L20.828 6.414 19.414 5l-10 10z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E ");
            background-repeat: no-repeat;
            background-position: 2px 3px;
            z-index: 2;
            position: absolute;
            left: 30px;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            transition: all 200ms ease-in;
        }

    .CustomRadioGroup_eGift input:checked ~ label i {
        fill: #fff;
    }

    .CustomRadioGroup_eGift input:checked ~ label {
        color: #fff;
    }

        .CustomRadioGroup_eGift input:checked ~ label:before {
            transform: translate(-50%, -50%) scale3d(56, 56, 1);
            opacity: 1;
        }

        .CustomRadioGroup_eGift input:checked ~ label:after {
            background-color: #54e0c7;
            border-color: #54e0c7;
        }

    .CustomRadioGroup_eGift input {
        width: 32px;
        height: 32px;
        order: 1;
        z-index: 2;
        position: absolute;
        right: 30px;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
        visibility: hidden;
    }

.oo-cart-pop{
    cursor: pointer;
}

.ImageContainer {
}

.ModifierSetHeader {
    font-weight: bold;
    padding-left: 10px;
}
/* Set padding to keep content from hitting the edges */
.body-content {
    margin-top: 15px;
}

.PaddedTopBottom5 {
    padding: 5px 0;
}
/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

#LoadingModal .modal-dialog {
    display: table;
    position: relative;
    margin: 0 auto;
    top: calc(50% - 24px);
}

    #LoadingModal .modal-dialog .modal-content {
        background-color: transparent;
        border: none;
    }

#LoadingMessageModal .modal-dialog .modal-content {
    border: none;
}

.oo-flex-container {
    background: #fbfbfc;
    border-radius: var(--oo-radius-sm);
}

    .oo-flex-container > * {
        padding: 4px;
    }

.oo-flex-content-wrapper {
    align-self: auto;
    margin: auto;
    box-shadow: var(--oo-shadow-sm);
    border-radius: var(--oo-radius-sm);
    background: var(--oo-surface);
    cursor: pointer;
    height: 100%;
    padding: 5px;
}

.oo-card-middle {
    color: #6b6b83;
}

.oo-card-content-wrapper {
    position: relative;
    margin-left: unset !important;
    margin-right: unset !important;
    padding-bottom: 8px;
}

    .oo-card-content-wrapper > * {
        padding: 5px;
    }


.oo-card-1x2 {
    order: 2;
}

.oo-card-header{
    margin-top: 5px;
    font-weight: bold;
}

.oo-card-side-right {
    order: 3;
    text-align: right;
}

.oo-card-float-topright {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 2px 5px;
    transition: background-color .2s ease-in-out;
    background-color: hsla(0,0%,100%,.75);
    border-radius: var(--oo-radius-sm);
}

.oo-category-container{
    margin-bottom: 5px;
}

.oo-category-expansion-banner {
    position: relative;
    cursor: pointer;
}

.modal {
    overflow-y: auto;
}

@media (max-width:0) {
}

@media (max-width: 575px) {
    .modal-dialog {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }

    /* THE RESERVATION IS THE FOOTER'S REAL HEIGHT, NOT A NUMBER.

       .fixedBottom below is position: fixed on a phone, so it leaves the flow and this
       element cannot size around it. This declaration used to read 60px, and that was
       never any footer's height. The cart's footer carries a validation message and up
       to two buttons: measured at a 420px viewport it is 216px, so 156px of the cart,
       the "Add more items" link included, sat underneath it with no way to scroll to it.
       Even a one button footer is about 68px.

       OOReserveModalActions in Scripts/OrderCounter/SharedScripts.js measures the footer
       of every modal and writes the height here, the same way SetHeaderOffset measures
       the sticky header. The 60px stays as the var() fallback, so a page where that
       script never runs behaves exactly as it does today. */
    .modal-content {
        height: auto;
        min-height: 100%;
        border-radius: 0;
        padding-bottom: var(--oo-modal-actions-height, 60px);
    }

    .fixedBottom {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        padding: 10px 10px;
        background: var(--oo-surface);
        /*border-top: 1px solid #DDD;*/
        border: 1px solid rgba(0, 0, 0, 0.2);
        margin: 0;
        margin-top:15px;
    }

    .SubmitOrder{
        margin-right:unset!important;
    }

    .SideBar {
        background-color: var(--oo-surface);
        overflow-x: hidden;
        padding-top: 20px;
        padding-bottom: 60px;
        padding-bottom: 40px;
        margin-left: 15px;
    }
}

@media (min-width: 576px){
    .fixedBottom {
        margin-bottom: 15px;
        margin-top: 15px;
    }
}

@media (max-width:767px) {
}

@media (max-width:991px) {
    
}

@media (max-width:1199px) {
    .SideBar {
        max-width: 470px;
        background-color: var(--oo-surface);
        overflow-x: hidden;
        padding-top: 20px;
        padding-bottom: 60px;
        padding-bottom: 40px;
        box-shadow: var(--oo-shadow-md);
    }
}

@media (min-width: 1200px){
    .SideBar {
        width: 470px;
        position: relative;
        z-index: 1;
        top: 0;
        right: 0;
        background-color: var(--oo-surface);
        overflow-x: hidden;
        padding-top: 20px;
        padding-bottom: 60px;
        border-radius: var(--oo-radius-md);
        margin-right: 15px;
        padding-bottom: 40px;
        box-shadow: var(--oo-shadow-md);
    }
}

    /*.FixDiv {
        height: 100%;
    }
    .FixDiv > div {
        height: 100%;
    }*/

    .oo-svg-caret {
        /*width: 16px;
        height: 100%;*/
        position: absolute;
        top: calc(50% - 16px);
        right: 10px;
    }

    #Google {
        font-family: "Roboto", Roboto, arial, sans-serif;
        background: #DD4B39;
    }

        #Google::before {
            background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/icon_google.png) 6px 6px no-repeat;
        }

    #Facebook {
        background-color: #4C69BA;
        background-image: linear-gradient(#4C69BA, #3B55A0);
        font-family: "Helvetica neue", Helvetica Neue, Helvetica, Arial, sans-serif;
        text-shadow: 0 -1px 0 #354C8C;
    }

        #Facebook::before {
            background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/icon_facebook.png) 6px 6px no-repeat;
        }

    #Apple {
        background-color: #cccccc;
        border-color: #cccccc;
        color: #000000;
        font-size: 1.1875rem;
        height: 45px;
    }

    .AppleLogoIcon {
        float: left;
        transform: translateY(2px);
    }

    .fa-apple:before {
        vertical-align: middle;
    }

    .SocialLoginButton {
        box-sizing: border-box;
        position: relative;
        height: 45px;
        padding: 0 15px 0 46px;
        border: none;
        text-align: center;
        white-space: nowrap;
        font-size: var(--oo-text-md);
        color: #FFF;
        line-height: 45px;
        text-decoration: none;
        cursor: pointer;
    }

        .SocialLoginButton::before {
            content: "";
            box-sizing: border-box;
            position: absolute;
            left: 0;
            top: 5px;
            width: 34px;
            height: 100%;
        }

    .GenericButton {
        box-sizing: border-box;
        position: relative;
        width: 175px;
        height: 45px;
        padding: 0 15px 0 15px;
        border: none;
        text-align: center;
        white-space: nowrap;
        font-size: var(--oo-text-md);
        color: #ffffffcc;
        line-height: 45px;
        text-decoration: none;
        background: #343A40;
        cursor: pointer;
    }

        .GenericButton:hover {
            color: #ffffff;
        }

    .GenericSelectButton {
        box-sizing: border-box;
        position: relative;
        width: 175px;
        height: 45px;
        padding: 0 15px 0 15px;
        border: 1px solid #343A40;
        border-radius: var(--oo-radius-sm);
        text-align: center;
        white-space: nowrap;
        font-size: var(--oo-text-md);
        color: #000;
        line-height: 45px;
        text-decoration: none;
        background: var(--oo-surface);
        cursor: pointer;
    }

        .GenericSelectButton:hover {
            color: #222;
            background: #343A4080;
        }

    .GenericSmallButton {
        box-sizing: border-box;
        position: relative;
        padding: 6px 12px;
        border: 1px solid;
        border-radius: var(--oo-radius-sm);
        text-align: center;
        white-space: nowrap;
        font-size: var(--oo-text-md);
        color: #ffffffcc;
        text-decoration: none;
        background: #343A40;
        line-height: 25px;
    }

        .GenericSmallButton:hover {
            color: #ffffff;
        }

    .GenericTextInput {
        line-height: 25px;
        padding: 6px 12px;
        margin-right: 5px;
        margin-bottom: 5px;
        font-size: var(--oo-text-md);
        border: 1px solid #8f8fa1;
        border-radius: var(--oo-radius-sm);
        width: 175px;
    }

    .StickyBottom{
        position: absolute;
        bottom: 10px;
        left: 15px;
        right: 15px;
    }

    /*** Item Tags ***/
    .inline {
        display: inline;
    }

    .oo-item-img {
        /*background-image: url(https://previews.123rf.com/images/krichie/krichie1305/krichie130500001/19388903-a-shiny-red-can-on-coke-or-coca-cola-with-a-silver-pop-top-covered-with-water-droplets-.jpg);//TODO:Remove Me*/
        height: 200px;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 50%;
    }

    .oo-header-1 {
        font-weight: 400;
        font-size: var(--oo-text-xl);
        line-height: 1.32;
        margin-bottom: 5px;
    }

    .oo-text-secondary {
        color: #6b6b83;
        font-size: var(--oo-text-sm);
        line-height: 1.4;
        font-weight: 400;
    }

    .oo-item-quantity {
        display: flex;
        flex-flow: column;
    }

    .oo-flex-row-wrap {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
    }

    .oo-flex-row-nowrap {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
    }

    .oo-flex-33 {
        flex: 0 33%;
        justify-content: space-around;
        align-items: center;
    }

    .oo-flex-50 {
        flex: 0 50%;
        justify-content: space-around;
        align-items: center;
    }

    .oo-qty-select {
        border: 1px solid #545470;
        border-radius: var(--oo-radius-lg);
        max-height: 36px;
        max-width: 120px;
    }

    .oo-qty-btn {
        width: 36px;
        height: 36px;
        color: #545470;
        outline-offset: -8px;
        outline: none;
        box-shadow: none;
        user-select: none;
        border: 0;
        padding: 0;
        border-radius: 50%;
        background: 0 0;
        text-align: center;
        vertical-align: middle;
        text-size-adjust: 100%;
        white-space: nowrap;
        transition: background .2s ease,border-color .2s ease,color .2s ease;
        align-items: center;
        justify-content: space-around;
    }

        .oo-qty-btn:focus {
            outline: none;
        }

    .oo-input-qty {
        height: inherit;
        width: 44px;
        border: none;
        padding: 0;
        text-align: center;
        transition: border-color .1s ease;
        line-height: 1.4;
        border-radius: var(--oo-radius-sm);
        color: #000;
        background: var(--oo-surface);
        box-shadow: none;
        cursor: text;
        margin: 0em;
        font: bold 14px Arial;
    }

    .ItemBlock {
        font-family: sans-serif;
    }

    .CurrencyPrepend.active {
        background: #007bff;
        color: white;
    }

    .CartItemWrap {
    }

    .ItemQtyDiv {
    }

    .ItemNameDiv {
        color: #0070eb;
        cursor: pointer;
        font-weight: bold;
    }

    .ItemPriceDiv {
        text-align: right;
        padding: 0;
    }

    .EditDeleteDiv {
        text-align: right;
        padding: 0;
    }
    .EditItem{
        padding-right: 4px;
    }

    .ModifierBlock {
        color: #6b6b83;
    }

    .TotalsDiv {
        display: flex;
        flex-wrap: wrap;
    }

    .TotalsLeft {
        flex: 0 0 80%;
        max-width: 80%;
    }

    .Bold {
        font-weight: bold;
    }

    .spacer-10 {
        height: 10px;
    }

    .spacer-20 {
        height: 20px;
    }

    .LocationPopCSS {
        cursor: pointer;
        margin-top: auto;
        margin-bottom: auto;
    }

    #LocationListWrapper {
        padding: 8px 16px 16px;
    }

    .location-cards-header {
        margin-bottom: 12px;
    }

    .location-cards-header h4 {
        margin: 0;
        font-weight: 600;
    }

    .location-cards-container {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .location-card {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 16px;
        border: 2px solid #e0e0e0;
        border-radius: var(--oo-radius-md);
        cursor: pointer;
        transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
        background: var(--oo-surface);
    }

    .location-card:hover,
    .location-card:focus {
        border-color: #007bff;
        box-shadow: 0 2px 8px rgba(0,123,255,0.15);
        background-color: #f8fbff;
        outline: none;
    }

    .location-card:active {
        background-color: #eef4ff;
    }

    .location-card-loading {
        opacity: 0.7;
        pointer-events: none;
    }

    .location-card-icon {
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #eef4ff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--oo-text-lg);
        color: #007bff;
    }

    .location-card-details {
        flex: 1;
        min-width: 0;
    }

    .location-card-name {
        font-size: 1.1rem;
        font-weight: 600;
        margin-bottom: 2px;
        color: #222;
    }

    .location-card-address {
        font-size: 0.9rem;
        color: #666;
        line-height: 1.35;
    }

    .location-card-action {
        flex-shrink: 0;
        color: #999;
        font-size: var(--oo-text-md);
        padding-left: 8px;
    }

    .location-card:hover .location-card-action {
        color: #007bff;
    }

.CartItemDivider {
    border-top: 2px solid #b8b8c433;
    height: 0px;
    margin-right: 15px;
    margin-left: 15px;
    margin-bottom: 5px;
    margin-top: 5px;
}

.CustomCategoryNavbarCSS {
    box-shadow: -1px 1px 10px 5px; /* currentColor GLOW, not elevation: see ColourIsNotText in CSSTokenLogic */
    color: #EEE;
}

.TotalsRight {
    flex: 0 0 20%;
    max-width: 20%;
    text-align: right;
}

    .oo-hr {
        border-top: 1px solid #d4d4db;
        height: 30px;
        background: #fbfbfc;
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .oo-bottom-line {
        border-color: rgba(67,41,163,.2);
        border-bottom: 1px solid #8f8fa1;
        margin: 10px 0 10px 0;
    }

    .oo-floating-required {
        position: absolute;
        top: -7px;
        left: 7px;
        padding-left: 5px;
        padding-right: 5px;
        border-radius: var(--oo-radius-sm);
        background: #b8b8c4;
        color: #fff;
    }

    .RequirementNotMet {
        background: #faa21b;
    }

    .oo-add-item-wrapper {
        position: relative;
        background: var(--oo-surface);
        bottom: 0;
        box-shadow: var(--oo-shadow-md);
        z-index: 1060;
        padding: 0 !important;
    }

    .oo-add-item-inner-wrap {
        padding: 16px;
    }

    .oo-add-item-btn-wrap {
        display: flex;
        flex-wrap: wrap;
        margin-right: 0;
        margin-left: 0;
    }

    .oo-add-item-btn {
        flex: 0 0 100%;
        max-width: 100%;
        position: relative;
        min-height: 1px;
        width: 100%;
        border-radius: var(--oo-radius-sm);
        padding: 8px 16px 7px;
        text-align: center;
        vertical-align: middle;
        white-space: nowrap;
        background: 0 0;
        border: 1px solid transparent;
        transition: background .2s ease,border-color .2s ease,color .2s ease;
        -ms-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    .oo-btn-active {
        color: #fff;
        background: #0070eb;
        border-color: #0070eb;
    }

        .oo-btn-active:hover {
            border-color: #0058b8;
            background: #0058b8;
            color: #fff;
        }

    .oo-btn-disabled {
        color: #fff;
        background: #d4d4db;
        border-color: #d4d4db;
    }

        .oo-btn-disabled:hover {
            border-color: #b8b8c4;
            background: #b8b8c4;
            color: #fff;
        }

    .oo-modifier-set-wrapper {
        position: relative;
        padding: 20px 0px 5px 0px;
        margin-bottom: 15px;
    }

    .StandaloneGroupWrapper {
        position: relative;
        padding: 5px 0px 5px 0px;
        margin-bottom: 15px;
    }

    /* Was the only hardcoded colour carrying !important in this sheet, at #0070eb.
       The flag defended nothing: this is the sole rule for the class, and a rule that
       targets the element always beats an inherited body colour whether or not the
       merchant marked theirs !important. It only blocked the theme from reaching it.
       font-family was the literal `sans-serif`, which threw away the merchant font. */
    .oo-select-subitem-wrap {
        cursor: pointer;
        text-decoration: none;
        color: var(--oo-link);
        font-size: var(--oo-text-lg);
        line-height: 1.51741;
        font-family: var(--oo-font-body);
        font-weight: bold;
        text-align: center;
    }

    .oo-modifier-row {
        display: flex;
        flex-flow: row wrap;
        border-bottom: 1px solid grey;
    }

        .oo-modifier-row:hover {
            background: #EEE;
        }

    .TODO {
        /*TODO*/
    }

    /* Medium screens */
    @media all and (max-width: 800px) {
    }

    /* Small screens */
    @media all and (max-width: 500px) {
        .oo-flex-row-wrap {
            flex-direction: column;
            align-items: flex-start;
        }
    }

    .DataHolder {
        display: none;
    }

    /*** Cart Tags ***/
    .MethodPop, .ScheduledPop {
        cursor: pointer;
    }

    .MethodPopCSS, .ScheduledPopCSS {
        cursor: pointer;
        text-decoration: none;
        font-size: 1.10625rem;
        line-height: 1.51741;
        font-family: sans-serif;
        font-weight: bold;
        text-align: center;
    }

    /* Was #0070eb, which passes on pure white at 4.65:1 and fails everywhere else it lands:
       4.50 on the raised surface, 4.26 on the sunken one, and 3.27 to 4.03 on a dark theme.
       var(--oo-link) is corrected by the emitter against EVERY surface, so it cannot be left
       behind by a palette change the way a literal is. */
    .CustomHyperlinkCSS {
        color: var(--oo-link);
    }

    .Centered {
        text-align: center;
    }

    .CartPop {
        cursor: pointer;
    }

    #ASAPSection, ScheduledSection, TodaySection, LaterSection {
        display: none;
    }

    .SelectButton {
        /*background: #545470;*/
    }

    #ReviewWrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap-reverse;
    }

    .FlexColumn1 {
        flex: 0 0 auto;
    }

    .CartBackBtn {
        padding: 5px;
    }

.Selected {
    background: #545470;
    color: #FFF;
}

.GCSelected {
    box-shadow: 0 0 1px 1px #17a2b8;
}

.GiftCardImageDiv {
    height: 200px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.ModifierSetWrapperCSS {
    border: 2px solid #b8b8c450;
    border-radius: 1em;
    padding: 5px;
}
/*** Other Tags ***/
.select-css {
    display: block;
    font-size: var(--oo-text-md);
    font-family: sans-serif;
    font-weight: 700;
    color: #444;
    line-height: 1.3;
    padding: .6em 1.4em .5em .8em;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #aaa;
    /* box-shadow: 0 1px 0 1px rgba(0,0,0,.04); */
    border-radius: 1.5em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--oo-surface);
    /*background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);*/
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20data-prefix%3D%22fas%22%20data-icon%3D%22angle-down%22%20class%3D%22svg-inline--fa%20fa-angle-down%20fa-w-10%22%20role%3D%22img%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M143%20352.3L7%20216.3c-9.4-9.4-9.4-24.6%200-33.9l22.6-22.6c9.4-9.4%2024.6-9.4%2033.9%200l96.4%2096.4%2096.4-96.4c9.4-9.4%2024.6-9.4%2033.9%200l22.6%2022.6c9.4%209.4%209.4%2024.6%200%2033.9l-136%20136c-9.2%209.4-24.4%209.4-33.8%200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E);
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
    margin-top: 5px;
}
        /* Hide arrow icon in IE browsers */
        .select-css::-ms-expand {
            display: none;
        }
        /* Hover style */
        .select-css:hover {
            border-color: var(--oo-on-surface-muted);
        }
        /* Focus style */
        .select-css:focus {
            border-color: #aaa;
            /* It'd be nice to use -webkit-focus-ring-color here but it doesn't work on box-shadow */
            box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
            box-shadow: 0 0 0 3px -moz-mac-focusring;
            color: #222;
            outline: none;
        }

        /* Set options to normal weight */
        .select-css option {
            font-weight: normal;
        }

    /* Support for rtl text, explicit support for Arabic and Hebrew */
    *[dir="rtl"] .select-css, :root:lang(ar) .select-css, :root:lang(iw) .select-css {
        background-position: left .7em top 50%, 0 0;
        padding: .6em .8em .5em 1.4em;
    }

    /* Disabled styles */
    .select-css:disabled, .select-css[aria-disabled=true] {
        color: graytext;
        background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'), linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
    }

        .select-css:disabled:hover, .select-css[aria-disabled=true] {
            border-color: #aaa;
        }
    /******/

    /******/
    .loader {
        position: relative;
        text-align: center;
        margin: 15px auto 35px auto;
        z-index: 9999;
        display: block;
        width: 80px;
        height: 80px;
        border: 10px solid rgba(0, 0, 0, .3);
        border-radius: 50%;
        border-top-color: #000;
        animation: spin 1s ease-in-out infinite;
        -webkit-animation: spin 1s ease-in-out infinite;
    }

    .ImageLoader {
        position: relative;
        text-align: center;
        margin: 15px auto 35px auto;
        display: block;
        width: 80px;
        height: 80px;
        border: 10px solid rgba(0, 0, 0, .3);
        border-radius: 50%;
        border-top-color: #000;
        animation: spin 1s ease-in-out infinite;
        -webkit-animation: spin 1s ease-in-out infinite;
    }

    .ImageLoaderBG {
        position: relative;
        text-align: center;
        margin: 35px auto 35px auto;
        display: block;
        width: 130px;
        height: 130px;
        border: 10px solid rgba(0, 0, 0, .3);
        border-radius: 50%;
        border-top-color: #000;
        animation: spin 1s ease-in-out infinite;
        -webkit-animation: spin 1s ease-in-out infinite;
    }

@keyframes spin {
    to {
            -webkit-transform: rotate(360deg);
        }
    }

    @-webkit-keyframes spin {
        to {
            -webkit-transform: rotate(360deg);
        }
    }

    /**** Emulating bootstrap classes ****/
    @media (min-width:0) {
        w-xs-25 {
            width: 25% !important;
        }

        w-xs-50 {
            width: 50% !important;
        }

        w-xs-75 {
            width: 75% !important;
        }

        w-xs-100 {
            width: 100% !important;
        }

        w-xs-auto {
            width: auto !important;
        }

        h-xs-25 {
            height: 25% !important;
        }

        h-xs-50 {
            height: 50% !important;
        }

        h-xs-75 {
            height: 75% !important;
        }

        h-xs-100 {
            height: 100% !important;
        }

        h-xs-auto {
            height: auto !important;
        }
    }

    @media (min-width: 576px) {
        w-sm-25 {
            width: 25% !important;
        }

        w-sm-50 {
            width: 50% !important;
        }

        w-sm-75 {
            width: 75% !important;
        }

        w-sm-100 {
            width: 100% !important;
        }

        w-sm-auto {
            width: auto !important;
        }

        h-sm-25 {
            height: 25% !important;
        }

        h-sm-50 {
            height: 50% !important;
        }

        h-sm-75 {
            height: 75% !important;
        }

        h-sm-100 {
            height: 100% !important;
        }

        h-sm-auto {
            height: auto !important;
        }
    }

    @media (min-width:768px) {
        w-md-25 {
            width: 25% !important;
        }

        w-md-50 {
            width: 50% !important;
        }

        w-md-75 {
            width: 75% !important;
        }

        w-md-100 {
            width: 100% !important;
        }

        w-md-auto {
            width: auto !important;
        }

        h-md-25 {
            height: 25% !important;
        }

        h-md-50 {
            height: 50% !important;
        }

        h-md-75 {
            height: 75% !important;
        }

        h-md-100 {
            height: 100% !important;
        }

        h-md-auto {
            height: auto !important;
        }
    }

    @media (min-width:992px) {
        w-lg-25 {
            width: 25% !important;
        }

        w-lg-50 {
            width: 50% !important;
        }

        w-lg-75 {
            width: 75% !important;
        }

        w-lg-100 {
            width: 100% !important;
        }

        w-lg-auto {
            width: auto !important;
        }

        h-lg-25 {
            height: 25% !important;
        }

        h-lg-50 {
            height: 50% !important;
        }

        h-lg-75 {
            height: 75% !important;
        }

        h-lg-100 {
            height: 100% !important;
        }

        h-lg-auto {
            height: auto !important;
        }
    }

    @media (min-width:1200px) {
        w-xl-25 {
            width: 25% !important;
        }

        w-xl-50 {
            width: 50% !important;
        }

        w-xl-75 {
            width: 75% !important;
        }

        w-xl-100 {
            width: 100% !important;
        }

        w-xl-auto {
            width: auto !important;
        }

        h-xl-25 {
            height: 25% !important;
        }

        h-xl-50 {
            height: 50% !important;
        }

        h-xl-75 {
            height: 75% !important;
        }

        h-xl-100 {
            height: 100% !important;
        }

        h-xl-auto {
            height: auto !important;
        }
    }

/* =============================================
   GiftCard / Loyalty Index Page
   ============================================= */

.gc-card {
    background: var(--oo-surface);
    border: 1px solid #e0e0e0;
    border-radius: var(--oo-radius-md);
    box-shadow: var(--oo-shadow-md);
    padding: 24px;
    margin-bottom: 16px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}

.gc-card-image {
    width: 100%;
    border-radius: var(--oo-radius-md);
    display: block;
    margin: 0 auto 16px;
}

.gc-card-barcode {
    text-align: center;
    margin: 12px 0 4px;
}

.gc-card-barcode img {
    height: 120px;
    display: block;
    margin: 0 auto;
}

.gc-card-barcode-number {
    text-align: center;
    font-size: 0.8125rem;
    color: var(--oo-on-surface-muted);
    margin-top: 4px;
}

.gc-card-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 5px 0;
    font-size: var(--oo-text-sm);
    border-bottom: 1px solid #f2f2f2;
}

.gc-card-row:last-of-type {
    border-bottom: none;
}

.gc-card-row-label {
    color: var(--oo-on-surface-muted);
    font-weight: 500;
}

.gc-card-row-value {
    font-weight: 600;
    color: #333;
}

.gc-card-actions {
    display: flex;
    gap: 10px;
    margin-top: 16px;
}

.gc-card-actions > * {
    flex: 1;
}

.gc-hero {
    display: flex;
    gap: 0;
    width: 100%;
    max-width: 820px;
    margin: 0 auto 28px;
    background: var(--oo-surface);
    border: 1px solid #e0e0e0;
    border-radius: var(--oo-radius-md);
    overflow: hidden;
    box-shadow: var(--oo-shadow-md);
}

.gc-hero-panel {
    flex: 1;
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
}

.gc-hero-divider {
    width: 1px;
    background: #d0d0d0;
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gc-hero-divider::after {
    content: 'or';
    position: absolute;
    background: var(--oo-surface);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xs);
    padding: 8px 0;
    letter-spacing: 0.05em;
    font-weight: 500;
}

.gc-hero-label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--oo-on-surface-muted);
    margin-bottom: 6px;
}

.gc-hero-heading {
    font-size: var(--oo-text-xl);
    font-weight: 400;
    margin-bottom: 16px;
}

.gc-hero-text {
    font-size: 0.84375rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 24px;
    flex-grow: 1;
}

.gc-hero-btn-primary {
    width: 100%;
    padding: 11px 20px;
    background: #3d7bd8;
    color: #fff;
    border: none;
    border-radius: var(--oo-radius-md);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: background 0.2s, transform 0.1s;
    text-align: center;
    display: block;
    text-decoration: none;
}

.gc-hero-btn-primary:hover { background: #4a8ae8; color: #fff; text-decoration: none; }
.gc-hero-btn-primary:active { transform: scale(0.99); }

.gc-hero-btn-secondary {
    width: 100%;
    padding: 11px 20px;
    background: transparent;
    color: var(--oo-link);
    border: 1.5px solid #3d7bd8;
    border-radius: var(--oo-radius-md);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: background 0.2s, color 0.2s;
    text-align: center;
    display: block;
    text-decoration: none;
}

.gc-hero-btn-secondary:hover { background: #3d7bd8; color: #fff; text-decoration: none; }

.gc-hero-secondary-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gc-hero-tab-bar {
    display: none;
    border-bottom: 1px solid #e0e0e0;
}

.gc-hero-tab-btn {
    flex: 1;
    padding: 14px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    font-size: var(--oo-text-sm);
    font-weight: 500;
    color: var(--oo-on-surface-muted);
    cursor: pointer;
    transition: all 0.2s;
}

.gc-hero-tab-btn.active {
    color: var(--oo-link);
    border-bottom-color: var(--oo-link);
}

.gc-landing-image {
    max-width: 820px;
    margin: 0 auto 28px;
    border-radius: var(--oo-radius-md);
    overflow: hidden;
    box-shadow: var(--oo-shadow-md);
}

.gc-landing-image img {
    width: 100%;
    display: block;
}

.gc-section-header {
    font-size: var(--oo-text-xl);
    font-weight: 400;
    text-align: center;
    margin: 32px 0 20px;
    color: #333;
}

.gc-section-divider {
    max-width: 820px;
    margin: 32px auto;
    border: none;
    border-top: 1px solid #e0e0e0;
}

.gc-cards-wrapper {
    max-width: 520px;
    margin: 0 auto;
}

.gc-empty-state {
    max-width: 500px;
    margin: 60px auto;
    text-align: center;
    padding: 48px 24px;
    background: var(--oo-surface);
    border: 1px solid #e0e0e0;
    border-radius: var(--oo-radius-md);
    box-shadow: var(--oo-shadow-md);
}

.gc-empty-state-icon {
    font-size: 3rem;
    margin-bottom: 16px;
    opacity: 0.35;
}

.gc-empty-state-text {
    font-size: var(--oo-text-lg);
    font-weight: 400;
    color: var(--oo-on-surface-muted);
}

.lp-stats {
    display: flex;
    justify-content: center;
    gap: 20px;
    max-width: 500px;
    margin: 0 auto 24px;
}

.lp-stat-badge {
    flex: 1;
    background: var(--oo-surface);
    border: 1px solid #e0e0e0;
    border-radius: var(--oo-radius-md);
    padding: 24px 16px;
    text-align: center;
    box-shadow: var(--oo-shadow-md);
}

.lp-stat-value {
    font-size: var(--oo-text-2xl);
    font-weight: 600;
    color: #333;
    line-height: 1;
}

.lp-stat-label {
    font-size: 0.6875rem;
    color: var(--oo-on-surface-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 6px;
}

.lp-actions {
    display: flex;
    justify-content: center;
    margin-bottom: 8px;
}

.lp-history-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: var(--oo-text-sm);
    color: var(--oo-link);
    cursor: pointer;
    border: none;
    background: none;
    padding: 8px 16px;
    margin: 8px auto 16px;
    transition: color 0.2s;
    width: 100%;
}

.lp-history-toggle:hover { color: #2a5fb0; text-decoration: none; }

.lp-history-toggle .lp-chevron {
    transition: transform 0.3s;
    font-size: 0.625rem;
}

.lp-history-toggle.active .lp-chevron {
    transform: rotate(180deg);
}

.lp-history-item {
    background: var(--oo-surface);
    border: 1px solid #e0e0e0;
    border-radius: var(--oo-radius-md);
    padding: 20px 24px;
    margin-bottom: 12px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: var(--oo-shadow-md);
}

.lp-history-type {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--oo-on-surface-muted);
    margin-bottom: 2px;
}

.lp-history-ref {
    font-size: 0.8125rem;
    color: #555;
}

.lp-history-date {
    font-size: var(--oo-text-xs);
    color: #aaa;
    margin: 4px 0 8px;
}

.lp-history-points {
    font-size: var(--oo-text-sm);
    font-weight: 600;
    color: #333;
}

.lp-history-voided {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #d9534f;
    background: #fdf0f0;
    border-radius: var(--oo-radius-sm);
    padding: 2px 8px;
    margin: 4px 0;
}

.lp-history-redemption {
    font-size: var(--oo-text-sm);
    font-weight: 600;
    color: #d9534f;
}

.lp-register-cta {
    max-width: 500px;
    margin: 32px auto;
    text-align: center;
    padding: 40px 24px;
    background: var(--oo-surface);
    border: 1px solid #e0e0e0;
    border-radius: var(--oo-radius-md);
    box-shadow: var(--oo-shadow-md);
}

.lp-register-cta-heading {
    font-size: var(--oo-text-lg);
    font-weight: 400;
    color: #333;
    margin-bottom: 8px;
}

.lp-register-cta-text {
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface-muted);
    margin-bottom: 24px;
}

.loyalty-page-title {
    font-size: var(--oo-text-2xl);
    font-weight: 400;
    text-align: center;
    margin-bottom: 8px;
}

.loyalty-page-sub {
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface-muted);
    text-align: center;
    margin-bottom: 36px;
}

.loyalty-auth-container {
    display: flex;
    gap: 0;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    background: var(--oo-surface);
    border: 1px solid #e0e0e0;
    border-radius: var(--oo-radius-md);
    overflow: hidden;
    box-shadow: var(--oo-shadow-md);
}

.loyalty-auth-panel {
    flex: 1;
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
}

.loyalty-auth-divider {
    width: 1px;
    background: #d0d0d0;
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loyalty-auth-divider::after {
    content: 'or';
    position: absolute;
    background: var(--oo-surface);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xs);
    padding: 8px 0;
    letter-spacing: 0.05em;
    font-weight: 500;
}

.loyalty-panel-label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--oo-on-surface-muted);
    margin-bottom: 6px;
}

.loyalty-panel-heading {
    font-size: var(--oo-text-xl);
    font-weight: 400;
    margin-bottom: 24px;
}

.loyalty-btn-primary {
    width: 100%;
    padding: 11px 20px;
    background: #3d7bd8;
    color: #fff;
    border: none;
    border-radius: var(--oo-radius-md);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: background 0.2s, transform 0.1s;
    margin-top: 4px;
}

.loyalty-btn-primary:hover { background: #4a8ae8; color: #fff; text-decoration: none; }
.loyalty-btn-primary:active { transform: scale(0.99); }

.loyalty-btn-secondary {
    width: 100%;
    padding: 11px 20px;
    background: transparent;
    color: var(--oo-link);
    border: 1.5px solid #3d7bd8;
    border-radius: var(--oo-radius-md);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: background 0.2s, color 0.2s;
    margin-top: 4px;
    text-align: center;
    display: block;
    text-decoration: none;
}

.loyalty-btn-secondary:hover {
    background: #3d7bd8;
    color: #fff;
    text-decoration: none;
}

.loyalty-panel-note {
    font-size: var(--oo-text-xs);
    color: var(--oo-on-surface-muted);
    margin-top: 16px;
    line-height: 1.5;
    text-align: center;
}

.loyalty-panel-note a { color: var(--oo-link); }

.loyalty-benefit-list {
    margin: 0 0 24px 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.loyalty-benefit-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.84375rem;
    color: #555;
}

.loyalty-benefit-list li::before {
    content: '\2713';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #eef3fc;
    color: var(--oo-link);
    font-size: 0.6875rem;
    font-weight: 700;
    border-radius: 50%;
    flex-shrink: 0;
}

.loyalty-social-section {
    max-width: 820px;
    margin: 24px auto 0;
    text-align: center;
}

.loyalty-social-label {
    font-size: var(--oo-text-xs);
    color: var(--oo-on-surface-muted);
    margin-bottom: 12px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}

.loyalty-social-label::before,
.loyalty-social-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e0e0e0;
}

.loyalty-tab-bar {
    display: none;
    border-bottom: 1px solid #e0e0e0;
}

.loyalty-tab-btn {
    flex: 1;
    padding: 14px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    font-size: var(--oo-text-sm);
    font-weight: 500;
    color: var(--oo-on-surface-muted);
    cursor: pointer;
    transition: all 0.2s;
}

.loyalty-tab-btn.active {
    color: var(--oo-link);
    border-bottom-color: var(--oo-link);
}

@media (max-width: 768px) {
    .lp-stats { flex-direction: column; gap: 12px; }
    .gc-hero { flex-direction: column; }
    .gc-hero-divider { display: none; }
    .gc-hero-tab-bar { display: flex; }
    .gc-hero-panel { padding: 28px 22px; }
    .gc-hero-panel.gc-hero-panel-hidden { display: none; }
    .gc-card { padding: 16px; }
    .lp-history-item { padding: 16px; }
}

@media (max-width: 640px) {
    .loyalty-auth-container { flex-direction: column; }
    .loyalty-auth-divider { display: none; }
    .loyalty-tab-bar { display: flex; }
    .loyalty-auth-panel { padding: 28px 22px; }
    .loyalty-auth-panel.loyalty-panel-hidden { display: none; }
}

@media (max-width: 480px) {
    .gc-card { border-radius: var(--oo-radius-md); padding: 14px; }
    .lp-stat-badge { padding: 16px; }
    .lp-stat-value { font-size: 1.5rem; }
    .gc-section-header { font-size: 1.25rem; margin: 24px 0 16px; }
    .gc-empty-state { padding: 32px 16px; margin: 32px auto; }
}

/* #NavImage is the async wrapper around the brand logo (Views/Shared/_Layout.cshtml,
   Views/Home/NavBar.cshtml, Views/Shared/_QROrderingLayout.cshtml,
   Views/Shared/_GiftCardBalanceLayout.cshtml). As a block box it puts the inline-block
   .navbar-brand on a line box. The brand reports the baseline of its overflowing 56px logo,
   so that line box grows to 44px and the brand sits at the top of it instead of being centred
   by the navbar's align-items. Flex creates no line box, so the brand is centred again and the
   logo keeps the position that Views/Home/NavImage.cshtml assumes. */
#NavImage {
    display: flex;
    align-items: center;
}

/* ==========================================================================
   OO components
   --------------------------------------------------------------------------
   Owner: the FOUNDATION lane. Names are fixed by _worktrees/_oo-modern/CONTRACT.md.

   WHICH CLASS FOR WHICH JOB

     .oo-btn              Any action. Put it on a <button> or an <a>, never on
                          a <div>. Add exactly one role modifier.
       --primary          The one action the screen exists for. One per screen.
       --secondary        A real alternative to the primary. Outline, not solid.
       --quiet            A minor action. Replaces btn-link.
       --danger           Removes or cancels something the customer cannot undo.
       --block            Full width. Combine with a role modifier.
       .is-selected       The chosen option in a group. Beats every role
                          modifier, so the choice is never quieter than the
                          options next to it.
       :disabled          Also matches [aria-disabled="true"], for an <a>.

     .oo-card             A bounded block of related content on the page.

     .oo-field            One label, one input, and its help or error text.
       __label            Always present. A placeholder is not a label.
       __hint             Help text shown before the customer makes a mistake.
       __error            Shown after. Name the problem in the text, not only
                          in the colour.

     .oo-alert            A message about the state of the page or the order.
       --info --warn --danger --success

     .oo-chip             One selectable option in a horizontal set: a tip
                          preset, a category, an amount. Use a <button>.
       .is-selected       The chosen chip.

     .oo-stepper          A quantity control: minus, value, plus.

     .oo-modal            Put this on the Bootstrap .modal-content element.
       __header __body __footer     The footer is sticky. The body scrolls.
                          These three must be DIRECT children of .oo-modal.
                          The one exception is content loaded through
                          Views/Shared/_PopupPartial.cshtml, which adds one
                          wrapper; that wrapper carries .oo-modal__shell and the
                          component passes its flex column through it.
       __shell            The _PopupPartial wrapper. Nothing else needs it.
                          What makes the body scroll instead of the page is
                          min-height: 0 on __body, and on __shell. A flex item
                          will not shrink below its content without it, so the
                          body never becomes the scroll container and .oo-modal
                          clips the overflow instead. Do not remove either one.

     .oo-sr-only          Text for a screen reader only.
     .oo-skip-link        First tabbable element in the layout.

   HOW THIS FILE BEHAVES

   These classes sit at the end of Site.css, which the ~/Content/css bundle
   loads after bootstrap.css. A component therefore beats the Bootstrap rule
   for the same element and needs no !important.

   Warning for the other lanes: this file already used the oo- prefix before
   the contract existed. .oo-card-header, .oo-card-middle, .oo-btn-active and
   about thirty more are 2018 rules that mean something else. Inside a
   component use only the __ children the contract names. Never a
   single-hyphen child.

   Every :hover rule is wrapped in @media (any-hover: hover), which is the
   convention Views/CSS/Index.cshtml already applies, so a touch device does
   not hold a hover state after a tap.

   --oo-border is decorative: card edges, dividers. --oo-border-control is the
   boundary of something the customer operates: an input, a chip, a stepper.
   The second one has a 3:1 contrast requirement. Do not swap them.
   ========================================================================== */

/* --- App shell ---------------------------------------------------------- */

/* Replaced the inline style="padding-top: 112px" that all six layouts carried.

   PASS 2: the padding is gone rather than overridden. Content/oo-modern.css makes
   the header STICKY, so it sits in normal flow and occupies its own space. A body
   reserving another 112px on top of that is 112px of dead air at the top of every
   page. oo-modern.css originally cancelled it with padding-top: 0 !important,
   which broke the contract's first hard rule to fight a rule in this file; the
   honest fix is to stop declaring it here.

   The two heights stay as custom properties because the header still reads them.
   padding-bottom stays with the body rule above and does not change. */
.oo-app-body {
    --oo-nav-height: 56px;
    --oo-category-nav-height: 56px;
}

/* A nav control that is a real <button> rather than a clickable <div>. Strips
   the default button chrome so it still looks like the links beside it, and
   keeps .nav-link's own padding. Use it wherever a nav item does something on
   click instead of navigating: a div takes no focus, fires on no keypress and
   announces as "generic". */
.oo-navlink-btn {
    background-color: transparent;
    border: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
    cursor: pointer;
}

.oo-navlink-btn:focus {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-navlink-btn:focus:not(:focus-visible) {
    box-shadow: none;
}

.oo-navlink-btn:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

/* --- Button ------------------------------------------------------------- */

/* Works on <button> and on <a>. Never put it on a <div>: a div takes no focus
   and fires no keyboard activation. min-height 44px is the touch target. */
.oo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--oo-space-2);
    min-height: 44px;
    padding: var(--oo-space-2) var(--oo-space-4);
    border: 1px solid transparent;
    border-radius: var(--oo-radius-md);
    background-color: transparent;
    color: var(--oo-on-surface);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

/* :focus carries the ring for a browser without :focus-visible. The second
   rule takes it away again for a mouse click. A browser that does not know
   :focus-visible drops that rule as invalid and keeps the ring, which is the
   safe end of the trade. */
.oo-btn:focus {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-btn:focus:not(:focus-visible) {
    box-shadow: none;
}

.oo-btn:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

/* A solid button darkens on hover with a neutral scrim rather than a second
   colour token, so the hover still works when a merchant theme replaces the
   background. --oo-brand-hover exists, so the primary uses the real token. */
.oo-btn--primary {
    background-color: var(--oo-brand);
    border-color: var(--oo-brand);
    color: var(--oo-on-brand);
}

/* Both the label AND the outline draw from --oo-brand-text, not --oo-brand.
   The outline is a control boundary, so WCAG 1.4.11 wants 3:1 against the
   surface, and a light merchant brand fails that as surely as the label fails
   4.5:1: at Mike's Office --oo-brand is #00BFFF and measures 2.05:1, so this
   component shipped an unreadable label inside an invisible box.
   It is deliberately NOT --oo-border-control. A secondary button's outline is
   its brand expression, and painting it neutral grey would take the brand out
   of the component. --oo-brand-text keeps the hue, and anything that clears
   4.5:1 clears 3:1 with room to spare. */
.oo-btn--secondary {
    background-color: transparent;
    border-color: var(--oo-brand-text);
    color: var(--oo-brand-text);
}

.oo-btn--quiet {
    min-height: auto;
    padding: var(--oo-space-1) var(--oo-space-2);
    background-color: transparent;
    border-color: transparent;
    color: var(--oo-brand-text);
}

.oo-btn--danger {
    background-color: var(--oo-danger);
    border-color: var(--oo-danger);
    color: var(--oo-on-danger);
}

@media (any-hover: hover) {
    .oo-btn--primary:hover {
        background-color: var(--oo-brand-hover);
        border-color: var(--oo-brand-hover);
        color: var(--oo-on-brand);
    }

    .oo-btn--secondary:hover {
        background-color: var(--oo-brand);
        color: var(--oo-on-brand);
        text-decoration: none;
    }

    .oo-btn--quiet:hover {
        color: var(--oo-brand-hover);
        text-decoration: underline;
    }

    .oo-btn--danger:hover {
        background-image: linear-gradient(rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.14));
        color: var(--oo-on-danger);
    }
}

.oo-btn--block {
    display: flex;
    width: 100%;
}

/* Two classes, so this beats every single-class role modifier above. The
   selected option must never read as quieter than the unselected one. */
.oo-btn.is-selected {
    background-color: var(--oo-brand);
    border-color: var(--oo-brand);
    color: var(--oo-on-brand);
}

/* aria-disabled covers <a>, which cannot take the disabled attribute.
   Opacity alone is not the signal: the lane must also say what is missing. */
.oo-btn:disabled,
.oo-btn[aria-disabled="true"] {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

/* --- Card --------------------------------------------------------------- */

.oo-card {
    padding: var(--oo-space-4);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-lg);
    background-color: var(--oo-surface);
    box-shadow: var(--oo-shadow-sm);
}

/* --- Form field --------------------------------------------------------- */

.oo-field {
    display: block;
    margin-bottom: var(--oo-space-4);
}

.oo-field__label {
    display: block;
    margin-bottom: var(--oo-space-1);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-sm);
    font-weight: 600;
}

.oo-field__hint {
    display: block;
    margin-top: var(--oo-space-1);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xs);
}

/* Colour is not the only cue: the message text must name the problem, and the
   lane must point the input at it with aria-describedby. */
.oo-field__error {
    display: block;
    margin-top: var(--oo-space-1);
    color: var(--oo-danger);
    font-size: var(--oo-text-xs);
    font-weight: 600;
}

/* --- Alert -------------------------------------------------------------- */

/* The body stays on a raised surface and only the left edge carries the status
   colour. That keeps the text at the measured --oo-on-surface ratio whatever
   the status colour is, which is the failure mode section 4.1 of the discovery
   report found in the shipped themes. */
.oo-alert {
    display: flex;
    gap: var(--oo-space-3);
    padding: var(--oo-space-3) var(--oo-space-4);
    border: 1px solid var(--oo-border);
    border-left: 4px solid var(--oo-on-surface-muted);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface-raised);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
    text-align: left;
}

.oo-alert--info {
    border-left-color: var(--oo-info);
}

.oo-alert--warn {
    border-left-color: var(--oo-warning);
}

.oo-alert--danger {
    border-left-color: var(--oo-danger);
}

.oo-alert--success {
    border-left-color: var(--oo-success);
}

/* --- Chip --------------------------------------------------------------- */

.oo-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--oo-space-1);
    min-height: 44px;
    padding: var(--oo-space-1) var(--oo-space-3);
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-pill);
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-sm);
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.oo-chip:focus {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-chip:focus:not(:focus-visible) {
    box-shadow: none;
}

.oo-chip:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

@media (any-hover: hover) {
    .oo-chip:hover {
        border-color: var(--oo-brand-text);
        color: var(--oo-brand-text);
        text-decoration: none;
    }
}

.oo-chip.is-selected {
    border-color: var(--oo-brand);
    background-color: var(--oo-brand);
    color: var(--oo-on-brand);
}

/* --- Stepper ------------------------------------------------------------ */

/* The contract names no children, so the children are matched by element.
   Expect: <div class="oo-stepper"><button>-</button><output>1</output>
   <button>+</button></div>. Both buttons need an accessible name, and the
   value needs aria-live so a screen reader hears the count change. */
.oo-stepper {
    display: inline-flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface);
}

    .oo-stepper > button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
        padding: 0 var(--oo-space-2);
        border: none;
        background-color: transparent;
        color: var(--oo-brand-text);
        font-family: var(--oo-font-body);
        font-size: var(--oo-text-lg);
        font-weight: 600;
        line-height: 1;
        cursor: pointer;
    }

        .oo-stepper > button:focus {
            outline: none;
            box-shadow: var(--oo-focus-ring);
        }

        .oo-stepper > button:focus:not(:focus-visible) {
            box-shadow: none;
        }

        .oo-stepper > button:focus-visible {
            outline: none;
            box-shadow: var(--oo-focus-ring);
        }

        .oo-stepper > button:disabled,
        .oo-stepper > button[aria-disabled="true"] {
            opacity: 0.55;
            cursor: not-allowed;
            pointer-events: none;
        }

    .oo-stepper > input,
    .oo-stepper > output,
    .oo-stepper > span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 40px;
        padding: 0 var(--oo-space-1);
        border: none;
        border-left: 1px solid var(--oo-border-control);
        border-right: 1px solid var(--oo-border-control);
        background-color: transparent;
        color: var(--oo-on-surface);
        font-family: var(--oo-font-body);
        font-size: var(--oo-text-md);
        font-weight: 600;
        text-align: center;
    }

/* --- Modal -------------------------------------------------------------- */

/* Put .oo-modal on the Bootstrap .modal-content element. The panel then owns
   its own height, the body is the only thing that scrolls, and the footer
   stays on screen. That is the fix for discovery 7.2.7: today the page scrolls
   instead of the modal and Add To Cart sits below the fold. */
.oo-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 3.5rem);
    overflow: hidden;
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-lg);
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
}

/* The component expects __header, __body and __footer to be direct children.
   Views/Shared/_PopupPartial.cshtml is the one exception in this app: it wraps
   @RenderBody in one extra element, so anything loaded through it arrives as a
   grandchild. That wrapper carries .oo-modal__shell and this rule passes the
   flex column through it.
   Without it the failure is silent and worse than a layout slip: .oo-modal keeps
   overflow: hidden while nothing inside it scrolls, so content past the modal's
   height cannot be reached by mouse, keyboard or scroll, and a screenshot still
   looks right. Measured on the item modal at 799px of modal against 1076px of
   content. */
.oo-modal > .oo-modal__shell {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.oo-modal__header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--oo-space-3);
    padding: var(--oo-space-4);
    border-bottom: 1px solid var(--oo-border);
    background-color: var(--oo-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    font-weight: 600;
}

/* min-height: 0 lets this shrink below its content, which is what makes it the
   thing that scrolls instead of the page. */
.oo-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: var(--oo-space-4);
    font-size: var(--oo-text-md);
}

.oo-modal__footer {
    flex: 0 0 auto;
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--oo-space-2);
    padding: var(--oo-space-4);
    border-top: 1px solid var(--oo-border);
    background-color: var(--oo-surface);
}

/* --- Error panel -------------------------------------------------------- */

/* The one branded error screen, rendered by Views/Shared/_ErrorPanel.cshtml.
   Replaces the raw ASP.NET "Server Error in '/' Application" page a customer
   used to meet on a mistyped URL. */
.oo-errorpanel {
    max-width: 32rem;
    margin: var(--oo-space-6) auto;
    padding: var(--oo-space-5);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-lg);
    background-color: var(--oo-surface);
    box-shadow: var(--oo-shadow-md);
    text-align: center;
}

.oo-errorpanel__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--oo-space-4);
}

.oo-errorpanel__heading {
    margin: 0 0 var(--oo-space-3);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-xl);
    font-weight: 600;
}

.oo-errorpanel__body {
    margin: 0 0 var(--oo-space-5);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-md);
    line-height: 1.5;
}

.oo-errorpanel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--oo-space-3);
    justify-content: center;
}

.oo-errorpanel__store {
    margin: var(--oo-space-5) 0 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

/* --- Utilities ---------------------------------------------------------- */

.oo-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* First tabbable element in the layout. Off screen until it takes focus. */
.oo-skip-link {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2000;
    padding: var(--oo-space-2) var(--oo-space-4);
    border-bottom-right-radius: var(--oo-radius-md);
    background-color: var(--oo-brand);
    color: var(--oo-on-brand);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    text-decoration: none;
    transform: translateY(-200%);
    transition: transform 0.15s ease-in-out;
}

.oo-skip-link:focus {
    transform: translateY(0);
    color: var(--oo-on-brand);
    text-decoration: none;
    outline: none;
    box-shadow: var(--oo-focus-ring);
}
/* Below the md breakpoint the navbar container wraps, and an open .navbar-collapse claims a whole
   row of its own because bootstrap gives it flex-basis: 100% (Content/bootstrap.css line 4377). In
   document order the collapse sits before #CartNav, so opening the menu pushes the cart off the
   first row and leaves the toggler and the brand alone on it. The container carries
   justify-content: space-between (Content/bootstrap.css line 4325), which then moves the brand to
   the right edge. Ordering the collapse after the cart holds the first row to the same three items
   whether the menu is open or closed, so the brand keeps its place. This stops at the md
   breakpoint, where .navbar-expand-md sets flex-wrap: nowrap and .order-md-last on #CartNav takes
   over. */
@media (max-width: 767.98px) {
    .navbar > .container > .navbar-collapse {
        order: 1;
    }
}

/*!
 * Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
 *
 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
 */

.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px}
/*!
 * Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/Content/fontawesome/webfonts/fa-brands-400.eot);src:url(/Content/fontawesome/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(/Content/fontawesome/webfonts/fa-brands-400.woff2) format("woff2"),url(/Content/fontawesome/webfonts/fa-brands-400.woff) format("woff"),url(/Content/fontawesome/webfonts/fa-brands-400.ttf) format("truetype"),url(/Content/fontawesome/webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(/Content/fontawesome/webfonts/fa-regular-400.eot);src:url(/Content/fontawesome/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(/Content/fontawesome/webfonts/fa-regular-400.woff2) format("woff2"),url(/Content/fontawesome/webfonts/fa-regular-400.woff) format("woff"),url(/Content/fontawesome/webfonts/fa-regular-400.ttf) format("truetype"),url(/Content/fontawesome/webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(/Content/fontawesome/webfonts/fa-solid-900.eot);src:url(/Content/fontawesome/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(/Content/fontawesome/webfonts/fa-solid-900.woff2) format("woff2"),url(/Content/fontawesome/webfonts/fa-solid-900.woff) format("woff"),url(/Content/fontawesome/webfonts/fa-solid-900.ttf) format("truetype"),url(/Content/fontawesome/webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}
/* ===========================================================================
   oo-modern.css
   Pass 2, 2026-09-01. Appearance only.

   WHAT THIS FILE IS
   The visual layer for Online Ordering. It loads after bootstrap.css and after
   Site.css, and it owns everything about how the site LOOKS: layout rhythm,
   type scale, elevation, radius, motion. Bootstrap is kept for behaviour only,
   because its modal, collapse and dropdown JavaScript is wired through the
   views and the scripts. Its visual opinions are superseded here.

   WHY IT CAN WIN
   A merchant CSS setting can only carry color, background, border-color,
   font-family, font-weight and text-decoration. Verified 2026-09-01 against a
   live location and all three shipped themes: zero occurrences of
   border-radius, box-shadow, padding, margin, transition, transform, gap or
   letter-spacing. So everything in this file except colour is beyond the reach
   of an !important in the settings catalog, and nothing here will be fought.

   WHERE THE DESIGN COMES FROM
   Views/GiftCard/Index.cshtml and Views/Orders/Details.cshtml, the two screens
   modernized by hand before this pass. They set the vocabulary: a 10px card
   radius, wide soft shadows, 40px panel padding, uppercase tracked micro
   labels, and a 200ms transition with a scale(0.99) press.

   ONE CORRECTION TO THAT REFERENCE. It hardcodes #3D7BD8 as the primary with
   white text, which measures 4.18:1, and lightens to #4A8AE8 on hover, which
   measures 3.45:1. Both fail WCAG AA for text below 18.66px. This file keeps
   the hue and takes --oo-brand #2B2B2B at 4.86:1, darkening on hover rather
   than lightening. The look is preserved; the arithmetic is not.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   1. RESET THE BOOTSTRAP LOOK
   Bootstrap's visual defaults are neutralised here rather than deleted from the
   bundle, so its JavaScript keeps the class hooks it needs.
   --------------------------------------------------------------------------- */

body.oo-app-body {
    color-scheme: var(--oo-color-scheme);
    /* No fallback on purpose. --oo-surface-sunken is always declared in Site.css, so a
       fallback here can only ever mask a broken bundle, and this one masked something
       worse: it held #F4F6F8 for a while after the token was corrected to #F5F5F5,
       because #F4F6F8 carried a blue cast the neutral palette rejects. A hardcoded
       fallback is a second copy of a value, and second copies go stale silently. */
    background: var(--oo-surface-sunken);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.55;
}

/* Bootstrap sets .card, .btn, .form-control, .modal-content and .navbar with
   4px radius, hairline borders and no elevation. All four are re-specified. */
.oo-app-body .card,
.oo-app-body .modal-content,
.oo-app-body .dropdown-menu {
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    box-shadow: var(--oo-shadow-md);
    /* bootstrap.css paints all three #FFF, and .dropdown-menu also #212529 text. A
       container that keeps a white fill while its contents inherit the page
       foreground is the shape of the cart-modal defect this sheet fixed on
       2026-09-04, so the same pair goes on every container Bootstrap fills. */
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
}

/* ---------------------------------------------------------------------------
   2. TYPE
   A real scale, set in rem so the browser text-size preference still works.
   --------------------------------------------------------------------------- */

.oo-app-body h1, .oo-app-body .h1 { font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); }
.oo-app-body h2, .oo-app-body .h2 { font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem); }
.oo-app-body h3, .oo-app-body .h3 { font-size: 1.25rem; }

.oo-app-body h1, .oo-app-body h2, .oo-app-body h3,
.oo-app-body .h1, .oo-app-body .h2, .oo-app-body .h3 {
    font-family: var(--oo-font-heading);
    font-weight: var(--oo-font-heading-weight);
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin-bottom: var(--oo-space-4);
}

/* The uppercase tracked micro-label from the reference screens. */
.oo-eyebrow {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--oo-on-surface-muted);
}

/* ---------------------------------------------------------------------------
   3. MOTION
   Every transition in this file uses the tokens, so the whole site can be
   retimed from one place. Anyone who has asked not to see motion gets none.
   --------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

@keyframes oo-rise {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

@keyframes oo-shimmer {
    from { background-position: -200% 0; }
    to   { background-position: 200% 0; }
}

/* ---------------------------------------------------------------------------
   4. HEADER
   Sticky, translucent, and it loses its shadow at the top of the page.
   --------------------------------------------------------------------------- */

/* The body no longer reserves space for a fixed navbar, and there is no rule here
   because Site.css stopped declaring the padding rather than being overridden.

   This comment previously said that had already happened. It had not: the inline
   112px on the six layouts was removed, but body { padding-top: 50px } in Site.css
   was missed and shipped 50px of dead air. Both are gone now. If you are checking
   whether the body still reserves space, grep Site.css rather than trusting this. */

.oo-app-body .navbar {
    background-color: var(--oo-header);
    color: var(--oo-on-header);
    position: sticky;
    top: 0;
    z-index: 1030;
    padding: var(--oo-space-3) var(--oo-space-5);
    border: 0;
    box-shadow: var(--oo-shadow-sm);
    backdrop-filter: saturate(1.4) blur(12px);
    -webkit-backdrop-filter: saturate(1.4) blur(12px);
    transition: box-shadow var(--oo-motion-base) var(--oo-ease);
}

.oo-app-body .navbar .nav-link {
    border-radius: var(--oo-radius-pill);
    padding: var(--oo-space-2) var(--oo-space-4);
    font-weight: 600;
    transition: background var(--oo-motion-fast) var(--oo-ease),
                transform var(--oo-motion-fast) var(--oo-ease);
}

@media (any-hover: hover) {
    .oo-app-body .navbar .nav-link:hover {
        /* A white wash assumes a dark header. Signal's header is #F4F6F8, so its hover
           was white on near-white and the state read as nothing happening at all.
           Mixing the header's OWN foreground gives a dark wash on a light header and a
           light one on a dark header, so a theme author cannot pick a header colour
           that turns the hover off.

           The old rgba(255,255,255,0.14) is NOT kept underneath as a fallback. A
           browser that cannot parse color-mix drops this whole declaration anyway,
           because a shorthand carrying var() is substituted after parsing, so the
           earlier line would not have protected anything. It would only have left a
           dead value in the file for the next reader, and for themecheck.py, to
           mistake for the live one. */
        background: color-mix(in srgb, var(--oo-on-header) 14%, transparent);
    }
}

.oo-app-body .navbar .nav-link:active { transform: var(--oo-press); }

/* ---------------------------------------------------------------------------
   5. SURFACES
   --------------------------------------------------------------------------- */

.oo-panel {
    background: var(--oo-surface);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-lg);
    box-shadow: var(--oo-shadow-md);
    padding: var(--oo-space-7) var(--oo-space-6);
}

.oo-panel--flush { padding: 0; overflow: hidden; }

.oo-stack > * + * { margin-top: var(--oo-space-4); }
.oo-stack--tight > * + * { margin-top: var(--oo-space-2); }
.oo-stack--loose > * + * { margin-top: var(--oo-space-6); }

.oo-shell {
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: var(--oo-space-5);
}

.oo-shell--narrow { max-width: 820px; }

/* ---------------------------------------------------------------------------
   6. BUTTONS
   --------------------------------------------------------------------------- */

.oo-app-body .oo-btn,
.oo-app-body .btn {
    border-radius: var(--oo-radius-sm);
    padding: 0.6875rem 1.25rem;
    font-weight: 600;
    font-size: var(--oo-text-sm);
    letter-spacing: 0.01em;
    /* NO border-color HERE, DELIBERATELY.

       This rule used to say `border: 1px solid transparent`. The shorthand also
       writes border-color, and this selector is two classes, so it beat every
       variant that supplies one at a single class:

         bootstrap.css   .btn-outline-secondary { border-color: #6C757D }
         bootstrap.css   .btn-outline-success   { border-color: #28A745 }
         Content/Site.css .oo-btn--secondary    { border-color: var(--oo-brand-text) }

       Every outlined button on the site therefore drew a transparent border, in
       every state, which is the whole of what an outlined button is. The order
       method buttons, the ready time buttons and the secondary button on the
       error panel all shipped with no outline.

       The width and the style stay because a filled and an outlined button have
       to be the same height. Both base sheets already declare
       `border: 1px solid transparent` on .btn and on .oo-btn before their own
       variants, so a button with no variant still gets a transparent border and
       nothing here has to supply a fallback. */
    border-width: 1px;
    border-style: solid;
    transition: background var(--oo-motion-base) var(--oo-ease),
                border-color var(--oo-motion-base) var(--oo-ease),
                color var(--oo-motion-base) var(--oo-ease),
                box-shadow var(--oo-motion-base) var(--oo-ease),
                transform var(--oo-motion-fast) var(--oo-ease);
}

.oo-app-body .btn:active,
.oo-app-body .oo-btn:active { transform: var(--oo-press); }

.oo-app-body .btn:focus-visible,
.oo-app-body .oo-btn:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

@media (any-hover: hover) {
    .oo-app-body .oo-btn--primary:hover,
    .oo-app-body .btn-primary:hover { box-shadow: var(--oo-shadow-md); }
}

/* ---------------------------------------------------------------------------
   7. FORM CONTROLS
   Taller, rounder, with a visible focus ring rather than Bootstrap's glow.
   --------------------------------------------------------------------------- */

.oo-app-body .form-control,
.oo-app-body select,
.oo-app-body textarea,
.oo-app-body input[type="text"],
.oo-app-body input[type="email"],
.oo-app-body input[type="tel"],
.oo-app-body input[type="password"],
.oo-app-body input[type="number"] {
    min-height: 46px;
    border-radius: var(--oo-radius-sm);
    border: 1px solid var(--oo-border-control);
    padding: 0.625rem 0.875rem;
    font-size: var(--oo-text-md);
    /* bootstrap.css already asks every control to inherit the page face. Two rules in
       Site.css name a family instead, so those two controls sat outside the theme's
       type: .select-css (Site.css:1975) rendered sans-serif and .oo-input-qty
       (Site.css:1562) rendered Arial, on all six themes. Restated here rather than
       edited there, because Site.css is also what an unthemed tenant loads. */
    font-family: inherit;
    /* THE FILL AND THE FOREGROUND ARE ONE DECISION AND HAVE TO BE SET TOGETHER.
       This rule took the fill from a token and left the text to whatever won
       underneath, which was always a light-theme grey:

           bootstrap.css   .form-control   #495057
           Site.css:1975   .select-css     #444
           Site.css:1562   .oo-input-qty   #000

       Measured on Lantern (--oo-surface #1C1A24) on 2026-09-04: 2.10:1 for the
       login inputs and the special-instructions box, 1.76:1 for every modifier
       select, 1.22:1 for the quantity field. A customer could not read what they
       typed. On the five light themes the same three greys happened to land on a
       white fill and passed, which is why only the dark theme showed it. */
    color: var(--oo-on-surface);
    background: var(--oo-surface);
    transition: border-color var(--oo-motion-base) var(--oo-ease),
                box-shadow var(--oo-motion-base) var(--oo-ease);
}

/* The native option list. A browser paints the popup from the SELECT's own
   background and the OPTION's own colour, and an option inherits neither from the
   page nor from the rule above, so the popup has to be told separately. Without
   this, Chrome drew Lantern's dark select fill behind Site.css's #444 option text
   at 1.76:1: a list of items that are there but cannot be read. */
.oo-app-body select option,
.oo-app-body select optgroup {
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
}

/* Bootstrap's placeholder is #6C757D, which is 3.66:1 on Lantern's surface. The
   muted token is the one colour in the palette whose job is exactly this, and every
   theme measures it against its own surfaces. opacity is restated because Firefox
   defaults a placeholder to 0.54 and would thin the token back out of range. */
.oo-app-body .form-control::placeholder,
.oo-app-body input::placeholder,
.oo-app-body textarea::placeholder {
    color: var(--oo-on-surface-muted);
    opacity: 1;
}

.oo-app-body .form-control:focus,
.oo-app-body select:focus,
.oo-app-body textarea:focus,
.oo-app-body input:focus {
    outline: none;
    border-color: var(--oo-brand);
    box-shadow: 0 0 0 3px rgba(54, 112, 201, 0.18);
    /* Site.css:2010 sets .select-css:focus { color: #222 }, which is a two-class
       selector and outranks the resting rule above. Without this line the text in a
       select went unreadable again the moment it was focused, which is the moment it
       matters most. */
    color: var(--oo-on-surface);
}

/* ---------------------------------------------------------------------------
   8. THE MENU
   The single biggest visual change: a real responsive card grid with elevation
   and a hover lift, replacing the flat two-column Bootstrap row.
   --------------------------------------------------------------------------- */

.oo-app-body .oo-flex-container,
.oo-app-body .CustomFlexContainerCSS {
    display: grid;
    /* --oo-menu-columns is a CAP, and this is the only shape that keeps it responsive.
       The track floor is the LARGER of the readable card minimum and the width one column
       would get at the cap, so auto-fill can never place more tracks than the cap on a wide
       screen and still drops to fewer on a narrow one. A fixed repeat(var(--oo-menu-columns),
       1fr) would have forced that count at every width and squeezed a phone into six columns.

       The token is bounded 1-6 by the validator, so the division cannot approach zero. It is
       always declared on :root in Site.css, so there is no fallback here on purpose: a
       fallback could only mask a broken bundle. */
    grid-template-columns: repeat(auto-fill, minmax(max(300px, (100% - (var(--oo-menu-columns) - 1) * var(--oo-space-5)) / var(--oo-menu-columns)), 1fr));
    /* THE TWO AXES ARE SPLIT ON PURPOSE. They are not the same problem.

       COLUMN GAP MUST STAY FIXED at --oo-space-5, because the track formula above subtracts
       exactly (columns - 1) * --oo-space-5 to work out the cap. A responsive column gap would
       make that arithmetic wrong at every width it changed.

       ROW GAP MUST NOT BE FIXED. It was, at 24px, and it multiplies by item count while the
       column gap does not. Measured on a 142-item location at 390px with no images: the card
       is 56px, so a 24px gutter was 30% OF THE PITCH. Pitch went 65 before pass 2 to 80 now,
       15px worse per item, and the cards themselves had got SHORTER. The whole regression was
       this one declaration.
       24px is right against a 259px image-rich card at desktop and wrong against a bare
       name-and-price row on a phone. The rows already carry a border and their own background,
       so a large gutter is doing separation work that is already done.

       clamp gives 8px up to about 400px wide, scaling to 24px at 1200 and holding there. That
       puts the phone pitch at 64 against a pre-pass-2 baseline of 65, so the new layout is
       denser than the one it replaces rather than 15px looser.
       Both ends are existing tokens, so a theme still controls the gutter through --oo-space-2
       and --oo-space-5 and this needs no new name on the contract. */
    column-gap: var(--oo-space-5);
    row-gap: clamp(var(--oo-space-2), 2vw, var(--oo-space-5));
    padding: var(--oo-space-5) 0;
    background: transparent !important;
}

.oo-app-body .oo-flex-container > [class*="col"],
.oo-app-body .CustomFlexContainerCSS > [class*="col"] {
    max-width: none;
    flex: none;
    width: auto;
    padding: 0;
}

.oo-app-body .CustomMenuCardWrapperCSS,
.oo-app-body .oo-menu-card {
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    box-shadow: var(--oo-shadow-xs);
    overflow: hidden;
    height: 100%;
    transition: transform var(--oo-motion-base) var(--oo-ease),
                box-shadow var(--oo-motion-base) var(--oo-ease),
                border-color var(--oo-motion-base) var(--oo-ease);
    animation: oo-rise var(--oo-motion-slow) var(--oo-ease) both;
}

@media (any-hover: hover) {
    .oo-app-body .CustomMenuCardWrapperCSS:hover,
    .oo-app-body .oo-menu-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--oo-shadow-lg);
        border-color: var(--oo-brand);
    }
}

/* Category headings become quiet section rules rather than filled bars.

   The !important on background is load-bearing and the only kind this file is
   allowed: a merchant CSS setting can carry `background`, and the settings
   catalog emits every declaration !important, so a merchant fill cannot be
   beaten by specificity at any level. Removing it would put the old filled bar
   back on any location that has ever set one.
   padding and margin carried !important too and did NOT need it: no merchant
   setting can express either, and nothing else in the bundle sets them on this
   selector. Both dropped.
   The three background overrides in this file are the ONE place pass 2 overrides
   merchant data rather than honouring it, and that is a product decision, not a
   styling one. */
.oo-app-body .CustomCategoryHeaderRowCSS {
    background: var(--oo-section-band);
    padding: var(--oo-space-6) 0 var(--oo-space-2);
    margin: 0;
    border-bottom: 1px solid var(--oo-border);
}

.oo-app-body .CustomCategoryNameCSS {
    background: transparent;
    font-weight: var(--oo-font-heading-weight);
    letter-spacing: -0.02em;
}

/* The category rail: pills that scroll rather than collapse into a menu.

   THE RAIL CARRIED bg-light, WHICH IS A LIVE AA FAILURE ON THE UNTHEMED DEFAULT SITE.
   Bootstrap .navbar-light gives its links rgba(0,0,0,.5), which composites over the #F8F9FA
   of bg-light to #7C7C7D: 3.96:1, under the 4.5 this site claims. That is the DEFAULT
   install, which is the one configuration the brief says must be safe.
   bg-light also carries !important, so no token could reach the fill and a dark theme kept a
   near-white 77,000 pixel bar across the page. It is removed from the six rail elements for
   the same reason bg-dark was removed from the seven navbars: a Bootstrap colour utility
   cannot be themed and cannot be corrected.

   The fill and the link colour are tokens now, so the rail follows the palette and a merchant
   .CustomCategoryNavbarCSS rule still overrides both. --oo-on-surface-muted reads 5.45:1 on
   the old Bootstrap fill and 5.55:1 on the raised surface it now sits on. */
.oo-app-body .CustomCategoryNavbarCSS {
    background-color: var(--oo-surface-raised);
}

.oo-app-body #nav .nav-link,
.oo-app-body .oo-category-chip {
    color: var(--oo-on-surface-muted);
    border-radius: var(--oo-radius-pill);
    padding: var(--oo-space-2) var(--oo-space-4);
    font-weight: 600;
    white-space: nowrap;
    transition: background var(--oo-motion-fast) var(--oo-ease),
                color var(--oo-motion-fast) var(--oo-ease);
}

/* ---------------------------------------------------------------------------
   9. MODALS
   --------------------------------------------------------------------------- */

.oo-app-body .modal-content {
    border: 0;
    border-radius: var(--oo-radius-lg);
    box-shadow: var(--oo-shadow-xl);
    overflow: hidden;
    /* The surface pair is set once, in section 1, on every container bootstrap.css
       fills white. It is NOT restated here: two copies of the same decision is how
       one of them goes stale.

       What that pair fixes here: the item modal paints its own head and body from
       tokens (oo-modern-menu.css:287), the CART modal paints nothing, so the cart
       kept Bootstrap's white sheet and drew --oo-on-surface text on it. Measured on
       Lantern on 2026-09-04: 1.14:1 for the line items, the subtotal and the total.
       The whole cart was unreadable on the one dark theme in the library. */
}

/* The dismiss control. bootstrap.css gives .close a #000 glyph and a white
   text-shadow, both aimed at a light sheet. On Lantern's modal head that measured
   1.12:1. The shadow goes because a light halo under a light glyph is what it was
   there to avoid on white, and it fights the glyph on a dark surface. */
.oo-app-body .close {
    color: var(--oo-on-surface);
    text-shadow: none;
    opacity: 0.75;
}

.oo-app-body .close:not(:disabled):not(.disabled):hover,
.oo-app-body .close:not(:disabled):not(.disabled):focus {
    color: var(--oo-on-surface);
    opacity: 1;
}

.oo-app-body .modal-header,
.oo-app-body .modal-footer { border-color: var(--oo-border); }

/* The scheduled-order calendar. bootstrap-datepicker.min.css is a light-only widget
   and nothing here had ever answered it. The day cells are transparent, so the
   calendar itself follows the modal surface, but its hover and range states set a
   #EEE fill and no colour, so on a dark theme the day under the cursor turned light
   text on a light cell and vanished at the moment it was being pointed at.
   The sunken token is #F5F5F5 by default and on the light themes, which is where
   #EEE already sat, so this only moves on a dark theme. */
.oo-app-body .datepicker table tr td.day:hover,
.oo-app-body .datepicker table tr td.day.focused,
.oo-app-body .datepicker table tr td.range,
.oo-app-body .datepicker table tr td.range:hover {
    background: var(--oo-surface-sunken);
    color: var(--oo-on-surface);
}

.oo-app-body .modal-body { padding: var(--oo-space-6); }

.oo-app-body .modal-backdrop.show { opacity: 0.45; }

.oo-app-body .modal.fade .modal-dialog {
    transform: translateY(12px) scale(0.98);
    transition: transform var(--oo-motion-slow) var(--oo-ease),
                opacity var(--oo-motion-slow) var(--oo-ease);
}

.oo-app-body .modal.show .modal-dialog { transform: none; }

/* AN OPEN MODAL USED TO UNSTICK THE HEADER AND THE CATEGORY RAIL.

   bootstrap.css:5909 sets `.modal-open { overflow: hidden }` on the BODY to stop the
   page scrolling behind a dialog. overflow: hidden makes the body a scroll container,
   and a scroll container is the box every position: sticky descendant measures itself
   against. The body's own scrollTop is 0 whatever the page is scrolled to, so from the
   moment a modal opened the header and the rail rendered at their static positions in
   the flow rather than pinned.

   Measured on a page scrolled to 900px: the header sat at top: 0 with no modal and at
   top: -900 with one open, and the rail at 65 and -835. Both were simply off the top of
   the screen. Closing the modal put them back, which is what made it look intermittent.

   Content/oo-modern-menu.css already records this trap for the horizontal axis: clip
   does not create a scroll container and hidden does, which is why the full bleed rail
   uses overflow-x: clip. Same distinction, other axis.

   THE LOCK MOVES TO THE ROOT ELEMENT, WHICH IS WHY THIS WORKS.
   The root is the viewport's own scrolling box, so hiding its overflow stops the page
   scrolling without introducing a NEW scroll container between the sticky elements and
   the viewport. They keep measuring against a scrollport whose offset is the real page
   offset, so they stay pinned. Verified with a real wheel event, not a scripted one:
   overflow: hidden refuses user scrolling and still allows window.scrollTo, so a script
   driven test passes on a page that is not actually locked.

   Bootstrap's own scrollbar compensation still applies: it adds padding-right to the
   body when it detects a scrollbar, and that is measured from the window, not from
   whichever element carries the lock.

   :has() is already load bearing in this project. On a browser without it the body rule
   below still applies, so the header stays pinned and only the scroll lock is lost,
   which is the safer half to lose. */
.oo-app-body.modal-open {
    overflow-x: clip;
    overflow-y: visible;
}

/* BOTH AXES, NOT overflow-y ALONE.

   Content/oo-modern-menu.css puts overflow-x: clip on this element for the full bleed
   category rail. Setting only overflow-y here leaves the pair as clip plus hidden, and
   measured in Chrome that combination stops the open modal scrolling its own content: a
   wheel over a modal with 2325px of content in a 700px box moved it 0px. The shorthand
   sets both axes to hidden and the same wheel moves it 500px, with the page still locked
   and the header still pinned. The clip is not needed while a modal is open, because
   hidden clips just as well; it is needed the rest of the time, which this rule does not
   touch. */
html:has(> .oo-app-body.modal-open) {
    overflow: hidden;
}

/* ---------------------------------------------------------------------------
   10. LOADING
   A shimmer placeholder, so an ajax panel has something to show.
   --------------------------------------------------------------------------- */

.oo-skeleton {
    border-radius: var(--oo-radius-sm);
    background: linear-gradient(90deg,
        var(--oo-surface-raised) 25%,
        var(--oo-border) 37%,
        var(--oo-surface-raised) 63%);
    background-size: 200% 100%;
    animation: oo-shimmer 1.4s linear infinite;
}

/* ---------------------------------------------------------------------------
   11. ALERTS AND BANNERS
   --------------------------------------------------------------------------- */

.oo-app-body .alert {
    border: 1px solid var(--oo-border);
    border-left-width: 4px;
    border-radius: var(--oo-radius-sm);
    padding: var(--oo-space-4) var(--oo-space-5);
    box-shadow: var(--oo-shadow-xs);
}

/* The banner takes the theme's own status hue instead of Bootstrap's.

   bootstrap.css gives each variant a fixed pink, cyan or cream. Those pairs are
   readable, so this is a look decision and not a defect: on a light theme they pass
   unnoticed, and on a dark theme they are a light slab that plainly came from a
   different site. Every theme already declares --oo-danger, --oo-info, --oo-warning
   and --oo-success and nothing used them, which is the state a token ends up in when
   no component asks for it.

   THE MIX, RATHER THAN THE HUE ITSELF, IS THE DECISION. A solid status fill needs the
   matching --oo-on-* foreground and shouts at the same volume for a menu notice as for
   a payment warning. At 18% over --oo-surface the text stays --oo-on-surface, so the
   pair that has to be legible is the pair every theme measures anyway, and the hue is
   spent on the leading edge the rule above already reserves. Computed across the six
   themes and the unthemed default before it was written: the worst of those 28 pairs
   is 10.33:1, Lantern's warning tint. Bootstrap's own .alert-warning fill measures
   1.63:1 against white by comparison.

   THE @supports IS LOAD-BEARING, NOT A COURTESY. These blocks set a fill and a
   foreground together, and a browser that cannot parse color-mix drops only the
   declaration it cannot parse. Without the guard such a browser would keep
   --oo-on-surface and fall back to Bootstrap's pink fill, which on a dark theme is
   near-white text on #F8D7DA. The guard makes the pair all-or-nothing, so an old
   browser keeps Bootstrap's own matched colours instead.

   Only .alert-info carries a merchant class as well (CustomAlertInfoCSS). On a
   location with no theme that class can be painted by the merchant with !important
   and still wins; on a themed location no such rule is emitted, so this applies. */
@supports (background-color: color-mix(in srgb, red 18%, white)) {
    .oo-app-body .alert-danger,
    .oo-app-body .alert-info,
    .oo-app-body .alert-warning,
    .oo-app-body .alert-success {
        color: var(--oo-on-surface);
        border-color: var(--oo-border);
    }

    .oo-app-body .alert-danger {
        background-color: color-mix(in srgb, var(--oo-danger) 18%, var(--oo-surface));
        border-left-color: var(--oo-danger);
    }

    .oo-app-body .alert-info {
        background-color: color-mix(in srgb, var(--oo-info) 18%, var(--oo-surface));
        border-left-color: var(--oo-info);
    }

    .oo-app-body .alert-warning {
        background-color: color-mix(in srgb, var(--oo-warning) 18%, var(--oo-surface));
        border-left-color: var(--oo-warning);
    }

    .oo-app-body .alert-success {
        background-color: color-mix(in srgb, var(--oo-success) 18%, var(--oo-surface));
        border-left-color: var(--oo-success);
    }
}

/* ---------------------------------------------------------------------------
   LINKS
   The default link colour is neutral, because the default palette carries no hue
   at all. That makes the UNDERLINE the affordance rather than decoration: remove
   it and an unbranded tenant has links that are indistinguishable from body text.

   --oo-link resolves to the merchant brand already contrast-corrected when one is
   set, so a branded tenant gets coloured links for free and an unbranded one gets
   near-black underlined ones. Both are legible on all three surfaces.

   THIS RULE CARRIES DELIBERATELY LOW SPECIFICITY, (0,0,1), AND THAT IS THE WHOLE
   DESIGN. It used to be a blanket `a` with a :not() denylist. That denylist failed
   twice in one day, because a denylist opts every new anchor in by default and needs
   a person to remember each exception:
     1. It underlined and recoloured "Sign in with Apple". The social sign-in controls
        are <a> elements carrying .btn, so the brand painted onto a black button.
     2. It then painted --oo-link onto .oo-skip-link, whose own rule at Site.css:3423
        sets background-color: var(--oo-brand). A text colour derived to contrast
        against a light surface landed on the brand itself: 2.20:1 on a configured
        location, 3.03:1 on the neutral default. Both fail. That element is the first
        tabbable thing on every page, and it is off-screen until focused, so it is
        invisible in every screenshot.
   Each :not() added a class-level to the specificity. At (0,5,1) the rule outranked
   every component rule in the codebase, including .oo-skip-link:focus at (0,2,0),
   which is why it won a fight it should never have entered.

   The rule now wraps its scope in :where(), which contributes zero specificity, so a
   bare content <a> gets the token and ANY component rule that sets its own colour
   beats this one through the ordinary cascade. A new anchor is opted OUT by default
   and opts in by carrying no colour of its own. Nobody has to remember anything.
   The sheet loads after bootstrap.css (BundleConfig.cs:26,34), so it still beats
   Bootstrap's own `a` at equal specificity, on order.

   RESIDUAL, stated rather than hidden: the :hover rule below is (0,1,1), because
   dropping :hover into :where() too would put it under Bootstrap's a:hover and lose
   the token entirely. So a component whose colour rule is a single class, and which
   has no :hover rule of its own, still takes --oo-link-hover while the pointer is on
   it. For .oo-skip-link that is hover-only on a keyboard-only element, and its
   :focus rule at (0,2,0) still wins in the state that matters.

   If a browser does not understand :where() it drops this rule and links fall back
   to the Bootstrap default. That degrades to a plain blue link, not to a broken one.

   COLOUR AND UNDERLINE ARE SPLIT ON PURPOSE, BY CONSEQUENCE OF BEING WRONG.
   Bootstrap's .btn declares `color` but declares no `text-decoration` (verified in
   bootstrap.css, the .btn block). So dropping to (0,0,1) protects the colour of every
   button-shaped anchor automatically, and protects the underline of none of them.
   There is no selector for "an anchor that is not shaped like a button", so the
   underline reset below still names them. That is the same enumeration that failed
   twice, and it is acceptable here ONLY because the two properties fail differently:
     colour wrong    -> unreadable text, an accessibility failure, invisible in review
     underline wrong -> a stray line under a button, cosmetic, obvious on sight
   Keep it that way. If a future anchor needs protecting, it will show itself.
   The reset is wrapped in :where() too, so it carries zero specificity and any
   component that declares its own text-decoration beats it without !important.

   No rule here sets `color` on a Custom*CSS element. On a themed element the text
   colour belongs to the merchant, and three separate mechanisms have already beaten
   lanes that assumed otherwise: an inline style, a colour measuring 4.49, and an
   !important. Where a state must read differently, change fill, boundary, ring or
   weight. Those are ours and cannot be taken away.
   --------------------------------------------------------------------------- */

:where(.oo-app-body) a {
    color: var(--oo-link);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    transition: color var(--oo-motion-fast) var(--oo-ease);
}

:where(.oo-app-body) a:hover {
    color: var(--oo-link-hover);
}

/* Cosmetic only. See the note above on why this one may stay an enumeration.
   The `a` is load-bearing and must not be folded into the :where(). Written as
   :where(.oo-app-body) :where(...) this whole selector scores (0,0,0), which is LOWER
   than the (0,0,1) of the `a` rule above, so the reset silently lost and every
   .nav-link stayed underlined. Measured on the rendered page, not read off the file.
   Keeping `a` outside the :where() scores (0,0,1), ties the base rule, and wins on
   order. :where() still absorbs the class list, so a component with its own
   text-decoration at (0,1,0) beats this without needing !important. */
:where(.oo-app-body) a:where([class*="btn"], [class*="Button"], .navbar-brand, .nav-link, .dropdown-item) {
    text-decoration: none;
}

/* ---------------------------------------------------------------------------
   Focus, for everything that is not a .btn.

   bootstrap.css:231 sets `button:focus { outline: 5px auto -webkit-focus-ring-color }`
   on EVERY button, on plain :focus, so a mouse click leaves the browser's heavy
   ring behind. Pass 2 turned several clickable divs into real buttons (the menu
   card, the location control, the category chips), which is right for keyboard
   and screen readers, and it handed all of them that ring.

   The rule above covers .btn and .oo-btn only, so a bare button was never reached.

   Both halves are needed together. Removing the outline alone would leave keyboard
   users with no visible focus at all, which is worse than an ugly ring.
   --------------------------------------------------------------------------- */

.oo-app-body button:focus,
.oo-app-body a:focus,
.oo-app-body [tabindex]:focus {
    outline: none;
}

.oo-app-body button:focus-visible,
.oo-app-body a:focus-visible,
.oo-app-body [tabindex]:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

/* ---------------------------------------------------------------------------
   Bootstrap state rules that outrank the themed ones.

   The lane sheets set the themed pair at (0,2,0). Bootstrap sets its own at
   (0,3,0) to (0,5,0) through .navbar-dark, .btn-primary and the
   :not(:disabled):not(.disabled).active chains, so the theme never lands and the
   page renders Bootstrap's own blue, green and translucent white on whatever the
   theme put behind them. Measured worst cases before this block: header links
   about 1.05 on Signal, .btn-primary 3.98 on all six, the selected processor
   3.13 on all six.

   Written at matching or higher specificity on purpose. Anything themed that
   contests a Bootstrap state needs (0,4,0) or more, and needs to name the
   :not(:disabled):not(.disabled) chain, or Bootstrap wins again.
   --------------------------------------------------------------------------- */

.oo-app-body .navbar-dark .navbar-nav .nav-link,
.oo-app-body .navbar-dark .navbar-nav .nav-link:hover,
.oo-app-body .navbar-dark .navbar-nav .nav-link:focus {
    color: var(--oo-on-header);
}

/* A .btn-primary that never opted into .oo-btn--primary still has to be legible.
   This is the safety net; the markup should carry the class.

   THE PRESSED STATE IS LISTED SEPARATELY AND MUST STAY LISTED. Bootstrap themes
   it through .btn-primary:not(:disabled):not(.disabled):active, which is (0,4,0)
   because the argument of a :not() counts even though the :not() does not. The
   three plain selectors above are (0,3,0), so Bootstrap won every click and the
   button flicked to #0062cc: the merchant's brand vanished for as long as a
   finger was down, on every theme. Nobody caught it on the blue themes.

   This is exactly the failure the note above the navbar block describes. It was
   written, and then this block was still declared without the chain. */
.oo-app-body .btn-primary,
.oo-app-body .btn-primary:hover,
.oo-app-body .btn-primary:focus,
.oo-app-body .btn-primary:not(:disabled):not(.disabled):active,
.oo-app-body .btn-primary:not(:disabled):not(.disabled).active {
    background-color: var(--oo-brand);
    border-color: var(--oo-brand);
    color: var(--oo-on-brand);
}

/* The other half of the same rule. Bootstrap replaces box-shadow wholesale on a
   pressed AND focused button with its own blue glow, rgba(38,143,255,.5), which
   is the one moment a keyboard user most needs the real ring. Same chain plus
   :focus, so (0,6,0) against Bootstrap's (0,5,0). */
.oo-app-body .btn-primary:not(:disabled):not(.disabled):active:focus,
.oo-app-body .btn-primary:not(:disabled):not(.disabled).active:focus {
    box-shadow: var(--oo-focus-ring);
}

/* The keyboard ring survives selection. Bootstrap's .active and :focus state
   rules replace box-shadow wholesale, so the ring dropped to 1.00 on a selected
   category chip and about 1.7 to 2.0 on the selected processor and modifier.
   A keyboard user lost the indicator exactly where they were standing. */
.oo-app-body #nav > .nav-item > .nav-link.is-selected:focus-visible,
.oo-app-body .ToggleButton.CheckboxDiv.active:focus-visible,
.oo-app-body .ProcessorSelectBtn.active:focus-visible,
.oo-app-body .btn:not(:disabled):not(.disabled).active:focus-visible {
    box-shadow: var(--oo-focus-ring);
}

/* ---------------------------------------------------------------------------
   THE SITE FOOTER

   Views/Home/Footer.cshtml puts four things in ONE Bootstrap .row: the account
   link, the copyright, the location's address block and the terms link. Four
   .col children divide the width evenly whatever the width is, so on a phone
   each got about a quarter of the screen and every line broke after one or two
   words. The address block, which is four rows of its own, took the worst of it.

   Stacked below the sm breakpoint. Centred, because three of the four are
   already centred and the row reads as a block rather than as a bar once it
   stacks. The .text-left and .text-right utilities on two of the children are
   overridden here rather than removed from the view, so a wide screen keeps
   the bar it has today.
   --------------------------------------------------------------------------- */

@media (max-width: 575.98px) {
    .oo-app-body footer.container > .row {
        flex-direction: column;
        align-items: center;
        row-gap: var(--oo-space-2);
    }

    .oo-app-body footer.container > .row > * {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        text-align: center;
    }
}

/* The footer is the last thing on the page, so it is what a bar fixed to the
   bottom of the viewport covers. .oo-checkout-totalbar does exactly that on the
   review page and cut the phone number off the address block, with no way to
   scroll it into view because the bar moves with the viewport.

   OOReserveBottomBar in Scripts/OrderCounter/SharedScripts.js measures whichever
   bar is showing and writes its height here. The 0px fallback is the behaviour of
   a page that has no such bar, which is most of them. */
.oo-app-body footer.container {
    padding-bottom: var(--oo-bottom-bar-height, 0px);
}

/* ==========================================================================
   oo-menu.css
   --------------------------------------------------------------------------
   Owner: the MENU lane. Covers the menu page, the category navigation and the item modal.

   This file loads after Content/Site.css in the ~/Content/css bundle
   (App_Start/BundleConfig.cs), so a rule here overrides a base rule at the
   same specificity without !important.

   Rules for this file, from _worktrees/_oo-modern/CONTRACT.md:
     1. No !important.
     2. No hardcoded hex. Use an --oo-* token.
     3. No px font-size. Use --oo-text-*.
     4. Interactive things are <button> or <a>. Never a clickable <div>.
     5. Every control has an accessible name.

   Site.css already carries 35 classes with an oo- prefix from the 2018 build,
   among them .oo-card-header, .oo-card-middle and .oo-card-1x2. Inside a
   contract component, use only the double-underscore children the contract
   names. A single-hyphen child silently picks up the 2018 rule instead.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Buttons that replaced a clickable div.

   Every rule in this block exists for one reason: the element is now a real
   <button>, and these rules undo the user agent button styling so it looks
   exactly as it did when it was a div. Do not add appearance changes here.
   Appearance belongs in the component blocks.
   -------------------------------------------------------------------------- */
.oo-reset-btn {
    border: 0;
    background: transparent;
    font: inherit;
    color: inherit;
    text-align: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

/*
    Padding is deliberately absent from .oo-reset-btn.

    The menu card takes its padding from ".oo-flex-container > *" in Site.css,
    which has the same specificity as .oo-reset-btn. A padding declaration here
    would win on source order and shrink every card by 4px.

    So each button that needs the user agent padding removed asks for it below,
    and only for the sides that nothing else sets.
*/

/* The category disclosure button sits inside a heading that already pads it. */
.oo-category-toggle-btn {
    padding: 0;
}

/* The checkout button is a Bootstrap column. Keep the column side padding. */
button.oo-cart-pop.oo-reset-btn {
    padding-top: 0;
    padding-bottom: 0;
}

/* The location button is not a column, so all four sides can go. */
button.LocationPop.oo-reset-btn {
    padding: 0;
}

/* --------------------------------------------------------------------------
   Item images.

   Site.css sets .item-image-img to width:100% with max-width:150px and
   max-height:130px, and never sets height.

   height:auto keeps the picture in proportion once a real intrinsic size is
   known.

   The width and height attributes on the img are the usual way to reserve the
   slot. They are not enough on their own here. Measured on the test location,
   2026-08-31: ImageDTO.Width and ImageDTO.Height came back as 0 for all 5 item
   images, so the Razor conditional emitted no attribute at all and the browser
   had nothing to reserve from.

   So when the attributes are absent, fall back to the shape the slot actually
   renders at, 150 by 100. When an image does carry real dimensions the
   attributes describe the true ratio and this rule stops applying.

   object-fit is contain, not cover, because cover crops what the merchant
   uploaded. A picture that is not 3:2 is letterboxed instead.
   -------------------------------------------------------------------------- */
.item-image-img {
    height: auto;
    object-fit: contain;
}

.item-image-img:not([width]) {
    aspect-ratio: 3 / 2;
}

/* --------------------------------------------------------------------------
   Item modal.

   ItemScripts.js puts .oo-modal and .oo-item-modal on the .modal-content while
   an item is open, and takes them off again when the modal closes. That element
   belongs to Views/Shared/_Layout.cshtml and is shared with the cart, the
   location picker and the account screens, so nothing here may leak to them.
   Every rule below is therefore scoped to .oo-item-modal.
   -------------------------------------------------------------------------- */

/* The head is the item name, price and description. It is not .oo-modal__header,
   which is a single title row. It only has to stop shrinking when the body
   grows. */
.oo-item-modal .oo-item-modal__head {
    flex: 0 0 auto;
    border-bottom: 1px solid var(--oo-border);
}

/* Site.css pads .modal-content 60px at the bottom below 576px to clear the old
   position:fixed footer. The footer is sticky now and sits inside the panel, so
   that reserved strip would be a permanent gap. */
.oo-item-modal {
    padding-bottom: 0;
}

/* Quantity on the left, the add button on the right. .oo-modal__footer packs to
   the end by default, which would leave the two controls stuck together. */
.oo-item-modal__actions {
    justify-content: space-between;
    gap: var(--oo-space-4);
}

.oo-item-modal__actions .oo-add-item-btn-wrap {
    flex: 1 1 auto;
    min-width: 0;
}

/* --------------------------------------------------------------------------
   Modifier groups: put the type scale back the right way up.

   Measured before this change, on Burger Meal: the group title
   "Gourmet Fry Dipping Sauces" rendered at 16px/700 and the option name
   "Saffron Ketchup" underneath it at 22px/400. The child was larger than its
   parent. The 22px came from .oo-header-1, which _SplitQtyTypesetPartial.cshtml
   was the only markup using; that view no longer asks for it.
   -------------------------------------------------------------------------- */
.ModifierSetHeader {
    font-size: var(--oo-text-lg);
    font-weight: 700;
    color: var(--oo-on-surface);
}

.oo-qty-label {
    font-size: var(--oo-text-md);
    font-weight: 400;
    line-height: 1.32;
    margin-bottom: var(--oo-space-1);
}

/* The label above one of several selects in the same group, so the customer can
   tell which choice is which. It has to read as a field label, not as a second
   group title, so it stays below the group header in weight and size. */
.oo-choice-label {
    display: block;
    margin-bottom: var(--oo-space-1);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    color: var(--oo-on-surface-muted);
}

.oo-choice-label + .select-css {
    margin-bottom: var(--oo-space-3);
}

/* --------------------------------------------------------------------------
   The nested sub-item modal opens on top of the item modal. It needs to read as
   a layer above it, and it needs a way out that is not only the Save button.
   -------------------------------------------------------------------------- */
.oo-modal--layered {
    box-shadow: var(--oo-shadow-md);
    border: 1px solid var(--oo-border);
}

.oo-nested-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--oo-space-2);
    position: sticky;
    bottom: 0;
    background-color: var(--oo-surface);
    border-top: 1px solid var(--oo-border);
}

.oo-nested-actions .SaveNestedModifierBtn {
    flex: 1 1 auto;
}

.oo-nested-actions .oo-nested-cancel {
    flex: 0 0 auto;
}

/* ItemScripts.js sizes .spacerdiv to the difference between the item modal and
   the nested modal, so the nested one matches the height of the modal behind
   it. That leaves a large empty middle. The panel sizes itself now, so the
   spacer only has to stop taking up room. The JS may keep setting its height;
   this makes that harmless rather than requiring a behaviour change. */
.oo-modal--layered .spacerdiv {
    display: none;
}

/* --------------------------------------------------------------------------
   Required groups: one marker, and it resolves.

   Site.css gives .oo-floating-required a grey chip and .RequirementNotMet an
   orange one. promptRequired and resetRequired in SharedScripts.js add and
   remove that class, so the two states already exist; what was missing is that
   the satisfied state looked like a disabled label and still read "Required",
   which is discovery 7.2.3.

   Satisfied is now green with a check mark in front of the word. The check is
   decorative, so it is a pseudo element and never reaches the accessibility
   tree. Unmet is the warning colour, which carries dark text.
   -------------------------------------------------------------------------- */
.oo-floating-required {
    background: var(--oo-success);
    color: var(--oo-on-success);
    font-size: var(--oo-text-xs);
    font-weight: 600;
    border-radius: var(--oo-radius-sm);
}

.oo-floating-required::before {
    content: "\2713\00a0";
}

.oo-floating-required.RequirementNotMet {
    background: var(--oo-warning);
    color: var(--oo-on-warning);
}

.oo-floating-required.RequirementNotMet::before {
    content: none;
}

/* "Choose up to 3" is an instruction, so it reads as one rather than as the
   stock count "3 Remaining" that it replaced. */
.oo-choose-hint {
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface-muted);
    margin-bottom: var(--oo-space-2);
}

/* --------------------------------------------------------------------------
   The blocked state says what is missing.
   -------------------------------------------------------------------------- */
.oo-item-modal__validation {
    padding: var(--oo-space-2) var(--oo-space-4) 0;
    background-color: var(--oo-surface);
}

.oo-item-modal__validation[hidden] {
    display: none;
}

.oo-item-modal__validation-btn {
    display: block;
    width: 100%;
    padding: var(--oo-space-2) var(--oo-space-3);
    border: 1px solid var(--oo-warning);
    border-radius: var(--oo-radius-md);
    background: var(--oo-warning);
    color: var(--oo-on-warning);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

/*
    A disabled button swallows pointer events, so its wrapper never sees the
    click. Turning pointer events off on the button lets the click reach
    .oo-add-item-btn-wrap, which sends the customer to the group that is
    blocking them. The button itself stays disabled.
*/
#AddEditItemBtn:disabled {
    pointer-events: none;
}

.oo-add-item-btn-wrap {
    cursor: pointer;
}

/* ==========================================================================
   Menu page layout
   ========================================================================== */

/* --------------------------------------------------------------------------
   Category navigation: a scrolling chip row instead of a hidden hamburger.

   autocollapse() in SharedScripts.js moves categories into a dropdown once the
   nav is taller than 50px or wider than the window. At 390px that left 2 of 13
   categories visible behind an unlabelled hamburger, which is discovery 7.1.2.

   This does not disable autocollapse, which lives in a file this lane does not
   own. It removes the condition autocollapse tests for: the row scrolls instead
   of wrapping, so its measured width never exceeds the window and its height
   stays on one line. The function still runs and finds nothing to do.
   -------------------------------------------------------------------------- */
#nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100%;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

#nav::-webkit-scrollbar {
    display: none;
}

#nav > .nav-item {
    flex: 0 0 auto;
}

#nav > .nav-item > .nav-link {
    white-space: nowrap;
    border-radius: var(--oo-radius-lg);
    padding: var(--oo-space-1) var(--oo-space-3);
    font-size: var(--oo-text-sm);
}

/* The chip for the category currently on screen. MenuScripts.js maintains it. */
#nav > .nav-item > .nav-link.is-selected {
    background-color: var(--oo-brand);
    color: var(--oo-on-brand);
}

/* The dropdown that held the overflow is no longer reachable, because nothing
   overflows into it now. Keep it out of the layout and out of the tab order. */
#nav > .nav-item.dropdown {
    display: none;
}

/* --------------------------------------------------------------------------
   Fulfilment bar. Method, time and location are the three decisions that gate
   the whole order, and they rendered as small coloured text. This gives them
   the weight of a control. The links inside carry their own inline font size
   and colour from Views/Shared/_MethodTimePartial.cshtml, which this lane does
   not own, so this styles the bar around them.
   -------------------------------------------------------------------------- */
#MethodTimeLocationWrapper {
    align-items: center;
    justify-content: center;
    gap: var(--oo-space-2);
    margin: var(--oo-space-3) 0;
    padding: var(--oo-space-3) var(--oo-space-4);
    border: 1px solid var(--oo-border-control, var(--oo-border));
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface);
    box-shadow: var(--oo-shadow-sm);
}

/* --------------------------------------------------------------------------
   Menu cards: equal heights, a clamped description, and the price off the photo.
   -------------------------------------------------------------------------- */

/* The name and the price share a row, so the price reads with the item it
   belongs to instead of sitting on top of the photo. */
.oo-menu-card__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--oo-space-3);
}

/*
    The price keeps .oo-card-float-topright so resetPriceLoader in
    SharedScripts.js still finds it and the .Price-<id> lookup in
    LoadPriceLevelPromotions still works. It is no longer floating, so the
    absolute positioning that class carries has to be undone here.
*/
.oo-menu-card__price {
    position: static;
    top: auto;
    right: auto;
    flex: 0 0 auto;
    padding: 0;
    background-color: transparent;
    font-weight: 700;
    white-space: nowrap;
}

/* Two lines, then an ellipsis. An unclamped description ran 5 lines at 390px
   and 7 at 320px, which is what made cards in a row different heights. */
.oo-card-middle {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--oo-text-sm);
}

/* Every card in a row is as tall as the tallest, and the image stays put at the
   top rather than centring itself in the leftover space. */
.oo-flex-container > .MenuButtonModal {
    display: flex;
    align-items: stretch;
}

.oo-menu-card-btn .oo-flex-content-wrapper {
    width: 100%;
    margin: 0;
}

.oo-menu-card-btn .oo-card-side-right {
    align-self: flex-start;
}

/* --------------------------------------------------------------------------
   Sticky cart bar.

   Only on the menu page, and only once the cart has something in it. It is
   gated in the view on ShowMenuCheckoutButton, the same setting that governs
   the inline checkout link, so a merchant who turned that affordance off does
   not get it back through a sticky bar.
   -------------------------------------------------------------------------- */
.oo-cart-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    padding: var(--oo-space-2) var(--oo-space-3);
    padding-bottom: calc(var(--oo-space-2) + env(safe-area-inset-bottom, 0px));
    background-color: var(--oo-surface);
    border-top: 1px solid var(--oo-border);
    box-shadow: var(--oo-shadow-md);
}

.oo-cart-bar[hidden] {
    display: none;
}

.oo-cart-bar__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--oo-space-2);
    width: 100%;
    min-height: 44px;
    padding: var(--oo-space-2) var(--oo-space-4);
    border: 0;
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-brand);
    color: var(--oo-on-brand);
    font-size: var(--oo-text-md);
    font-weight: 600;
    cursor: pointer;
}

/* THE BAR SPANS THE WINDOW. THE BUTTON INSIDE IT DOES NOT, ONCE THE PAGE STOPS
   BEING A PHONE.

   width: 100% above is the phone behaviour and it is right there: a single
   primary action across the foot of the screen. This sheet carried no media
   query, so a 1400px window got the same rule and painted a 1361px brand fill
   with 28 characters in the middle of it.

   THE FILL KEEPS ITS FULL WIDTH ON PURPOSE, and only the button is capped. Two
   other pieces of sticky chrome on this page already span the window: the header
   (Content/oo-modern.css:132) and the category rail, which is deliberately pulled
   OUT of the centred column to reach both edges (Content/oo-modern-menu.css:812,
   and the reasoning above it). A capped tray with two side edges would be the
   only one that stopped short. The rail centres its own chips inside a full
   bleed fill; this bar now centres its own button the same way.

   max-content, not a number. The button sizes to its label, so a location whose
   currency, language or item count makes the label longer gets a wider button
   with nothing to keep in step. Measured at 1400px: the button centres on 693px
   and the menu card grid centres on 693px, the same axis, because left: 0 /
   right: 0 and the column's own centring both exclude the scrollbar.

   THE BOUNDARY IS THE ONE THIS APP ALREADY USES TO SAY "NOT A PHONE".
   Views/Shared/_Layout.cshtml:30 and :70 give the header navbar-expand-md, so
   768px is where the app itself swaps the collapsed phone header for the full
   one. Picking it means nothing here disagrees with the header. It also survives
   browser zoom, which shrinks the layout viewport: a 1920px screen at 200% still
   reports 960px and stays above the floor.

   BELOW 768px NOT ONE DECLARATION HERE APPLIES. env(safe-area-inset-bottom) on
   the bar, the 44px minimum target, the hidden attribute that
   Scripts/OrderCounter/MenuScripts.js uses to show and hide the bar, and the
   click on .oo-cart-pop are all untouched at every width.

   NO HOVER RULE HERE, DELIBERATELY. The obvious pairing is
   background-color: var(--oo-brand-hover), and it is a trap.
   BusinessLogic/Controllers/CSSTokenLogic.cs:126 harvests that token from the
   merchant's own .CustomButtonPrimaryCSS:hover and from nowhere else, and nothing
   derives it. A merchant who themes the primary fill but writes no hover rule
   keeps the shipped #1A1A1A from Content/Site.css:27 while --oo-brand and
   --oo-on-brand both move to their colour, so hovering would paint a corrected
   dark foreground on a near black fill. This button has no hover rule today and
   must not gain that one. */
@media (min-width: 768px) {
    .oo-cart-bar__btn {
        max-width: max-content;
        margin-inline: auto;
    }
}

/* --------------------------------------------------------------------------
   Add to cart confirmation.

   Sits above the sticky cart bar so the two never overlap, and clear of the
   safe area on a phone with a home indicator.
   -------------------------------------------------------------------------- */
.oo-toast {
    position: fixed;
    left: 50%;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    z-index: 1040;
    transform: translateX(-50%);
    max-width: calc(100% - var(--oo-space-6));
    padding: var(--oo-space-3) var(--oo-space-4);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-success);
    color: var(--oo-on-success);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    text-align: center;
    box-shadow: var(--oo-shadow-md);
}

.oo-toast[hidden] {
    display: none;
}

/* --------------------------------------------------------------------------
   The two menu links: the location selector and the checkout link.

   Both shipped their appearance in an inline style attribute, including
   color:#0070eb. That measures 4.49:1 on white, which misses AA by a hundredth,
   and an inline style cannot be overridden from a stylesheet without the
   !important that rule 1 forbids. So the fix is to take the declarations off the
   element rather than try to beat them.

   The colour is --oo-brand-text, not --oo-brand: Site.css states that the brand
   is a background colour and is not legible as text on the surface.

   .CustomMenuLinkCSS is still on both elements and the merchant theme loads
   after this file, so a merchant colour continues to win. This only changes
   what a site with no override gets.

   One deliberate difference: the inline style forced font-family:sans-serif.
   These now inherit the site font like everything else on the page.
   -------------------------------------------------------------------------- */
.oo-menu-link {
    text-decoration: none;
    color: var(--oo-brand-text);
    font-size: var(--oo-text-lg);
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
}

.oo-menu-link--inline {
    display: inline-block;
}

/*
    Let the chip row actually scroll.

    overflow-x on #nav does nothing on its own here. #nav sits inside
    .navbar-collapse, which is a flex item, and a flex item defaults to
    min-width:auto, meaning it refuses to shrink below its content. So the
    collapse grew to 875px inside a 320px navbar, #nav grew with it, and
    scrollWidth equalled clientWidth: nothing overflowed, so nothing scrolled,
    and the chips past the fourth were simply off screen with no way to reach
    them.

    min-width:0 on the chain is what lets them shrink to the viewport, at which
    point the content genuinely overflows #nav and its overflow-x:auto starts
    working. Measured at 320px on a 14 category menu: 875px wide and not
    scrollable before, viewport width and scrollable after.
*/
.CustomCategoryNavbarCSS .navbar-collapse,
.CustomCategoryNavbarCSS .container-fluid {
    min-width: 0;
}

#nav {
    min-width: 0;
}

/* ==========================================================================
   oo-checkout.css
   --------------------------------------------------------------------------
   Owner: the CHECKOUT lane. Covers the cart, the Review page and the payment modals.

   This file loads after Content/Site.css in the ~/Content/css bundle
   (App_Start/BundleConfig.cs), so a rule here overrides a base rule at the
   same specificity without !important.

   Rules for this file, from _worktrees/_oo-modern/CONTRACT.md:
     1. No !important.
     2. No hardcoded hex. Use an --oo-* token.
     3. No px font-size. Use --oo-text-*.
     4. Interactive things are <button> or <a>. Never a clickable <div>.
     5. Every control has an accessible name.
   ========================================================================== */

/* ==========================================================================
   1. Review page: show the order total before the payment section on mobile
   --------------------------------------------------------------------------
   Views/Review/Index.cshtml:13 carries Bootstrap's .flex-sm-wrap-reverse, which
   Bootstrap only defines from 576 px up. Below that the row falls back to
   flex-wrap: wrap and lays the columns out in DOM order, so the payment column
   (Index.cshtml:14) renders before the order summary column (Index.cshtml:345)
   that holds the total.

   Measured on Mike's Office before this change, at 320, 390 and 430 px: the
   total row sat 238 px below the "Enter Payment Details" button and below the
   legal line. The customer was asked to pay before the total was visible.

   Two changes fix it, both scoped to below the sm breakpoint:
     a. Lift the summary column above the payment column with order: -1.
     b. Mirror the total into a bar fixed to the bottom of the viewport, so the
        amount stays on screen while the customer works through payment.

   The DOM order is untouched, so the desktop layout and the wrap-reverse
   behaviour above 576 px are unchanged.
   ========================================================================== */

/* Hidden at every width by default. The mobile block below turns it on, and
   ReviewScripts.js adds .is-ready only once a total actually exists, so an
   empty cart never shows an empty bar. */
.oo-checkout-totalbar {
    display: none;
}

@media (max-width: 575.98px) {

    .row.flex-sm-wrap-reverse > .SideBar {
        order: -1;
    }

    /* Let the foot of the payment column scroll clear of the fixed bar. */
    .row.flex-sm-wrap-reverse > .SideBarMain {
        padding-bottom: var(--oo-space-6);
    }

    .oo-checkout-totalbar.is-ready {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1030;
        align-items: baseline;
        justify-content: space-between;
        padding: var(--oo-space-3) var(--oo-space-4);
        background-color: var(--oo-surface);
        border-top: 1px solid var(--oo-border);
        box-shadow: var(--oo-shadow-md);
        font-family: var(--oo-font-body);
    }

    .oo-checkout-totalbar__label {
        font-size: var(--oo-text-sm);
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--oo-on-surface-muted);
    }

    .oo-checkout-totalbar__value {
        font-size: var(--oo-text-xl);
        font-weight: 700;
        color: var(--oo-on-surface);
    }
}

/* ==========================================================================
   2. Cart (discovery 7.3)
   --------------------------------------------------------------------------
   Covers both places Views/Shared/_CartItemsPartial.cshtml renders: the cart
   modal (IsCartView true) and the order summary on the Review page
   (IsCartView false).

   Note on discovery 7.3 item 4: modifiers were already indented, and a priced
   modifier already printed its price (_CartItemsPartial.cshtml:215). What was
   missing was the visual treatment, not the data. No "+" prefix is added,
   because the same loop renders ModifierMod values Lite, Sub and Remove, and a
   blanket "+" would contradict them.
   ========================================================================== */

/* The delete control. It was a <div> with an inline color:#d3d1db on the glyph,
   which measures about 1.6:1 on white. It is now a real <button> carrying a
   token colour, with the button chrome stripped so it still reads as an icon. */
.oo-cart-remove {
    padding: var(--oo-space-1);
    border: 0;
    background: none;
    line-height: 1;
    color: var(--oo-on-surface-muted);
    cursor: pointer;
    border-radius: var(--oo-radius-sm);
}

.oo-cart-remove:hover,
.oo-cart-remove:focus {
    color: var(--oo-danger);
}

.oo-cart-remove:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

/* The item name opens the edit modal, so it is a button now rather than a
   clickable div. It must still read as the plain, left aligned name it was. */
.oo-cart-item-name {
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.oo-cart-item-name:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
    border-radius: var(--oo-radius-sm);
}

/* Item thumbnail. It sits inside the item row beside the name, so the line reads
   as a product. Small and lazy: the menu already ships a lot of image weight, and
   these are the same URLs the menu page has usually cached already. */
.oo-cart-thumb {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    margin-right: var(--oo-space-2);
    object-fit: cover;
    border-radius: var(--oo-radius-sm);
    border: 1px solid var(--oo-border);
}


/* Modifiers: keep the existing indent, calm the colour, and let the price sit
   apart from the name so the eye can separate them. */
.ModifierBlock .row .col-9 {
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-cart-modifier-price {
    color: var(--oo-on-surface-muted);
    white-space: nowrap;
}

/* A rule above Total, so the sum reads as a sum and not as one more row. */
.oo-cart-total-row {
    border-top: 1px solid var(--oo-border);
    margin-top: var(--oo-space-2);
    padding-top: var(--oo-space-2);
}

.oo-cart-total-row .Bold {
    font-size: var(--oo-text-lg);
}

/* The cart modal opened with the ASAP and Takeout selector as its first row,
   which reads as a settings row. This is the modal's own title. */
.oo-cart-heading {
    margin: 0;
    padding-top: var(--oo-space-3);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-xl);
    color: var(--oo-on-surface);
}

/* Quantity is display only for now, because no endpoint exists to change the
   quantity of a cart line. The width holds the column steady and reserves the
   space a stepper will occupy if that endpoint is ever added, so dropping one
   in later does not reflow the row. */
.ItemQtyDiv {
    min-width: 44px;
    font-variant-numeric: tabular-nums;
    color: var(--oo-on-surface);
}

/* ==========================================================================
   3. Review page hierarchy (discovery 7.4)
   --------------------------------------------------------------------------
   Before this, "Loyalty Rewards", "Credit Card", "Enter Payment Details" and
   "Edit Order" were all the same solid cyan at the same weight, so the back
   action shouted as loudly as the submit action. Roles are now:
     primary    the submit button, and nothing else
     secondary  Loyalty Rewards, Custom tip, Edit Order, the processor choice
     quiet      Add more items
   ========================================================================== */

/* Tip presets. These are a choice group, so they read as chips and one of them
   is visibly chosen. .active is the class the existing tip handler already
   toggles (ReviewScripts.js), so the selected state needs no new behaviour. */
.oo-tip-chip {
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
    line-height: 1.3;
    white-space: normal;
}

.oo-tip-chip:hover {
    border-color: var(--oo-brand-text);
    color: var(--oo-brand-text);
}

.oo-tip-chip:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

/* The chosen preset. Solid rather than a tinted outline, so "which one did I
   pick" is answerable at a glance and not only by a border colour. */
.oo-tip-chip.active {
    background-color: var(--oo-brand);
    border-color: var(--oo-brand);
    color: var(--oo-on-brand);
    font-weight: 600;
}

/* The processor choice is a choice, not four equal calls to action. */
.ProcessorSelectBtn {
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
}

.ProcessorSelectBtn:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.ProcessorSelectBtn.active {
    background-color: var(--oo-brand);
    border-color: var(--oo-brand);
    color: var(--oo-on-brand);
    font-weight: 600;
}

/* Field labels for the name and phone rows, which previously had none. */
.oo-field {
    margin-bottom: var(--oo-space-3);
}

/* ==========================================================================
   6. Contrast (discovery 4.1)
   --------------------------------------------------------------------------
   Measured on the Review page at Mike's Office. Everything below is a text
   colour this lane actually controls. The rest of the page's failures come
   from the merchant stylesheet served by /CSS, which sets colour with
   !important and therefore cannot be corrected from here. Those are recorded
   for the theme layer, not worked around with a competing !important.
   ========================================================================== */

/* "Save Card for future use". Was an inline color:grey, #808080, at 3.82:1.
   --oo-on-surface-muted is #6C757D at 4.69:1. */
.oo-savecard-label {
    display: inline-block;
    margin-bottom: 0.5rem;
    padding-left: var(--oo-space-1);
    vertical-align: text-top;
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface-muted);
}

/* The legal line under the submit button. The link was an inline #007BFF at
   3.85:1 with a text-decoration !important; both are gone. */
.oo-terms-line {
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface);
}

.oo-terms-link {
    color: var(--oo-brand-text);
    cursor: pointer;
    text-decoration: underline;
}

.oo-terms-link:hover,
.oo-terms-link:focus {
    color: var(--oo-brand-hover);
}

/* Deleting a saved card is destructive, so it says so. --oo-danger is #DC3545
   at 4.53:1 on the surface. It was also an <a> with no href, which is not
   keyboard focusable; it is a button now. */
.oo-btn--quiet-danger {
    color: var(--oo-danger);
}

.oo-btn--quiet-danger:hover {
    color: var(--oo-danger);
}

/* ==========================================================================
   Cart quantity stepper
   --------------------------------------------------------------------------
   Changing a quantity used to mean deleting the line and rebuilding the item,
   because no endpoint could set the quantity of an existing line. There is one
   now (APIController.UpdateItemQuantity), shaped on RemoveItem.

   The minus control stops at 1. Removing a line stays the delete button's job,
   which has its own accessible name and its own double-submit guard.
   ========================================================================== */
.oo-stepper {
    display: inline-flex;
    align-items: center;
    gap: var(--oo-space-1);
}

.oo-stepper__btn {
    width: 26px;
    height: 26px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-sm);
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-md);
    line-height: 1;
    cursor: pointer;
}

.oo-stepper__btn:hover:not(:disabled) {
    border-color: var(--oo-brand-text);
    color: var(--oo-brand-text);
}

.oo-stepper__btn:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-stepper__btn:disabled {
    opacity: 0.45;
    cursor: default;
}

.oo-stepper__value {
    min-width: 1.5em;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--oo-on-surface);
}

/* A cart line that carries a stepper sizes its own columns. Bootstrap's col-1 is
   8.33%, which is about 33px in the cart modal and far too narrow for a control.
   Scoped to the row that actually has a stepper, so the Review order summary,
   which shows a plain number, keeps the layout it already had. */
.oo-cart-row--stepper {
    flex-wrap: nowrap;
    align-items: center;
}

.oo-cart-row--stepper > .ItemQtyDiv,
.oo-cart-row--stepper > .EditDeleteDiv,
.oo-cart-row--stepper > .ItemPriceDiv {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.oo-cart-row--stepper > .ItemNameDiv {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
}

.oo-cart-row--stepper > .ItemPriceDiv {
    text-align: right;
}

/* ==========================================================================
   4. Donation modal (discovery 7.4 item 1)
   --------------------------------------------------------------------------
   The dismiss used to be the strongest thing in the dialog: a solid
   btn-secondary beside an Accept that starts disabled, and therefore pale,
   because no amount is chosen yet. The ask was loud and the offer was faint.
   ========================================================================== */

/* Skip is quiet, but NOT brand coloured. --oo-brand is themed per merchant and
   at Mike's Office it resolves to #00BFFF, which is 2.05:1 as text on white,
   so .oo-btn--quiet on its own would have traded a loud dismiss for an
   unreadable one. A dismiss is not a link and does not need the brand cue, so
   it takes the muted on-surface colour, which is 4.69:1 whatever the theme. */
/* Superseded by the .oo-donation__skip block below, which covers both the old
   modal and the inline card. */

/* The donation presets share the tip chip's treatment, including its selected
   state, so the two amount pickers on this page behave alike. */
.donation-option-btn {
    min-width: 7rem;
}

/* ==========================================================================
   5. Payment modal (discovery 7.5)
   --------------------------------------------------------------------------
   What could be fixed here, and what could not, is decided by one fact: the
   card number, expiry and CVV are rendered by the processor into a CROSS-ORIGIN
   iframe (src token.dcap.com). contentDocument is null from this page, and
   DatacapHostedWebToken exposes only init, requestToken, iframe, callback,
   removeMessageEventListener and initialized, so there is no style hook and no
   resize signal. Restyling those fields, merging the two expiry dropdowns into
   one MM/YY, and detecting the card brand are all impossible from here.
   ========================================================================== */

/* Reassurance beside the lock, above the processor's frame. */
.oo-payment-reassurance {
    display: flex;
    align-items: flex-start;
    margin-bottom: var(--oo-space-4);
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface-muted);
}

.oo-payment-reassurance > i {
    margin-right: var(--oo-space-2);
    padding-top: 0.15em;
}

/* The processor's frame. It cannot be styled inside, but it can at least stop
   looking like a hole in the form. */
.oo-payment-frame {
    display: block;
    width: 100%;
    border: 0;
}

.oo-payment-cancel {
    margin-top: var(--oo-space-2);
}

/* Cancel is an action, not a link, so it does not take the brand colour.
   .oo-btn--secondary draws its text and border from --oo-brand, which is themed
   per merchant and resolves to #00BFFF here, 2.05:1 on this surface. Measured
   before overriding rather than assumed. Same reasoning as the donation Skip. */
.oo-payment-cancel {
    margin-top: var(--oo-space-2);
    color: var(--oo-on-surface);
    border-color: var(--oo-border-control);
}

.oo-payment-cancel:hover,
.oo-payment-cancel:focus {
    color: var(--oo-on-surface);
    border-color: var(--oo-on-surface-muted);
}

/* ==========================================================================
   Donation, inline (supersedes the modal treatment above)
   --------------------------------------------------------------------------
   It sits beside the tip, after the payment section and before the submit
   button, because tip and donation are the same kind of decision: a
   discretionary extra on a known total.

   Deliberately a card rather than a checkbox. Losing the interruption is the
   point, but the honest risk is that take-up falls with it, so the ask still
   has to carry visual weight. If take-up does fall, the revert is this block
   plus _DonationModal.cshtml and the render call in Review/Index.cshtml.
   ========================================================================== */
.oo-donation {
    margin: var(--oo-space-4) 0;
    padding: var(--oo-space-4);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-lg);
    background-color: var(--oo-surface-raised);
}

.oo-donation__heading {
    margin: 0 0 var(--oo-space-1) 0;
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    color: var(--oo-on-surface);
}

.oo-donation__body {
    margin: 0 0 var(--oo-space-3) 0;
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface-muted);
}

.oo-donation__options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--oo-space-2);
    margin-bottom: var(--oo-space-3);
}

.oo-donation__actions {
    display: flex;
    align-items: center;
    gap: var(--oo-space-3);
    margin-top: var(--oo-space-3);
}

.oo-donation__actions > .oo-btn--primary {
    flex: 1 1 auto;
}

/* The dismiss is muted rather than brand coloured, for the same reason as the
   payment Cancel: it is a dismiss, not a link, and --oo-brand is themed per
   merchant and fails as text at this one. */
/* A class, not an ID. This was two identical #DonationSkipBtn blocks left over
   from the modal-to-inline move. They agreed, so nothing was broken, but two
   selectors at (1,0,0) setting the same property is a conflict the moment one
   copy is edited, and an ID in a lane sheet beats anything written later. */
.oo-donation__skip {
    flex: 0 0 auto;
    color: var(--oo-on-surface-muted);
}

.oo-donation__skip:hover,
.oo-donation__skip:focus {
    color: var(--oo-on-surface);
    text-decoration: underline;
}

/* ==========================================================================
   oo-account.css
   --------------------------------------------------------------------------
   Owner: the ACCOUNT lane. Covers login, register, the account area and previous orders.

   This file loads after Content/Site.css in the ~/Content/css bundle
   (App_Start/BundleConfig.cs), so a rule here overrides a base rule at the
   same specificity without !important.

   Rules for this file, from _worktrees/_oo-modern/CONTRACT.md:
     1. No !important.
     2. No hardcoded hex. Use an --oo-* token.
     3. No px font-size. Use --oo-text-*.
     4. Interactive things are <button> or <a>. Never a clickable <div>.
     5. Every control has an accessible name.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Social sign-in
   -------------------------------------------------------------------------- */

.oo-social {
    display: flex;
    flex-direction: column;
    gap: var(--oo-space-2);
    text-align: left;
}

    /* The provider buttons sit inside an MVC <form>. Make the form carry the
       column layout too, instead of letting it introduce a second block. */
    .oo-social form {
        display: flex;
        flex-direction: column;
        gap: var(--oo-space-2);
        margin: 0;
    }

/* The "or continue with" rule. The text is the merchant-overridable language
   key AccountAuthentication_External_Header. */
.oo-social__divider {
    display: flex;
    align-items: center;
    gap: var(--oo-space-3);
    margin: var(--oo-space-4) 0 var(--oo-space-2);
    color: var(--oo-on-surface-muted);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-sm);
    line-height: 1.2;
}

    .oo-social__divider::before,
    .oo-social__divider::after {
        content: "";
        flex: 1 1 auto;
        height: 1px;
        background: var(--oo-border);
    }

.oo-social__divider-text {
    flex: 0 0 auto;
}

/* Shared button chrome. Height, radius, icon size, gap and label style are
   identical for all three providers; only the brand skin below differs. */
.oo-social-btn {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--oo-space-3);
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 0 var(--oo-space-4);
    border: 1px solid transparent;
    border-radius: var(--oo-radius-md);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-md);
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 120ms ease-in-out;
}

    .oo-social-btn:hover,
    .oo-social-btn:focus {
        text-decoration: none;
    }

    .oo-social-btn:focus-visible {
        outline: none;
        box-shadow: var(--oo-focus-ring);
    }

.oo-social-btn__icon {
    flex: 0 0 auto;
    display: block;
    width: 20px;
    height: 20px;
}

.oo-social-btn__label {
    flex: 0 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --------------------------------------------------------------------------
   Provider brand skins.

   WARNING: the colours in this block are the only hex in this file and they
   stay hex on purpose. Google, Meta and Apple each fix the values, and a
   merchant theme must not recolour a trademarked mark. Do not convert these
   to --oo-* tokens.
     Google: developers.google.com/identity/branding-guidelines
             light button, #FFFFFF fill, #747775 stroke, #1F1F1F text
     Meta:   about.meta.com/brand/resources/facebook/logo
             #0866FF fill, white mark and label
     Apple:  developer.apple.com/design/human-interface-guidelines/sign-in-with-apple
             black, white or outline only; the label wording is mandated
   -------------------------------------------------------------------------- */

.oo-social-btn--google {
    background-color: #FFFFFF;
    border-color: #747775;
    color: #1F1F1F;
}

    .oo-social-btn--google:hover,
    .oo-social-btn--google:focus {
        background-color: #F7F8F8;
        color: #1F1F1F;
    }

.oo-social-btn--facebook {
    background-color: #0866FF;
    border-color: #0866FF;
    color: #FFFFFF;
}

    .oo-social-btn--facebook:hover,
    .oo-social-btn--facebook:focus {
        background-color: #0B5AD9;
        border-color: #0B5AD9;
        color: #FFFFFF;
    }

.oo-social-btn--apple {
    background-color: #000000;
    border-color: #000000;
    color: #FFFFFF;
}

    .oo-social-btn--apple:hover,
    .oo-social-btn--apple:focus {
        background-color: #1A1A1A;
        border-color: #1A1A1A;
        color: #FFFFFF;
    }

/* Neutral skin for any provider that has no brand rules of its own. This one
   is themable, because it carries no trademarked mark. */
.oo-social-btn--generic {
    background-color: var(--oo-surface);
    border-color: var(--oo-border-control);
    color: var(--oo-on-surface);
}

    .oo-social-btn--generic:hover,
    .oo-social-btn--generic:focus {
        background-color: var(--oo-surface-raised);
        color: var(--oo-on-surface);
    }

/* Narrow phones: keep each of the three labels on one line. */
@media (max-width: 359px) {
    .oo-social-btn {
        gap: var(--oo-space-2);
        padding: 0 var(--oo-space-2);
        font-size: var(--oo-text-sm);
    }
}

/* --------------------------------------------------------------------------
   Auth forms: register, and anything else that is one column of fields.

   Before this, the register fields spanned the whole window. At 1920 px the
   email input measured about 880 px, which is roughly three times a readable
   form measure. Discovery report 2026-08-31, section 7.6 item 6.
   -------------------------------------------------------------------------- */

.oo-authform {
    max-width: 30rem;
    margin: 0 auto;
    padding: var(--oo-space-5) 0;
    font-family: var(--oo-font-body);
}

.oo-authform__title {
    margin: 0 0 var(--oo-space-1);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-2xl);
    font-weight: 700;
}

.oo-authform__lede {
    margin: 0 0 var(--oo-space-5);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-md);
}

.oo-authform__back {
    display: inline-block;
    margin: 0 0 var(--oo-space-3);
    padding: var(--oo-space-1) 0;
    border: 0;
    background: none;
    font-size: var(--oo-text-sm);
    font-weight: 600;
    cursor: pointer;
}

.oo-authform__back:focus-visible,
.oo-authform__footlink a:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-authform__footlink {
    margin: var(--oo-space-5) 0 0;
    text-align: center;
    font-size: var(--oo-text-sm);
}

/* An input is something the customer operates, so its boundary needs the 3:1
   token, not the decorative one. Bootstrap ships #CED4DA, which measures
   1.30:1 on white. Scoped to this form so no other lane shifts. */
.oo-authform .form-control {
    border-color: var(--oo-border-control);
}

.oo-authform .form-control:focus {
    border-color: var(--oo-brand);
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

/* The social buttons sit above the form. Keep the two blocks apart. */
.oo-authform > form {
    margin-top: var(--oo-space-5);
}

/* The loyalty prompt rows keep the Bootstrap .col wrapper because the register
   script reaches the character counter and the error span through it. Drop the
   gutter so the control still lines up with its label. */
.oo-authform .oo-field > .col {
    flex: none;
    max-width: 100%;
    padding: 0;
}

/* --- Form section ------------------------------------------------------- */

.oo-formsection {
    margin: 0 0 var(--oo-space-6);
}

.oo-formsection__title {
    margin: 0 0 var(--oo-space-2);
    padding-bottom: var(--oo-space-2);
    border-bottom: 1px solid var(--oo-border);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    font-weight: 700;
}

.oo-formsection__optional {
    margin-left: var(--oo-space-2);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
    font-weight: 400;
}

.oo-formsection__hint {
    margin: 0 0 var(--oo-space-4);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

/* --- Required marker ---------------------------------------------------- */

/* The glyph is aria-hidden. The word next to it is in a .oo-sr-only span, so
   colour is never the only cue. */
.oo-field__required {
    margin-left: var(--oo-space-1);
    color: var(--oo-danger);
    font-weight: 700;
}

/* --- Password field ----------------------------------------------------- */

.oo-password {
    position: relative;
    display: block;
}

.oo-password__input {
    padding-right: 2.75rem;
}

.oo-password__toggle {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: var(--oo-radius-md);
    background: none;
    color: var(--oo-on-surface-muted);
    cursor: pointer;
}

.oo-password__toggle:hover {
    color: var(--oo-on-surface);
}

.oo-password__toggle:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-password__eye {
    width: 20px;
    height: 20px;
}

.oo-password__eyeslash {
    display: none;
}

.oo-password__toggle[aria-pressed="true"] .oo-password__eyeslash {
    display: inline;
}

/* --- Live password checklist -------------------------------------------- */

.oo-pwrules {
    margin-top: var(--oo-space-2);
    padding: var(--oo-space-3);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface-raised);
}

.oo-pwrules__header {
    margin: 0 0 var(--oo-space-2);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-xs);
    font-weight: 600;
}

.oo-pwrules__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.oo-pwrules__item {
    display: flex;
    align-items: baseline;
    gap: var(--oo-space-2);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xs);
}

.oo-pwrules__item + .oo-pwrules__item {
    margin-top: var(--oo-space-1);
}

/* The tick is decorative. The rule text carries the meaning either way, so a
   screen reader hears the same list it heard before this was interactive. */
.oo-pwrules__mark {
    flex: 0 0 auto;
    width: 1em;
    text-align: center;
    font-weight: 700;
}

.oo-pwrules__mark::before {
    content: "\2022";
}

.oo-pwrules__item.is-met {
    color: var(--oo-success);
}

.oo-pwrules__item.is-met .oo-pwrules__mark::before {
    content: "\2713";
}

/* --------------------------------------------------------------------------
   Account area: /Manage, /Manage/ManageUserInfo, /Manage/ManageLogins.

   This was unmodified 2013 framework scaffolding. The list it used carried
   .dl-horizontal, a Bootstrap 3 class that does not exist in the Bootstrap
   4.5.3 this app ships, so the horizontal layout it asked for never happened.
   Discovery report 2026-08-31, section 7.7.
   -------------------------------------------------------------------------- */

/* Pass 2 moved the width onto .oo-shell--narrow in the view, which is what
   every other pass 2 page uses, so the account pages all measure the same. This
   rule keeps only what is still its own. */
.oo-account {
    font-family: var(--oo-font-body);
}

.oo-account__title {
    margin: 0 0 var(--oo-space-1);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-2xl);
    font-weight: 700;
}

.oo-account__lede {
    margin: 0 0 var(--oo-space-5);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-md);
}

/* One setting: a title, its current value, and the control that changes it. */
.oo-account__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--oo-space-3);
    margin-bottom: var(--oo-space-3);
}

.oo-account__rowmain {
    flex: 1 1 14rem;
    min-width: 0;
}

/* A block that is too tall to sit beside its control, such as the card list. */
.oo-account__block {
    margin-bottom: var(--oo-space-3);
}

.oo-account__rowtitle {
    margin: 0;
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-md);
    font-weight: 700;
}

.oo-account__rowvalue {
    margin: var(--oo-space-1) 0 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-account__block > .oo-btn {
    margin-top: var(--oo-space-3);
}

/* Deleting an account is permanent, so it is kept away from the settings it
   sits under and is not dressed as one of them. */
.oo-account__danger {
    margin-top: var(--oo-space-6);
    padding-top: var(--oo-space-4);
    border-top: 1px solid var(--oo-border);
}

/* --- Address list ------------------------------------------------------- */

.oo-addresslist {
    margin: 0 0 var(--oo-space-3);
    padding: 0;
    list-style: none;
}

.oo-addresslist__item {
    display: flex;
    align-items: center;
    gap: var(--oo-space-3);
    padding: var(--oo-space-3) 0;
    border-bottom: 1px solid var(--oo-border);
}

.oo-addresslist__text {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
    overflow-wrap: break-word;
}

.oo-addresslist__edit {
    flex: 0 0 auto;
}

/* The provider mark sits inline with the provider name in this list, not in a
   button of its own. */
.oo-addresslist__text .oo-social-btn__icon {
    display: inline-block;
    vertical-align: text-bottom;
    margin-right: var(--oo-space-2);
}

/* --- Saved cards -------------------------------------------------------- */

.oo-account .CustomRadioGroupWrapper {
    margin-top: var(--oo-space-3);
}

/* Vertical rhythm between the stacked sections of an account page. */
.oo-account__title + .oo-account__block,
.oo-account__title + .oo-card,
.oo-account__block + .oo-account__block {
    margin-top: var(--oo-space-5);
}

.oo-account__block > .oo-account__rowtitle {
    margin-bottom: var(--oo-space-2);
}

/* --------------------------------------------------------------------------
   Previous orders.

   The page had no heading at all and the words "Previous Orders" appeared
   nowhere on it. Each order was a grey jQuery UI accordion bar labelled with a
   raw .NET timestamp, seconds included, and the reorder control was a small
   div sitting inline under the first item.
   Discovery report 2026-08-31, section 7.8.
   -------------------------------------------------------------------------- */

/* Pass 2 moved the width onto .oo-shell--narrow in the view, which is what
   every other pass 2 page uses, so the account pages all measure the same. This
   rule keeps only what is still its own. */
.oo-orders {
    font-family: var(--oo-font-body);
}

.oo-orders__title {
    margin: 0 0 var(--oo-space-5);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-2xl);
    font-weight: 700;
}

.oo-orders__order {
    margin-bottom: var(--oo-space-4);
}

.oo-orders__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--oo-space-2);
}

.oo-orders__date {
    margin: 0;
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    font-weight: 700;
}

.oo-orders__total {
    margin: 0;
    white-space: nowrap;
}

.oo-orders__totallabel {
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-orders__totalvalue {
    margin-left: var(--oo-space-2);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-md);
    font-weight: 700;
}

/* Status and method. A definition list because each value is labelled. */
.oo-orders__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--oo-space-1) var(--oo-space-4);
    margin: var(--oo-space-2) 0 0;
    font-size: var(--oo-text-sm);
}

.oo-orders__meta dt {
    margin: 0;
    color: var(--oo-on-surface-muted);
    font-weight: 400;
}

.oo-orders__meta dt::after {
    content: ":";
}

.oo-orders__meta dd {
    margin: 0 var(--oo-space-3) 0 var(--oo-space-1);
    color: var(--oo-on-surface);
    font-weight: 600;
}

.oo-orders__paid {
    margin: var(--oo-space-2) 0 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

/* --- The item list ------------------------------------------------------ */

.oo-orders__items {
    margin-top: var(--oo-space-3);
    border-top: 1px solid var(--oo-border);
}

.oo-orders__itemstoggle {
    padding: var(--oo-space-3) 0;
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    cursor: pointer;
}

.oo-orders__itemstoggle:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-orders__itemlist {
    margin: 0 0 var(--oo-space-3);
    padding: 0;
    list-style: none;
}

.oo-orders__item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--oo-space-3);
    padding: var(--oo-space-2) 0;
    border-top: 1px solid var(--oo-border);
    font-size: var(--oo-text-sm);
}

.oo-orders__itemmain {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--oo-on-surface);
}

.oo-orders__itemqty {
    display: inline-block;
    min-width: 1.5em;
    color: var(--oo-on-surface-muted);
    font-weight: 600;
}

.oo-orders__itemmod {
    display: block;
    margin-left: 1.5em;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xs);
}

.oo-orders__itemprice {
    flex: 0 0 auto;
    color: var(--oo-on-surface);
    white-space: nowrap;
}

/* The reorder action belongs to the order, not to its first line. */
.oo-orders__reorder {
    margin-top: var(--oo-space-3);
}

.oo-orders__empty {
    margin: 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-md);
}

/* --------------------------------------------------------------------------
   Loyalty summary and the rewards modal.

   /Loyalty shipped the literal string "More details coming soon!" to paying
   customers, and the same "Loyalty Summary" existed twice in two different
   designs: plain centred text here, stat tiles on /GiftCard.
   Discovery report 2026-08-31, section 7.9.

   The tiles themselves are the .lp-stat-* block that /GiftCard already used.
   This page now renders the same markup rather than a second design. Those
   rules live in Content/Site.css; moving them onto a contract component is a
   FOUNDATION job, not a reason to build a third design here.
   -------------------------------------------------------------------------- */

/* Pass 2 moved the width onto .oo-shell--narrow in the view, which is what
   /Orders and /Manage use, so the three account pages measure the same. This
   rule keeps only what is still its own. */
.oo-loyalty {
    font-family: var(--oo-font-body);
}

.oo-loyalty__title {
    margin: 0 0 var(--oo-space-5);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-2xl);
    font-weight: 700;
}

.oo-loyalty__ready {
    margin: var(--oo-space-4) 0 0;
    color: var(--oo-success);
    font-size: var(--oo-text-md);
    font-weight: 600;
}

.oo-loyalty__note {
    margin: var(--oo-space-4) 0 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

/* --- Progress toward the next reward ------------------------------------ */

.oo-loyalty__progress {
    margin-top: var(--oo-space-4);
}

.oo-loyalty__progresstext {
    margin: 0 0 var(--oo-space-2);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
}

.oo-loyalty__track {
    height: 8px;
    border-radius: var(--oo-radius-sm);
    background-color: var(--oo-border);
    overflow: hidden;
}

.oo-loyalty__bar {
    height: 100%;
    background-color: var(--oo-brand);
}

/* --- The reward catalogue on the summary page --------------------------- */

.oo-loyalty__rewardsheading {
    margin: var(--oo-space-6) 0 var(--oo-space-2);
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    font-weight: 700;
}

.oo-loyalty__rewards {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Read only on this page. Claiming attaches a discount to an order, so the
   control for it lives on the review page where an order exists. */
.oo-loyalty__reward {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--oo-space-2) var(--oo-space-3);
    padding: var(--oo-space-3) 0;
    border-bottom: 1px solid var(--oo-border);
}

.oo-loyalty__rewardmain {
    flex: 1 1 12rem;
    min-width: 0;
}

.oo-loyalty__rewardname {
    display: block;
    color: var(--oo-on-surface);
    font-size: var(--oo-text-md);
    font-weight: 600;
}

.oo-loyalty__rewarddesc {
    display: block;
    margin-top: var(--oo-space-1);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-loyalty__rewardside {
    flex: 0 0 auto;
    text-align: right;
}

.oo-loyalty__rewardcost {
    display: block;
    color: var(--oo-on-surface);
    font-size: var(--oo-text-md);
    font-weight: 700;
}

/* State is a word, never colour alone. */
.oo-loyalty__rewardstate {
    display: block;
    margin-top: var(--oo-space-1);
    font-size: var(--oo-text-xs);
    font-weight: 600;
}

.oo-loyalty__reward.is-ready .oo-loyalty__rewardstate {
    color: var(--oo-success);
}

.oo-loyalty__reward.is-locked .oo-loyalty__rewardstate {
    color: var(--oo-on-surface-muted);
}

/* --------------------------------------------------------------------------
   The rewards modal
   -------------------------------------------------------------------------- */

.oo-rewards__title {
    margin: 0;
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    font-weight: 700;
}

/* The balance is labelled because each reward price below it is rendered by the
   same currency formatter. Two different quantities, one visual language. */
.oo-rewards__balance {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--oo-space-3);
    margin: 0 0 var(--oo-space-4);
    padding-bottom: var(--oo-space-3);
    border-bottom: 1px solid var(--oo-border);
}

.oo-rewards__balancelabel {
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-rewards__balancevalue {
    color: var(--oo-on-surface);
    font-size: var(--oo-text-xl);
    font-weight: 700;
}

.oo-rewards__empty {
    margin: 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-rewards__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.oo-rewards__reward {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--oo-space-3);
    width: 100%;
    padding: var(--oo-space-3);
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-md);
    margin-bottom: var(--oo-space-2);
    background-color: var(--oo-surface);
    text-align: left;
    cursor: pointer;
}

.oo-rewards__reward:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

@media (any-hover: hover) {
    .oo-rewards__reward:hover {
        background-color: var(--oo-surface-raised);
    }
}

.oo-rewards__rewardmain {
    flex: 1 1 auto;
    min-width: 0;
}

.oo-rewards__rewardname {
    display: block;
    color: var(--oo-on-surface);
    font-size: var(--oo-text-md);
    font-weight: 600;
}

.oo-rewards__rewarddesc {
    display: block;
    margin-top: var(--oo-space-1);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-rewards__rewardcost {
    display: block;
    margin-top: var(--oo-space-1);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
}

.oo-rewards__rewardshort {
    margin-left: var(--oo-space-2);
    color: var(--oo-on-surface-muted);
}

.oo-rewards__rewardaction {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: var(--oo-space-2);
}

.oo-rewards__rewardclaim {
    color: var(--oo-success);
    font-size: var(--oo-text-sm);
    font-weight: 700;
}

/* The chevron the rows never had. It is what says a row goes somewhere. */
.oo-rewards__chevron {
    width: 18px;
    height: 18px;
    color: var(--oo-on-surface-muted);
}

.oo-rewards__reward.is-locked .oo-rewards__rewardname,
.oo-rewards__reward.is-locked .oo-rewards__rewardcost {
    color: var(--oo-on-surface-muted);
}

/* --------------------------------------------------------------------------
   eGift purchase modal.

   The eGift landing card is the best screen in the product and stays the visual
   reference for this lane. Its hero buttons were the exception: they carried no
   Custom*CSS class, so under a merchant theme they stayed royal blue while
   everything around them changed. They now carry the theme classes.
   Discovery report 2026-08-31, section 7.9.
   -------------------------------------------------------------------------- */

.oo-egift__title {
    margin: 0;
    color: var(--oo-on-surface);
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    font-weight: 700;
}

/* --- Card art ----------------------------------------------------------- */

.oo-egift__art {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: var(--oo-space-2);
    margin-top: var(--oo-space-2);
}

.oo-egift__artoption {
    aspect-ratio: 3 / 2;
    padding: 0;
    border: 2px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface);
    background-size: cover;
    background-position: center;
    cursor: pointer;
}

.oo-egift__artoption:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-egift__artoption.GCSelected {
    border-color: var(--oo-brand);
}

/* --- Amount presets ------------------------------------------------------

   These were Bootstrap .col items in a single .row. Five presets wrapped four
   onto the first line and left the fifth alone, stretched to the full width,
   because a .col grows into whatever space is left. A fixed grid track cannot
   do that: the last item is the same width as the first.
   -------------------------------------------------------------------------- */

.oo-egift__presets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
    gap: var(--oo-space-2);
    margin-bottom: var(--oo-space-3);
}

/* The fill below is the UNTHEMED fallback only. This element carries
   CustomButtonPrimaryCSS, and measured on a themed location the merchant sheet is
   the LAST rule setting its background, so the merchant colour wins, which is
   correct. Do not build a selected state on this fill: use a ring and a weight,
   which the settings catalog cannot emit. */
.oo-egift__preset {
    min-height: 44px;
    padding: 0 var(--oo-space-2);
    border: 1px solid transparent;
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-brand);
    color: var(--oo-on-brand);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-md);
    font-weight: 600;
    cursor: pointer;
}

.oo-egift__preset:focus-visible {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

.oo-egift__message {
    min-height: 5rem;
    resize: vertical;
}

/* --------------------------------------------------------------------------
   Segmented control.

   Replaces .switch-field, whose CSS put an inset shadow on the UNSELECTED
   option and a pale fill with no shadow on the selected one. The unselected
   half read as pressed in and the selected half read as lighter, which is the
   affordance backwards. The chosen option is solid here.
   -------------------------------------------------------------------------- */

.oo-segmented {
    display: flex;
    margin-top: var(--oo-space-2);
}

.oo-segmented__input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.oo-segmented__option {
    flex: 1 1 0;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 var(--oo-space-3);
    border: 1px solid var(--oo-border-control);
    background-color: var(--oo-surface);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    text-align: center;
    cursor: pointer;
}

.oo-segmented__option:first-of-type {
    border-radius: var(--oo-radius-md) 0 0 var(--oo-radius-md);
}

.oo-segmented__option:last-of-type {
    border-radius: 0 var(--oo-radius-md) var(--oo-radius-md) 0;
    margin-left: -1px;
}

/* The chosen option.

   The FILL is the UNTHEMED presentation. On a location with custom settings the
   catalog owns colour on a themed element, foreground and background alike, so a
   fill on its own is not a state that a merchant palette is unable to erase.
   Measured on this element on a themed location: only these rules set its
   background, so the fill does survive here. It is not guaranteed to, and a state
   should not depend on that.

   The RING and the WEIGHT are what actually carry the state. A merchant sheet
   emits no box-shadow and no font-weight, so neither can be overwritten.
   The ring takes --oo-brand-text rather than --oo-brand: a ring is a non-text
   indicator wanting 3:1, and a raw merchant brand can measure as low as 2.05:1
   on a light surface. --oo-brand-text is the corrected one. */
.oo-segmented__input:checked + .oo-segmented__option {
    border-color: var(--oo-brand);
    background-color: var(--oo-brand);
    color: var(--oo-on-brand);
    box-shadow: inset 0 0 0 2px var(--oo-brand-text, var(--oo-brand));
    font-weight: 750;
}

/* Focus follows the input, so the ring has to be drawn on its label. */
.oo-segmented__input:focus-visible + .oo-segmented__option {
    outline: none;
    box-shadow: var(--oo-focus-ring);
}

/* --------------------------------------------------------------------------
   Optional marker, the partner of .oo-field__required.
   -------------------------------------------------------------------------- */

.oo-field__optional {
    margin-left: var(--oo-space-2);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xs);
    font-weight: 400;
}

/* ==========================================================================
   oo-modern-menu.css
   --------------------------------------------------------------------------
   Pass 2 visual layer for the menu page. Owner: the MENU lane.
   Loads after Content/oo-modern.css, which owns the base layer, the grid and
   the token set. This sheet styles what sits INSIDE the grid.

   Rules:
     - No hardcoded colour. Every colour is a token, so a database-driven theme
       can reach it.
     - The card must look deliberate with --oo-brand set to a NEUTRAL. Colour is
       an enhancement, never the thing holding the composition together.
     - prefers-reduced-motion removes motion rather than shortening it.

   MEASURED ON A 472 CARD MENU, 2026-09-01, and it drives the card design:
   1 card had an image, 2 had a description, 451 showed a numeric price and 21
   showed the word "Options". The longest name was 48 characters.
   So the card is designed TEXT FIRST: a name and a price have to look composed
   on their own, because on a real menu that is often all there is. The image is
   an enhancement that is absent by default and collapses to nothing rather than
   reserving an empty band. Menus with photographs do exist, so the image path is
   styled, it just never drives the layout.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Card shell
   -------------------------------------------------------------------------- */

.oo-app-body .MenuButtonModal {
    display: block;
    text-align: left;
}

/* The grid stretches each card; this makes the inner panel fill it so a short
   card and a tall card in the same row end level. */
.oo-app-body .MenuButtonModal .CustomMenuCardWrapperCSS {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--oo-space-4);
    border-radius: var(--oo-radius-lg);
    background-color: var(--oo-surface);
}

.oo-app-body .MenuButtonModal .oo-card-content-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    gap: var(--oo-space-3);
}

/* The text column is a Bootstrap col-8, so it holds 66.67% of the card whether
   or not an image sits beside it. With no image that leaves a third of every
   card empty and squeezes the name into a truncated two lines. The card owns
   its own layout now, so the Bootstrap column widths have to go. */
.oo-app-body .MenuButtonModal .oo-card-1x2,
.oo-app-body .MenuButtonModal .oo-card-side-right {
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    padding: 0;
}

/* The image column is an enhancement. When the item has no image the column
   still renders, so it must collapse to nothing rather than reserve a gap. */
.oo-app-body .MenuButtonModal .ImageContainer {
    padding: 0;
    text-align: left;
}

.oo-app-body .MenuButtonModal .ImageContainer:not(:has(img)) {
    display: none;
}

.oo-app-body .MenuButtonModal .ImageContainer img {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--oo-radius-md);
}

/* Names run to 48 characters. Unclamped, one long name sets the height of every
   card in its grid row, which leaves the rest of that row mostly empty space.

   THE NAME IS SET IN THE BODY FACE, NOT THE HEADING FACE, AND THAT IS DELIBERATE.
   A theme may point --oo-font-heading at a single weight display face. Content/Site.css
   ships Alfa Slab One and Daytona Condensed Fat with a 400 cut only, and the comment
   above the 700 blocks in that file says why no other cut can exist. A card name that
   asks for 600 from a 400 only family gets a SYNTHESISED bold, which the browser draws
   by smearing the 400 outline, and this name repeats for every card on the page. All six
   OrderCounter themes point --oo-font-body at a family with a real 400 and a real 700, so a
   weight set here is drawn rather than smeared on every one of them.

   The heading face still carries the category band and the item modal title, where it
   appears once per section and at a size that suits a display face. */
.oo-app-body .MenuButtonModal .oo-card-header {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    padding-right: var(--oo-space-5);
    font-family: var(--oo-font-body);
    font-size: var(--oo-text-lg);
    font-weight: 600;
    line-height: 1.3;
    color: var(--oo-on-surface);
}

.oo-app-body .MenuButtonModal .oo-card-middle {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

/* The name block grows so the price can be pushed to the foot of the card. */
.oo-app-body .MenuButtonModal .oo-menu-card__top {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: var(--oo-space-2);
}

/* The price sits at the foot of every card, so a row of cards shares one price
   baseline however many lines each name took. That shared baseline is most of
   what makes the grid read as a grid rather than as a list of boxes.

   The chip is a sunken surface rather than a brand fill, so it still reads as a
   distinct object when --oo-brand is a neutral.

   Tabular figures stop the decimal point moving between rows, which is the
   cheapest thing that makes a column of prices look set rather than typed. */
.oo-app-body .MenuButtonModal .oo-menu-card__price {
    display: inline-block;
    align-self: flex-start;
    margin-top: auto;
    padding: var(--oo-space-1) var(--oo-space-3);
    border-radius: var(--oo-radius-pill);
    background-color: var(--oo-surface-sunken);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    white-space: nowrap;
}

/* The affordance. A chevron says pressable without needing colour to say it. */
.oo-app-body .MenuButtonModal .CustomMenuCardWrapperCSS::after {
    content: "";
    position: absolute;
    top: var(--oo-space-4);
    right: var(--oo-space-4);
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid var(--oo-on-surface-muted);
    border-bottom: 2px solid var(--oo-on-surface-muted);
    transform: rotate(-45deg);
    transition: transform var(--oo-motion-fast) var(--oo-ease),
                border-color var(--oo-motion-fast) var(--oo-ease);
}

@media (any-hover: hover) {
    .oo-app-body .MenuButtonModal:hover .CustomMenuCardWrapperCSS::after {
        transform: rotate(-45deg) translate(2px, 2px);
        border-color: var(--oo-brand);
    }
}

/* ==========================================================================
   Category rail.

   Appearance only. The scrolling behaviour and the restore that stops
   autocollapse stranding categories are pass 1 work in MenuScripts.js and must
   not be disturbed. Anything here that changes the rail's width or overflow has
   to be re-measured with scrollWidth against clientWidth, because a rail that
   has stopped scrolling looks identical in a screenshot.
   ========================================================================== */

.oo-app-body .CustomCategoryNavbarCSS {
    position: sticky;
    top: var(--oo-header-offset, 0px);
    z-index: 1020;
    background-color: var(--oo-surface);
    border-bottom: 1px solid var(--oo-border);
    box-shadow: var(--oo-shadow-xs);
}

.oo-app-body #nav {
    gap: var(--oo-space-2);
    padding: var(--oo-space-3) var(--oo-space-2);
    scroll-behavior: smooth;
}

.oo-app-body #nav > .nav-item > .nav-link {
    /* The weight the chip takes when it is the selected one. It is a token so the reserve
       rule below cannot drift away from the rule that uses it. Change it in one place. */
    --oo-chip-selected-weight: 700;
    border-radius: var(--oo-radius-pill);
    padding: var(--oo-space-2) var(--oo-space-4);
    border: 1px solid var(--oo-border-control);
    background-color: var(--oo-surface);
    font-size: var(--oo-text-sm);
    font-weight: 500;
    white-space: nowrap;
    transition: background-color var(--oo-motion-fast) var(--oo-ease),
                border-color var(--oo-motion-fast) var(--oo-ease),
                box-shadow var(--oo-motion-fast) var(--oo-ease);
}

/*
    THE ACTIVE CHIP DOES NOT SET A TEXT COLOUR, DELIBERATELY.

    An earlier version of this rule filled the active chip with --oo-on-surface
    and set its text to --oo-surface. Measured on a themed site: the chip
    rendered black on black at 1:1, so the one category the customer was in was
    the only label they could not read.

    The cause is that the merchant theme sheet, which loads after every sheet
    here, carries
        .CustomCategoryNavLinkCSS { color: #000 !important }
    An !important declaration cannot be beaten by specificity, and rule 1 of
    this project forbids answering it with another !important. Pairing the fill
    with --oo-on-brand does not help either: that token is #000000, so it would
    have produced the same black on black.

    So the active state is built from everything EXCEPT the foreground: a sunken
    fill, a darker boundary, a heavier weight and an inset ring. The merchant
    keeps ownership of their text colour, which is the point of theming, and the
    selected state cannot be broken by a colour this sheet does not control.

    If you ever give this chip a dark fill, you must first prove you can also
    change its text colour on a themed site. Today you cannot.
*/
.oo-app-body #nav > .nav-item > .nav-link.is-selected {
    background-color: var(--oo-surface-sunken);
    /* Pair the fill with a foreground. This rule replaced the FILL and left the
       foreground to whatever won underneath, which on a THEMED site is nothing:
       the theme branch emits :root and no .Custom* rules at all. The label kept
       --oo-on-brand, white, and landed on a pale sunken surface at 1.07 to 1.23
       depending on theme. --oo-on-surface is the token that goes with this fill.

       IT CLEARS 12:1 ON A THEMED SITE ONLY, and an earlier version of this
       comment claimed "on every theme" without that qualifier. On a LEGACY site
       /CSS emits .CustomCategoryNavLinkCSS{color:...!important} last, and no
       specificity here beats !important, exactly as the block above says. This
       declaration loses there and the merchant's colour paints the label.
       Measured on a live site on 2026-09-07: white at 1.09:1 on this fill.

       That is not answered from this sheet, and must not be answered with a
       second !important. It is answered in the emitter: CSSTokenLogic maps this
       chip to --oo-surface and --oo-surface-sunken, so a merchant colour that
       cannot be read on either is corrected before it is served. If you change
       this fill, change that map in the same commit. */
    color: var(--oo-on-surface);
    border-color: var(--oo-on-surface);
    box-shadow: inset 0 0 0 1px var(--oo-on-surface);
    font-weight: var(--oo-chip-selected-weight);
}

/* THE CHIP'S BOX MUST NOT CHANGE WHEN IT BECOMES THE SELECTED ONE.

   The heavier weight above draws wider glyphs than the 500 the other chips use, so the
   selected chip grew and every chip to its right slid sideways. OOMarkActiveCategory in
   Scripts/OrderCounter/MenuScripts.js moves the selection on every window scroll event, so
   the whole row jittered as the customer scrolled. Measured on the 8 category test location:
   up to 3.53px per selection change, at 1280px and at 386px alike.

   This reserves the selected width on EVERY chip. The pseudo-element holds the same label,
   at the same weight, in whatever font and size the chip inherits, so the chip is already as
   wide as it will ever need to be and changing the weight moves nothing. height: 0 keeps it
   out of the chip's height, overflow: hidden keeps its own text out of the picture, and
   visibility: hidden keeps it out of the accessibility tree as well.

   No display change: the pseudo-element is a block box in the chip's normal flow, and a
   block box still contributes its max-content width to the chip. Leaving .nav-link at the
   display Bootstrap gives it is what makes this safe to sit under a merchant theme sheet.

   data-oo-label is written by the two views that render real category chips,
   Views/Menu/AjaxMenu.cshtml and Views/Menu/ViewOnly.cshtml. The rule is bound to the
   attribute rather than to the chip so anything else in this row, such as the collapsed
   dropdown toggler, is left alone.

   Do not answer a future jitter with width or min-width. The label is merchant text in a
   merchant font, so no number is right for every menu. */
.oo-app-body #nav > .nav-item > .nav-link[data-oo-label]::after {
    content: attr(data-oo-label);
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    font-weight: var(--oo-chip-selected-weight);
}

@media (any-hover: hover) {
    .oo-app-body #nav > .nav-item > .nav-link:hover {
        border-color: var(--oo-on-surface-muted);
        background-color: var(--oo-surface-sunken);
    }
}

@media (prefers-reduced-motion: reduce) {
    .oo-app-body #nav {
        scroll-behavior: auto;
    }
}

/* ==========================================================================
   Category band.

   The bar that carries the category name and the collapse caret. It had no rule
   in any sheet: it was a bare block div, and its only vertical size came from
   the name's own margin-bottom, which .oo-app-body h1, h2, h3 in
   Content/oo-modern.css sets to var(--oo-space-4). So the name sat hard against
   the top of the bar and the whole of that margin became dead space under it.
   Measured on this palette, where --oo-space-4 is 24px: a 48px bar with 0px
   above the name and 25px below it. How far the name was pushed up moved with
   the theme, because that token is theme owned.

   The bar now carries its own padding and the name carries none, so the name is
   centred by construction at whatever the theme sets. Do not answer a future
   off-centre bar with flexbox here: the description is a second LINE under the
   name, and a flex row would move it beside the name instead.

   The caret needs nothing. Content/Site.css pins .oo-svg-caret at
   top: calc(50% - 16px) against a 32px icon, so it re-centres itself at any bar
   height, and the click handler in Scripts/OrderCounter/LayoutScripts.js writes
   an inline transform to flip it, which this rule must not compete with.

   The horizontal padding was an inline style on the div in the three views that
   render this bar. It moved here because an inline style beats a sheet, so the
   vertical padding could not be added while it stayed. 48px on the right keeps
   the name clear of the caret, which Site.css pins 10px from the right edge.
   15px on the left restores the gutter the inline negative margins cancel.
   ========================================================================== */

.oo-app-body .oo-category-header {
    padding: var(--oo-space-3) 48px var(--oo-space-3) 15px;
}

.oo-app-body .oo-category-header .CustomCategoryNameCSS {
    margin-bottom: 0;
}

/* The name and the description are two lines when a category has one, and the
   name no longer carries the margin that used to separate them. :has() rather
   than a plain margin-top because the view renders the wrapper and its span
   whether or not the category has any text to put in them, so an unconditional
   margin would open a gap under every category that has no description. :has()
   is already load bearing further down this sheet. */
.oo-app-body .oo-category-header .oo-category-description:has(span:not(:empty)) {
    margin-top: var(--oo-space-1);
}

/* ==========================================================================
   Item modal.

   This is where the customer actually configures an order, so it is treated as
   a configuration surface rather than as a dialog with a list in it.

   FIVE ELEMENTS IN HERE ARE THEME OWNED: CustomItemNameHeaderCSS,
   CustomItemPriceCSS, CustomItemDescriptionCSS, CustomButtonPrimaryCSS and
   CustomButtonOutlineSecondaryCSS. Nothing below sets a text colour on any of
   them. Backgrounds, borders, radius, weight and spacing only. The category
   chip already proved what happens when a lane assumes it owns a foreground.
   ========================================================================== */

/* A configuration screen needs more room than the Bootstrap 500px default. */
.oo-app-body #PageModal .modal-dialog {
    max-width: 40rem;
}

/* --- Header ------------------------------------------------------------- */

.oo-app-body .oo-item-modal__head {
    padding: var(--oo-space-6) var(--oo-space-6) var(--oo-space-5);
    background-color: var(--oo-surface);
}

/* The weight is the token and not a number, because SupplyHeadingWeight in
   BusinessLogic/Controllers/CSSTokenLogic.cs snaps that token to a cut the chosen
   family actually ships. A hardcoded 700 asks a single weight display face for a
   bold it does not have, and the browser synthesises one. */
.oo-app-body .oo-item-modal__head .modal-title {
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-2xl);
    font-weight: var(--oo-font-heading-weight);
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin-bottom: var(--oo-space-2);
}

.oo-app-body .oo-item-modal__head .CustomItemPriceCSS {
    font-size: var(--oo-text-lg);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    margin-bottom: var(--oo-space-2);
}

.oo-app-body .oo-item-modal__head .CustomItemDescriptionCSS {
    font-size: var(--oo-text-sm);
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 0;
}

/* The close control becomes a real round target rather than a floating glyph. */
.oo-app-body #PageModal .modal-content .close {
    position: absolute;
    top: var(--oo-space-4);
    right: var(--oo-space-4);
    width: 2rem;
    height: 2rem;
    border-radius: var(--oo-radius-pill);
    background-color: var(--oo-surface-sunken);
    opacity: 1;
    transition: background-color var(--oo-motion-fast) var(--oo-ease);
}

@media (any-hover: hover) {
    .oo-app-body #PageModal .modal-content .close:hover {
        background-color: var(--oo-border);
    }
}

/* --- Option groups become sections -------------------------------------- */

.oo-app-body .oo-modal__body .oo-modifier-set-wrapper,
.oo-app-body .oo-modal__body .StandaloneGroupWrapper {
    margin-bottom: var(--oo-space-5);
}

.oo-app-body .ModifierSetWrapperCSS,
.oo-app-body .oo-modal__body .StandaloneGroup {
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-lg);
    background-color: var(--oo-surface);
    padding: var(--oo-space-4);
    box-shadow: var(--oo-shadow-xs);
}

.oo-app-body .ModifierSetHeader {
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-md);
    font-weight: var(--oo-font-heading-weight); /* Token, not a number. Same reason as .modal-title above. */
    padding: 0;
    margin-bottom: var(--oo-space-1);
}

/* "Choose up to 3" is an instruction, so it reads as a caption under the group
   title rather than as another value in the list. */
.oo-app-body .oo-choose-hint {
    font-size: var(--oo-text-xs);
    color: var(--oo-on-surface-muted);
    margin-bottom: var(--oo-space-3);
}

/* --- Option rows --------------------------------------------------------- */

/* The rows were separated by hairlines, which made a group read as a table.
   Spacing and a hover surface separate them instead. */
.oo-app-body .oo-modifier-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--oo-space-3);
    padding: var(--oo-space-2);
    border-bottom: 0;
    border-radius: var(--oo-radius-md);
    transition: background-color var(--oo-motion-fast) var(--oo-ease);
}

/* NOT gated on any-hover, and the gate was removed rather than kept.

   Site.css:1871 paints this row #EEE on :hover and carries no gate of its own, so a
   TAP on a touch device already lands on a hover fill. Gating only the token version
   did not stop that; it decided which fill a phone got, and it chose the legacy one.
   On a dark theme that is #EEE behind --oo-on-surface text, so the modifier the
   finger is on is the one that cannot be read.

   The colour is stated with the fill for the same reason it is on ToggleButton
   below: whoever moves one half of the pair owns the other half. */
.oo-app-body .oo-modifier-row:hover {
    background-color: var(--oo-surface-sunken);
    color: var(--oo-on-surface);
}

/*
    Keep the label and the stepper on one line.

    Both of those children carry .oo-flex-50 from Content/Site.css, which is
    flex: 0 1 50%. Grep the selector rather than trusting a line number here: an
    earlier version of this comment cited a line and FOUNDATION's tokenisation
    moved the rule 119 lines down without changing it.

    The pair therefore fills the row exactly, and the gap above pushes the total
    past 100% and wraps the stepper onto its own line.
    Measured at 390px before this rule: option rows were 105px tall.

    The basis must be 0, not auto. With auto the base size of the label is its
    max-content width, which already overflows the row on a phone, so the line
    breaks before the grow step ever runs. At 0 both children are placed on one
    line first and the label then grows into what is left.
*/
.oo-app-body .oo-modifier-row > .QuantitySelectorLabel {
    flex: 1 1 0;
    min-width: 0;
}

.oo-app-body .oo-modifier-row > .QuantitySelector {
    flex: 0 0 auto;
}

/*
    The nested selection wrapper needs no rule of its own. The two children above
    consume the line, so a populated wrapper cannot fit and wraps by itself, and
    an empty one has a base size of 0 and costs nothing. An explicit
    flex-basis: 100% here gave every empty wrapper a line of its own.
*/

.oo-app-body .oo-qty-label {
    font-size: var(--oo-text-md);
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 0;
}

.oo-app-body .oo-qty-max {
    font-size: var(--oo-text-xs);
    font-variant-numeric: tabular-nums;
}

/* --- Steppers become one segmented control ------------------------------- */

.oo-app-body .oo-qty-select {
    display: inline-flex;
    align-items: center;
    gap: 0;
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-pill);
    background-color: var(--oo-surface-sunken);
    overflow: hidden;
}

.oo-app-body .oo-qty-btn {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background-color: transparent;
    border-radius: 0;
    transition: background-color var(--oo-motion-fast) var(--oo-ease);
}

@media (any-hover: hover) {
    .oo-app-body .oo-qty-btn:hover {
        background-color: var(--oo-border);
    }
}

.oo-app-body .oo-input-qty {
    width: 2.75rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background-color: transparent;
    text-align: center;
    line-height: 2rem;
    font-size: var(--oo-text-sm);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* --- Selects ------------------------------------------------------------- */

.oo-app-body .select-css {
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface);
    padding: var(--oo-space-3) var(--oo-space-4);
    font-size: var(--oo-text-md);
    font-weight: 500;
    box-shadow: none;
    transition: border-color var(--oo-motion-fast) var(--oo-ease),
                box-shadow var(--oo-motion-fast) var(--oo-ease);
}

.oo-app-body .select-css:focus {
    border-color: var(--oo-on-surface);
    box-shadow: var(--oo-focus-ring);
}

.oo-app-body .oo-choice-label {
    font-size: var(--oo-text-xs);
    font-weight: 600;
    color: var(--oo-on-surface-muted);
    margin-bottom: var(--oo-space-1);
}

/* --- Option toggles ------------------------------------------------------ */

/*
    These carry CustomButtonOutlineSecondaryCSS, and on a CONFIGURED location the
    merchant owns more of this button than the general rule implies. Measured on
    the running site, both of these exist in the theme sheet:

        .CustomButtonOutlineSecondaryCSS        { color:#6C757D !important;
                                                  background-color:#FFF !important }
        .CustomButtonOutlineSecondaryCSS.active { color:#FFF !important;
                                                  background-color:#6C757D !important }

    So on a themed site the fill and the foreground of BOTH states are the
    merchants, in both directions, and the background rules below never apply.
    They are not dead: on a location with no custom theme those selectors are not
    emitted and these are what render. Treat them as the unthemed fallback.

    What this sheet can rely on either way is the inset ring, the radius, the
    padding and the weight, because box-shadow and geometry are not in the
    merchant property catalog. Verified: the ring computes on the themed site
    while the fill does not.

    The merchants own active state happens to pass, white on #6C757D at 4.69:1,
    so the state change is legible here. That is their doing, not this sheet.
*/
.oo-app-body .ToggleButton.CheckboxDiv {
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-md);
    background-color: var(--oo-surface);
    /* The hover pair and the active pair below both set a colour and the resting
       state did not, so the resting label fell through to bootstrap.css
       .btn-outline-secondary #6C757D. On Lantern that is 3.66:1 against this fill:
       readable enough to look deliberate and too weak to pass. A modifier name is
       body text, so it takes the body foreground. On a location with no theme the
       merchant's own !important pair still wins, exactly as the note above says. */
    color: var(--oo-on-surface);
    padding: var(--oo-space-3);
    font-size: var(--oo-text-sm);
    font-weight: 500;
    text-align: left;
    transition: background-color var(--oo-motion-fast) var(--oo-ease),
                border-color var(--oo-motion-fast) var(--oo-ease),
                box-shadow var(--oo-motion-fast) var(--oo-ease);
}


/* Bootstrap pairs .btn-outline-secondary:hover with its OWN #6C757D fill and a white
   label. The rule above keeps the surface fill in every state and left the label to
   whatever won underneath, so hovering a modifier painted white text on a white
   button and the name disappeared.

   Restated here as a pair, and deliberately NOT inside an any-hover query: a tap on
   a touch device also matches :hover, so the unreadable label has to be fixed there
   too. :not(.active) keeps this off the selected button, whose own pair is below and
   carries the same specificity. */
.oo-app-body .ToggleButton.CheckboxDiv:not(.active):hover {
    background-color: var(--oo-surface-sunken);
    color: var(--oo-on-surface);
    border-color: var(--oo-on-surface-muted);
}
.oo-app-body .ToggleButton.CheckboxDiv.active {
    background-color: var(--oo-surface-sunken);
    /* Same pairing, same reason. Bootstrap color: #fff survived here instead. */
    color: var(--oo-on-surface);
    border-color: var(--oo-on-surface);
    box-shadow: inset 0 0 0 1px var(--oo-on-surface);
    font-weight: 700;
}

/* --- Required marker ----------------------------------------------------- */

/* Pass 1 made this resolve: warning while unmet, success with a check once
   satisfied. Pass 2 only restyles it. Those two states live in
   Content/oo-menu.css and must keep working. */
.oo-app-body .oo-floating-required {
    top: calc(var(--oo-space-2) * -1);
    left: var(--oo-space-4);
    padding: 0 var(--oo-space-2);
    border-radius: var(--oo-radius-pill);
    font-size: var(--oo-text-xs);
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: var(--oo-shadow-xs);
}

/* --- Blocked state and footer -------------------------------------------- */

/* Pass 1 gives this a solid warning fill; this only adds a boundary and a
   radius so it reads as a panel rather than a stripe. The fill stays. */
.oo-app-body .oo-item-modal__validation {
    padding: 0 var(--oo-space-6) var(--oo-space-3);
    background-color: var(--oo-surface);
}

.oo-app-body .oo-item-modal__validation-btn {
    border-radius: var(--oo-radius-md);
    border: 1px solid var(--oo-warning);
    padding: var(--oo-space-3) var(--oo-space-4);
    font-size: var(--oo-text-sm);
    font-weight: 600;
}

.oo-app-body .oo-modal__footer.oo-item-modal__actions {
    padding: var(--oo-space-4) var(--oo-space-6);
    gap: var(--oo-space-4);
    background-color: var(--oo-surface);
}

.oo-app-body .oo-item-modal__actions #AddEditItemBtn {
    border-radius: var(--oo-radius-md);
    padding: var(--oo-space-3) var(--oo-space-5);
    font-size: var(--oo-text-md);
    font-weight: 700;
    border-width: 0;
}

/* --- Narrow widths -------------------------------------------------------- */

/*
    Give the option rows their width back on a phone.

    Four paddings nest between the dialog edge and an option row: the modal
    body, the group card, a Bootstrap .container in the markup, and the row.
    Measured at 390px: 32 + 16 + 15 + 8 per side, so 142px of a 375px dialog
    went to padding and the modifier name wrapped to three lines.

    The .container gutter is removed at every width. A .container inside a
    bounded card contributes a gutter that the card already provides.
*/
.oo-app-body .oo-modal__body .ModifierSet.container {
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 480px) {
    .oo-app-body .oo-item-modal__head,
    .oo-app-body .oo-item-modal__validation,
    .oo-app-body .oo-modal__footer.oo-item-modal__actions {
        padding-left: var(--oo-space-4);
        padding-right: var(--oo-space-4);
    }

    .oo-app-body .oo-modal__body {
        padding-left: var(--oo-space-4);
        padding-right: var(--oo-space-4);
    }

    .oo-app-body .ModifierSetWrapperCSS,
    .oo-app-body .oo-modal__body .StandaloneGroup {
        padding: var(--oo-space-3);
    }
}

/* ==========================================================================
   The card on a phone.

   The desktop card stacks a 16/9 image under the text. Measured at 390px, that
   costs 283px of vertical pitch per item against 109px before this pass, so a
   phone screen holds 3 items where it used to hold 7.8. On a long menu that is
   the difference between 61 screens of scrolling and 158.

   Below 480px the same card becomes a row: a square thumbnail on the left, the
   name and the price on one line, one line of description under it. The chip
   and the chevron are what make this card recognisable, so both stay. Only the
   image changes shape, because the image was the whole cost.
   ========================================================================== */

@media (max-width: 480px) {
    .oo-app-body .MenuButtonModal .CustomMenuCardWrapperCSS {
        padding: var(--oo-space-3);
    }

    .oo-app-body .MenuButtonModal .oo-card-content-wrapper {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: var(--oo-space-3);
    }

    /* The image is second in the markup. It leads on a phone, and the chevron
       owns the right edge, so the two never meet. */
    .oo-app-body .MenuButtonModal .ImageContainer {
        order: -1;
        flex: 0 0 3.5rem;
        width: 3.5rem;
    }

    .oo-app-body .MenuButtonModal .ImageContainer img {
        aspect-ratio: 1 / 1;
        border-radius: var(--oo-radius-md);
    }

    /* min-width: 0 so a long name shortens instead of pushing the thumbnail. */
    .oo-app-body .MenuButtonModal .oo-card-1x2 {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        padding-right: var(--oo-space-4);
    }

    .oo-app-body .MenuButtonModal .oo-menu-card__top {
        flex: 0 0 auto;
        flex-direction: row;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--oo-space-2);
    }

    /* The name yields to the price rather than the other way round: a price is
       short, exact, and the thing the customer is scanning for. */
    .oo-app-body .MenuButtonModal .oo-card-header {
        flex: 1 1 auto;
        min-width: 0;
        padding-right: 0;
        -webkit-line-clamp: 1;
    }

    /* margin-top: auto pins the chip to the foot of a column card. There is no
       column here, and left as it was it pushed the chip off the name's line. */
    .oo-app-body .MenuButtonModal .oo-menu-card__price {
        flex: 0 0 auto;
        margin-top: 0;
    }

    .oo-app-body .MenuButtonModal .oo-card-middle {
        -webkit-line-clamp: 1;
    }

    /* Centred on the row rather than pinned to its top corner, because the row
       is now shorter than the chevron's old offset. */
    .oo-app-body .MenuButtonModal .CustomMenuCardWrapperCSS::after {
        top: 50%;
        right: var(--oo-space-3);
        transform: translateY(-50%) rotate(-45deg);
    }

    @media (any-hover: hover) {
        .oo-app-body .MenuButtonModal:hover .CustomMenuCardWrapperCSS::after {
            transform: translateY(-50%) rotate(-45deg) translate(2px, 2px);
        }
    }
}

/* ==========================================================================
   The category rail on a phone.

   Measured at 320px on the 13 category location: the rail was 227px wide in a
   320px viewport and showed 2 whole chips. 48px of that went to the navbar's
   own side padding, which on a phone buys nothing: the navbar holds the rail
   and a toggler that navbar-expand keeps display:none, so there is nothing
   beside the rail for that padding to separate it from.

   A scrolling rail is also the one thing that should reach the edge of the
   screen. Padding around it makes the chips look clipped by a border rather
   than continuing past the edge, which is the cue that tells a customer to
   swipe. The inset moves onto the rail itself, where it scrolls with the
   chips instead of masking them.

   The remaining 45px is the page container's own margin and is not this
   sheet's to take.
   ========================================================================== */

@media (max-width: 480px) {
    .oo-app-body .CustomCategoryNavbarCSS {
        padding-right: 0;
        padding-left: 0;
        padding-top: var(--oo-space-2);
        padding-bottom: var(--oo-space-2);
    }

    /* The vertical inset moves to the chip, where it becomes touch target
       rather than dead space. */
    .oo-app-body #nav {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: var(--oo-space-3);
        padding-right: var(--oo-space-3);
    }

    /* 40px was under every touch guideline that names a number. This makes the
       chip 48 while the bar around it gets shorter, because the height was
       sitting in the padding rather than in the target. */
    .oo-app-body #nav > .nav-item > .nav-link {
        padding-top: var(--oo-space-3);
        padding-bottom: var(--oo-space-3);
    }
}

/* ==========================================================================
   Category rail: full bleed, and one layer of padding rather than two.

   HEIGHT. The rail padded itself (12px 24px) and #nav padded again (12px 8px),
   so a 40px chip sat in an 89px bar. The rail keeps its padding; #nav loses its
   vertical half and keeps the horizontal.

   WIDTH. The rail renders inside .container.body-content, which is capped at
   1140px and centred, so a bar meant to span the window stopped short of it on
   both sides. The negative margin pulls it out to the viewport. The rail centres its
   own chips, so it needs no extra padding to place them; only the fill moves.

   50vw includes the scrollbar and 50% does not, so the two do not cancel exactly
   and the bar overhangs by the scrollbar width. box-sizing keeps that off the
   page: the fill is clipped, never scrollable. Re-measure scrollWidth against
   clientWidth if you change any of this.
   ========================================================================== */

/* clip, not hidden: overflow-x: hidden makes this element a scroll container and would
   kill position: sticky on the header and the rail inside it. clip does not. */
html:has(> .oo-app-body),
.oo-app-body {
    overflow-x: clip;
}

.oo-app-body .CustomCategoryNavbarCSS {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* THE RAIL OWNS THE SPACE ABOVE AND BELOW IT.

   The rail is now the first element in #PageBodyContent, and .body-content in
   Content/Site.css puts a 15px margin above that container. So at rest the rail
   floated 15px under the header on a page background, and the moment it stuck it
   snapped flush. On a page that carries the rail, the rail IS the boundary under
   the header, so that margin has nothing left to do.

   The margin below is the gap the banners never had: the rail's bottom border sat
   directly on the first alert. .alert declares margin-bottom and no margin-top, so
   nothing collapses this away.

   :has() is already load bearing in this sheet, two rules above. */
.oo-app-body .body-content:has(.CustomCategoryNavbarCSS) {
    margin-top: 0;
}

.oo-app-body .CustomCategoryNavbarCSS {
    margin-bottom: var(--oo-space-3);
}

.oo-app-body .CustomCategoryNavbarCSS #nav {
    padding-top: 0;
    padding-bottom: 0;
}

/* Cards in a row are equal height, but the text above the image is not: a missing
   description or one that wraps to two lines moved the image up or down, so a row
   of images never lined up. Pushing the image to the bottom of the card puts every
   one of them on the same baseline, and since they are a uniform height they line
   up at the top as well. */
.oo-app-body .oo-card-content-wrapper .ImageContainer {
    margin-top: auto;
}

/* The card is the focusable element and the visible card is its child, so the ring
   would draw square around a 14px-rounded card. Match the shape. */
.oo-app-body .MenuButtonModal:focus-visible {
    border-radius: var(--oo-radius-lg);
}

/* ==========================================================================
   oo-modern-checkout.css
   --------------------------------------------------------------------------
   Pass 2, lane CHECKOUT. The cart, the Review page and the payment modals.

   Loads after Content/oo-modern.css, which is lane FOUNDATION's base layer and
   owns the shell, the panel, the stack, the control sizing, the modal
   treatment and the button motion. Nothing here restates any of that.

   Rules, unchanged from pass 1 and reinforced for pass 2:
     1. No !important.
     2. No hardcoded hex. Tokens only, because FOUNDATION is making the whole
        token set settable from the database and a literal here is a value a
        theme could never reach.
     3. No px font-size. Use --oo-text-*.
     4. Motion is disabled by prefers-reduced-motion, not shortened.
     5. Nothing may depend on the primary being a colour. The default is going
        neutral, so composition must survive --oo-brand being grey.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. The page
   -------------------------------------------------------------------------- */

/* The panels need something to sit ON. A flat white page cannot show elevation,
   which is why pass 1 read as a form rather than a product. */
.oo-review {
    background: var(--oo-surface-sunken);
    padding-block: var(--oo-space-7) var(--oo-space-9);
    min-height: 100%;
}

.oo-review__head {
    margin-bottom: var(--oo-space-6);
}

/* Margin only. The page title is ON the base type scale deliberately: a customer
   moving from the menu to here should not feel the page change hands, and this
   was the only page whose title did not grow with the viewport.
   The other four declarations this rule used to carry were all redundant,
   checked against the served sheet rather than assumed: font-family and
   letter-spacing are set identically by the base .oo-app-body h1/h2/h3 block,
   colour is the inherited body colour, and font-size was pinning the title flat
   at 28px against the base clamp of 1.75rem to 2.5rem.
   The margin IS load-bearing: the base gives headings margin-bottom, and this
   title needs to sit tight under the eyebrow above it instead. */
.oo-review__head h1 {
    margin: var(--oo-space-1) 0 0 0;
}

/* --------------------------------------------------------------------------
   2. Steps
   -------------------------------------------------------------------------- */

/* A numbered rhythm, so the customer can see where they are and how much is
   left. The number is a token-driven disc, not an image, so it survives a
   theme change and a neutral primary. */
/* .oo-app-body prefixed deliberately. The base type scale owns DOCUMENT headings
   and sets .oo-app-body h2 to a fluid clamp, which is one class plus one element
   and beats a bare lane class. This is not a document heading: it is a component
   label inside a panel, it does the same job at 320 as at 1920, and it has to
   stay below the page title at every width. A component label that grows with
   the viewport is the bug, not the fix.
   Measured before the prefix: this rendered 22.00px at 320 rising to 28.00px at
   1920, which is exactly the h1 size, so the step hierarchy collapsed on desktop.
   Held at --oo-text-lg, 1.125rem, rather than a literal, so the type scale can
   still move it. */
.oo-app-body .oo-review__step-title {
    display: flex;
    align-items: center;
    gap: var(--oo-space-3);
    margin: 0 0 var(--oo-space-5) 0;
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-lg);
    color: var(--oo-on-surface);
}

.oo-review__step-num {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--oo-radius-pill);
    background: var(--oo-brand);
    color: var(--oo-on-brand);
    font-size: var(--oo-text-sm);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* The payment step is the moment of commitment, so it carries more elevation
   than the step above it. Weight, not colour, because the primary goes neutral. */
.oo-review__step--pay {
    box-shadow: var(--oo-shadow-lg);
}

/* --------------------------------------------------------------------------
   3. The commit bar
   -------------------------------------------------------------------------- */

.oo-review__commit {
    margin-top: var(--oo-space-6);
    text-align: center;
}

.oo-review__commit .oo-terms-line {
    display: block;
    margin-top: var(--oo-space-3);
}

/* --------------------------------------------------------------------------
   4. The summary, as a receipt
   -------------------------------------------------------------------------- */

.oo-review__summary {
    padding: var(--oo-space-5);
}

/* Sticks beside the steps on a wide screen so the total stays with the
   customer. Below the sm breakpoint it must NOT stick: oo-checkout.css lifts
   this column above the payment step there, and a sticky element in that
   position would sit on top of the page. */
@media (min-width: 992px) {
    .oo-review__summary {
        position: sticky;
        top: var(--oo-space-5);
    }
}

/* The totals block reads as a receipt: tabular figures that line up, and a
   grand total that is unmistakably the answer. */
.oo-cart-lines .CartTotalsWrap,
.oo-cart-lines .CartTotalsWrap {
    font-variant-numeric: tabular-nums;
}

.oo-cart-total-row .Bold {
    font-size: var(--oo-text-xl);
    letter-spacing: -0.01em;
}

/* The old summary chrome has to come off, or the new panel renders as a card
   inside a card. Site.css gives .SideBar its own white background, radius,
   padding and box-shadow from 1200px up; the panel now supplies all of that on
   .OrderSummaryWrapper, so the column itself becomes a plain container.

   THE HORIZONTAL PADDING IS NOT CHROME AND MUST NOT BE TAKEN OFF WITH IT.
   This rule used to say padding: 0, which also removed the 15px gutter that
   Bootstrap gives every .col. The neighbouring column, .SideBarMain, keeps its
   gutter, so on a phone the summary card rendered 30px wider than the steps
   card below it and the two cards had different left edges. Zeroing only the
   vertical halves leaves the gutter at whatever Bootstrap says it is, so the
   two columns cannot disagree and no number is copied here.

   Site.css sets padding-top, padding-bottom and margin-left on .SideBar and no
   horizontal padding, so those three are what this has to cancel. */
.oo-review .SideBar {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    width: auto;
    max-width: none;
}

/* Stacked on a phone, the summary card and the first step card sat against each
   other. --oo-space-6 is the same gap .oo-stack--loose puts between the steps,
   so the whole column keeps one rhythm. */
@media (max-width: 575.98px) {
    .oo-review .row.flex-sm-wrap-reverse > .SideBar {
        margin-bottom: var(--oo-space-6);
    }
}

/* Edit Order was absolutely positioned against the old chrome
   (Site.css .StickyBottom, position:absolute, bottom:10px). Inside the panel
   that made it sit ON TOP of the Total row. It joins the flow instead. */
.oo-cart-lines .StickyBottom,
.oo-cart-lines .StickyBottom {
    position: static;
    margin-top: var(--oo-space-4);
}

/* The cart partial sets height:100% on its own wrapper, which was there to let
   the absolutely positioned button find a full-height containing block. With
   the button back in the flow it only creates dead space. */
.oo-review__summary > div[style*="height:100%"] {
    height: auto;
}

/* Site.css also puts overflow-x:hidden on .SideBar. An ancestor with any
   overflow other than visible silently disables position:sticky on a
   descendant, so the summary scrolled away with the page and the fix looked
   like it had simply not applied. */
.oo-review .SideBar {
    overflow: visible;
}

/* --------------------------------------------------------------------------
   5. The tip, as a segmented control
   --------------------------------------------------------------------------
   It was five outline buttons sitting in a row with gaps, which reads as five
   unrelated actions. A tip is one choice with several values, so it should look
   like one control that is divided, not several controls side by side.

   .active is the class the existing tip handler already toggles, so the
   selected state needs no new behaviour and pass 1's tip logic is untouched.
   -------------------------------------------------------------------------- */

/* The donation row shares this frame. Its buttons already carry .oo-tip-chip, so they
   were getting the SEGMENT half of the treatment, border stripped and a left divider
   added, with no group border or radius to sit in, because this rule named only the tip
   row. Segments without the box that holds them. */
.oo-review .AddTipSection .row:has(.oo-tip-chip),
.oo-review .oo-donation__options {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    margin: 0;
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-md);
    overflow: hidden;
    background: var(--oo-surface);
}

/* Pass 1 gives the donation row a bottom margin and the frame rule zeroes margin, so
   it is restored here rather than by weakening the shared rule. */
.oo-review .oo-donation__options {
    margin-bottom: var(--oo-space-3);
}

.oo-review .oo-tip-chip {
    flex: 1 1 0;
    margin: 0;
    min-width: 0;
    border: 0;
    border-radius: 0;
    border-left: 1px solid var(--oo-border-control);
    padding-block: var(--oo-space-3);
    /* The base gives every .btn 20px of inline padding, which is right for a
       standalone button and wrong for a segment whose width the flex row
       already decides. At 768 it left a 73px label such as "18% ($3.66)" a
       64px content box, so every percentage preset wrapped onto two lines.
       Segments do not need the padding to look separated: the dividers do it. */
    padding-inline: var(--oo-space-2);
    background: var(--oo-surface);
}

.oo-review .oo-tip-chip:first-child {
    border-left: 0;
}

/* The chosen segment fills, so the answer is legible at a glance rather than
   being carried by a border tint. --oo-on-brand keeps the label legible
   whatever the merchant sets, including the neutral default. */
.oo-review .oo-tip-chip.active {
    background: var(--oo-brand);
    border-color: var(--oo-brand);
    color: var(--oo-on-brand);
}

/* Custom tip is the escape hatch under the control, not a sixth segment. */
.oo-review .CustomTipSectionShowBtn {
    margin-top: var(--oo-space-3);
}

/* --------------------------------------------------------------------------
   6. Text on the sunken page surface
   --------------------------------------------------------------------------
   Introducing a sunken page background is what made these two fail, so the
   regression is this lane's and it is fixed here.

   Measured on Mike's Office: --oo-brand-text is #007DA7 and
   --oo-on-surface-muted is #6C757D. Both are computed for a WHITE surface,
   where they give 4.52 and 4.69. On --oo-surface-sunken, #F4F6F8, the same two
   colours give 4.32 and 4.33, so both fall under AA.

   That is a base-layer inconsistency rather than only a lane one: the base
   supplies a sunken surface for pages to sit on, but derives its text colours
   against white, so ANY lane that puts muted or brand text straight onto the
   page background inherits this. Reported to FOUNDATION. The durable fix is to
   derive both against the darkest surface a text can land on.

   Until then this lane does not put either colour on the sunken surface.
   -------------------------------------------------------------------------- */

/* The eyebrow keeps its eyebrow-ness from size, weight and letter-spacing,
   which the base layer sets, so it can afford the darker ink. */
.oo-review .oo-eyebrow {
    color: var(--oo-on-surface);
}

/* The commit block gets a surface of its own. It is the moment of commitment,
   so the emphasis is deserved rather than a workaround, and it puts the legal
   line and its link back on white where the token is compliant. */
.oo-review__commit {
    background: var(--oo-surface);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-lg);
    box-shadow: var(--oo-shadow-md);
    padding: var(--oo-space-5);
}

/* ==========================================================================
   7. The cart, as a considered panel
   --------------------------------------------------------------------------
   It was a Bootstrap modal with a table in it: stepper, a small image, the
   name, a bin and a price all crushed onto one line, with the modifiers
   floating underneath belonging to nothing.

   It is a product row now: image, then the item and what was chosen with it,
   then the price, with the quantity control on its own line where it has room.
   Layout only. Every hook the pass 1 behaviour uses is untouched, which is why
   the stepper, the stock cap, the delete control's accessible name and its
   double-submit guard all still work.
   ========================================================================== */

.oo-cart-lines .CartItemDataWrap,
.oo-cart-lines .CartItemDataWrap {
    padding-block: var(--oo-space-4);
}

/* The row wraps: image, name, price on the first line; the stepper on the
   second, indented to sit under the name rather than under the image. */
.oo-cart-lines .CartItemWrap,
.oo-cart-lines .CartItemWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: var(--oo-space-3);
    margin: 0;
}

.oo-cart-lines .oo-cart-thumb,
.oo-cart-lines .oo-cart-thumb {
    order: 1;
    width: 56px;
    height: 56px;
    margin-right: var(--oo-space-4);
    border-radius: var(--oo-radius-md);
}

.oo-cart-lines .ItemNameDiv,
/* flex-basis 0, not auto. These are Bootstrap columns and the base .col rule
   sets width:100%, so with basis:auto the name resolves to the full row width
   and pushes everything else onto its own line. */
.oo-cart-lines .ItemNameDiv {
    order: 2;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 0;
    font-size: var(--oo-text-md);
    font-weight: 600;
    text-align: left;
}

.oo-cart-lines .EditDeleteDiv,
.oo-cart-lines .EditDeleteDiv {
    order: 3;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 0;
}

.oo-cart-lines .ItemPriceDiv,
.oo-cart-lines .ItemPriceDiv {
    order: 4;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding-left: var(--oo-space-3);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* The stepper takes the whole second line, indented past the image so it lines
   up with the name. 56px image plus --oo-space-4 of gap. */
/* A zero-height full-width pseudo-element forces the line break. Putting
   basis:100% on the control itself would work, but .ItemQtyDiv IS the stepper,
   so it would stretch the control across the row instead of just moving it
   down. The break carries the width; the stepper keeps its natural size. */
.oo-cart-lines .oo-cart-row--stepper::before {
    content: "";
    order: 5;
    flex: 0 0 100%;
    height: 0;
}

.oo-cart-lines .oo-cart-row--stepper > .ItemQtyDiv {
    order: 6;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    margin-left: calc(56px + var(--oo-space-4));
    padding: 0;
}

/* Modifiers line up with the name too, and read as belonging to the item
   rather than floating under the row. */
.oo-cart-lines .ModifierBlock .row,
.oo-cart-lines .ModifierBlock .row {
    margin-left: calc(56px + var(--oo-space-4));
}

.oo-cart-lines .ModifierBlock .col-1,
.oo-cart-lines .ModifierBlock .col-1 {
    display: none;
}

/* One hairline between lines, none after the last, so the list reads as a
   receipt rather than a table with borders. */
.oo-cart-lines .CartItemDivider,
.oo-cart-lines .CartItemDivider {
    height: 1px;
    background: var(--oo-border);
    margin: 0;
    font-size: 0;
}

/* The cart's totals read as a receipt: a rule, then the figures, with the grand
   total unmistakably the answer. */
.oo-cart-lines .CartTotalsWrap {
    padding-top: var(--oo-space-4);
}

/* The modal's action stack. Checkout is the headline; guest checkout is the
   alternative and now carries the secondary role, so the two no longer compete. */
.oo-cart-actions {
    display: flex;
    flex-direction: column;
    gap: var(--oo-space-2);
    padding-top: var(--oo-space-4);
}

/* Add more items is a quiet action between the receipt and the commit, not a
   third button competing with them. */
.oo-cart-lines .oo-btn--quiet {
    align-self: center;
}

/* ==========================================================================
   8. Selected states that do not depend on a fill this lane does not own
   --------------------------------------------------------------------------
   MEASURED on Mike's Office, which is a configured location. Both the tip
   presets and the processor buttons carry CustomButtonOutlinePrimaryCSS, and
   the merchant sheet owns their fill in BOTH states with !important:

     .CustomButtonOutlinePrimaryCSS         background transparent   !important
     .CustomButtonOutlinePrimaryCSS.active  background #00BFFF       !important

   So the fill rules earlier in this file DO NOT APPLY on a configured location.
   Measured there: a resting chip computes rgba(0,0,0,0) and an active one
   computes rgb(0,191,255), both the merchant's values, not this lane's.

   THE FILL RULES STAY, and they are not dead. On a location with NO custom
   settings those Custom*CSS selectors are never emitted at all, and this lane's
   fill is what renders. That is the case they are for.

   WHAT THIS BLOCK ADDS is a selected state built only from properties the
   merchant catalog cannot set: box-shadow and font-weight, both counted at zero
   occurrences on the served sheet. On this location the state was already
   visible through the merchant's own active fill, which happens to be black on
   #00BFFF at 9.9:1. That is the merchant's doing, not ours, and a merchant with
   a weaker pair would get a weaker state. The ring and the weight mean the
   selection does not depend on that.

   The ring takes --oo-brand-text rather than --oo-brand: a ring is a non-text
   indicator, so WCAG 1.4.11 wants 3:1, and the raw merchant brand is #00BFFF at
   2.05:1 on the surface. --oo-brand-text is the corrected form of the same hue.
   ========================================================================== */

.oo-review .oo-tip-chip.active,
.oo-review .ProcessorSelectBtn.active {
    box-shadow: inset 0 0 0 2px var(--oo-brand-text);
    font-weight: 700;
}

/* --------------------------------------------------------------------------
   Phone. Below Bootstrap's sm breakpoint the .col-sm above goes full width, and
   that is also where this page runs out of room.

   Measured at a 320px viewport before this block: the page spent 71px PER SIDE
   on chrome before any content (24px of .oo-shell, 15px of Bootstrap column
   gutter, 32px of .oo-panel padding), which left the tip control 131px for five
   presets. Every preset label overflowed its own box: a 64px label such as
   "18% ($3.66)" in a 40px content box, wrapped and clipped.

   Two causes, both fixed here rather than in the base, because the base values
   are right for the desktop panel this lane also renders.
   -------------------------------------------------------------------------- */

@media (max-width: 575.98px) {

    /* Trim only the panels this lane owns. .oo-panel keeps its own padding. */
    .oo-review .oo-review__step {
        padding-inline: var(--oo-space-4);
    }

    /* Five segments cannot share one row on a phone, so wrap to two per row and
       let each keep a readable label instead of shrinking all five past
       legibility. The fifth grows to fill its row. */
    .oo-review .AddTipSection .row:has(.oo-tip-chip) {
        flex-wrap: wrap;
    }

    .oo-review .oo-tip-chip {
        flex: 1 1 40%;
        padding-inline: var(--oo-space-1);
        font-size: var(--oo-text-xs);
    }

    /* Re-cut the dividers for the wrapped shape: an odd chip starts a row, and
       everything from the second row down needs a rule above it. */
    .oo-review .oo-tip-chip:nth-child(odd) {
        border-left: 0;
    }

    .oo-review .oo-tip-chip:nth-child(n+3) {
        border-top: 1px solid var(--oo-border-control);
    }
}

/* The selected segment is a solid fill that runs to the ends of the group, so its
   square corners sat inside the group's 10px curve and left a white sliver at each
   end. The container has overflow: hidden, which should clip the fill to the curve
   and did not, so the end segments carry the radius themselves rather than relying
   on the clip.

   Inner radius, not outer: the group's 1px border sits outside the segments, so the
   segment curve is the container radius less that border. Matching the outer value
   would overshoot and show the fill outside the frame at the corner. */
.oo-review .AddTipSection .row:has(.oo-tip-chip) > .oo-tip-chip:first-child,
.oo-review .oo-donation__options > .oo-tip-chip:first-child {
    border-top-left-radius: calc(var(--oo-radius-md) - 1px);
    border-bottom-left-radius: calc(var(--oo-radius-md) - 1px);
}

.oo-review .AddTipSection .row:has(.oo-tip-chip) > .oo-tip-chip:last-child,
.oo-review .oo-donation__options > .oo-tip-chip:last-child {
    border-top-right-radius: calc(var(--oo-radius-md) - 1px);
    border-bottom-right-radius: calc(var(--oo-radius-md) - 1px);
}

/* The processor choice. oo-checkout.css:257 already declares the right themed pair
   and simply never wins: bootstrap.css:2925 .btn-outline-success:not(:disabled)
   :not(.disabled).active is (0,5,0) and paints white on #28A745 at 3.13 on every
   theme, and :hover at 2910 is the same pair. Restated here at matching
   specificity, covering both states. */
.oo-app-body .ProcessorSelectBtn.btn-outline-success:not(:disabled):not(.disabled).active,
.oo-app-body .ProcessorSelectBtn.btn-outline-success:not(:disabled):not(.disabled):hover {
    background-color: var(--oo-brand);
    border-color: var(--oo-brand);
    color: var(--oo-on-brand);
}

/* The processor choice, laid out by this sheet rather than by a Bootstrap row.

   Views/Review/Index.cshtml used .row with inline padding to cancel its own negative
   gutters, .col-sm on each button, and an inline margin-right on every button but the
   last. Side by side on a desktop that margin is the gap between them. Stacked on a
   phone it is 5px taken off the right of each button and nothing else, so a 400px
   viewport measured the button at 283px inside a 288px panel while the promo control
   above it filled all 288. That 5px was the whole misalignment.

   A gap spaces them in both directions and in both layouts, so no inline margin has to
   know which button is last, and the container's content box is the panel's content box,
   so the buttons and the promo control share both edges. */
.oo-app-body .oo-processor-options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--oo-space-2);
}

/* Full width stacked. min-width: 0 because a flex item defaults to min-width: auto and
   would refuse to shrink below a long processor name. */
.oo-app-body .oo-processor-options > .ProcessorSelectBtn {
    flex: 1 1 100%;
    min-width: 0;
}

/* From the sm breakpoint they share the line, which is what .col-sm used to do. */
@media (min-width: 576px) {
    .oo-app-body .oo-processor-options > .ProcessorSelectBtn {
        flex: 1 1 0;
    }
}

/* ===========================================================================
   oo-modern-account.css
   Pass 2, 2026-09-01. Appearance only. Owner: the ACCOUNT lane.

   WHAT THIS FILE IS FOR
   Two screens in this product were modernized by hand before pass 2 and the
   user points at them as already correct: Views/GiftCard/Index.cshtml and
   Views/Orders/Details.cshtml. Their vocabulary was trapped in those two files
   under names that describe where they live rather than what they are:
   .gc-hero, .gc-hero-panel, .gc-hero-divider, .lp-stats, .lp-stat-badge.
   This file lifts that vocabulary into reusable pieces and applies it to the
   screens that never got the treatment.

   THE MEASUREMENTS ARE THE REFERENCE'S OWN, taken from Site.css:
     card radius        10px          -> var(--oo-radius-md)
     panel padding      40px 36px     -> var(--oo-space-7) var(--oo-space-6)
     card shadow        0 4px 24px    -> var(--oo-shadow-lg)
     stat shadow        0 2px 12px    -> var(--oo-shadow-md)
     stat value         28px 600      -> var(--oo-text-2xl)
     micro label        11px .1em up  -> .oo-eyebrow in oo-modern.css
     press              scale(0.99)   -> var(--oo-press)
     transition         200ms         -> var(--oo-motion-base)

   ONE THING FROM THE REFERENCE IS NOT COPIED. It hardcodes #3D7BD8 as the
   primary with white text, 4.18:1, lightening to #4A8AE8 on hover, 3.45:1.
   Both fail AA below 18.66px, and a hardcoded value is one a merchant theme
   can never reach. Everything here consumes a token instead, so an unthemed
   site is neutral and a themed one follows the merchant.

   NO HEX IN THIS FILE. If a value is not a token it does not belong here.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   1. AUTH CARD
   Login, register, forgot and reset were full width 2013 forms running the
   whole window. They become one centred, elevated card on the sunken
   background, which is also the shape the modal-first direction needs later.
   --------------------------------------------------------------------------- */

.oo-authpage {
    display: flex;
    justify-content: center;
    padding: var(--oo-space-8) var(--oo-space-4) var(--oo-space-9);
}

.oo-authcard {
    width: 100%;
    max-width: 30rem;
    background: var(--oo-surface);
    /* The card must read as a raised surface on ANY page colour. A merchant CAN
       set the body background, and on this test site it is white, so a card with
       a decorative hairline on white would have almost no edge at all. The
       control border is the 3:1 boundary token, which holds on white and on
       colour. Measured on the themed test site: body is #FFFFFF because the
       merchant sheet wins over the sunken canvas, and that is correct. */
    border: 1px solid var(--oo-border-control);
    border-radius: var(--oo-radius-lg);
    box-shadow: var(--oo-shadow-lg);
    padding: var(--oo-space-7) var(--oo-space-6);
    animation: oo-rise var(--oo-motion-slow) var(--oo-ease) both;
}

/* Wider, for a form with two columns of fields such as register. */
.oo-authcard--wide { max-width: 38rem; }

.oo-authcard__head {
    margin-bottom: var(--oo-space-6);
    text-align: center;
}

/* The size is pinned rather than inherited, and that is the whole point of the
   rule. The full page carries this on an h1 and the modal carries it on an h2,
   because the modal opens inside a page that already owns the h1. Left to the
   heading scale in oo-modern.css those are 40px and 28px at 1920, so one card
   would arrive in two sizes depending on the way in. The cap is 28px, which is
   what the h2 already computed to, so the modal keeps the size it had and the
   page comes down to meet it. 40px was out of scale in a 480px card.
   The selector carries .oo-app-body because the rule it has to beat is
   .oo-app-body h1 in oo-modern.css:63, which is one class and one element. A
   bare .oo-authcard__title is one class, so it loses on specificity whatever
   the load order. Measured after the change: 28px on the page h1 and 28px on
   the modal h2. */
.oo-app-body .oo-authcard__title {
    margin: 0;
    font-family: var(--oo-font-heading);
    font-size: clamp(1.5rem, 1.2rem + 1vw, 1.75rem);
    line-height: 1.25;
    letter-spacing: -0.02em;
}

/* A short line above the title. Only the QR ordering path fills it, from a
   WelcomeHeader in the scanned payload (Controllers/AccountAuthenticationController.cs:217),
   so the words are the merchant's and can be a whole sentence. That is why it is
   not uppercased and not letterspaced. */
.oo-authcard__eyebrow {
    margin: 0 0 var(--oo-space-2);
    color: var(--oo-on-surface);
    font-size: var(--oo-text-md);
    font-weight: 600;
}

.oo-authcard__lede {
    margin: var(--oo-space-2) 0 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-authcard__foot {
    margin-top: var(--oo-space-6);
    padding-top: var(--oo-space-5);
    border-top: 1px solid var(--oo-border);
    text-align: center;
    font-size: var(--oo-text-sm);
}

.oo-authcard__foot > * + * { margin-top: var(--oo-space-2); }

/* ---------------------------------------------------------------------------
   2. SPLIT PANEL
   Generalised from .gc-hero. Two panels of equal weight with a hairline
   between them carrying a word. The label comes from the markup rather than
   from the stylesheet, so it can be a language key rather than English baked
   into CSS: <div class="oo-split__divider" data-oo-label="or">.
   --------------------------------------------------------------------------- */

.oo-split {
    display: flex;
    width: 100%;
    background: var(--oo-surface);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    overflow: hidden;
    box-shadow: var(--oo-shadow-lg);
}

.oo-split__panel {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: var(--oo-space-7) var(--oo-space-6);
}

.oo-split__divider {
    position: relative;
    flex: 0 0 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--oo-border);
}

.oo-split__divider::after {
    content: attr(data-oo-label);
    position: absolute;
    padding: var(--oo-space-2) 0;
    background: var(--oo-surface);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xs);
    font-weight: 500;
    letter-spacing: 0.05em;
}

/* On a phone the two panels stack and the rule turns horizontal. */
@media (max-width: 767px) {
    .oo-split { flex-direction: column; }

    .oo-split__divider {
        flex: 0 0 1px;
        width: auto;
        height: 1px;
        margin-inline: var(--oo-space-6);
    }
}

/* ---------------------------------------------------------------------------
   3. STAT TILES
   Generalised from .lp-stats and .lp-stat-badge, which the eGift page already
   uses for the loyalty balance. Any screen with two or three headline numbers
   can use these now.
   --------------------------------------------------------------------------- */

.oo-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: var(--oo-space-4);
}

.oo-stat {
    background: var(--oo-surface);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    box-shadow: var(--oo-shadow-md);
    padding: var(--oo-space-5) var(--oo-space-4);
    text-align: center;
}

.oo-stat__value {
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-2xl);
    font-weight: 650;
    line-height: 1;
    color: var(--oo-on-surface);
    letter-spacing: -0.02em;
}

.oo-stat__label {
    margin-top: var(--oo-space-2);
    font-size: var(--oo-text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--oo-on-surface-muted);
}

/* ---------------------------------------------------------------------------
   4. SECTION CARD
   The dashboard unit: a titled card with a body and an action on the right.
   /Manage was a stack of plain blocks; this is what makes it read as a
   dashboard rather than a list.
   --------------------------------------------------------------------------- */

.oo-section {
    background: var(--oo-surface);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    box-shadow: var(--oo-shadow-xs);
    transition: box-shadow var(--oo-motion-base) var(--oo-ease),
                border-color var(--oo-motion-base) var(--oo-ease);
}

@media (any-hover: hover) {
    .oo-section:hover {
        box-shadow: var(--oo-shadow-md);
        border-color: var(--oo-border-control);
    }
}

.oo-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--oo-space-3);
    padding: var(--oo-space-5) var(--oo-space-6);
}

.oo-section__main { flex: 1 1 14rem; min-width: 0; }

.oo-section__title {
    margin: 0;
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-md);
    font-weight: 650;
    letter-spacing: -0.01em;
    color: var(--oo-on-surface);
}

.oo-section__value {
    margin: var(--oo-space-1) 0 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-section__body {
    padding: 0 var(--oo-space-6) var(--oo-space-6);
}

/* A section whose whole purpose is destructive sits apart from the stack. */
.oo-section--danger {
    border-color: transparent;
    box-shadow: none;
    background: transparent;
    margin-top: var(--oo-space-7);
    padding-top: var(--oo-space-5);
    border-top: 1px solid var(--oo-border);
    border-radius: 0;
}

.oo-section--danger .oo-section__head { padding-inline: 0; }

/* ---------------------------------------------------------------------------
   5. EMPTY STATE
   "0 addresses" and "No saved credit cards." were sentences. An empty state is
   a designed thing: it says what is missing and offers the way out of it.
   --------------------------------------------------------------------------- */

.oo-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--oo-space-7) var(--oo-space-5);
}

.oo-empty__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: var(--oo-space-4);
    border-radius: var(--oo-radius-pill);
    background: var(--oo-surface-sunken);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xl);
}

.oo-empty__title {
    margin: 0;
    font-family: var(--oo-font-heading);
    font-size: var(--oo-text-md);
    font-weight: 650;
    color: var(--oo-on-surface);
}

.oo-empty__text {
    margin: var(--oo-space-2) 0 0;
    max-width: 26rem;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
}

.oo-empty__action { margin-top: var(--oo-space-5); }

/* ---------------------------------------------------------------------------
   6. PAGE HEADER
   One shared header for every account screen, so /Manage, /Orders and /Loyalty
   open the same way instead of three different ways.
   --------------------------------------------------------------------------- */

.oo-pagehead {
    padding: var(--oo-space-7) 0 var(--oo-space-6);
}

.oo-pagehead__title {
    margin: 0;
    font-family: var(--oo-font-heading);
    letter-spacing: -0.02em;
}

.oo-pagehead__lede {
    margin: var(--oo-space-2) 0 0;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-md);
}

/* A checkbox and its label on one line, which .oo-field alone does not do. */
.oo-field--check {
    display: flex;
    align-items: center;
    gap: var(--oo-space-2);
}

.oo-field--check input[type="checkbox"] {
    min-height: 0;
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    flex: 0 0 auto;
}

.oo-field--check label {
    margin: 0;
    font-size: var(--oo-text-sm);
    color: var(--oo-on-surface);
}

/* ---------------------------------------------------------------------------
   7. GIFT CARD BALANCE
   The one account screen a customer reaches with no account at all. It was a
   Bootstrap row of inline styles around a #fafafa inset box with a hardcoded
   hairline. It is the auth card now, and the inset panel is on tokens.
   --------------------------------------------------------------------------- */

.oo-balance { text-align: center; }

.oo-balance__panel {
    padding: var(--oo-space-6) var(--oo-space-5);
    border: 1px solid var(--oo-border);
    border-radius: var(--oo-radius-md);
    background: var(--oo-surface-sunken);
}

.oo-balance__panel + .oo-balance__panel { margin-top: var(--oo-space-4); }

/* The social buttons sit above the form inside the card. Keep the two apart, and
   keep the first section title off the last provider button. The pass 1 rule for
   this targeted .oo-authform > form, which the card layout no longer uses. */
.oo-authcard > form {
    margin-top: var(--oo-space-6);
}

.oo-authcard .oo-formsection:first-of-type .oo-formsection__title {
    margin-top: 0;
}

/* ---------------------------------------------------------------------------
   8. AUTH MODAL
   The same card, arriving a different way.

   LayoutScripts.js:94 loads a Pop view into #PageModal .modal-content, so the
   modal panel already gives the card everything the page version has to draw
   for itself: a surface, a radius, a shadow and a centred position on a dimmed
   backdrop. .oo-authcard--flush switches those four off and keeps everything
   else, which is why the two read as one component rather than two.

   Bootstrap caps .modal-dialog at 500px and .oo-authcard at 30rem, so the two
   are 20px apart before padding. Nothing here changes that.
   --------------------------------------------------------------------------- */

/* The panel scrolls, not the page. Register is the tall one: it carries two
   sections and every loyalty prompt the merchant has configured, so on a laptop
   it is longer than the viewport. Without a scroll here the card grows past the
   bottom of the window and the submit button cannot be reached.
   oo-modern.css:324 sets overflow: hidden on .modal-content, so the scrolling
   has to happen on this element, inside it. */
.oo-authmodal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 3.5rem);
    overflow-y: auto;
}

.oo-authcard--flush {
    position: relative;
    max-width: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    /* The dialog already rises on open. Running the card animation as well
       plays two entrances against each other. */
    animation: none;
}

/* The merchant logo strip. It keeps CustomNavbarCSS, so the colour stays the
   merchant's; only the geometry is ours. It sits outside the card padding so
   it reaches both edges of the panel, which .modal-content clips to its own
   radius. */
.oo-authmodal__brand {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--oo-space-3);
}

.oo-authmodal__logo {
    max-width: 100%;
    max-height: 3.5rem;
}

/* Every one of these modals could be dismissed a different way, or not at all.
   The login modal had a close glyph, the register modal had none and could only
   be left by the backdrop or Esc, and the forgot modal offered "Back" to a
   different modal. They all get the same close control now.
   It is positioned against the card rather than against the panel so it always
   sits on --oo-surface. Over the brand strip the contrast would depend on a
   merchant colour this stylesheet cannot see. */
.oo-authmodal__close {
    position: absolute;
    top: var(--oo-space-2);
    right: var(--oo-space-2);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: var(--oo-radius-pill);
    background: transparent;
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xl);
    line-height: 1;
    cursor: pointer;
    transition: background var(--oo-motion-fast) var(--oo-ease),
                color var(--oo-motion-fast) var(--oo-ease);
}

.oo-authmodal__close:hover {
    background: var(--oo-surface-sunken);
    color: var(--oo-on-surface);
}

.oo-authmodal__close:focus-visible {
    box-shadow: var(--oo-focus-ring);
    outline: none;
}

.oo-authmodal__close:active { transform: var(--oo-press); }

/* The head is centred and the close button is not. Hold the text clear of it so
   a two line title cannot run underneath. */
.oo-authcard--flush .oo-authcard__head {
    padding: 0 var(--oo-space-7);
}

@media (max-width: 575px) {
    /* Site.css:1080 makes .modal-content full bleed and 100% tall below 576px.
       The card fills it rather than sitting in it. */
    .oo-authmodal { max-height: none; }
    .oo-authcard--flush { padding: var(--oo-space-6) var(--oo-space-4); }
    .oo-authcard--flush .oo-authcard__head { padding: 0 var(--oo-space-6); }
}

/* A button that has to read as a link, because it is one to the customer and a
   button to the browser. The two footer actions in the login modal swap the
   modal for another one; they do not navigate, so an anchor would be a lie to
   anything that follows links.
   The values are copied from the anchor rule at oo-modern.css:396 so the modal
   footer and the page footer are the same object. CustomHyperlinkCSS stays on
   the element, so a merchant that themes its link colour reaches this too, and
   its colour wins over the token because the merchant sheet loads last. */
.oo-linkbutton {
    display: inline-block;
    padding: 0;
    border: 0;
    background: none;
    color: var(--oo-link);
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer;
    transition: color var(--oo-motion-fast) var(--oo-ease);
}

.oo-linkbutton:hover { color: var(--oo-link-hover); }

.oo-linkbutton:focus-visible {
    outline: none;
    border-radius: var(--oo-radius-sm);
    box-shadow: var(--oo-focus-ring);
}

/* A round mark above the title, for a card that reports an outcome rather than
   asking for something: check your email, your password is reset, the sign in
   failed. Same shape and same tokens as .oo-empty__icon, because it does the
   same job on a page with no form to look at. */
.oo-authcard__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto var(--oo-space-4);
    border-radius: var(--oo-radius-pill);
    background: var(--oo-surface-sunken);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-xl);
}

/* Only the glyph turns. There is no danger surface token, and inventing a
   tinted background here would be a colour this stylesheet made up rather than
   one the system owns. Checked on the served page: --oo-danger-bg is unset. */
.oo-authcard__mark--danger {
    color: var(--oo-danger);
}

/* The loyalty prompt rows keep the Bootstrap .col wrapper, because the register
   script reaches the character counter and the error span through closest('.col')
   (_RegisterFormScripts.cshtml). The gutter it brings pushes the control 15px
   right of its own label.
   Pass 1 dropped that gutter with a rule scoped to .oo-authform. The pass 2
   card does not carry that class, so the rule stopped matching and the prompts
   sat inset from every other field on the register page. Same fix, on the class
   the card actually has. */
.oo-authcard .oo-field > .col {
    flex: none;
    max-width: 100%;
    padding: 0;
}

/* An explanatory paragraph inside the card body, below the head. The external
   login confirmation needs one: the customer arrives from a social provider and
   has to be told why the form is asking for an address again. */
.oo-authcard__note {
    margin: 0 0 var(--oo-space-5);
    color: var(--oo-on-surface-muted);
    font-size: var(--oo-text-sm);
    line-height: 1.6;
}

/* A section with no head. The body carries the top padding the head would
   otherwise have provided. /Loyalty uses one for the progress block, which has
   a sentence and a bar but no title to put in a head. */
.oo-section--bare .oo-section__body {
    padding-top: var(--oo-space-6);
}

/* The reward rows carry a hairline each, which on the loose page ended the list
   with a rule against the page. Inside a section card that last rule sits above
   the card padding and reads as a stray line. */
.oo-section__body .oo-loyalty__reward:last-child {
    border-bottom: 0;
}

/* The tiles and the panels below them are separate blocks. */
.oo-loyalty .oo-stats + .oo-section,
.oo-loyalty .oo-stats + .oo-empty,
.oo-loyalty .oo-section + .oo-section {
    margin-top: var(--oo-space-5);
}

/* ---------------------------------------------------------------------------
   9. HEADING SIZES
   Every heading class in this lane is one class. oo-modern.css:63 styles
   headings as .oo-app-body h1, .oo-app-body h2 and .oo-app-body h3, which is a
   class plus an element, so the heading scale wins on specificity whatever the
   load order and the class font-size never applies at all.
   Measured on the served register page at 1440: .oo-formsection__title asks for
   18px and rendered at 28px, the same size as the card title above it, so the
   section heading and the page heading were indistinguishable.
   Restating each one with .oo-app-body is the smallest fix that keeps the sizes
   the pass 1 sheet already chose. The card title was fixed this way earlier;
   this block is the rest of the family.
   NOT included on purpose: .oo-pagehead__title. That one is meant to take the
   h1 scale, which is what makes /Manage, /Orders and /Loyalty open at the same
   size as the rest of the site.

   THIS BLOCK DEPENDS ON A RULE THIS LANE DOES NOT OWN. It only exists to beat
   .oo-app-body h1 / h2 / h3 in oo-modern.css:63. If that rule is ever changed
   to a plain h1 / h2 / h3, or dropped, every size here starts winning by load
   order instead of by specificity and the .oo-app-body prefixes become
   pointless rather than wrong. If it gains specificity instead, these lose
   again and the headings go back to the heading scale.
   OnlineOrderingTests/Validation/AccountHeadingSpecificityTests.cs asserts both
   halves: that oo-modern.css still has a .oo-app-body h1 rule setting a
   font-size, and that this sheet still prefixes every heading class it owns. A
   failure there is not a bug by itself. It means the sizes have to be measured
   on a served page again: at 1440 the card title is 28px, a section heading
   18px, a section card title 16px.
   --------------------------------------------------------------------------- */

.oo-app-body .oo-formsection__title { font-size: var(--oo-text-lg); }
.oo-app-body .oo-orders__date { font-size: var(--oo-text-lg); }
.oo-app-body .oo-rewards__title { font-size: var(--oo-text-lg); }
.oo-app-body .oo-egift__title { font-size: var(--oo-text-lg); }
.oo-app-body .oo-section__title { font-size: var(--oo-text-md); }
.oo-app-body .oo-account__rowtitle { font-size: var(--oo-text-md); }

