/* input(6238,37): run-time error CSS1019: Unexpected token, found ' '
input(6238,37): run-time error CSS1019: Unexpected token, found ' '
input(6238,37): run-time error CSS1042: Expected function, found ' '
input(6238,37): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6239,35): run-time error CSS1019: Unexpected token, found ' '
input(6239,35): run-time error CSS1019: Unexpected token, found ' '
input(6239,35): run-time error CSS1042: Expected function, found ' '
input(6239,35): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6240,36): run-time error CSS1019: Unexpected token, found ' '
input(6240,36): run-time error CSS1019: Unexpected token, found ' '
input(6240,36): run-time error CSS1042: Expected function, found ' '
input(6240,36): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6241,36): run-time error CSS1019: Unexpected token, found ' '
input(6241,36): run-time error CSS1019: Unexpected token, found ' '
input(6241,36): run-time error CSS1042: Expected function, found ' '
input(6241,36): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6242,36): run-time error CSS1019: Unexpected token, found ' '
input(6242,36): run-time error CSS1019: Unexpected token, found ' '
input(6242,36): run-time error CSS1042: Expected function, found ' '
input(6242,36): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6243,36): run-time error CSS1019: Unexpected token, found ' '
input(6243,36): run-time error CSS1019: Unexpected token, found ' '
input(6243,36): run-time error CSS1042: Expected function, found ' '
input(6243,36): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6244,38): run-time error CSS1019: Unexpected token, found ' '
input(6244,38): run-time error CSS1019: Unexpected token, found ' '
input(6244,38): run-time error CSS1042: Expected function, found ' '
input(6244,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6355,66): run-time error CSS1063: Expected calculation unit, found 'l'
input(6355,66): run-time error CSS1064: Expected calculation product, found 'l'
input(6355,66): run-time error CSS1065: Expected calculation sum, found 'l'
input(6355,66): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6355,66): run-time error CSS1042: Expected function, found 'l'
input(6355,69): run-time error CSS1019: Unexpected token, found ' '
input(6355,69): run-time error CSS1019: Unexpected token, found ' '
input(6355,69): run-time error CSS1042: Expected function, found ' '
input(6355,69): run-time error CSS1019: Unexpected token, found ' '
input(6355,69): run-time error CSS1042: Expected function, found ' '
input(6355,69): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6363,70): run-time error CSS1063: Expected calculation unit, found 'l'
input(6363,70): run-time error CSS1064: Expected calculation product, found 'l'
input(6363,70): run-time error CSS1065: Expected calculation sum, found 'l'
input(6363,70): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6363,70): run-time error CSS1042: Expected function, found 'l'
input(6363,73): run-time error CSS1019: Unexpected token, found ' '
input(6363,73): run-time error CSS1019: Unexpected token, found ' '
input(6363,73): run-time error CSS1042: Expected function, found ' '
input(6363,73): run-time error CSS1019: Unexpected token, found ' '
input(6363,73): run-time error CSS1042: Expected function, found ' '
input(6363,73): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6371,68): run-time error CSS1063: Expected calculation unit, found 'l'
input(6371,68): run-time error CSS1064: Expected calculation product, found 'l'
input(6371,68): run-time error CSS1065: Expected calculation sum, found 'l'
input(6371,68): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6371,68): run-time error CSS1042: Expected function, found 'l'
input(6371,71): run-time error CSS1019: Unexpected token, found ' '
input(6371,71): run-time error CSS1019: Unexpected token, found ' '
input(6371,71): run-time error CSS1042: Expected function, found ' '
input(6371,71): run-time error CSS1019: Unexpected token, found ' '
input(6371,71): run-time error CSS1042: Expected function, found ' '
input(6371,71): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6379,68): run-time error CSS1063: Expected calculation unit, found 'l'
input(6379,68): run-time error CSS1064: Expected calculation product, found 'l'
input(6379,68): run-time error CSS1065: Expected calculation sum, found 'l'
input(6379,68): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6379,68): run-time error CSS1042: Expected function, found 'l'
input(6379,71): run-time error CSS1019: Unexpected token, found ' '
input(6379,71): run-time error CSS1019: Unexpected token, found ' '
input(6379,71): run-time error CSS1042: Expected function, found ' '
input(6379,71): run-time error CSS1019: Unexpected token, found ' '
input(6379,71): run-time error CSS1042: Expected function, found ' '
input(6379,71): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6387,68): run-time error CSS1063: Expected calculation unit, found 'l'
input(6387,68): run-time error CSS1064: Expected calculation product, found 'l'
input(6387,68): run-time error CSS1065: Expected calculation sum, found 'l'
input(6387,68): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6387,68): run-time error CSS1042: Expected function, found 'l'
input(6387,71): run-time error CSS1019: Unexpected token, found ' '
input(6387,71): run-time error CSS1019: Unexpected token, found ' '
input(6387,71): run-time error CSS1042: Expected function, found ' '
input(6387,71): run-time error CSS1019: Unexpected token, found ' '
input(6387,71): run-time error CSS1042: Expected function, found ' '
input(6387,71): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6394,74): run-time error CSS1063: Expected calculation unit, found 'l'
input(6394,74): run-time error CSS1064: Expected calculation product, found 'l'
input(6394,74): run-time error CSS1065: Expected calculation sum, found 'l'
input(6394,74): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6394,74): run-time error CSS1042: Expected function, found 'l'
input(6394,77): run-time error CSS1019: Unexpected token, found ' '
input(6394,77): run-time error CSS1019: Unexpected token, found ' '
input(6394,77): run-time error CSS1042: Expected function, found ' '
input(6394,77): run-time error CSS1019: Unexpected token, found ' '
input(6394,77): run-time error CSS1042: Expected function, found ' '
input(6394,77): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6396,83): run-time error CSS1063: Expected calculation unit, found 'l'
input(6396,83): run-time error CSS1064: Expected calculation product, found 'l'
input(6396,83): run-time error CSS1065: Expected calculation sum, found 'l'
input(6396,83): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6396,83): run-time error CSS1042: Expected function, found 'l'
input(6396,86): run-time error CSS1019: Unexpected token, found ' '
input(6396,86): run-time error CSS1019: Unexpected token, found ' '
input(6396,86): run-time error CSS1042: Expected function, found ' '
input(6396,86): run-time error CSS1019: Unexpected token, found ' '
input(6396,86): run-time error CSS1042: Expected function, found ' '
input(6396,86): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6397,80): run-time error CSS1063: Expected calculation unit, found 'l'
input(6397,80): run-time error CSS1064: Expected calculation product, found 'l'
input(6397,80): run-time error CSS1065: Expected calculation sum, found 'l'
input(6397,80): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6397,80): run-time error CSS1042: Expected function, found 'l'
input(6397,83): run-time error CSS1019: Unexpected token, found ' '
input(6397,83): run-time error CSS1019: Unexpected token, found ' '
input(6397,83): run-time error CSS1042: Expected function, found ' '
input(6397,83): run-time error CSS1019: Unexpected token, found ' '
input(6397,83): run-time error CSS1042: Expected function, found ' '
input(6397,83): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6398,81): run-time error CSS1063: Expected calculation unit, found 'l'
input(6398,81): run-time error CSS1064: Expected calculation product, found 'l'
input(6398,81): run-time error CSS1065: Expected calculation sum, found 'l'
input(6398,81): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6398,81): run-time error CSS1042: Expected function, found 'l'
input(6398,84): run-time error CSS1019: Unexpected token, found ' '
input(6398,84): run-time error CSS1019: Unexpected token, found ' '
input(6398,84): run-time error CSS1042: Expected function, found ' '
input(6398,84): run-time error CSS1019: Unexpected token, found ' '
input(6398,84): run-time error CSS1042: Expected function, found ' '
input(6398,84): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6399,84): run-time error CSS1063: Expected calculation unit, found 'l'
input(6399,84): run-time error CSS1064: Expected calculation product, found 'l'
input(6399,84): run-time error CSS1065: Expected calculation sum, found 'l'
input(6399,84): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6399,84): run-time error CSS1042: Expected function, found 'l'
input(6399,87): run-time error CSS1019: Unexpected token, found ' '
input(6399,87): run-time error CSS1019: Unexpected token, found ' '
input(6399,87): run-time error CSS1042: Expected function, found ' '
input(6399,87): run-time error CSS1019: Unexpected token, found ' '
input(6399,87): run-time error CSS1042: Expected function, found ' '
input(6399,87): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6414,70): run-time error CSS1063: Expected calculation unit, found 'l'
input(6414,70): run-time error CSS1064: Expected calculation product, found 'l'
input(6414,70): run-time error CSS1065: Expected calculation sum, found 'l'
input(6414,70): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6414,70): run-time error CSS1042: Expected function, found 'l'
input(6414,73): run-time error CSS1019: Unexpected token, found ' '
input(6414,73): run-time error CSS1019: Unexpected token, found ' '
input(6414,73): run-time error CSS1042: Expected function, found ' '
input(6414,73): run-time error CSS1019: Unexpected token, found ' '
input(6414,73): run-time error CSS1042: Expected function, found ' '
input(6414,73): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6420,74): run-time error CSS1063: Expected calculation unit, found 'l'
input(6420,74): run-time error CSS1064: Expected calculation product, found 'l'
input(6420,74): run-time error CSS1065: Expected calculation sum, found 'l'
input(6420,74): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6420,74): run-time error CSS1042: Expected function, found 'l'
input(6420,77): run-time error CSS1019: Unexpected token, found ' '
input(6420,77): run-time error CSS1019: Unexpected token, found ' '
input(6420,77): run-time error CSS1042: Expected function, found ' '
input(6420,77): run-time error CSS1019: Unexpected token, found ' '
input(6420,77): run-time error CSS1042: Expected function, found ' '
input(6420,77): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6426,72): run-time error CSS1063: Expected calculation unit, found 'l'
input(6426,72): run-time error CSS1064: Expected calculation product, found 'l'
input(6426,72): run-time error CSS1065: Expected calculation sum, found 'l'
input(6426,72): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6426,72): run-time error CSS1042: Expected function, found 'l'
input(6426,75): run-time error CSS1019: Unexpected token, found ' '
input(6426,75): run-time error CSS1019: Unexpected token, found ' '
input(6426,75): run-time error CSS1042: Expected function, found ' '
input(6426,75): run-time error CSS1019: Unexpected token, found ' '
input(6426,75): run-time error CSS1042: Expected function, found ' '
input(6426,75): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6432,72): run-time error CSS1063: Expected calculation unit, found 'l'
input(6432,72): run-time error CSS1064: Expected calculation product, found 'l'
input(6432,72): run-time error CSS1065: Expected calculation sum, found 'l'
input(6432,72): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6432,72): run-time error CSS1042: Expected function, found 'l'
input(6432,75): run-time error CSS1019: Unexpected token, found ' '
input(6432,75): run-time error CSS1019: Unexpected token, found ' '
input(6432,75): run-time error CSS1042: Expected function, found ' '
input(6432,75): run-time error CSS1019: Unexpected token, found ' '
input(6432,75): run-time error CSS1042: Expected function, found ' '
input(6432,75): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6438,72): run-time error CSS1063: Expected calculation unit, found 'l'
input(6438,72): run-time error CSS1064: Expected calculation product, found 'l'
input(6438,72): run-time error CSS1065: Expected calculation sum, found 'l'
input(6438,72): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6438,72): run-time error CSS1042: Expected function, found 'l'
input(6438,75): run-time error CSS1019: Unexpected token, found ' '
input(6438,75): run-time error CSS1019: Unexpected token, found ' '
input(6438,75): run-time error CSS1042: Expected function, found ' '
input(6438,75): run-time error CSS1019: Unexpected token, found ' '
input(6438,75): run-time error CSS1042: Expected function, found ' '
input(6438,75): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6443,78): run-time error CSS1063: Expected calculation unit, found 'l'
input(6443,78): run-time error CSS1064: Expected calculation product, found 'l'
input(6443,78): run-time error CSS1065: Expected calculation sum, found 'l'
input(6443,78): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6443,78): run-time error CSS1042: Expected function, found 'l'
input(6443,81): run-time error CSS1019: Unexpected token, found ' '
input(6443,81): run-time error CSS1019: Unexpected token, found ' '
input(6443,81): run-time error CSS1042: Expected function, found ' '
input(6443,81): run-time error CSS1019: Unexpected token, found ' '
input(6443,81): run-time error CSS1042: Expected function, found ' '
input(6443,81): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6445,87): run-time error CSS1063: Expected calculation unit, found 'l'
input(6445,87): run-time error CSS1064: Expected calculation product, found 'l'
input(6445,87): run-time error CSS1065: Expected calculation sum, found 'l'
input(6445,87): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6445,87): run-time error CSS1042: Expected function, found 'l'
input(6445,90): run-time error CSS1019: Unexpected token, found ' '
input(6445,90): run-time error CSS1019: Unexpected token, found ' '
input(6445,90): run-time error CSS1042: Expected function, found ' '
input(6445,90): run-time error CSS1019: Unexpected token, found ' '
input(6445,90): run-time error CSS1042: Expected function, found ' '
input(6445,90): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6446,84): run-time error CSS1063: Expected calculation unit, found 'l'
input(6446,84): run-time error CSS1064: Expected calculation product, found 'l'
input(6446,84): run-time error CSS1065: Expected calculation sum, found 'l'
input(6446,84): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6446,84): run-time error CSS1042: Expected function, found 'l'
input(6446,87): run-time error CSS1019: Unexpected token, found ' '
input(6446,87): run-time error CSS1019: Unexpected token, found ' '
input(6446,87): run-time error CSS1042: Expected function, found ' '
input(6446,87): run-time error CSS1019: Unexpected token, found ' '
input(6446,87): run-time error CSS1042: Expected function, found ' '
input(6446,87): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6447,85): run-time error CSS1063: Expected calculation unit, found 'l'
input(6447,85): run-time error CSS1064: Expected calculation product, found 'l'
input(6447,85): run-time error CSS1065: Expected calculation sum, found 'l'
input(6447,85): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6447,85): run-time error CSS1042: Expected function, found 'l'
input(6447,88): run-time error CSS1019: Unexpected token, found ' '
input(6447,88): run-time error CSS1019: Unexpected token, found ' '
input(6447,88): run-time error CSS1042: Expected function, found ' '
input(6447,88): run-time error CSS1019: Unexpected token, found ' '
input(6447,88): run-time error CSS1042: Expected function, found ' '
input(6447,88): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6448,88): run-time error CSS1063: Expected calculation unit, found 'l'
input(6448,88): run-time error CSS1064: Expected calculation product, found 'l'
input(6448,88): run-time error CSS1065: Expected calculation sum, found 'l'
input(6448,88): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6448,88): run-time error CSS1042: Expected function, found 'l'
input(6448,91): run-time error CSS1019: Unexpected token, found ' '
input(6448,91): run-time error CSS1019: Unexpected token, found ' '
input(6448,91): run-time error CSS1042: Expected function, found ' '
input(6448,91): run-time error CSS1019: Unexpected token, found ' '
input(6448,91): run-time error CSS1042: Expected function, found ' '
input(6448,91): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6463,66): run-time error CSS1063: Expected calculation unit, found 'l'
input(6463,66): run-time error CSS1064: Expected calculation product, found 'l'
input(6463,66): run-time error CSS1065: Expected calculation sum, found 'l'
input(6463,66): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6463,66): run-time error CSS1042: Expected function, found 'l'
input(6463,69): run-time error CSS1019: Unexpected token, found ' '
input(6463,69): run-time error CSS1019: Unexpected token, found ' '
input(6463,69): run-time error CSS1042: Expected function, found ' '
input(6463,69): run-time error CSS1019: Unexpected token, found ' '
input(6463,69): run-time error CSS1042: Expected function, found ' '
input(6463,69): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6469,70): run-time error CSS1063: Expected calculation unit, found 'l'
input(6469,70): run-time error CSS1064: Expected calculation product, found 'l'
input(6469,70): run-time error CSS1065: Expected calculation sum, found 'l'
input(6469,70): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6469,70): run-time error CSS1042: Expected function, found 'l'
input(6469,73): run-time error CSS1019: Unexpected token, found ' '
input(6469,73): run-time error CSS1019: Unexpected token, found ' '
input(6469,73): run-time error CSS1042: Expected function, found ' '
input(6469,73): run-time error CSS1019: Unexpected token, found ' '
input(6469,73): run-time error CSS1042: Expected function, found ' '
input(6469,73): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6475,68): run-time error CSS1063: Expected calculation unit, found 'l'
input(6475,68): run-time error CSS1064: Expected calculation product, found 'l'
input(6475,68): run-time error CSS1065: Expected calculation sum, found 'l'
input(6475,68): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6475,68): run-time error CSS1042: Expected function, found 'l'
input(6475,71): run-time error CSS1019: Unexpected token, found ' '
input(6475,71): run-time error CSS1019: Unexpected token, found ' '
input(6475,71): run-time error CSS1042: Expected function, found ' '
input(6475,71): run-time error CSS1019: Unexpected token, found ' '
input(6475,71): run-time error CSS1042: Expected function, found ' '
input(6475,71): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6481,68): run-time error CSS1063: Expected calculation unit, found 'l'
input(6481,68): run-time error CSS1064: Expected calculation product, found 'l'
input(6481,68): run-time error CSS1065: Expected calculation sum, found 'l'
input(6481,68): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6481,68): run-time error CSS1042: Expected function, found 'l'
input(6481,71): run-time error CSS1019: Unexpected token, found ' '
input(6481,71): run-time error CSS1019: Unexpected token, found ' '
input(6481,71): run-time error CSS1042: Expected function, found ' '
input(6481,71): run-time error CSS1019: Unexpected token, found ' '
input(6481,71): run-time error CSS1042: Expected function, found ' '
input(6481,71): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6487,68): run-time error CSS1063: Expected calculation unit, found 'l'
input(6487,68): run-time error CSS1064: Expected calculation product, found 'l'
input(6487,68): run-time error CSS1065: Expected calculation sum, found 'l'
input(6487,68): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6487,68): run-time error CSS1042: Expected function, found 'l'
input(6487,71): run-time error CSS1019: Unexpected token, found ' '
input(6487,71): run-time error CSS1019: Unexpected token, found ' '
input(6487,71): run-time error CSS1042: Expected function, found ' '
input(6487,71): run-time error CSS1019: Unexpected token, found ' '
input(6487,71): run-time error CSS1042: Expected function, found ' '
input(6487,71): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6492,74): run-time error CSS1063: Expected calculation unit, found 'l'
input(6492,74): run-time error CSS1064: Expected calculation product, found 'l'
input(6492,74): run-time error CSS1065: Expected calculation sum, found 'l'
input(6492,74): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6492,74): run-time error CSS1042: Expected function, found 'l'
input(6492,77): run-time error CSS1019: Unexpected token, found ' '
input(6492,77): run-time error CSS1019: Unexpected token, found ' '
input(6492,77): run-time error CSS1042: Expected function, found ' '
input(6492,77): run-time error CSS1019: Unexpected token, found ' '
input(6492,77): run-time error CSS1042: Expected function, found ' '
input(6492,77): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6494,83): run-time error CSS1063: Expected calculation unit, found 'l'
input(6494,83): run-time error CSS1064: Expected calculation product, found 'l'
input(6494,83): run-time error CSS1065: Expected calculation sum, found 'l'
input(6494,83): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6494,83): run-time error CSS1042: Expected function, found 'l'
input(6494,86): run-time error CSS1019: Unexpected token, found ' '
input(6494,86): run-time error CSS1019: Unexpected token, found ' '
input(6494,86): run-time error CSS1042: Expected function, found ' '
input(6494,86): run-time error CSS1019: Unexpected token, found ' '
input(6494,86): run-time error CSS1042: Expected function, found ' '
input(6494,86): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6495,80): run-time error CSS1063: Expected calculation unit, found 'l'
input(6495,80): run-time error CSS1064: Expected calculation product, found 'l'
input(6495,80): run-time error CSS1065: Expected calculation sum, found 'l'
input(6495,80): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6495,80): run-time error CSS1042: Expected function, found 'l'
input(6495,83): run-time error CSS1019: Unexpected token, found ' '
input(6495,83): run-time error CSS1019: Unexpected token, found ' '
input(6495,83): run-time error CSS1042: Expected function, found ' '
input(6495,83): run-time error CSS1019: Unexpected token, found ' '
input(6495,83): run-time error CSS1042: Expected function, found ' '
input(6495,83): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6496,81): run-time error CSS1063: Expected calculation unit, found 'l'
input(6496,81): run-time error CSS1064: Expected calculation product, found 'l'
input(6496,81): run-time error CSS1065: Expected calculation sum, found 'l'
input(6496,81): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6496,81): run-time error CSS1042: Expected function, found 'l'
input(6496,84): run-time error CSS1019: Unexpected token, found ' '
input(6496,84): run-time error CSS1019: Unexpected token, found ' '
input(6496,84): run-time error CSS1042: Expected function, found ' '
input(6496,84): run-time error CSS1019: Unexpected token, found ' '
input(6496,84): run-time error CSS1042: Expected function, found ' '
input(6496,84): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
input(6497,84): run-time error CSS1063: Expected calculation unit, found 'l'
input(6497,84): run-time error CSS1064: Expected calculation product, found 'l'
input(6497,84): run-time error CSS1065: Expected calculation sum, found 'l'
input(6497,84): run-time error CSS1034: Expected closing parenthesis, found 'l'
input(6497,84): run-time error CSS1042: Expected function, found 'l'
input(6497,87): run-time error CSS1019: Unexpected token, found ' '
input(6497,87): run-time error CSS1019: Unexpected token, found ' '
input(6497,87): run-time error CSS1042: Expected function, found ' '
input(6497,87): run-time error CSS1019: Unexpected token, found ' '
input(6497,87): run-time error CSS1042: Expected function, found ' '
input(6497,87): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' ' */
.air-datepicker-cell.-day-.-other-month-,.air-datepicker-cell.-year-.-other-decade-{color:var(--adp-color-other-month)}.air-datepicker-cell.-day-.-other-month-:hover,.air-datepicker-cell.-year-.-other-decade-:hover{color:var(--adp-color-other-month-hover)}.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month-,.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-{color:var(--adp-color-other-month)}.-selected-.air-datepicker-cell.-day-.-other-month-,.-selected-.air-datepicker-cell.-year-.-other-decade-{color:#fff;background:var(--adp-background-color-selected-other-month)}.-selected-.-focus-.air-datepicker-cell.-day-.-other-month-,.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-{background:var(--adp-background-color-selected-other-month-focused)}.-in-range-.air-datepicker-cell.-day-.-other-month-,.-in-range-.air-datepicker-cell.-year-.-other-decade-{background-color:var(--adp-background-color-in-range);color:var(--adp-color)}.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month-,.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-{background-color:var(--adp-background-color-in-range-focused)}.air-datepicker-cell.-day-.-other-month-:empty,.air-datepicker-cell.-year-.-other-decade-:empty{background:none;border:none}.air-datepicker-cell{border-radius:var(--adp-cell-border-radius);box-sizing:border-box;cursor:pointer;display:flex;position:relative;align-items:center;justify-content:center;z-index:1}.air-datepicker-cell.-focus-{background:var(--adp-background-color-hover)}.air-datepicker-cell.-current-{color:var(--adp-color-current-date)}.air-datepicker-cell.-current-.-focus-{color:var(--adp-color)}.air-datepicker-cell.-current-.-in-range-{color:var(--adp-color-current-date)}.air-datepicker-cell.-disabled-{cursor:default;color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-in-range-{color:var(--adp-color-disabled-in-range)}.air-datepicker-cell.-disabled-.-current-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-in-range-{background:var(--adp-cell-background-color-in-range);border-radius:0}.air-datepicker-cell.-in-range-:hover{background:var(--adp-cell-background-color-in-range-hover)}.air-datepicker-cell.-range-from-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius)}.air-datepicker-cell.-range-to-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0}.air-datepicker-cell.-range-to-.-range-from-{border-radius:var(--adp-cell-border-radius)}.air-datepicker-cell.-selected-{color:#fff;border:none;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-current-{color:#fff;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-focus-{background:var(--adp-cell-background-color-selected-hover)}

.air-datepicker-body{transition:all var(--adp-transition-duration) var(--adp-transition-ease)}.air-datepicker-body.-hidden-{display:none}.air-datepicker-body--day-names{display:grid;grid-template-columns:repeat(7, var(--adp-day-cell-width));margin:8px 0 3px}.air-datepicker-body--day-name{color:var(--adp-day-name-color);display:flex;align-items:center;justify-content:center;flex:1;text-align:center;text-transform:uppercase;font-size:.8em}.air-datepicker-body--cells{display:grid}.air-datepicker-body--cells.-days-{grid-template-columns:repeat(7, var(--adp-day-cell-width));grid-auto-rows:var(--adp-day-cell-height)}.air-datepicker-body--cells.-months-{grid-template-columns:repeat(3, 1fr);grid-auto-rows:var(--adp-month-cell-height)}.air-datepicker-body--cells.-years-{grid-template-columns:repeat(4, 1fr);grid-auto-rows:var(--adp-year-cell-height)}

.air-datepicker-nav{display:flex;justify-content:space-between;border-bottom:1px solid var(--adp-border-color-inner);min-height:var(--adp-nav-height);padding:var(--adp-padding);box-sizing:content-box}.-only-timepicker- .air-datepicker-nav{display:none}.air-datepicker-nav--title,.air-datepicker-nav--action{display:flex;cursor:pointer;align-items:center;justify-content:center}.air-datepicker-nav--action{width:var(--adp-nav-action-size);border-radius:var(--adp-border-radius);-webkit-user-select:none;-moz-user-select:none;user-select:none}.air-datepicker-nav--action:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--action:active{background:var(--adp-background-color-active)}.air-datepicker-nav--action.-disabled-{visibility:hidden}.air-datepicker-nav--action svg{width:32px;height:32px}.air-datepicker-nav--action path{fill:none;stroke:var(--adp-nav-arrow-color);stroke-width:2px}.air-datepicker-nav--title{border-radius:var(--adp-border-radius);padding:0 8px}.air-datepicker-nav--title i{font-style:normal;color:var(--adp-nav-color-secondary);margin-left:.3em}.air-datepicker-nav--title:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--title:active{background:var(--adp-background-color-active)}.air-datepicker-nav--title.-disabled-{cursor:default;background:none}

.air-datepicker-buttons{display:grid;grid-auto-columns:1fr;grid-auto-flow:column}.air-datepicker-button{display:inline-flex;color:var(--adp-btn-color);border-radius:var(--adp-btn-border-radius);cursor:pointer;height:var(--adp-btn-height);border:none;background:rgba(255,255,255,0)}.air-datepicker-button:hover{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover)}.air-datepicker-button:focus{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover);outline:none}.air-datepicker-button:active{background:var(--adp-btn-background-color-active)}.air-datepicker-button span{outline:none;display:flex;align-items:center;justify-content:center;width:100%;height:100%}

.air-datepicker-time{display:grid;grid-template-columns:-webkit-max-content 1fr;grid-template-columns:max-content 1fr;grid-column-gap:12px;align-items:center;position:relative;padding:0 var(--adp-time-padding-inner)}.-only-timepicker- .air-datepicker-time{border-top:none}.air-datepicker-time--current{display:flex;align-items:center;flex:1;font-size:14px;text-align:center}.air-datepicker-time--current-colon{margin:0 2px 3px;line-height:1}.air-datepicker-time--current-hours,.air-datepicker-time--current-minutes{line-height:1;font-size:19px;font-family:"Century Gothic", CenturyGothic, AppleGothic, sans-serif;position:relative;z-index:1}.air-datepicker-time--current-hours:after,.air-datepicker-time--current-minutes:after{content:'';background:var(--adp-background-color-hover);border-radius:var(--adp-border-radius);position:absolute;left:-2px;top:-3px;right:-2px;bottom:-2px;z-index:-1;opacity:0}.air-datepicker-time--current-hours.-focus-:after,.air-datepicker-time--current-minutes.-focus-:after{opacity:1}.air-datepicker-time--current-ampm{text-transform:uppercase;align-self:flex-end;color:var(--adp-time-day-period-color);margin-left:6px;font-size:11px;margin-bottom:1px}.air-datepicker-time--row{display:flex;align-items:center;font-size:11px;height:17px;background:linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat}.air-datepicker-time--row:first-child{margin-bottom:4px}.air-datepicker-time--row input[type='range']{background:none;cursor:pointer;flex:1;height:100%;padding:0;margin:0;-webkit-appearance:none}.air-datepicker-time--row input[type='range']::-webkit-slider-thumb{-webkit-appearance:none}.air-datepicker-time--row input[type='range']::-ms-tooltip{display:none}.air-datepicker-time--row input[type='range']:hover::-webkit-slider-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type='range']:hover::-moz-range-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type='range']:hover::-ms-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type='range']:focus{outline:none}.air-datepicker-time--row input[type='range']:focus::-webkit-slider-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type='range']:focus::-moz-range-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type='range']:focus::-ms-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type='range']::-webkit-slider-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-webkit-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type='range']::-moz-range-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-moz-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type='range']::-ms-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-ms-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type='range']::-webkit-slider-thumb{margin-top:calc(var(--adp-time-thumb-size) / 2 * -1)}.air-datepicker-time--row input[type='range']::-webkit-slider-runnable-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:transparent;background:transparent}.air-datepicker-time--row input[type='range']::-moz-range-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:transparent;background:transparent}.air-datepicker-time--row input[type='range']::-ms-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:transparent;background:transparent}.air-datepicker-time--row input[type='range']::-ms-fill-lower{background:transparent}.air-datepicker-time--row input[type='range']::-ms-fill-upper{background:transparent}

.air-datepicker{--adp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--adp-font-size: 14px;--adp-width: 246px;--adp-z-index: 100;--adp-padding: 4px;--adp-grid-areas:
    'nav'
    'body'
    'timepicker'
    'buttons';--adp-transition-duration: .3s;--adp-transition-ease: ease-out;--adp-transition-offset: 8px;--adp-background-color: #fff;--adp-background-color-hover: #f0f0f0;--adp-background-color-active: #eaeaea;--adp-background-color-in-range: rgba(92, 196, 239, .1);--adp-background-color-in-range-focused: rgba(92, 196, 239, .2);--adp-background-color-selected-other-month-focused: #8ad5f4;--adp-background-color-selected-other-month: #a2ddf6;--adp-color: #4a4a4a;--adp-color-secondary: #9c9c9c;--adp-accent-color: #4eb5e6;--adp-color-current-date: var(--adp-accent-color);--adp-color-other-month: #dedede;--adp-color-disabled: #aeaeae;--adp-color-disabled-in-range: #939393;--adp-color-other-month-hover: #c5c5c5;--adp-border-color: #dbdbdb;--adp-border-color-inner: #efefef;--adp-border-radius: 4px;--adp-border-color-inline: #d7d7d7;--adp-nav-height: 32px;--adp-nav-arrow-color: var(--adp-color-secondary);--adp-nav-action-size: 32px;--adp-nav-color-secondary: var(--adp-color-secondary);--adp-day-name-color: #ff9a19;--adp-day-cell-width: 1fr;--adp-day-cell-height: 32px;--adp-month-cell-height: 42px;--adp-year-cell-height: 56px;--adp-pointer-size: 10px;--adp-pointer-border-radius: 2px;--adp-pointer-offset: 14px;--adp-cell-border-radius: 4px;--adp-cell-background-color-selected: #5cc4ef;--adp-cell-background-color-selected-hover: #45bced;--adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1);--adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2);--adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);--adp-btn-height: 32px;--adp-btn-color: var(--adp-accent-color);--adp-btn-color-hover: var(--adp-color);--adp-btn-border-radius: var(--adp-border-radius);--adp-btn-background-color-hover: var(--adp-background-color-hover);--adp-btn-background-color-active: var(--adp-background-color-active);--adp-time-track-height: 1px;--adp-time-track-color: #dedede;--adp-time-track-color-hover: #b1b1b1;--adp-time-thumb-size: 12px;--adp-time-padding-inner: 10px;--adp-time-day-period-color: var(--adp-color-secondary);--adp-mobile-font-size: 16px;--adp-mobile-nav-height: 40px;--adp-mobile-width: 320px;--adp-mobile-day-cell-height: 38px;--adp-mobile-month-cell-height: 48px;--adp-mobile-year-cell-height: 64px}.air-datepicker-overlay{--adp-overlay-background-color: rgba(0, 0, 0, .3);--adp-overlay-transition-duration: .3s;--adp-overlay-transition-ease: ease-out;--adp-overlay-z-index: 99}

.air-datepicker{background:var(--adp-background-color);border:1px solid var(--adp-border-color);box-shadow:0 4px 12px rgba(0,0,0,0.15);border-radius:var(--adp-border-radius);box-sizing:content-box;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4, -webkit-max-content);grid-template-rows:repeat(4, max-content);grid-template-areas:var(--adp-grid-areas);font-family:var(--adp-font-family),sans-serif;font-size:var(--adp-font-size);color:var(--adp-color);width:var(--adp-width);position:absolute;transition:opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease);z-index:var(--adp-z-index)}.air-datepicker:not(.-custom-position-){opacity:0}.air-datepicker.-from-top-{transform:translateY(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-from-right-{transform:translateX(var(--adp-transition-offset))}.air-datepicker.-from-bottom-{transform:translateY(var(--adp-transition-offset))}.air-datepicker.-from-left-{transform:translateX(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-active-:not(.-custom-position-){transform:translate(0, 0);opacity:1}.air-datepicker.-active-.-custom-position-{transition:none}.air-datepicker.-inline-{border-color:var(--adp-border-color-inline);box-shadow:none;position:static;left:auto;right:auto;opacity:1;transform:none}.air-datepicker.-inline- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-{--adp-font-size: var(--adp-mobile-font-size);--adp-day-cell-height: var(--adp-mobile-day-cell-height);--adp-month-cell-height: var(--adp-mobile-month-cell-height);--adp-year-cell-height: var(--adp-mobile-year-cell-height);--adp-nav-height: var(--adp-mobile-nav-height);--adp-nav-action-size: var(--adp-mobile-nav-height);position:fixed;width:var(--adp-mobile-width);border:none}.air-datepicker.-is-mobile- *{-webkit-tap-highlight-color:transparent}.air-datepicker.-is-mobile- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-:not(.-custom-position-){transform:translate(-50%, calc(-50% + var(--adp-transition-offset)))}.air-datepicker.-is-mobile-.-active-:not(.-custom-position-){transform:translate(-50%, -50%)}.air-datepicker.-custom-position-{transition:none}.air-datepicker-global-container{position:absolute;left:0;top:0}.air-datepicker--pointer{--pointer-half-size: calc(var(--adp-pointer-size) / 2);position:absolute;width:var(--adp-pointer-size);height:var(--adp-pointer-size);z-index:-1}.air-datepicker--pointer:after{content:'';position:absolute;background:#fff;border-top:1px solid var(--adp-border-color-inline);border-right:1px solid var(--adp-border-color-inline);border-top-right-radius:var(--adp-pointer-border-radius);width:var(--adp-pointer-size);height:var(--adp-pointer-size);box-sizing:border-box}.-top-left- .air-datepicker--pointer,.-top-center- .air-datepicker--pointer,.-top-right- .air-datepicker--pointer,[data-popper-placement^='top'] .air-datepicker--pointer{top:calc(100% - var(--pointer-half-size) + 1px)}.-top-left- .air-datepicker--pointer:after,.-top-center- .air-datepicker--pointer:after,.-top-right- .air-datepicker--pointer:after,[data-popper-placement^='top'] .air-datepicker--pointer:after{transform:rotate(135deg)}.-right-top- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer,[data-popper-placement^='right'] .air-datepicker--pointer{right:calc(100% - var(--pointer-half-size) + 1px)}.-right-top- .air-datepicker--pointer:after,.-right-center- .air-datepicker--pointer:after,.-right-bottom- .air-datepicker--pointer:after,[data-popper-placement^='right'] .air-datepicker--pointer:after{transform:rotate(225deg)}.-bottom-left- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer,[data-popper-placement^='bottom'] .air-datepicker--pointer{bottom:calc(100% - var(--pointer-half-size) + 1px)}.-bottom-left- .air-datepicker--pointer:after,.-bottom-center- .air-datepicker--pointer:after,.-bottom-right- .air-datepicker--pointer:after,[data-popper-placement^='bottom'] .air-datepicker--pointer:after{transform:rotate(315deg)}.-left-top- .air-datepicker--pointer,.-left-center- .air-datepicker--pointer,.-left-bottom- .air-datepicker--pointer,[data-popper-placement^='left'] .air-datepicker--pointer{left:calc(100% - var(--pointer-half-size) + 1px)}.-left-top- .air-datepicker--pointer:after,.-left-center- .air-datepicker--pointer:after,.-left-bottom- .air-datepicker--pointer:after,[data-popper-placement^='left'] .air-datepicker--pointer:after{transform:rotate(45deg)}.-top-left- .air-datepicker--pointer,.-bottom-left- .air-datepicker--pointer{left:var(--adp-pointer-offset)}.-top-right- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer{right:var(--adp-pointer-offset)}.-top-center- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer{left:calc(50% - var(--adp-pointer-size) / 2)}.-left-top- .air-datepicker--pointer,.-right-top- .air-datepicker--pointer{top:var(--adp-pointer-offset)}.-left-bottom- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer{bottom:var(--adp-pointer-offset)}.-left-center- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer{top:calc(50% - var(--adp-pointer-size) / 2)}.air-datepicker--navigation{grid-area:nav}.air-datepicker--content{box-sizing:content-box;padding:var(--adp-padding);grid-area:body}.-only-timepicker- .air-datepicker--content{display:none}.air-datepicker--time{grid-area:timepicker}.air-datepicker--buttons{grid-area:buttons}.air-datepicker--buttons,.air-datepicker--time{padding:var(--adp-padding);border-top:1px solid var(--adp-border-color-inner)}.air-datepicker-overlay{position:fixed;background:var(--adp-overlay-background-color);left:0;top:0;width:0;height:0;opacity:0;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s;transition-delay:0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration);z-index:var(--adp-overlay-z-index)}.air-datepicker-overlay.-active-{opacity:1;width:100%;height:100%;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s}


/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com

Version 1.8.7
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011-2018 Harvest http://getharvest.com

MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
This file is generated by `grunt build`, do not edit it by hand.
*/

/* @group Base */
.chosen-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.chosen-container * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  z-index: 1010;
  width: 100%;
  border: 1px solid #aaa;
  border-top: 0;
  background: #fff;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(100% 100%);
          clip-path: inset(100% 100%);
}

.chosen-container.chosen-with-drop .chosen-drop {
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
}

.chosen-container a {
  cursor: pointer;
}

.chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
  margin-right: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: normal;
  color: #999999;
}

.chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
  content: ":";
  padding-left: 2px;
  vertical-align: top;
}

/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0 0 0 8px;
  height: 25px;
  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #fff), color-stop(50%, #f6f6f6), color-stop(52%, #eee), to(#f4f4f4));
  background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
  background-clip: padding-box;
  -webkit-box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  color: #444;
  text-decoration: none;
  white-space: nowrap;
  line-height: 24px;
}

.chosen-container-single .chosen-default {
  color: #999;
}

.chosen-container-single .chosen-single span {
  display: block;
  overflow: hidden;
  margin-right: 26px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chosen-container-single .chosen-single-with-deselect span {
  margin-right: 38px;
}

.chosen-container-single .chosen-single abbr {
  position: absolute;
  top: 6px;
  right: 26px;
  display: block;
  width: 12px;
  height: 12px;
  background: url("vendor/ui-framework/css/chosen-sprite.png") -42px 1px no-repeat;
  font-size: 1px;
}

.chosen-container-single .chosen-single abbr:hover {
  background-position: -42px -10px;
}

.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
  background-position: -42px -10px;
}

.chosen-container-single .chosen-single div {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 100%;
}

.chosen-container-single .chosen-single div b {
  display: block;
  width: 100%;
  height: 100%;
  background: url("vendor/ui-framework/css/chosen-sprite.png") no-repeat 0px 2px;
}

.chosen-container-single .chosen-search {
  position: relative;
  z-index: 1010;
  margin: 0;
  padding: 3px 4px;
  white-space: nowrap;
}

.chosen-container-single .chosen-search input[type="text"] {
  margin: 1px 0;
  padding: 4px 20px 4px 5px;
  width: 100%;
  height: auto;
  outline: 0;
  border: 1px solid #aaa;
  background: url("vendor/ui-framework/css/chosen-sprite.png") no-repeat 100% -20px;
  font-size: 1em;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
}

.chosen-container-single .chosen-drop {
  margin-top: -1px;
  border-radius: 0 0 4px 4px;
  background-clip: padding-box;
}

.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(100% 100%);
          clip-path: inset(100% 100%);
}

/* @end */
/* @group Results */
.chosen-container .chosen-results {
  color: #444;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0 0 0 4px;
  max-height: 240px;
  -webkit-overflow-scrolling: touch;
}

.chosen-container .chosen-results li {
  display: none;
  margin: 0;
  padding: 5px 6px;
  list-style: none;
  line-height: 15px;
  word-wrap: break-word;
  -webkit-touch-callout: none;
}

.chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer;
}

.chosen-container .chosen-results li.disabled-result {
  display: list-item;
  color: #ccc;
  cursor: default;
}

.chosen-container .chosen-results li.highlighted {
  background-color: #3875d7;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
  background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
  color: #fff;
}

.chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4;
}

.chosen-container .chosen-results li.group-result {
  display: list-item;
  font-weight: bold;
  cursor: default;
}

.chosen-container .chosen-results li.group-option {
  padding-left: 15px;
}

.chosen-container .chosen-results li em {
  font-style: normal;
  text-decoration: underline;
}

/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 5px;
  width: 100%;
  height: auto;
  border: 1px solid #aaa;
  background-color: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #eee), color-stop(15%, #fff));
  background-image: linear-gradient(#eee 1%, #fff 15%);
  cursor: text;
}

.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none;
}

.chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
  margin: 1px 0;
  padding: 0;
  height: 25px;
  outline: 0;
  border: 0 !important;
  background: transparent !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #999;
  font-size: 100%;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
  width: 25px;
}

.chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 3px 5px 3px 0;
  padding: 3px 20px 3px 5px;
  border: 1px solid #aaa;
  max-width: 100%;
  border-radius: 3px;
  background-color: #eeeeee;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  background-size: 100% 19px;
  background-repeat: repeat-x;
  background-clip: padding-box;
  -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  color: #333;
  line-height: 13px;
  cursor: default;
}

.chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  top: 4px;
  right: 3px;
  display: block;
  width: 12px;
  height: 12px;
  background: url("vendor/ui-framework/css/chosen-sprite.png") -42px 1px no-repeat;
  font-size: 1px;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-position: -42px -10px;
}

.chosen-container-multi .chosen-choices li.search-choice-disabled {
  padding-right: 5px;
  border: 1px solid #ccc;
  background-color: #e4e4e4;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  color: #666;
}

.chosen-container-multi .chosen-choices li.search-choice-focus {
  background: #d4d4d4;
}

.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px;
}

.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0;
}

.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  color: #ccc;
  cursor: default;
}

/* @end */
/* @group Active  */
.chosen-container-active .chosen-single {
  border: 1px solid #5897fb;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.chosen-container-active.chosen-with-drop .chosen-single {
  border: 1px solid #aaa;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #eee), color-stop(80%, #fff));
  background-image: linear-gradient(#eee 20%, #fff 80%);
  -webkit-box-shadow: 0 1px 0 #fff inset;
          box-shadow: 0 1px 0 #fff inset;
}

.chosen-container-active.chosen-with-drop .chosen-single div {
  border-left: none;
  background: transparent;
}

.chosen-container-active.chosen-with-drop .chosen-single div b {
  background-position: -18px 2px;
}

.chosen-container-active .chosen-choices {
  border: 1px solid #5897fb;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.chosen-container-active .chosen-choices li.search-field input[type="text"] {
  color: #222 !important;
}

/* @end */
/* @group Disabled Support */
.chosen-disabled {
  opacity: 0.5 !important;
  cursor: default;
}

.chosen-disabled .chosen-single {
  cursor: default;
}

.chosen-disabled .chosen-choices .search-choice .search-choice-close {
  cursor: default;
}

/* @end */
/* @group Right to Left */
.chosen-rtl {
  text-align: right;
}

.chosen-rtl .chosen-single {
  overflow: visible;
  padding: 0 8px 0 0;
}

.chosen-rtl .chosen-single span {
  margin-right: 0;
  margin-left: 26px;
  direction: rtl;
}

.chosen-rtl .chosen-single-with-deselect span {
  margin-left: 38px;
}

.chosen-rtl .chosen-single div {
  right: auto;
  left: 3px;
}

.chosen-rtl .chosen-single abbr {
  right: auto;
  left: 26px;
}

.chosen-rtl .chosen-choices li {
  float: right;
}

.chosen-rtl .chosen-choices li.search-field input[type="text"] {
  direction: rtl;
}

.chosen-rtl .chosen-choices li.search-choice {
  margin: 3px 5px 3px 0;
  padding: 3px 5px 3px 19px;
}

.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
  right: auto;
  left: 4px;
}

.chosen-rtl.chosen-container-single .chosen-results {
  margin: 0 0 4px 4px;
  padding: 0 4px 0 0;
}

.chosen-rtl .chosen-results li.group-option {
  padding-right: 15px;
  padding-left: 0;
}

.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
  border-right: none;
}

.chosen-rtl .chosen-search input[type="text"] {
  padding: 4px 5px 4px 20px;
  background: url("vendor/ui-framework/css/chosen-sprite.png") no-repeat -30px -20px;
  direction: rtl;
}

.chosen-rtl.chosen-container-single .chosen-single div b {
  background-position: 6px 2px;
}

.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
  background-position: -12px 2px;
}

/* @end */
/* @group Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
  .chosen-rtl .chosen-search input[type="text"],
  .chosen-container-single .chosen-single abbr,
  .chosen-container-single .chosen-single div b,
  .chosen-container-single .chosen-search input[type="text"],
  .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
  .chosen-container .chosen-results-scroll-down span,
  .chosen-container .chosen-results-scroll-up span {
    background-image: url("vendor/ui-framework/css/chosen-sprite@2x.png") !important;
    background-size: 52px 37px !important;
    background-repeat: no-repeat !important;
  }
}

/* @end */

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

.c-article {
    fill: currentColor;
}

.c-article--center {
    text-align: center;
}

.c-article__image img {
    margin-bottom: var(--space-xl);
    border-radius: var(--media-radius, var(--surface-radius, var(--r-m)));
}

.c-article__title {
    max-width: 25ch;
    margin: var(--space-s) 0;
    font: var(--font-poster);
    letter-spacing: var(--ls-xs);
    text-wrap: balance;
    -webkit-hyphens: auto;
            hyphens: auto;
}

.c-article__title a {
    color: inherit;
    text-decoration: none;
}

.c-article__body {
    font: var(--font-body-large);
    font-weight: var(--fw-thin);
}

.c-article__body .c-video,
.c-article__body p,
.c-article__body li {
    max-width: 65ch;
}

.c-article--center .c-article__body {
    margin-bottom: var(--space-l);
}

.c-article--center .c-article__title,
.c-article--center .c-article__body p,
.c-article--center .c-article__body li {
    margin-inline: auto;
}

.c-article--center ul,
.c-article--center ol {
    margin-left: 0;
}

.c-article--center li {
    list-style-position: inside;
}

.c-autocomplete {
    width: 100%;
}

.autocomplete-suggestions {
    margin-top: 3px;
    border-radius: var(--popup-radius, var(--surface-radius, var(--r-m)));
    box-shadow: var(--box-shadow-xl);
    box-sizing: border-box;
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    overflow: auto;
    overscroll-behavior-y: contain;
    font: var(--font-body);
    cursor: default;
}

.autocomplete-suggestion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-m) var(--space-l);
    overflow: hidden;
    cursor: pointer;
}

.autocomplete-suggestion :first-child {
    min-width: 50%;
}

.autocomplete-no-suggestion {
    padding: var(--space-m) var(--space-l);
}

.autocomplete-selected {
    color: var(--on-secondary-container);
    background-color: var(--secondary-container);
}

.autocomplete-group {
    padding: var(--space-m) var(--space-l);
    display: block;
    border-bottom: 1px dotted var(--outline-variant);
    color: var(--on-secondary-container);
    background-color: var(--secondary-container);
}

.c-box {
    --box-radius: var(--surface-radius, var(--r-m));
    display: block;
    margin: var(--space-xs) 0;
    padding: var(--space-m);
    border-radius: var(--box-radius);
    border-left: 2px solid var(--outline);
    color: var(--on-surface-container);
    background: var(--surface-container-low);
    font: var(--font-label);
    text-decoration: none;
}

.c-box--callout {
    position: relative;
    box-shadow: 0 0 0 1px var(--surface-container-lowest), var(--box-shadow-xl);
    transition: var(--duration-short) opacity ease-out, var(--duration-short) transform ease-out;
}

.c-box--small {
    padding-block: var(--space-s);
    font: var(--font-label-small);
}

.c-box:empty {
    margin: 0;
    padding: 0;
    box-shadow: none;
}

.c-box--info {
    color: var(--on-primary-container);
    background: var(--primary-container);
}

.c-box--positive {
    color: var(--on-positive-container);
    background: var(--positive-container);
}

.c-box--warning {
    color: var(--on-tertiary-container);
    background: var(--tertiary-container);
}

.c-box--negative {
    color: var(--on-negative-container);
    background: var(--negative-container);
}

.c-box > p {
    max-width: 100%; /* Avoids potential clashes with narrower parapgraphs within Articles */
}

.c-box > a:not([class]) {
    color: inherit;
}

.c-box > :first-child {
    margin-top: 0;
}

.c-box > :last-child {
    margin-bottom: 0;
}

.c-breadcrumb {
    display: flex;
    margin: 0;
    white-space: nowrap;
    overflow: auto;
    list-style: none;
    font: var(--font-label-small);
}

.c-breadcrumb__item {
    display: inline-flex;
    padding-left: var(--space-s);
    text-underline-offset: 0.2em;
}

.c-breadcrumb__item + .c-breadcrumb__item::before {
    content: '/';
    padding-right: var(--space-s);
}

.c-breadcrumb__link:not(:last-child) {
    max-width: 20ch;
    overflow: hidden;
    text-overflow: ellipsis;
}

.c-breadcrumb__item:last-child > .c-breadcrumb__link:not(:hover) {
    color: inherit;
    text-decoration: none;
}

/*
 * 1. Allow us to style box model properties.
 * 2. Line different sized buttons up a little nicer.
 * 3. Reset/normalize some styles.
 * 4. Force all button-styled elements to appear clickable.
 */

/* Default button */
.c-button {
    display: inline-block; /* [1] */
    vertical-align: middle; /* [2] */
    margin: 0;
    padding: var(--space-m) var(--space-l);
    border: none;
    border-radius: var(--button-radius, var(--r-xxxl));
    font: var(--font-label);
    text-align: center; /* [3] */
    text-decoration: none; /* [3] */
    color: var(--on-surface-container);
    background: var(--surface-container-high);
    box-shadow: var(--box-shadow-s);
    cursor: pointer; /* [4] */
    white-space: nowrap;
}

.c-button:hover {
    box-shadow: var(--box-shadow-s), var(--hover-shadow);
}

.c-button:active {
    box-shadow: var(--box-shadow-s), var(--active-shadow);
}

/* Primary */
.c-button--primary {
    color: var(--on-primary);
    background: var(--primary);
}

/* Secondary */
.c-button--secondary {
    color: var(--on-primary-container);
    background: var(--primary-container);
}

/* Positive */
.c-button--positive {
    color: var(--on-positive-bright-fixed);
    background: var(--positive-bright-fixed);
}

/* Negative */
.c-button--negative {
    color: var(--on-negative-bright-fixed);
    background: var(--negative-bright-fixed);
}

/* Small */
.c-button--small {
    padding: var(--space-s) var(--space-m);
    font: var(--font-label-small);
}

/* Ghost */
.c-button--primary.c-button--ghost {
    color: var(--primary);
}

.c-button--secondary.c-button--ghost {
    color: var(--secondary);
}

.c-button--positive.c-button--ghost {
    color: var(--positive);
}

.c-button--negative.c-button--ghost {
    color: var(--negative);
}

/* Round */
.c-button--round {
    width: 4em;
    height: 4em;
    flex-shrink: 0;
    padding: 1.1em 0.1em;
    border-radius: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.c-button--round:has(svg) {
    justify-content: center;
}

.c-button--small.c-button--round {
    width: 3.3em;
    height: 3.3em;
}

/* Large button
 * 1. Same ratio as 120/216 px (BoxPoint)
 */
.c-button--large {
    display: inline-flex;
    flex-direction: column;
    width: 12rem;
    height: 6.66rem; /* [1] */
    justify-content: center;
    align-items: center;
    border-radius: var(--button-radius, var(--r-m));
    font: var(--font-   -large);
    white-space: normal;
}

/* Disabled */
.c-button[disabled],
.c-button[disabled]:hover,
.c-button--disabled,
.c-button--disabled:hover {
    font-style: italic;
    box-shadow: none;
    cursor: not-allowed;
    pointer-events: none;
    -webkit-user-select: none;
            user-select: none;
}

/* "Ghost" buttons */
.c-button--ghost,
.c-button--ghost:hover,
.c-button--ghost:active {
    box-shadow: 0 0 0 1px currentColor;
    background: transparent;
}

.c-button--ghost:hover {
    box-shadow: 0 0 0 1px currentColor, inset 0 0 0 1px currentColor;
}

.c-button--ghost:active {
    box-shadow: 0 0 0 1px currentColor, inset 0 0 0 2px currentColor;
}

/* Icon buttons */
.c-button:has(svg) {
    display: inline-flex;
    gap: var(--space-s);
    padding-block: calc(var(--space-m) - 0.125em); /* compensate for icon width/height */
    align-items: center;
}

.c-button--small:has(svg) {
    gap: var(--space-xs);
    padding-block: calc(var(--space-s) - 0.125em); /* compensate for icon width/height */
}

.c-button > :is(svg) {
    height: 1.55em;
}

/* Options button (usually used inside tables or cards to trigger action popovers) */
.c-button--options:has(svg) {
    display: flex;
    gap: 0;
    width: 1.125rem;
    height: 2rem;
    padding: var(--space-s);
    justify-content: center;
    align-items: center;
    background-color: var(--surface-container-lowest);
    box-shadow: var(--box-shadow-s);
    transition: opacity var(--duration-short) var(--ease-in-out), box-shadow var(--duration-short) var(--ease-in-out);
}

.c-button--options > svg {
    width: auto;
}

@media (hover: hover) {
    .c-button--options {
        opacity: 0.4;
    }

    :is(.c-card, .c-tile, tr):has(.c-button--options):hover .c-button--options,
    .c-button--options:hover,
    .c-button--options:focus {
        opacity: 1;
    }

    .c-button--options:hover,
    .c-button--options:focus {
        box-shadow: var(--box-shadow-m);
    }
}

/* Loading button */
.c-button--spinner {
    position: relative;
    overflow: hidden;
    transition: width var(--duration-short) var(--ease-in-out);
}

.c-button--spinner .c-spinner {
    position: absolute;
    top: 0;
    left: 50%;
    margin-top: 0.5em;
    transform: translateY(3.125em);
    transition: transform var(--duration-short) var(--ease-in-out);
}

.c-button--spinner > span {
    opacity: 1;
    transition: opacity var(--duration-short) var(--ease-in-out);
}

.c-button--spinner.is-loading {
    cursor: wait;
}

.c-button--spinner.is-loading:active {
    pointer-events: none;
}

.c-button--spinner.is-loading > span {
    opacity: 0;
}

.c-button--spinner.is-loading .c-spinner {
    transform: translateY(0);
}

/* Selected state (mostly used in combination with c-form-control--group */
.c-button--selected,
.c-button--selected:hover,
.c-button--selected:focus,
.c-button--selected:active {
    --outline-offset: -0.1rem;
    color: var(--on-secondary-container);
    background: var(--secondary-container);
}

.c-button--ghost.c-button--selected {
    box-shadow: 0 0 0 1px var(--on-surface), inset 0 0 0 1px var(--on-surface);
}

.c-card {
    --gap: 0; /* Don't inherit this from Grid or Flex parents... */
    --card-gap: var(--gap); /* ...but allow for overrides if set explicitly on the Card itself */
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1 0 auto;
    padding: 0;
    border: none;
    border-radius: var(--card-radius, var(--surface-radius-large, var(--r-l)));
    box-shadow: var(--box-shadow-xs);
    color: var(--on-surface-container);
    background: var(--surface-container-low);
    transition: var(--duration-short) box-shadow var(--ease-out);
    text-decoration: none;
}

.c-card__date {
    font: var(--font-label-small);
    letter-spacing: var(--ls-xl);
    color: var(--on-surface-container);
}

.c-card:hover,
.c-card:focus-within {
    box-shadow: var(--box-shadow-m);
}

/* Selected variant (e.g. labels and buttons) */
.c-card--selected,
.c-card--selected:hover,
.c-card--selected:focus-within {
    box-shadow: var(--box-shadow-s), 0 0 0 4px;
}

.c-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    gap: var(--card-gap, 0);
    padding: var(--space-xl);
    color: inherit;
    text-decoration: none;
}

/* DEPRECATED: Use Tiles for similar effect instead */
.c-card__body--horizontal {
    flex-flow: row wrap;
}

.c-card__body > .c-plus-minus {
    position: absolute;
    left: calc(50% - 3rem);
    top: -1rem;
}

.c-card__body > .c-tile {
    width: auto;
    margin: 0 calc(-1 * var(--space-l));
    background: none;
    border-top: 1px solid color-mix(in oklab, var(--outline-variant) 30%, transparent);
    border-radius: 0;
    box-shadow: none;
}

.c-card__body > .c-tile:first-child {
    padding-top: 0;
    border-top: none;
}

.c-card__body > .c-box:only-child {
    margin: calc(-1 * var(--space-s));
}

.c-card__body > :last-child {
    margin-bottom: 0;
}

/* Overlay variant */
.c-card--overlay {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: 'full-card';
    overflow: hidden;
}

.c-card--overlay .c-card__body {
    grid-area: full-card;
    justify-content: flex-end;
    color: var(--white);
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: linear-gradient(in oklab 190deg, rgb(19 30 41 / 0%), rgb(19 30 41 / 10%), rgb(19 30 41 / 90%)), linear-gradient(in oklab 170deg, rgb(19 30 41 / 0%), rgb(19 30 41 / 10%), rgb(19 30 41 / 50%));
    transition: var(--duration-short) opacity var(--ease-out);
    opacity: 0.9;
    z-index: 1;
}

.c-card--overlay:hover .c-card__body {
    opacity: 1;
}

.c-card--overlay .c-card__image {
    grid-area: full-card;
}

.c-card--overlay .c-card__foot {
    min-height: 4rem;
}

.c-card__label {
    margin-block: 0;
    font: var(--font-label-small);
    letter-spacing: var(--ls-l);
    overflow-wrap: anywhere;
}

.c-card__image {
    overflow: hidden;
}

.c-card__title {
    margin-block: 0 var(--space-xs);
    color: inherit;
    font: var(--font-title);
    letter-spacing: var(--ls-s);
}

.c-card__title > a {
    color: inherit;
}

@media (hover: hover) {
    .c-card__title > a:not(:hover) {
        text-decoration: none;
    }
}

.c-card__image + .c-card__title {
    margin-top: var(--space-s);
}

.c-card__subtitle {
    margin-top: 0;
    font: var(--font-label);
    letter-spacing: var(--ls-m);
    color: var(--on-surface-container);
    text-transform: capitalize;
}

.c-card__foot {
    display: flex;
    align-items: center;
    padding: var(--space-s) var(--space-xl);
    border-top: 1px solid color-mix(in oklab, var(--outline-variant) 30%, transparent);
}

.c-card__foot--center {
    justify-content: center;
}

.c-card__foot * {
    margin: 0;
}

.c-card__foot > .c-button {
    flex-shrink: 0;
}

.c-card__foot > .c-button:not(:last-child) {
    margin-right: 10px;
}

/* Cover variant */
.c-card--cover {
    overflow: hidden;
}

.c-card__body--cover,
.c-card__body--scale-down {
    position: relative;
    padding: var(--space-l);
}

.c-card__image--cover,
.c-card__image--scale-down {
    position: relative;
}

.c-card__image--cover img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.c-card__image--scale-down img {
    width: 100%;
    height: 8rem;
    object-fit: scale-down;
}

.c-date {
    min-width: 7em;
    font: var(--font-label-small);
    font-weight: var(--fw-bold);
    line-height: var(--lh-m);
}

.c-date__time {
    display: block;
    font-weight: var(--fw-regular);
}

.c-date__weekday {
    display: block;
    font: var(--font-title);
    line-height: inherit;
    text-transform: uppercase;
}

.c-date__month {
    padding-inline: 0.3ex;
}

.c-datepicker {
    width: 320px;
    border: none;
    box-shadow: var(--box-shadow-xl);
}

/* Vendor specific overrides */
.air-datepicker {
    --adp-accent-color: var(--primary);
    --adp-background-color-active: var(--surface-container-highest);
    --adp-background-color-hover: var(--secondary-container);
    --adp-background-color-selected-other-month-focused: var(--surface-container-highest);
    --adp-background-color: var(--surface-container-lowest);
    --adp-border-color-inline: var(--outline);
    --adp-btn-border-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    --adp-btn-color-hover: var(--on-secondary-container);
    --adp-btn-color: var(--secondary);
    --adp-cell-background-color-selected-hover: var(--secondary-container);
    --adp-cell-background-color-selected: var(--secondary-container);
    --adp-cell-border-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    --adp-color-current-date: var(--secondary);
    --adp-color-disabled: var(--on-surface-variant);
    --adp-color-other-month-hover: var(--on-surface-container);
    --adp-color-other-month: var(--on-surface-variant);
    --adp-color-secondary: var(--on-surface-container);
    --adp-color: var(--secondary);
    --adp-day-cell-height: 44px;
    --adp-day-name-color: var(--on-surface-variant);
    --adp-font-family: var(--roboto-mono);
    --adp-font-size: var(--fs-s);
    --adp-padding: var(--space-s);
    --adp-poiner-border-radius: 0; /* --adp-pointer-border-radius: 0; -- TODO: Replace with this, when typo is fixed. */
    --adp-pointer-offset: var(--space-m);
    --adp-pointer-size: 1rem;
    --adp-time-track-color-hover: var(--secondary-bright-fixed);
    --adp-time-track-color: var(--secondary);
    --adp-transition-duration: var(--duration-short);
    --adp-z-index: 9991;
}

.air-datepicker-nav--title,
.air-datepicker-cell.-month- {
    text-transform: capitalize;
}

.air-datepicker.-active-:not(.-custom-position-) {
    transform: translateY(var(--space-s));
}

/* Overrides to default vendor CSS */
.air-datepicker--pointer::after {
    border: none;
    background: var(--surface-container-lowest);
}

.air-datepicker-cell.-current- {
    border: 3px solid var(--primary);
    color: var(--on-primary-container);
    background: var(--primary-container);
}

.air-datepicker-cell.-selected-,
.air-datepicker-cell.-selected-.-other-month-,
.air-datepicker-cell.-selected-.-focus- {
    border: 3px solid var(--secondary);
}

.air-datepicker-cell.-focus-,
.air-datepicker-cell.-current-.-focus-,
.air-datepicker-cell.-selected-,
.air-datepicker-cell.-selected-.-current-,
.air-datepicker-cell.-selected-.-other-month-,
.air-datepicker-cell.-selected-.-focus- {
    color: var(--on-surface-container);
}

.air-datepicker-cell.-selected- {
    border-color: var(--secondary);
    font-weight: var(--fw-boldest);
}

.air-datepicker-cell.-disabled-,
.air-datepicker-cell.-disabled-.-focus- {
    background: transparent;
    font-style: italic;
    opacity: 0.7;
    cursor: not-allowed;
}

.air-datepicker-time--row input[type='range']::-webkit-slider-thumb {
    border-color: var(--primary);
    border-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
}

.air-datepicker-time--row input[type='range']:hover::-webkit-slider-thumb {
    border-color: var(--primary);
}

.air-datepicker-time--row input[type='range']:focus::-webkit-slider-thumb {
    background: var(--secondary-container);
}

.air-datepicker-time--row input[type='range']::-moz-range-thumb {
    border-color: var(--primary);
    border-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
}

.air-datepicker-time--row input[type='range']:hover::-moz-range-thumb {
    border-color: var(--primary);
}

.air-datepicker-time--row input[type='range']:focus::-moz-range-thumb {
    background: var(--secondary-container);
}

.c-details {
    margin-bottom: var(--space-s);
    padding: var(--space-m) var(--space-l);
    border: 2px solid var(--border-color, var(--primary));
    border-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
}

.c-details > summary {
    --outline-offset: 0.2rem;
    display: flex;
    align-items: center;
    gap: var(--space-s);
    margin: 0;
    color: var(--label-color, var(--primary));
    font-weight: var(--fw-bold);
    cursor: pointer;
}

.c-details > *:last-child {
    margin-bottom: 0;
}

.c-details--justify > summary::before {
    order: 1;
    margin-left: auto;
}

.c-details > summary::marker {
    content: '';
}

.c-details > summary::before {
    flex-shrink: 0;
    content: '';
    -webkit-mask: var(--arrow);
            mask: var(--arrow);
    width: 0.75rem;
    height: 0.75rem;
    background-color: currentColor;
    transition: transform var(--duration-short) var(--ease-out);
}

.c-details[open] > summary::before {
    transform: rotate(180deg);
}

/* stylelint-disable selector-pseudo-element-no-unknown */
.c-details::details-content {
    height: 0;
    overflow: clip;
    overflow-clip-margin: 2px;
    transition: height var(--duration-medium) var(--ease-out), content-visibility var(--duration-medium) var(--ease-out) allow-discrete;
}

.c-details[open]::details-content {
    height: auto;
}
/* stylelint-enable selector-pseudo-element-no-unknown */

.c-dialog {
    --border-radius: var(--dialog-radius, var(--surface-radius, var(--r-m)));
    width: auto;
    max-width: min(98%, 800px);
    margin: auto;
    padding: var(--space-xl);
    border: none;
    border-radius: var(--border-radius);
    color: var(--on-surface-container);
    background: var(--surface-container);
    box-shadow: var(--box-shadow-xl);
    animation: dialog-in var(--duration-short) var(--ease-out) forwards;
    overscroll-behavior: contain;
}

.c-dialog__body {
    padding: var(--space-xs);
    overflow: auto;
}

.c-dialog::backdrop {
    background-color: rgba(0, 0, 0, 0.2);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
}

.c-dialog--generated-modal,
.c-dialog--video {
    padding: 0;
}

.c-dialog__iframe {
    display: block;
    width: 100%;
    min-height: 75svh;
    padding: 0;
    background: var(--surface-container);
}

.c-dialog--document {
    max-width: min(98%, 1200px);
}

.c-dialog__iframe--video {
    min-height: auto;
    aspect-ratio: 16 / 9;
    background: #000;
}

.c-dialog__title:not(.c-dialog__title--center) {
    position: -webkit-sticky;
    position: sticky;
    top: calc(-1 * var(--space-xl));
    margin: calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl)) var(--space-xl);
    padding: var(--space-s) var(--space-xl);
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
    color: var(--on-surface-container);
    background: var(--surface-container-highest);
    font: var(--font-title);
}

.c-dialog__title--center {
    text-align: center;
    font: var(--font-title);
}

.c-dialog form:has(.c-dialog__close),
.c-dialog__close {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
}

.c-dialog__close {
    left: calc(50% - 1.05em);
    width: 2.1em;
    height: 2.1em;
    margin: 0.25em 0;
    padding: 0.1em;
    border: none;
    border-radius: 50%;
    box-shadow: var(--box-shadow-m);
    text-align: center;
    color: var(--on-negative-bright-fixed);
    background: var(--negative-bright-fixed);
    font: var(--font-label-small);
    cursor: pointer;
    z-index: 1;
}

.c-dialog__close:hover {
    box-shadow: var(--box-shadow-m), var(--hover-shadow);
}

.c-dialog__close:focus-visible {
    outline-color: var(--negative-bright-fixed);
}

.c-dialog__close:active {
    box-shadow: var(--box-shadow-m), var(--active-shadow);
}

@media screen and (min-width: 768px) {
    .c-dialog {
        margin: auto;
    }

    .c-dialog__title:not(.c-dialog__title--center) {
        padding-right: 3rem;
    }

    .c-dialog form:has(.c-dialog__close),
    .c-dialog__close {
        position: absolute;
        top: 0;
        right: 0;
        bottom: auto;
        left: auto;
    }

    .c-dialog__close {
        margin: 0.3em;
    }
}

.c-fieldset {
    padding-top: var(--space-s);
    border-top: 1px dashed var(--outline-variant);
}

.c-fieldset legend {
    padding-right: var(--space-s);
}

.c-form-control {
    display: block;
    padding: 0;
    box-sizing: border-box;
}

.c-form-control:has(+ :where(.c-form-control)) {
    padding-bottom: var(--space-m);
}

.c-form-control:has([required]) > .c-label {
    position: relative;
}

.c-form-control:has([required]) > .c-label:first-child::after,
.c-form-control > .c-label > span[title] {
    position: absolute;
    display: inline-flex;
    content: '*' / 'Required';
    padding: 0.2rem;
    opacity: 0.8;
    font-weight: var(--fw-boldest);
}

.c-form-control:has([required]) > .c-label > span[title] {
    display: none;
}

.c-form-control input::placeholder {
    color: var(--on-surface-variant);
    font-style: italic;
    opacity: 0.8;
}

.c-form-control > input:not([type='checkbox'], [type='radio'], [type='range'], [type='submit']),
.c-form-control > textarea {
    width: 100%;
    padding: var(--space-m) var(--space-l);
    border-style: none;
    border-radius: var(--input-radius, var(--r-l));
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    font: var(--font-body);
    box-shadow: inset 0 0 0 1px var(--outline-variant), inset 1px 1px 0 2px rgb(128 128 128 / 0.3);
    -webkit-appearance: none;
            appearance: none;
}

.c-form-control--small > input:not([type='submit']),
.c-form-control--small > textarea {
    padding: var(--space-s) var(--space-m);
    border-radius: var(--input-radius, var(--r-m));
    font: var(--font-body-small);
}

.c-form-control--large > input:not([type='submit']),
.c-form-control--large > textarea {
    padding: var(--space-m) var(--space-l);
    font: var(--font-body-large);
}

.c-form-control > input:not([type='submit']):focus-visible,
.c-form-control > textarea:focus-visible {
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
}

.c-form-control > input[type='number'] {
    -webkit-appearance: textfield;
            appearance: textfield;
    /* stylelint-disable-next-line */
    -moz-appearance: textfield;
}

.c-form-control > input[type='number']::-webkit-outer-spin-button,
.c-form-control > input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
            appearance: none;
    margin: 0;
}

.c-form-control > input[type]:disabled,
.c-form-control > textarea:disabled {
    font-style: italic;
    cursor: not-allowed;
    box-shadow: inset 0.5px 0.5px 0 1px rgb(128 128 128 / 0.3);
}

.c-form-control > input[type='color'] {
    height: 2em;
    padding: 0 0.125rem;
}

.c-form-control input::-webkit-calendar-picker-indicator {
    filter: var(--invert);
}

.c-form-control > select {
    width: 100%;
    padding: var(--space-m) var(--space-l);
}

.c-form-control > select:not(.c-select) {
    padding-right: 2rem;
    border-style: none;
    border-radius: var(--input-radius, var(--r-l));
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    font: var(--font-body);
    cursor: pointer;
    box-shadow: inset 0 0 0 1px var(--outline-variant), inset 1px 1px 0 2px rgb(128 128 128 / 0.3);
    -webkit-appearance: none;
            appearance: none;
}

.c-form-control--small > select {
    padding-block: var(--space-s);
    font: var(--font-body-small);
}

.c-form-control > select[multiple] {
    padding: 0 1px;
}

.c-form-control option {
    padding: var(--space-s) var(--space-l);
    color: var(--on-surface-container);
    font-size: var(--fs-s);
}

.c-form-control option:is(:checked) {
    font-weight: var(--fw-bold);
}

.c-form-control > input[list]:hover,
.c-form-control > select:not([multiple], .c-select) {
    color: var(--on-surface-container);
    background-image: var(--arrow);
    background-repeat: no-repeat;
    background-position: calc(100% - 1rem) 50%;
    background-size: 0.75rem;
}

.c-form-control > input[list]::-webkit-calendar-picker-indicator {
    display: none !important;
}

.c-form-control--group {
    display: flex;
}

.c-form-control--group .c-button {
    flex-shrink: 0;
    border-radius: var(--input-radius, var(--r-l));
}

.c-form-control--group :is(input, select, .c-button):not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.c-form-control--group:not(.c-form-control--compact) :is(input, select):not(:first-child),
.c-form-control--group :is(.c-button):not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.c-form-control--group :is(input, select) + .c-button {
    align-content: center;
}

.c-form-control--group .c-button--ghost + .c-button--ghost {
    margin-left: 0.0625rem;
}

.c-form-control--group .c-button + .c-button:not(.c-button--ghost) {
    border-left: 1px solid transparent;
}

.c-form-control--inline {
    display: inline-block;
    padding-right: 0.5rem;
}

.c-form-control--compact {
    position: relative;
    margin-top: 1.4rem;
}

.c-form-control--compact > label {
    --offset: translate3d(var(--space-l), 1rem, 0);
    position: absolute;
    left: 0;
    transform: var(--offset);
    transition: transform var(--duration-short) var(--ease-out);
    pointer-events: none;
}

.c-form-control--compact.c-form-control--large > label {
    --offset: translate3d(var(--space-l), 1.3rem, 0);
}

@media screen and (prefers-reduced-motion: reduce) {
    .c-form-control--compact > label {
        transition: none;
    }
}

/* Move the label when the input is focused or has a value */
.c-form-control--compact:has(:is(:placeholder-shown, :user-valid, :user-invalid, [value]:not([type='submit']))) > label,
.c-form-control--compact:focus-within > label {
    --offset: translate3d(0, -1.5em, 0);
    pointer-events: all;
}

.c-form-control.has-error > label,
.c-form-control:has(:is(:user-invalid)) > label,
.c-form-control .input-validation-error ~ label {
    --label-color: var(--negative);
    text-shadow: 1px -1px var(--on-negative), -1px 1px var(--on-negative), 1px 1px var(--on-negative), -1px -1px var(--on-negative);
}

.c-form-control .validate-input.error,
.c-form-control .input-validation-error,
.c-form-control .input-validation-error:focus,
.c-form-control.has-error > .c-select,
.c-form-control.has-error > input,
.c-form-control.has-error > input:focus,
.c-form-control input:user-invalid {
    --offset-color: var(--negative);
    box-shadow: inset 0 0 0 2px var(--negative-container), inset 2px 2px 0 2px rgb(128 128 128 / 0.3) !important;
}

.c-form-control .validate-input.error:hover,
.c-form-control .input-validation-error:hover,
.c-form-control.has-error > input:hover {
    box-shadow: inset 0 0 0 2px var(--negative-container), inset 2px 2px 0 2px rgb(128 128 128 / 0.3) !important;
}

.c-form-control .input-validation-error + .c-box--negative,
.c-form-control.has-error .c-select + .c-box--negative,
.c-form-control.has-error .chosen-container + .c-box--negative {
    margin-top: calc(-1 * var(--input-radius, 0));
    padding-top: calc(var(--space-s) + var(--input-radius, 0));
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    outline: none;
}

/* Checkboxes and Radio buttons */
.c-form-control > [type='checkbox'],
.c-form-control > [type='radio'] {
    position: absolute;
    width: auto;
    opacity: 0;
    cursor: pointer;
}

.c-form-control > [type='checkbox'] ~ label,
.c-form-control > [type='radio'] ~ label {
    display: inline-block;
    line-height: var(--space-xl);
    vertical-align: middle;
    position: relative;
    padding: 0 0.2em 0.2em 2em;
    color: var(--label-color, var(--primary));
    cursor: pointer;
    -webkit-user-select: none;
            user-select: none;
}

.c-form-control > [type='checkbox'] ~ label::after,
.c-form-control > [type='radio'] ~ label::after {
    position: absolute;
    content: '';
    width: 1.5em;
    height: 1.5em;
    top: 0;
    left: 0;
    border: 0.16em solid;
    border-radius: 0.25em;
    background-color: color-mix(in oklab, var(--surface-container-lowest) 50%, transparent);
}

.c-form-control > [type='checkbox'][required]:not(:checked) ~ label,
.c-form-control > [type='radio'][required]:not(:checked) ~ label {
    font-weight: var(--fw-boldest);
}

.c-form-control > [type='checkbox'] ~ label::before {
    --svg: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTE4IDE4SDBWMGgxOHpNNyAxMC42IDQuNCA4IDMgOS40bDQgNCA4LThMMTMuNiA0eiIvPgo8L3N2Zz4=');
    position: absolute;
    content: '';
    width: 1.5em;
    height: 1.5em;
    top: 0;
    left: 0;
    border-radius: 0.25em;
    background-color: currentColor;
    opacity: 0;
    -webkit-mask: var(--svg);
            mask: var(--svg);
    z-index: 1;
}

/* ...read only states */
.c-form-control input:not([type='checkbox'], [type='radio']):read-only,
.c-form-control textarea:read-only {
    color: var(--on-surface-variant);
    outline: none;
    opacity: 0.8;
}

/* ...disabled states */
.c-form-control > [type='checkbox']:disabled ~ label,
.c-form-control > [type='radio']:disabled ~ label {
    font-style: italic;
    filter: contrast(0);
    cursor: not-allowed;
}

.c-form-control > [type='checkbox']:disabled ~ label::before,
.c-form-control > [type='radio']:disabled ~ label::before,
.c-form-control > [type='checkbox']:disabled ~ label::after,
.c-form-control > [type='radio']:disabled ~ label::after {
    border-color: var(--on-surface-variant);
}

.c-form-control > [type='checkbox']:disabled ~ label::after,
.c-form-control > [type='radio']:disabled ~ label::after {
    opacity: 0.5;
}

/* Checkboxes */
.c-form-control > [type='checkbox'] ~ label:hover::before {
    opacity: 0.1;
}

.c-form-control > [type='checkbox'] ~ label:active::before {
    opacity: 0.3;
}

.c-form-control > [type='checkbox']:checked ~ label::before {
    opacity: 1;
}

/* Radio buttons */
.c-form-control > [type='radio'] ~ label::before {
    --svg: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjUiIGZpbGw9IiMwMDAiLz4KPC9zdmc+');
    position: absolute;
    content: '';
    width: 1.5em;
    height: 1.5em;
    top: 0;
    left: 0;
    border-color: transparent;
    border-radius: 50%;
    background-color: currentColor;
    opacity: 0;
    -webkit-mask: var(--svg);
            mask: var(--svg);
    z-index: 1;
    transition: opacity var(--duration-short) var(--ease-in-out);
}

.c-form-control > [type='radio'] ~ label:hover::before,
.c-form-control > [type='radio']:hover ~ label::before {
    opacity: 0.3;
}

.c-form-control > [type='radio']:checked ~ label::before {
    opacity: 1;
    transition: opacity var(--duration-short) var(--ease-in-out);
}

.c-form-control > [type='radio'] ~ label::after {
    border-radius: 50%;
}

/*
 * Chosen (vendor plugin) overrides
 */
/* stylelint-disable selector-no-qualifying-type */
.chosen-container {
    min-width: 80px;
    border-radius: var(--input-radius, var(--r-l));
    background: var(--surface-container-lowest);
    font: var(--font-body);
    text-align: left;
}

.chosen-container-single .chosen-single,
.chosen-container-active .chosen-single,
.chosen-container-active.chosen-with-drop .chosen-single,
.chosen-container-multi .chosen-choices {
    padding-left: var(--space-l);
    height: auto;
    border-style: none;
    border-radius: var(--input-radius, var(--r-l));
    box-shadow: inset 0 0 0 1px var(--outline-variant), inset 1px 1px 0 2px rgb(128 128 128 / 0.3);
    background: none;
    color: var(--on-surface-container);
    line-height: var(--lh-m);
}

.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices,
.chosen-container-active.chosen-with-drop .chosen-single {
    outline: 2px solid var(--outline);
}

.has-error .c-select,
.has-error .chosen-container .chosen-single,
.input-validation-error + .chosen-container .chosen-single {
    box-shadow: inset 0 0 0 2px var(--negative-container), inset 2px 2px 0 2px rgb(128 128 128 / 0.3);
}

.chosen-container-multi .chosen-choices {
    padding-left: 10px;
    padding-right: 1.5rem;
}

.chosen-container-multi .chosen-choices li.search-field,
.chosen-container-single .chosen-single span {
    margin-right: 32px;
    padding: var(--space-m) 0;
}

.chosen-container .chosen-results li.no-results {
    color: var(--on-tertiary-container);
    background: var(--tertiary-container);
}

.chosen-container-active .chosen-choices li.search-field input[type='text'] {
    margin: -1px 0 3px 6px;
    color: inherit !important;
}

/* Based on .c-pill--removable: */
.chosen-container-multi .chosen-choices li.search-choice {
    position: relative;
    display: inline-block;
    max-width: 15em;
    margin: 0.75rem 6px 0 0;
    padding: 4px 32px 4px 12px;
    overflow: hidden;
    border: 2px solid var(--outline);
    border-radius: 14px;
    box-shadow: none;
    color: var(--on-primary-container);
    background: var(--primary-container);
    font: var(--font-body-small);
    white-space: nowrap;
    text-decoration: none;
    text-overflow: ellipsis;
    vertical-align: middle;
    flex-shrink: 0;
}

/* Identical to .c-pill__button: */
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    float: right;
    width: 25px;
    height: auto;
    padding: 0;
    border: none;
    color: var(--on-negative-bright-fixed);
    background: var(--negative-bright-fixed);
    font: var(--font-label-small);
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    cursor: pointer;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before,
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::after {
    content: '';
    display: block;
    position: absolute;
    top: 6px;
    left: 10px;
    width: 0;
    height: 12px;
    border-left: 2px solid var(--on-negative);
    transform: rotate(45deg);
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::after {
    transform: rotate(-45deg);
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover,
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:focus,
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:active {
    background: var(--negative);
}

.chosen-container.chosen-with-drop {
    background: var(--surface-container-lowest);
}

.chosen-container .chosen-drop {
    width: auto;
    min-width: 100%;
    margin-top: 3px;
    padding-top: 0;
    border-style: none;
    border-radius: var(--input-radius, var(--r-l));
    box-shadow: var(--box-shadow-xl);
    background: var(--surface-container-lowest);
    overflow: hidden;
}

.chosen-container-single .chosen-search input[type='text'] {
    padding: var(--space-s) var(--space-m);
    border-radius: var(--input-radius, var(--r-l));
    border-color: var(--outline-variant);
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    font: var(--font-body-small);
}

.chosen-container .chosen-results {
    margin: 0;
    padding: 0;
    max-height: min(22vh, 253px);
}

.chosen-container::after {
    position: absolute;
    top: 50%;
    right: var(--space-l);
    content: ' ';
    height: 0;
    width: 0;
    margin-top: -4px;
    border: 6px solid transparent;
    border-top-color: currentColor;
    pointer-events: none;
}

.chosen-with-drop::after {
    margin-top: -12px;
    border-top-color: transparent;
    border-bottom-color: currentColor;
}

.chosen-container .chosen-results li {
    padding: var(--space-m) var(--space-l) var(--space-m) 2rem;
    font-size: var(--fs-s);
}

.chosen-container .chosen-results li.active-result {
    color: var(--on-surface-container);
}

.chosen-container .chosen-results li.active-result:first-child {
    white-space: nowrap;
}

.chosen-container .chosen-results li.highlighted {
    color: var(--on-surface-container);
    background: var(--surface-container-high);
}

.chosen-container .chosen-results li.result-selected {
    color: var(--on-surface-container);
    background: var(--surface-container-high) var(--tick) no-repeat 5px 50% / 1.2rem auto;
    font-weight: var(--fw-bold);
}

.chosen-container-single .chosen-single abbr,
.chosen-container-single .chosen-single div b,
.chosen-container-single .chosen-search input[type='text'],
.chosen-container-multi .chosen-choices .search-choice .search-choice-close,
.chosen-container .chosen-results-scroll-down span,
.chosen-container .chosen-results-scroll-up span {
    background-image: none !important;
}
/* stylelint-enable selector-no-qualifying-type */

.c-label-button {
    display: inline-flex;
    min-width: 44px;
    margin: 4px 4px 8px;
    padding: var(--space-xs) var(--space-s);
    border: none;
    border-radius: var(--button-radius, var(--surface-radius, var(--r-m)));
    font: var(--font-title-large);
    font-weight: var(--fw-regular);
    justify-content: center;
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    box-shadow: 0 0 0 1px var(--outline-variant);
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
}

.c-label-button--small {
    font: var(--font-title-small);
    font-weight: var(--fw-regular);
}

.c-label-button input {
    position: absolute;
    opacity: 0;
}

.c-label-button:hover,
.c-label-button:focus-within {
    box-shadow: 0 0 0 2px var(--outline);
}

.c-label-button:active,
.c-label-button:has(:checked) {
    box-shadow: 0 0 0 0.1em currentColor;
    color: contrast-color(var(--selected-color, var(--secondary-container)));
    background: var(--selected-color, var(--secondary-container));
}

.c-label-button:has([disabled]) {
    cursor: not-allowed;
    filter: grayscale(1);
}

.c-label {
    color: var(--label-color, var(--primary));
    font: var(--font-label-small);
    font-weight: var(--fw-bold);
    text-decoration: none;
    text-transform: uppercase;
    white-space: normal;
    text-overflow: ellipsis;
    overflow: hidden;
    /* stylelint-disable-next-line */
    -webkit-text-size-adjust: 100%;
}

.c-label > a {
    position: relative;
    z-index: 1;
    color: inherit;
}

.c-list {
    position: relative;
}

.c-list ul,
.c-list ol {
    margin-bottom: 0;
    list-style: none;
    line-height: var(--lh-s);
}

.c-list > ul,
.c-list > ol {
    margin-left: 0;
}

.c-list__title {
    display: block;
    margin-top: 0;
    margin-bottom: 0.25em;
    font-size: var(--font-label);
    letter-spacing: var(--ls-l);
}

.c-list li {
    padding: 0.25em 0 0.5em;
}

.c-list--sparse li {
    padding-bottom: 0.8rem;
}

.c-list__image {
    margin: 0 0.25em 3px 0;
    vertical-align: middle;
}

.c-list a:hover,
.c-list a:focus,
.c-list a:active {
    text-decoration: none;
}

/* Dotted list */
.c-list--dots li::before {
    content: '• ';
    color: var(--secondary-bright-fixed);
    font-size: 1.5em;
    line-height: 0.9;
    vertical-align: middle;
}

/* Inline variant */
.c-list--inline > ul,
.c-list--inline > ol {
    margin-bottom: 0;
    padding-bottom: 0;
}

.c-list--inline li {
    display: inline-block;
    padding: 0.25em 0.5rem 0.25em 0;
}

.c-list--inline.c-list--sparse li {
    padding: 0.25em 1rem 0.75em 0;
}

.c-list--inline li:last-child,
.c-list--inline.c-list--sparse li:last-child {
    padding-right: 0;
}

/* Alt font variant */
.c-list--alt {
    font-size: var(--fs-s);
    font-family: var(--roboto-mono);
}

.c-map {
    display: block;
    width: 100%;
    min-height: 300px;
    border-radius: var(--media-radius, var(--surface-radius, var(--r-m)));
    overflow: hidden;
    object-fit: cover;
    z-index: 1;
}

.c-modal {
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: opacity var(--duration-short) var(--ease-in-out);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    will-change: opacity;
}

.c-modal__wrap {
    top: 6px;
    top: calc(env(safe-area-inset-top) + 6px);
    right: 0;
    right: env(safe-area-inset-right);
    bottom: 6px;
    bottom: calc(env(safe-area-inset-bottom) + 6px);
    left: 0;
    left: env(safe-area-inset-left);
    width: 98%;
    width: calc(98% - env(safe-area-inset-left) - env(safe-area-inset-right));
    margin-inline: auto;
}

.c-modal__wrap::before {
    margin-right: 0;
    vertical-align: bottom;
}

@media screen and (min-width: 576px) {
    .c-modal__wrap {
        top: 16px;
        top: calc(env(safe-area-inset-top) + 16px);
        width: calc(98% - 26px);
        width: calc(98% - env(safe-area-inset-left) - env(safe-area-inset-right) - 26px);
    }

    .c-modal__wrap::before {
        vertical-align: middle;
    }
}

@media screen and (min-width: 1200px) {
    .c-modal__wrap {
        max-width: 50em;
    }
}

.lity-loading .c-modal__body,
.lity-opened .c-modal__body,
.lity-closed .c-modal__body {
    transform: none;
}

.lity-opened .c-modal__body {
    animation: dialog-in var(--duration-short) var(--ease-out) forwards;
}

.lity-closed .c-modal__body {
    animation: dialog-out var(--duration-short) var(--ease-out) forwards;
}

.c-modal__body::after {
    box-shadow: var(--box-shadow-xl);
}

.c-modal__body canvas {
    max-width: 100%;
}

.c-modal__close,
.c-modal__close:hover,
.c-modal__close:focus,
.c-modal__close:active,
.c-modal__close:visited {
    position: absolute;
    top: auto;
    right: auto;
    bottom: -26px;
    left: calc(50% - 22px);
    width: 44px;
    height: 44px;
    padding-bottom: 2px;
    border-radius: 50%;
    box-shadow: var(--box-shadow-xl);
    color: var(--on-negative);
    background: var(--negative);
    text-align: center;
    text-shadow: none;
}

.c-modal__close {
    -webkit-clip-path: circle(0%);
            clip-path: circle(0%);
    animation: reveal-circle var(--duration-short) var(--ease-in-out) forwards var(--duration-short);
}

@media screen and (min-width: 576px) {
    .c-modal__close,
    .c-modal__close:hover,
    .c-modal__close:focus,
    .c-modal__close:active,
    .c-modal__close:visited {
        top: -15px;
        right: -15px;
        bottom: auto;
        left: auto;
    }
}

.c-modal__close:hover,
.c-modal__close:focus,
.c-modal__close:active {
    color: var(--on-negative);
    background: var(--negative);
}

.c-modal.lity-closed .c-modal__close {
    opacity: 0;
}

.c-modal__container {
    bottom: 26px;
    bottom: calc(26px - env(safe-area-inset-bottom));
    min-height: 1em;
    min-width: 8em;
}

@media screen and (min-width: 576px) {
    .c-modal__container {
        bottom: 0;
    }
}

.c-modal .lity-iframe-container {
    height: calc(100svh - 44px) !important;
    overflow: auto;
    overscroll-behavior-y: contain;
    border-radius: var(--dialog-radius, var(--surface-radius, var(--r-m)));
}

/* Display otherwise hidden content that will appear in open modals */
.c-modal__body > .u-hidden {
    display: block !important;
    max-height: calc(100svh - 44px) !important;
    border: none;
    overflow: auto;
    overscroll-behavior-y: contain;
}

/* Loader */
.c-modal .lity-loader,
.c-modal .lity-iframe-container iframe {
    box-shadow: none;
}

@media screen and (prefers-reduced-motion: reduce) {
    .c-modal {
        transition: none;
    }

    .lity-opened .c-modal__body,
    .lity-closed .c-modal__body {
        animation: none;
    }

    .c-modal__close {
        animation: none;
        -webkit-clip-path: none;
                clip-path: none;
    }
}

/* Fix for nested Dialogs */
.c-modal .c-dialog {
    margin-bottom: -16px;
}

.c-modal .c-dialog__close-button {
    display: none;
}

.c-multi-select {
    height: 200px;
    margin: 0;
    list-style: none;
    overflow-y: scroll;
    /* stylelint-disable declaration-colon-newline-after, function-linear-gradient-no-nonstandard-direction */
    background: linear-gradient(in oklab to bottom, var(--surface-container-lowest) 30%, rgba(255, 255, 255, 0)) 0 0%,
        linear-gradient(in oklab to bottom, rgba(255, 255, 255, 0), var(--surface-container-lowest) 70%) 0 100%,
        radial-gradient(farthest-side at 50% 0% in oklab, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 0%,
        radial-gradient(farthest-side at 50% 100% in oklab, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
    /* stylelint-enable declaration-colon-newline-after, function-linear-gradient-no-nonstandard-direction */
    background-repeat: no-repeat;
    background-color: var(--surface-container-lowest);
    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
    background-attachment: local, local, scroll, scroll;
    font: var(--font-label-small);
}

.c-multi-select > li {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: var(--space-s) 2.5rem var(--space-s) var(--space-s);
    padding-right: 2.5rem;
    border-bottom: 1px dashed var(--outline-variant);
    -webkit-user-select: none;
            user-select: none;
    cursor: pointer;
}

.c-multi-select--draggable > li {
    position: relative;
    padding-left: 2em;
}

.c-multi-select--draggable > li::before {
    content: '↕️';
    position: absolute;
    width: 2em;
    top: 0.2em;
    left: 0;
    padding: 0.5em;
    text-align: center;
    cursor: grab;
}

.c-multi-select > li:hover,
.c-multi-select > li:focus-visible {
    --outline-offset: -0.1rem;
    background: var(--surface-container-lowest);
}

.c-multi-select > li:active {
    background: var(--secondary-container);
}

.c-multi-select > li > b {
    margin: 0 var(--space-xs) var(--space-xs) 0;
}

.c-multi-select .c-button {
    position: absolute;
    top: var(--space-s);
    right: var(--space-s);
    min-width: 1.3em;
    margin-left: auto;
    padding: 0;
    line-height: inherit;
}

.c-multi-select > li:hover .c-button--positive {
    color: var(--on-positive);
    background: var(--positive);
}

.c-multi-select > li:hover .c-button--negative {
    color: var(--on-negative);
    background: var(--negative);
}

.c-note {
    padding: var(--space-xs) var(--space-s);
    border-left: 2px solid var(--border-color, var(--secondary-bright-fixed));
    font: var(--font-label-small);
    letter-spacing: var(--ls-l);
}

* + .c-note {
    margin-top: var(--space-xs);
}

.c-note:has(> svg) {
    display: flex;
    align-items: center;
    gap: var(--space-s);
}

.c-note--warning {
    border-left-color: var(--tertiary-bright-fixed);
}

.c-note--positive {
    border-left-color: var(--positive-bright-fixed);
}

.c-note--negative {
    border-left-color: var(--negative-bright-fixed);
}

.c-pager {
    max-width: 100%;
    justify-content: center;
    white-space: nowrap;
    overflow: auto;
}

.c-pager__page {
    --outline-offset: -0.1rem;
    margin-bottom: 2px;
}

.c-pager__page--selected,
.c-pager__page--selected:hover,
.c-pager__page--selected:focus-visible {
    box-shadow: var(--box-shadow-s), 0 2px 0 var(--secondary-bright-fixed);
}

.c-pill {
    position: relative;
    display: inline-block;
    max-width: 20em;
    padding: var(--space-xs) var(--space-m);
    overflow: clip;
    border: none;
    border-radius: var(--r-xl);
    color: var(--on-primary);
    background: var(--primary);
    font: var(--font-label-small);
    white-space: nowrap;
    text-decoration: none;
    text-overflow: ellipsis;
    vertical-align: middle;
    flex-shrink: 0;
    transition: max-width var(--duration-short) var(--ease-in-out) var(--duration-medium);
}

.c-pill:has(.c-pill__button:focus-visible) {
    overflow-clip-margin: 2px;
}

.c-pill:has(span:not(.c-pill__button):hover) {
    max-width: 100%;
}

.c-pill--large {
    padding: var(--space-s) var(--space-l);
    border-radius: var(--r-xxxl);
}

.c-pill--removable {
    padding-right: 32px;
}

summary .c-pill {
    margin-left: var(--space-xs);
}

.c-pill[href]:hover span:not(.c-pill__prefix) {
    text-decoration: underline;
}

.c-pill__prefix {
    margin-right: var(--space-xs);
    opacity: 0.75;
    font-weight: var(--fw-boldest);
    text-decoration: none;
}

.c-pill__button {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 26px;
    height: auto;
    padding: 0;
    border: none;
    color: var(--on-negative-bright-fixed);
    background: var(--negative-bright-fixed);
    font: var(--font-label-small);
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    cursor: pointer;
}

.c-pill__button:hover {
    box-shadow: var(--hover-shadow);
}

.c-pill__button:focus-visible {
    outline-color: var(--negative-bright-fixed);
    box-shadow: var(--focus-shadow);
}

.c-pill__button:active {
    box-shadow: var(--active-shadow);
}

.c-pill__button::before,
.c-pill__button::after {
    content: '';
    display: block;
    position: absolute;
    top: 6px;
    left: 10px;
    width: 0;
    height: 12px;
    border-left: 2px solid var(--on-negative-bright-fixed);
    transform: rotate(45deg);
}

.c-pill__button::after {
    transform: rotate(-45deg);
}

.c-pill--ghost,
.c-pill--ghost:hover,
.c-pill--ghost:focus,
.c-pill--ghost:active {
    background: transparent;
    box-shadow: 0 0 0 1px currentColor;
    color: var(--primary);
}

[class*='u-color-'].c-pill--ghost {
    background-color: transparent !important;
    box-shadow: 0 0 0 1px var(--bg);
    color: var(--bg);
}

.c-plus-minus {
    display: inline-flex;
    padding: 0;
}

.c-plus-minus.is-disabled {
    opacity: 0.8;
    pointer-events: none;
}

.c-plus-minus .c-button {
    line-height: var(--lh-s);
}

/* Decrease */
.c-plus-minus > .c-button--negative {
    padding: 0.4em 0.8em 0.4em 0.9em;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Increase */
.c-plus-minus > .c-button--positive {
    padding: 0.4em 0.85em 0.4em 0.75em;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Decrease (if no content) */
.c-plus-minus > .c-button--negative:empty::before {
    content: '-' / 'Decrease';
}

/* Increase (if no content) */
.c-plus-minus > .c-button--positive:empty::before {
    content: '+' / 'Increase';
}

/* Amount indicator */
.c-plus-minus .c-plus-minus__amount {
    --input-radius: 0;
    padding: 5px 0;
    border-radius: 0;
    border: none;
    color: inherit;
    background: none;
    font: var(--font-body);
    text-align: center;
    box-shadow: none;
}

.c-plus-minus .c-plus-minus__amount::-webkit-inner-spin-button {
    display: none;
}

/* stylelint-disable-next-line */
.c-plus-minus span.c-plus-minus__amount {
    align-self: center;
}

.c-popup {
    position: relative;
    width: 320px;
    max-width: calc(100vw - 50px);
    margin: 3px var(--space-m);
    border: none;
    border-radius: var(--popup-radius, var(--surface-radius, var(--r-m)));
    box-shadow: var(--box-shadow-xl);
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    font: var(--font-body-small);
    cursor: default;
    z-index: 2;
}

.c-popup__title {
    margin: var(--space-m) auto;
    font: var(--font-body-small);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: var(--ls-xxl);
}

.c-popup__divider {
    margin: 0.5rem 0;
    border: 0;
    border-top: 1px solid var(--outline-variant);
    -webkit-appearance: none;
            appearance: none;
}

.c-popup__body {
    max-height: calc(100svh - 100px);
    padding: 0;
    overflow: auto;
    overscroll-behavior-y: contain;
}

.c-popup--top-left::before,
.c-popup--top-right::before,
.c-popup--bottom-right::before,
.c-popup--bottom-left::before {
    display: block;
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    background: inherit;
    transform: rotate(45deg);
    z-index: -1;
}

.c-popup--top-left::before {
    top: -5px;
    left: 10px;
}

.c-popup--top-right::before {
    top: -5px;
    right: 10px;
}

.c-popup--bottom-right::before {
    bottom: -5px;
    right: 10px;
}

.c-popup--bottom-left::before {
    bottom: -5px;
    left: 10px;
}

.c-popup__item {
    width: 100%;
    display: block;
    padding: 12px var(--space-l);
    border: none;
    color: inherit;
    background-color: unset;
    font: unset;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
}

.c-popup__body:first-child > *:first-child,
.c-popup__body:first-child > *:first-child:hover {
    border-top-left-radius: var(--popup-radius, var(--surface-radius, var(--r-m)));
    border-top-right-radius: var(--popup-radius, var(--surface-radius, var(--r-m)));
}

.c-popup__body:last-child > *:last-child,
.c-popup__body:last-child > *:last-child:hover {
    border-bottom-left-radius: var(--popup-radius, var(--surface-radius, var(--r-m)));
    border-bottom-right-radius: var(--popup-radius, var(--surface-radius, var(--r-m)));
}

.c-popup__body > form {
    overflow: hidden;
}

.c-popup__item.delete {
    color: var(--negative);
}

.c-popup__item.delete:hover {
    color: var(--on-negative-container);
    background-color: var(--negative-container);
}

:is(a, button).c-popup__item:hover,
:is(a, button).c-popup__item:focus-visible {
    --outline-offset: -0.1rem;
    color: var(--on-surface-container);
    background-color: var(--surface-container-high);
}

.c-popup__item--selected {
    border-left: 4px solid var(--selected-color, var(--secondary-bright-fixed));
    font-weight: var(--fw-bold);
}

.c-popup__item svg {
    flex-shrink: 0;
}

/* 1. Reset the default appearance
 * 2. Get rid of default border in Firefox. */

.c-progress[value] {
    --start: var(--secondary-bright-fixed);
    --done: var(--secondary);
    --todo: var(--secondary-container);
    position: relative;
    display: block;
    width: 100%;
    height: var(--space-xl);
    -webkit-appearance: none;
            appearance: none; /* 1 */
    border: none; /* 2 */
    border-radius: var(--r-xxxl);
    background: var(--todo);
    overflow: hidden;
}

.c-progress--alt[value] {
    --start: var(--primary-bright-fixed);
    --done: var(--primary);
    --todo: var(--primary-container);
}

.c-progress--xsmall[value] {
    height: var(--space-xs);
}

.c-progress--small[value] {
    height: var(--space-m);
}

.c-progress--large[value] {
    height: var(--space-xxxl);
}

.c-progress[value]::-webkit-progress-bar {
    border-radius: var(--r-xxxl);
    background: var(--todo);
}

.c-progress[value]::-webkit-progress-value {
    border-radius: var(--r-xxxl);
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: linear-gradient(in oklab to right, var(--start), var(--done));
}

.c-progress[value]::-moz-progress-bar {
    border-radius: var(--r-xxxl);
    background: var(--done);
}

/* Animated variant */
.c-progress--animated[value]::-webkit-progress-value {
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: var(--done) repeating-linear-gradient(in oklab to right, transparent 0%, var(--todo) 50%, transparent 100%);
    background-size: 100vw 100%;
    animation: 4s moving-gradient var(--ease-in-out) infinite;
    -webkit-transition: var(--duration-extra-long) width var(--ease-in-out);
    transition: var(--duration-extra-long) width var(--ease-in-out);
}

.c-progress--animated[value]::-moz-progress-bar {
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: var(--done) repeating-linear-gradient(in oklab to right, transparent 0%, var(--todo) 50%, transparent 100%);
    background-size: 100vw 100%;
    animation: 4s moving-gradient var(--ease-in-out) infinite;
}

/* Chrome bug fix (for not being able to animate the shadow -webkit-progress-value element) */
.c-progress--animated[value]::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    display: block;
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: repeating-linear-gradient(in oklab to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
    background-size: 75vw 100%;
    animation: 2s moving-gradient var(--ease-in-out) infinite;
}

/* Value text (if placed before the progress element) */
.c-progress__value {
    display: flex;
    font-size: var(--fs-s);
    justify-content: space-between;
}

/* ...if placed directly after the progress element */
.c-progress + .c-progress__value {
    --outline: var(--secondary-container);
    position: relative;
    width: 100%;
    justify-content: center;
    margin: -1.4em 0 0;
    color: var(--on-surface);
    font-size: var(--fs-base);
    text-shadow: 1px -1px 0 var(--outline), 1px 1px 0 var(--outline), -1px 1px 0 var(--outline), -1px -1px 0 var(--outline);
    pointer-events: none;
    -webkit-user-select: none;
            user-select: none;
}

.c-progress--large[value] + .c-progress__value {
    font-size: var(--fs-m);
}

.c-progress--small[value] + .c-progress__value {
    font-size: var(--fs-s);
}

.c-progress--alt[value] + .c-progress__value {
    --outline: var(--primary-container);
}

.c-qrcode {
    --qrcode-radius: var(--media-radius-large, var(--surface-radius-large, var(--r-l)));
    display: inline-block;
    position: relative;
    vertical-align: text-top;
    max-width: 100%;
    margin: auto !important;
    padding: var(--space-s);
    border-radius: var(--qrcode-radius);
    background: var(--white);
}

.c-qrcode > canvas,
.c-qrcode > img {
    display: block;
    max-width: 100% !important;
    height: auto !important;
}

.c-qrcode__label {
    margin-bottom: var(--space-s);
    color: var(--black);
    font: var(--font-label-large);
    font-family: var(--roboto-mono);
    text-align: center;
}

.c-qrcode--animated {
    --c-qrcode-border-color: var(--border-color, var(--secondary-bright-fixed));
}

@property --worm-phase {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0turn;
}

.c-qrcode--animated::after {
    --worm-width: 4px;
    --worm-speed: 10s;
    --worm-color: color-mix(in oklab, var(--c-qrcode-border-color) 80%, transparent);
    --worm-dash-ratio: 38%;
    --worm-gap-ratio: 12%;
    --worm-phase: 0turn;
    content: '';
    position: absolute;
    z-index: 1;
    inset: calc(-0.5 * var(--worm-width));
    border-radius: calc(var(--qrcode-radius) + var(--worm-width));
    padding: var(--worm-width);
    /* stylelint-disable-next-line declaration-colon-newline-after */
    background: conic-gradient(
        from var(--worm-phase),
        var(--worm-color) 0%,
        var(--worm-color) var(--worm-dash-ratio),
        transparent var(--worm-dash-ratio),
        transparent calc(var(--worm-dash-ratio) + var(--worm-gap-ratio)),
        var(--worm-color) 50%,
        var(--worm-color) calc(50% + var(--worm-dash-ratio)),
        transparent calc(50% + var(--worm-dash-ratio)),
        transparent 100%
    );
    background-origin: border-box;
    pointer-events: none;
    animation: worm var(--worm-speed) linear infinite;
    /* stylelint-disable property-no-vendor-prefix */
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    /* stylelint-enable property-no-vendor-prefix */
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
}

@keyframes worm {
    from {
        --worm-phase: 0turn;
    }

    to {
        --worm-phase: -1turn;
    }
}

@media (prefers-reduced-motion: reduce) {
    .c-qrcode--animated::after {
        animation: none;
    }
}

.c-quantity-stepper {
    display: grid;
    gap: var(--space-xs);
    text-align: left;
}

.c-quantity-stepper .c-plus-minus {
    display: grid;
    width: 7rem;
    aspect-ratio: 3 / 1;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    transition: grid-template-columns var(--duration-short) ease-out;
}

.c-quantity-stepper .c-plus-minus--action {
    grid-template-columns: minmax(0, 0fr) minmax(0, 0fr) minmax(0, 1fr);
    gap: 0;
}

.c-quantity-stepper__control {
    border: 1px solid var(--outline-variant);
    border-radius: calc(var(--button-radius, var(--surface-radius, var(--r-l))) + 1px);
}

.c-quantity-stepper__control.u-loading {
    position: relative;
    min-height: unset;
}

.c-quantity-stepper__control.u-loading > * {
    visibility: hidden;
}

.c-quantity-stepper__control.u-loading::before,
.c-quantity-stepper__control.u-loading::after {
    position: absolute;
    left: 50%;
    top: 35%;
}

.c-quantity-stepper .c-button {
    min-width: 0;
    padding: 0;
    box-shadow: none;
    border-radius: var(--button-radius, var(--surface-radius, var(--r-l)));
}

.c-quantity-stepper .c-plus-minus__amount,
.c-quantity-stepper .c-quantity-stepper__button--decrement {
    min-width: 0;
    overflow: hidden;
    transition: opacity var(--duration-short) ease-out, transform var(--duration-short) ease-out;
}

.c-quantity-stepper .c-plus-minus--action .c-plus-minus__amount,
.c-quantity-stepper .c-plus-minus--action .c-quantity-stepper__button--decrement {
    opacity: 0;
    pointer-events: none;
}

.c-quantity-stepper__button--increment {
    color: var(--on-primary);
    background-color: var(--primary);
}

.c-quantity-stepper__error {
    margin: 0;
}

.c-range {
    --range-radius: var(--input-radius, var(--surface-radius-large, var(--radius, var(--r-xl))));
    --range: calc(var(--max) - var(--min));
    --ratio: calc((var(--val) - var(--min)) / var(--range));
    --sx: calc(0.5 * 1.5em + var(--ratio) * (100% - 1.5em));
    -webkit-appearance: none;
            appearance: none;
    width: calc(100% - 6px);
    margin: 10px 3px;
    border-radius: var(--range-track-radius, var(--range-radius));
    background-color: transparent;
}

/* Track */
.c-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 26px;
    cursor: pointer;
    border: none;
    border-radius: var(--range-track-radius, var(--range-radius));
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: linear-gradient(in oklab to bottom, var(--secondary), var(--secondary)) 0 / var(--sx) 100% no-repeat var(--surface-container-high);
}

.c-range:not([style])::-webkit-slider-runnable-track {
    background: var(--surface-container-high);
}

.c-range::-moz-range-track {
    width: 100%;
    height: 26px;
    cursor: pointer;
    border: none;
    border-radius: var(--range-track-radius, var(--range-radius));
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: linear-gradient(in oklab to bottom, var(--secondary), var(--secondary)) 0 / var(--sx) 100% no-repeat var(--surface-container-high);
}

.c-range:not([style])::-moz-range-track {
    background: var(--surface-container-high);
}

/* Thumb */
.c-range::-webkit-slider-thumb {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: var(--range-thumb-radius, var(--range-radius));
    box-shadow: var(--box-shadow-s), 0 0 0 2px var(--secondary);
    background: var(--surface-container-lowest);
    -webkit-appearance: none;
            appearance: none;
    cursor: pointer;
    -webkit-transition: box-shadow var(--duration-short) var(--ease-out);
    transition: box-shadow var(--duration-short) var(--ease-out);
}

.c-range:hover::-webkit-slider-thumb,
.c-range:focus::-webkit-slider-thumb,
.c-range:active::-webkit-slider-thumb {
    box-shadow: var(--box-shadow-s), 0 0 0 3px var(--secondary);
}

.c-range::-moz-range-thumb {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: var(--range-thumb-radius, var(--range-radius));
    box-shadow: var(--box-shadow-s), 0 0 0 2px var(--secondary);
    background: var(--surface-container-lowest);
    cursor: pointer;
    -moz-transition: box-shadow var(--duration-short) var(--ease-out);
    transition: box-shadow var(--duration-short) var(--ease-out);
}

.c-range:hover::-moz-range-thumb,
.c-range:focus::-moz-range-thumb,
.c-range:active::-moz-range-thumb {
    box-shadow: var(--box-shadow-s), 0 0 0 3px var(--secondary);
}

/* For use in multi-range Vue component */
.c-multi-range {
    position: relative;
}

.c-multi-range .c-range {
    pointer-events: none;
}

.c-multi-range .c-range--inverted {
    position: absolute;
}

.c-multi-range .c-range--min {
    z-index: -1;
}

.c-multi-range .c-range::-webkit-slider-thumb {
    pointer-events: auto;
}

.c-multi-range .c-range::-moz-range-thumb {
    pointer-events: auto;
}

.c-multi-range .c-range--inverted::-webkit-slider-runnable-track {
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: linear-gradient(in oklab to bottom, var(--surface-container-high), var(--surface-container-high)) 0 / var(--sx) 100% no-repeat transparent;
}

.c-multi-range .c-range--inverted::-moz-range-track {
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background: linear-gradient(in oklab to bottom, var(--surface-container-high), var(--surface-container-high)) 0 / var(--sx) 100% no-repeat transparent;
}

.c-section {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    color: var(--on-surface-container);
    background-color: var(--surface-container);
}

.c-section--full {
    min-height: 100svh;
}

.c-section--twothirds {
    min-height: 66.66svh;
}

.c-section--half {
    min-height: 50svh;
}

.c-section--onethird {
    min-height: 33.33svh;
}

.c-section__body {
    display: flex;
    width: 100%;
    max-width: calc(920px + 20vw);
    flex-direction: column;
    flex: 1 0 auto;
    align-self: center;
    margin-inline: auto;
    padding: var(--space-xl) calc(2vw + env(safe-area-inset-left));
}

.c-section__body--narrow {
    max-width: 600px;
}

.c-section__body--full {
    max-width: 100%;
    align-self: stretch;
    justify-content: center;
}

.c-section__body--top {
    align-self: flex-start;
}

.c-section__body--horizontal {
    max-width: 100%;
    flex-basis: 0;
    margin-inline: 0;
}

.c-section__title {
    margin: 1em 0;
    font: var(--font-headline-large);
    text-decoration: none;
}

.c-section__title > a {
    color: inherit;
    text-decoration: none;
}

.c-section__title-image {
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-right: 0.5em;
}

/* stylelint-disable selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown, selector-type-no-unknown, at-rule-no-unknown, property-no-unknown */
.c-select-search {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: 100%;
}

.c-select-search:last-child > .c-select {
    border-top-right-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    border-bottom-right-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
}

.c-select-search > .c-select::picker(select) {
    position-area: block-end span-inline-end;
    margin-top: 3px;
    margin-bottom: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    border-bottom-left-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    position-try-order: most-block-size;
    position-try-fallbacks: --c-select-search-picker-above-end, block-end span-inline-start, --c-select-search-picker-above-start;
}

.c-select-search > * {
    grid-area: 1 / 1 / 2 / 2;
}

.c-select-search__input {
    --pad: var(--space-s);
    margin-block: -3px;
    padding: var(--pad) var(--space-s);
    border: none;
    border-top-left-radius: var(--input-radius, var(--surface-radius-large, var(--r-l))) !important;
    border-top-right-radius: var(--input-radius, var(--surface-radius-large, var(--r-l))) !important;
    color: inherit;
    background: var(--surface-container-lowest);
    box-shadow: var(--box-shadow-xl);
    outline: none;
    font: var(--font-body-small);
    text-indent: var(--space-m);
    opacity: 0;
}

.c-select-search__input::placeholder {
    color: var(--on-surface-variant);
    font-style: italic;
    opacity: 0.8;
}

.c-select-search__input::-webkit-textfield-decoration-container {
    padding: var(--pad) var(--pad) var(--pad) 0;
    border-radius: calc(var(--input-radius, var(--surface-radius, var(--r-m))) - var(--pad));
    background: var(--surface-container-lowest);
}

.c-select:open + .c-select-search__input {
    opacity: 1;
}

.c-select--small + .c-select-search__input {
    --pad: var(--space-xs);
}

.c-select-search__input:not(:placeholder-shown)::-webkit-search-cancel-button {
    visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .c-select-search__input {
        transition: none;
    }
}

/* stylelint-disable at-rule-descriptor-no-unknown */
@position-try --c-select-search-picker-above-end {
    position-area: block-start span-inline-end;
    margin-top: 0;
    margin-bottom: 3px;
    border-top-right-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    border-top-left-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

@position-try --c-select-search-picker-above-start {
    position-area: block-start span-inline-start;
    margin-top: 0;
    margin-bottom: 3px;
    border-top-right-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    border-top-left-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
/* stylelint-enable at-rule-descriptor-no-unknown */

/* stylelint-enable selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown, selector-type-no-unknown, at-rule-no-unknown, property-no-unknown */

/* stylelint-disable selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown, selector-type-no-unknown, at-rule-no-unknown, property-no-unknown */
.c-select {
    display: flex;
    -webkit-appearance: base-select;
            appearance: base-select;
    align-items: center;
    padding: var(--space-m) var(--space-l);
    border-style: none;
    border-radius: var(--input-radius, var(--r-l));
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    font: var(--font-body);
    box-shadow: inset 0 0 0 1px var(--outline-variant), inset 1px 1px 0 2px rgb(128 128 128 / 0.3);
    scrollbar-color: color-mix(in oklab, var(--outline-variant) 50%, transparent) transparent;
    cursor: pointer;
}

.c-select:focus-within {
    outline: var(--outline-color) var(--outline-style) var(--outline-width);
}

.c-select:has(+ .c-box.c-box--negative) {
    position: relative; /* position select above error message, not below */
}

.c-select[disabled] {
    box-shadow: inset 0.5px 0.5px 0 1px rgb(128 128 128 / 0.3);
}

.c-select--small {
    padding-block: var(--space-s);
    font: var(--font-body-small);
}

.c-select::picker(select) {
    -webkit-appearance: base-select;
            appearance: base-select;
    margin-top: 3px;
    border: none;
    border-radius: var(--input-radius, var(--surface-radius-large, var(--r-l)));
    box-shadow: var(--box-shadow-xl);
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    transition: opacity var(--duration-short) ease, transform var(--duration-short) var(--ease-out), display var(--duration-short) allow-discrete, overlay var(--duration-short) allow-discrete;
}

.c-select:not(:open)::picker(select) {
    opacity: 0;
    transform: scale(0.95);
}

.c-select:open::picker(select) {
    opacity: 1;
    transform: scale(1);
}

.c-select::picker-icon {
    content: '';
    -webkit-mask: var(--arrow);
            mask: var(--arrow);
    flex-shrink: 0;
    width: 0.75rem;
    height: 0.75rem;
    background-color: currentColor;
    transition: transform var(--duration-short) var(--ease-out);
}

.c-select--small::picker-icon {
    width: 0.6rem;
}

.c-select:open::picker-icon {
    transform: rotate(180deg);
}

.c-select[disabled]::picker-icon {
    filter: contrast(0);
}

.c-select optgroup {
    margin-top: var(--space-s);
    color: var(--primary);
    font-size: var(--fs-s);
    text-transform: uppercase;
}

.c-select legend {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    width: 100%;
    padding: var(--space-xs) var(--space-s);
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
    font: var(--font-label-small);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-l);
    text-transform: uppercase;
    box-sizing: border-box;
}

.c-select option {
    display: flex;
    align-items: center;
    padding: var(--space-s);
    color: var(--on-surface-container);
    font-size: var(--fs-s);
    text-transform: none;
    cursor: pointer;
}

.c-select option[disabled] {
    opacity: 0.5;
    pointer-events: none;
}

.c-select option:hover {
    color: var(--on-surface-container);
    background: var(--surface-container-high);
}

.c-select option:is(:checked) {
    background: var(--surface-container-high);
    font-weight: var(--fw-bold);
}

.c-select option:active {
    background: var(--surface-container-highest);
}

.c-select option::checkmark {
    width: 1.2rem;
    height: 0.625rem;
    content: '';
    -webkit-mask: var(--tick);
            mask: var(--tick);
    background-color: currentColor;
}

.c-select > button:has(selectedcontent) {
    align-items: start;
    min-inline-size: 10ch;
    flex-direction: column;
}

.c-select selectedcontent {
    display: flex;
    width: 100%;
    align-items: center;
}

/* clean-css ignore:start */
@starting-style {
    .c-select selectedcontent > * {
        opacity: 0;
        transform: translateY(0.5em);
    }
}

/* clean-css ignore:end */
.c-select selectedcontent > * {
    opacity: 1;
    transition: transform var(--duration-short) var(--ease-out), display var(--duration-short) allow-discrete, opacity var(--duration-short);
}

/* stylelint-enable selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown, selector-type-no-unknown, at-rule-no-unknown, property-no-unknown */

[data-show-more] {
    transition: height var(--duration-medium) var(--ease-out);
}

.c-button--showmore {
    display: block;
    width: fit-content;
    margin-inline: auto;
    -webkit-margin-before: -2rem;
            margin-block-start: -2rem;
    -webkit-margin-after: 1rem;
            margin-block-end: 1rem;
}

.is-truncated + .c-button--showmore {
    position: relative;
}

.is-truncated {
    --c-showmore-height: 6rem;
    --c-showmore-fade-size: 3rem;
    --c-showmore-fade-color: var(--surface-color, var(--surface-container-low));
    position: relative;
    height: var(--c-showmore-height);
    max-height: 60vh;
    overflow: hidden;
}

.is-truncated::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: var(--c-showmore-fade-size);
    pointer-events: none;
    /* stylelint-disable-next-line function-linear-gradient-no-nonstandard-direction */
    background-image: linear-gradient(in oklab to bottom, rgba(255, 255, 255, 0), var(--c-showmore-fade-color));
}

.is-expanded + .c-button--showmore {
    margin-top: var(--space-xs);
}

@supports (((-webkit-mask-image: linear-gradient(to bottom, #000, transparent)) or (mask-image: linear-gradient(to bottom, #000, transparent))) or (-webkit-mask-image: linear-gradient(to bottom, #000, transparent))) {
    /* stylelint-disable property-no-vendor-prefix */
    .is-truncated::after {
        display: none;
    }

    .is-truncated {
        -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - var(--c-showmore-fade-size)), transparent);
        mask-image: linear-gradient(to bottom, #000 calc(100% - var(--c-showmore-fade-size)), transparent);
    }
    /* stylelint-enable property-no-vendor-prefix */
}

/*
 * 1. Avoid "flicker" on slides that contain elements with margins
 * 2. Avoid stacking of slides before initiatisation
 */

.c-slider {
    margin: 0;
    padding-top: 1px; /* [1] */
    padding-bottom: 1px; /* [1] */
}

.c-slider .c-card {
    height: 100%;
}

.c-slider .c-card--overlay {
    display: grid !important;
}

@media screen and (max-width: 767.98px) {
    .c-slider > *:nth-child(n + 2) {
        display: none; /* [2] */
    }
}

@media screen and (max-width: 991.98px) {
    .c-slider > *:nth-child(n + 3) {
        display: none; /* [2] */
    }
}

@media screen and (max-width: 1199.98px) {
    .c-slider > *:nth-child(n + 4) {
        display: none; /* [2] */
    }
}

.slick-slider {
    width: 100vw;
    max-width: 100%;
    margin-left: 0;
}

.slick-loading .slick-list {
    opacity: 0.5;
}

.slick-initialized .slick-list {
    display: block; /* [1] */
    width: 100%;
    scrollbar-color: transparent transparent;
}

.slick-track {
    gap: var(--space-s);
}

.slick-track::before,
.slick-track::after {
    content: none;
}

.slick-track,
.slick-initialized .slick-slide {
    display: flex;
    height: auto;
}

.slick-initialized .slick-slide > div {
    display: inherit;
    width: 100%;
    height: 100%;
}

/* Arrows */
.c-slider .slick-arrow {
    position: absolute;
    top: 50%;
    display: block;
    width: 48px;
    height: 48px;
    padding: 2px 0 0;
    transform: translate(0, -75%);
    cursor: pointer;
    border: none;
    border-radius: 50%;
    color: var(--on-primary-container);
    background: var(--primary-container);
    box-shadow: var(--box-shadow-s), inset 0 -1em 1em -0.2em rgba(72, 92, 106, 0.05); /* grey-darker */
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    opacity: 0.4;
    transition: opacity var(--duration-short) var(--ease-out), box-shadow var(--duration-short) var(--ease-out), transform var(--duration-short) var(--ease-out);
}

.c-slider:hover .slick-arrow {
    box-shadow: var(--box-shadow-m);
    opacity: 0.7;
}

.c-slider .slick-arrow:hover,
.c-slider .slick-arrow:focus {
    box-shadow: var(--box-shadow-l);
    opacity: 1;
}

.c-slider .slick-arrow:active {
    box-shadow: var(--box-shadow-m);
    transform: translate(0, -72%);
}

.c-slider .slick-arrow.slick-disabled {
    color: var(--on-surface-variant);
    background: var(--surface-container);
    box-shadow: var(--box-shadow-m);
    opacity: 0.7;
    cursor: not-allowed;
}

.c-slider .slick-arrow::before {
    font-family: var(--roboto-mono);
    font-size: var(--fs-xl);
    line-height: 0.2;
}

.c-slider .slick-prev {
    left: -0.5rem;
    z-index: 1;
}

.c-slider .slick-prev::before {
    content: '‹';
}

.c-slider .slick-next {
    right: -0.5rem;
    text-indent: 3px;
}

.c-slider .slick-next::before {
    content: '›';
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 50px;
}

.slick-dots {
    position: absolute;
    right: 0;
    bottom: -44px;
    left: 0;
    display: flex !important;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.slick-dots li {
    position: relative;
    padding: 0 2px;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    color: inherit;
    background: none;
    cursor: pointer;
}

.slick-dots li button::before:hover,
.slick-dots li button::before:focus {
    opacity: 1;
}

.slick-dots li button::before {
    position: absolute;
    top: 8px;
    left: 19px;
    content: '•';
    color: inherit;
    font-size: var(--fs-l);
    line-height: 1em;
    opacity: 0.25;
}

.slick-dots .slick-active button::before {
    opacity: 1;
}

.c-spinner {
    display: inline-block;
    position: relative;
    width: var(--space-xxxl);
    height: var(--space-xxxl);
}

.c-spinner--small {
    width: var(--space-xl);
    height: var(--space-xl);
}

.c-spinner span {
    display: block;
    position: absolute;
    height: 100%;
    margin-left: -3px;
    border: 3px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: loading 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

.c-spinner--small span {
    margin-left: -2px;
    border-width: 2px;
}

.c-spinner span:nth-child(1) {
    animation-delay: -0.3s;
}

.c-spinner span:nth-child(2) {
    animation-delay: -0.2s;
}

.c-spinner span:nth-child(3) {
    animation-delay: -0.1s;
}

@media screen and (prefers-reduced-motion: reduce) {
    .c-spinner::before {
        content: '⏳' / 'Loading...';
        font-size: var(--fs-base);
    }

    .c-spinner span {
        display: none;
        animation: none;
    }
}

.c-steps {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: column nowrap;
}

.c-steps--horizontal {
    flex-flow: row wrap;
}

.c-steps > * {
    position: relative;
    margin-left: 1.5rem;
    padding: 0 0 1rem;
    z-index: 0;
}

.c-steps--horizontal > * {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    flex: 1;
}

.c-steps > *::after {
    position: absolute;
    top: 0.5rem;
    left: -16px;
    width: 1px;
    height: 100%;
    border-width: 2px;
    border-left-style: dotted;
    border-color: var(--selected-color, var(--secondary-bright-fixed));
    content: '';
    z-index: -1;
}

.c-steps > *:last-child::after {
    display: none;
}

.c-steps__active::after,
.c-steps__active ~ *::after {
    border-top-style: dashed;
    border-left-style: dotted;
    border-color: var(--outline-variant);
}

.c-steps > *::before,
.c-steps__active::before {
    position: absolute;
    top: 0.25rem;
    left: -23px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    color: contrast-color(var(--selected-color, var(--secondary-bright-fixed)));
    background: var(--selected-color, var(--secondary-bright-fixed));
    content: '';
}

.c-steps__active::before {
    border: 2px solid var(--on-surface);
}

.c-steps__active ~ *::before {
    color: var(--on-surface-container);
    background: var(--surface-container-highest);
}

/* Horizontal */
.c-steps--horizontal > * > *:first-child {
    margin-inline: -0.5rem;
    padding-inline: 0.5rem;
    border-radius: var(--r-xl);
    color: var(--on-surface-container);
    background: var(--surface-container);
}

.c-steps--horizontal > *::after {
    display: block;
    top: 0.66rem;
    width: calc(100% + 1.5rem);
    height: 1px;
    border-top-style: dashed;
}

/* Large */
/* stylelint-disable selector-no-qualifying-type */
ol.c-steps--large {
    counter-reset: step;
}

ol.c-steps--large > *::before {
    counter-increment: step;
}

ol.c-steps--large > *:not(.c-steps__validated)::before {
    content: counter(step);
}
/* stylelint-enable selector-no-qualifying-type */

.c-steps--large > *::before {
    top: -0.8rem;
    left: -1rem;
    width: 48px;
    height: 48px;
    display: grid;
    place-content: center;
    font: var(--font-headline);
}

.c-steps--large > *::after {
    left: 0.5rem;
}

.c-steps--large > * {
    margin-left: 1rem;
    padding-bottom: 2rem;
}

.c-steps--horizontal.c-steps--large > * {
    padding-bottom: 0;
}

.c-steps--large > * > *:first-child {
    -webkit-margin-start: 2.5rem;
            margin-inline-start: 2.5rem;
}

.c-steps--horizontal.c-steps--large > * > *:first-child {
    -webkit-margin-start: -0.5rem;
            margin-inline-start: -0.5rem;
    padding-inline: 3rem var(--space-m);
}

/* Validated, large step */
.c-steps--large .c-steps__validated::before {
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cpath%20d%3D%22M36.2%2013.9a1%201%200%200%200-1.4%200L19.5%2029.2l-6.3-6.3a1%201%200%200%200-1.4%200l-1.4%201.4a1%201%200%200%200%200%201.4l8.4%208.4q.7.6%201.4%200l17.4-17.4q.6-.7%200-1.4z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: 50%;
}

.c-switch {
    position: relative;
    display: inline-block;
    width: 3em;
    height: 2em;
    vertical-align: middle;
    text-align: left;
}

.c-switch--small {
    font-size: var(--fs-s);
}

.c-switch + .c-label {
    margin-inline: var(--space-s);
    cursor: pointer;
}

.c-switch:has(.c-switch__button--inactive) + .c-label:not(:hover) {
    opacity: 0.5;
}

.c-switch__state {
    position: absolute;
    margin: 0.25em 0;
    width: 3em;
    height: 1.5em;
    border-radius: 0.9em;
    background: var(--secondary);
    text-indent: -99999px;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color var(--duration-short) var(--ease-in-out);
}

.c-switch__state--inactive {
    filter: contrast(0);
}

.c-switch__state--updated {
    background: var(--tertiary-bright-fixed);
}

.c-switch__button {
    position: absolute;
    width: 3em;
    height: 1.5em;
    padding: 0.25em 0;
    background: none;
    border: none;
    font-size: 1em;
    text-indent: -99999px;
    cursor: pointer;
    -webkit-appearance: none;
            appearance: none;
    box-sizing: content-box;
}

/* stylelint-disable-next-line */
span.c-switch__button {
    pointer-events: none; /* Let click event pass through to the nested checkbox */
}

.c-switch__button::before {
    position: absolute;
    top: 0;
    display: block;
    content: '';
    width: 1.3em;
    height: 1.3em;
    background: var(--on-secondary);
    border-radius: 50%;
    transform: translateX(0.12em) translateY(0.35em);
    transition: box-shadow var(--duration-short) var(--ease-out), transform var(--duration-short) var(--ease-out);
}

.c-switch:hover .c-switch__button::before,
.c-switch:focus-within .c-switch__button::before {
    box-shadow: 0 0 0 2px var(--secondary);
}

@media screen and (prefers-reduced-motion: reduce) {
    .c-switch__button::before {
        transition: none;
    }
}

.c-switch__button--active::before {
    transform: translateX(1.575em) translateY(0.35em);
}

.c-switch__button--inactive::before {
    transform: translateX(0.12em) translateY(0.35em);
}

.c-table {
    border-collapse: collapse;
    font: var(--font-body-small);
    animation: fade-in var(--duration-short) var(--ease-out);
}

@media screen and (prefers-reduced-motion: reduce) {
    .c-table {
        animation: none;
    }
}

.c-table--fixed {
    table-layout: fixed;
}

.c-table--sticky th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 2;
    background: var(--surface-container-high);
}

.c-table--sticky th[scope='row'] {
    min-width: 10em;
    z-index: 1;
    opacity: 0.9;
}

.c-table--sticky th[scope='col'] > * {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
}

.c-table:last-child {
    margin-bottom: 0;
}

.c-table--striped tbody tr:nth-child(odd) {
    background: color-mix(in oklab, var(--surface) 97%, transparent);
}

.c-table__caption,
.c-table__row th {
    color: var(--on-surface-variant);
    font-style: normal;
    font-weight: var(--fw-regular);
    letter-spacing: var(--ls-m);
    text-align: left;
}

.c-table__caption {
    padding: var(--space-l) 0 var(--space-s);
    font-weight: var(--fw-bold);
    text-align: center;
    /* stylelint-disable-next-line */
    -webkit-text-size-adjust: 100%;
}

.c-table__row {
    vertical-align: top;
}

.c-table__row--center {
    vertical-align: middle;
}

.c-table--tiled {
    border-collapse: separate;
    border-spacing: 0 var(--space-xs);
}

.c-table--tiled thead th {
    padding-bottom: var(--space-xs);
}

.c-table--tiled tbody tr {
    border-radius: var(--surface-radius, var(--r-m));
    box-shadow: var(--box-shadow-xs);
}

.c-table--tiled td {
    background: var(--surface-container-lowest);
}

.c-table--tiled td:first-child {
    border-bottom-left-radius: var(--surface-radius, var(--r-m));
    border-top-left-radius: var(--surface-radius, var(--r-m));
}

.c-table--tiled td:last-child {
    border-top-right-radius: var(--surface-radius, var(--r-m));
    border-bottom-right-radius: var(--surface-radius, var(--r-m));
}

.c-table__head th {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.c-table__head th > a:not(:hover) {
    color: inherit;
    text-decoration: none;
}

/* Paddings */
.c-table__head th,
.c-table__body th,
.c-table__body td,
.c-table__foot th,
.c-table__foot td {
    padding: var(--space-s) var(--space-m);
}

.c-table__head th:first-child,
.c-table__body th:first-child,
.c-table__body td:first-child,
.c-table__foot th:first-child,
.c-table__foot td:first-child {
    padding-left: 0;
}

.c-table__foot tr:first-child {
    border-top: 2px solid color-mix(in oklab, var(--outline-variant) 30%, transparent);
}

.c-table--sticky th:first-child,
.c-table--sticky td:first-child,
.c-table--striped th:first-child,
.c-table--striped td:first-child,
.c-table--tiled td:first-child {
    padding-left: var(--space-s);
}

/* Table cell borders */
.c-table__body th,
.c-table__body td {
    border-top: 1px dashed color-mix(in oklab, var(--outline-variant) 30%, transparent);
}

/* Remove first border when no table head is present (or table is "tiled") */
.c-table__body:first-child tr:first-child th,
.c-table__body:first-child tr:first-child td,
.c-table--tiled td {
    border-top: none;
}

.c-tabs {
    margin-bottom: 0;
    margin-left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
}

.c-tabs--rounded {
    padding: 2px;
    border-radius: calc(var(--r-xxl) + 2px);
    background: var(--surface-container-low);
    letter-spacing: var(--ls-s);
}

/* If using list items: */
.c-tabs > li {
    display: inline-flex;
}

.c-tabs__tab {
    position: relative;
    margin-right: 1rem;
    padding: 0.4rem 0;
    border: none;
    overflow: hidden;
    color: var(--link-color, var(--primary));
    background: none;
    text-align: center;
    text-decoration: none;
    font: var(--font-label-small);
    white-space: nowrap;
    cursor: pointer;
    will-change: transform;
    transition: transform var(--duration-short) var(--ease-in-out);
}

.u-text--center > .c-tabs__tab {
    margin-inline: 0.6rem; /* TODO: Need docs why */
}

.c-tabs__tab::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    border-radius: 1.5px;
    background: var(--selected-color, var(--secondary-bright-fixed));
    content: '';
    transform: scaleX(0);
    transform-origin: var(--x) 100%;
    transition: transform var(--duration-short) var(--ease-in-out);
}

/* Hover, focus, active and selected tabs */
.c-tabs__tab--selected {
    color: inherit;
    font-weight: var(--fw-boldest);
}

.c-tabs__tab--selected::after {
    background: var(--selected-color, var(--secondary-bright-fixed));
}

.c-tabs__tab:hover::after,
.c-tabs__tab:focus::after,
.c-tabs__tab:active::after,
.c-tabs__tab--selected::after {
    transform: scaleX(1) scaleY(1);
}

.c-tabs__tab--filled:hover,
.c-tabs__tab--filled:focus,
.c-tabs__tab--filled:active,
.c-tabs__tab--filled {
    transform: none;
}

/* Large */
.c-tabs__tab--large {
    font-size: var(--fs-m);
}

/* Filled tabs */
.c-tabs__tab--filled {
    min-width: 2.5em;
    margin-right: 0;
    padding: 0.5em;
    color: var(--on-surface-container);
    background: var(--surface-container);
    font-size: var(--fs-m); /* Keep for now, use separate --large variant in the future */
}

.c-tabs__tab--filled.c-tabs__tab--selected {
    color: var(--on-surface-container);
    background: var(--surface-container-lowest);
}

/* Rounded tabs */
.c-tabs__tab--rounded {
    display: inline-flex;
    align-items: center;
    margin: -1px 0;
    padding-inline: var(--space-l);
    overflow: visible;
    color: var(--on-surface-container);
    font-size: var(--fs-base);
}

.c-tabs__tab--rounded::after {
    height: 100%;
    border-radius: var(--r-xxl);
    opacity: 0.2;
    z-index: -1;
    transform: scaleX(0) scaleY(0);
    transform-origin: var(--x) 50%;
    transition: var(--duration-short) transform var(--ease-in-out), var(--duration-short) background-color var(--ease-out);
}

.c-tabs__tab--rounded:hover,
.c-tabs__tab--rounded:focus,
.c-tabs__tab--rounded:active {
    color: var(--on-surface-container);
}

.c-tabs__tab--rounded.c-tabs__tab--selected {
    color: contrast-color(var(--selected-color, var(--secondary)));
    font-weight: var(--fw-regular);
}

.c-tabs__tab--rounded.c-tabs__tab--selected::after {
    background-color: var(--selected-color, var(--secondary));
    opacity: 1;
    transform: scaleX(1) scaleY(1);
}

/* Icons */
.c-tabs__tab > svg {
    display: block;
    width: 1.25em;
    height: 1.25em;
    margin: 0 auto 0.33em;
}

/* Pills */
.c-tabs__tab > .c-pill {
    min-width: 2em;
    margin: -0.6em -0.75em -0.6em 0.6em;
    padding-inline: var(--space-s);
    color: var(--on-surface-container);
    background-color: color-mix(in oklab, var(--surface) 50%, var(--grey-50));
}

.c-tabs__tab--selected > .c-pill {
    --dimmed-selected-color: color-mix(in oklab, var(--surface) 50%, var(--selected-color, var(--secondary-bright-fixed)));
    color: contrast-color(var(--dimmed-selected-color));
    background-color: var(--dimmed-selected-color);
}

@media screen and (min-width: 769px) {
    .c-tabs__tab > svg {
        width: 2em;
        height: 2em;
    }
}

/* DEPRECATED */
.c-button.c-tabs__tab {
    margin-right: 1em;
    padding: var(--space-s) 0 var(--space-xs);
    border-radius: initial;
    background: none;
    box-shadow: none;
}

/* Subtle animations */
[role='tabpanel'] {
    opacity: 1;
    animation: fade-in var(--duration-short) var(--ease-out);
}

@media screen and (prefers-reduced-motion: reduce) {
    .c-tabs__tab:hover,
    .c-tabs__tab:focus,
    .c-tabs__tab:active {
        transform: none;
    }

    .c-tabs__tab::after {
        transition: none;
    }

    [role='tabpanel'] {
        animation: none;
    }
}

.c-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin: var(--space-xs) 0;
}

/* Support for small and large variants */
.c-form-control--small .c-tags-input {
    padding: var(--space-s) var(--space-m);
    font: var(--font-body-small);
}

.c-form-control--large .c-tags-input {
    padding: var(--space-m) var(--space-l);
    font: var(--font-body-large);
}

/* Disabled state */
.c-tags-input:disabled {
    color: var(--on-surface-variant);
    background: var(--surface-container-lowest);
    box-shadow: inset 0 0 0 1px var(--outline-variant);
    cursor: not-allowed;
}

.c-thumb,
.c-avatar {
    width: 5.4rem;
    height: 3.2rem;
    border-radius: var(--r-s);
    overflow: hidden;
    object-fit: contain;
    object-position: center;
    vertical-align: bottom;
    max-width: none;
}

.c-avatar,
.c-thumb--round {
    border-radius: 50%;
    object-fit: cover;
}

.c-thumb--cover {
    object-fit: cover;
}

.c-thumb--medium {
    width: 8rem;
    height: 4.8rem;
}

.c-thumb--large {
    width: 10.7rem;
    height: 6.4rem;
}

.c-avatar,
.c-thumb--round,
.c-thumb--square {
    width: 3.2rem;
    height: 3.2rem;
}

.c-thumb--medium.c-thumb--round,
.c-thumb--medium.c-thumb--square {
    width: 4.8rem;
    height: 4.8rem;
}

.c-avatar--large,
.c-thumb--large.c-thumb--round,
.c-thumb--large.c-thumb--square {
    width: 6.4rem;
    height: 6.4rem;
}

.c-tile {
    display: grid;
    width: 100%;
    /* stylelint-disable declaration-colon-space-after */
    grid-template-areas:
        'image head body'
        'foot foot foot';
    /* stylelint-enable */
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto;
    margin: 0;
    padding: var(--space-xs);
    border: none;
    border-radius: var(--tile-radius, var(--surface-radius-large, var(--r-l)));
    color: var(--on-surface-container);
    background: var(--surface-container-low);
    line-height: inherit;
    box-shadow: var(--box-shadow-xs);
    align-items: center;
    text-align: left;
    text-decoration: none;
    transition: var(--duration-short) box-shadow var(--ease-out);
}

*:has(> .c-tile) {
    container-type: inline-size;
}

@container (width < 500px) {
    .c-tile {
        /* stylelint-disable declaration-colon-space-after */
        grid-template-areas:
            'image head head'
            'body body body'
            'foot foot foot';
        /* stylelint-enable */
    }

    .c-tile__image > .c-thumb:not(.c-thumb--round) {
        max-width: 6.5rem;
    }
}

.c-tile--disabled {
    opacity: 0.5;
    pointer-events: none;
}

.c-tile:hover {
    position: relative;
    box-shadow: var(--box-shadow-m);
}

.c-tile__image {
    grid-area: image;
    align-self: stretch;
    flex-shrink: 0;
    padding: 0;
    border: none;
    background: none;
}

.c-tile__image > .c-thumb {
    max-height: 6.5rem;
    object-fit: cover;
}

.c-tile__image > .c-thumb:not(.c-thumb--round) {
    border-radius: var(--media-radius, var(--surface-radius, var(--r-m)));
}

.c-tile__head {
    display: flex;
    flex-wrap: wrap;
    grid-area: head;
    align-items: center;
    gap: var(--space-xs) var(--space-m);
    padding: var(--space-s);
    color: inherit;
    font-size: var(--fs-s);
    text-decoration: none;
    -webkit-hyphens: auto;
            hyphens: auto;
}

.c-tile__head:last-child {
    grid-column-end: -1;
}

.c-tile__head--vertical {
    flex-direction: column;
    align-items: start;
}

.c-tile__head > * {
    margin-block: 0;
}

.c-tile__head p {
    margin-bottom: 0;
    line-height: var(--lh-m);
}

.c-tile__title {
    display: flex;
    gap: var(--space-s);
    align-items: center;
    margin: 0;
    color: inherit;
    font: var(--font-title-small);
    text-align: left;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.c-tile__title > a {
    color: inherit;
    text-decoration: none;
}

.c-tile__body {
    display: flex;
    flex-wrap: wrap;
    grid-area: body;
    gap: var(--space-xs) var(--space-m);
    align-items: center;
    justify-content: flex-end;
    padding: var(--space-xs) var(--space-s);
    text-align: right;
    -webkit-hyphens: auto;
            hyphens: auto;
}

.c-tile__body--nowrap {
    flex-wrap: nowrap;
}

.c-tile__body > .c-form-control {
    padding: 0;
}

.c-tile__label {
    font: var(--font-label-small);
    letter-spacing: var(--ls-l);
}

.c-tile__foot {
    grid-area: foot;
    overflow: auto;
    margin: 0;
    padding: var(--space-s);
}

.c-tile__foot > p {
    margin-bottom: 0;
}

.c-toggle {
    position: relative;
    padding-right: 2em !important;
    white-space: nowrap;
    cursor: pointer;
}

.c-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0.75em;
    content: ' ';
    height: 0;
    width: 0;
    margin-top: -0.1875em;
    border: 0.375em solid transparent;
    border-top-color: inherit;
    pointer-events: none;
}

.c-toggle:empty::after,
.c-toggle:has(.u-hidden--visually:only-child)::after {
    right: 40%;
}

.c-toggle[aria-expanded='false']::after {
    margin-top: -0.1875em;
    border-top-color: inherit;
    border-bottom-color: transparent;
}

.c-toggle[aria-expanded='false']:active::after {
    margin-top: -0.125em;
}

.c-toggle[aria-expanded='true']::after {
    margin-top: -0.5625em;
    border-top-color: transparent;
    border-bottom-color: inherit;
}

.c-toggle[aria-expanded='true']:active::after {
    margin-top: -0.625em;
}

.c-video {
    position: relative;
    display: block;
    max-width: 100%;
    max-height: 100%;
    align-self: stretch;
    border-radius: var(--media-radius, var(--surface-radius, var(--r-m)));
    overflow: hidden;
    z-index: 2;
}

.c-video__body {
    width: 100%;
    height: 0;
    max-height: 792px;
    padding-top: 56.25%; /* 16:9 */
    pointer-events: auto;
    transform: translateZ(0);
}

.c-video__body--wide {
    padding-top: 42.55%; /* 2.35:1 */
}

.c-video__body iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: var(--on-surface-container);
    background: var(--surface-container);
}

h1 {
    margin-bottom: var(--space-l);
    font-weight: 300;
    font-size: var(--fs-xxl); /* u-font--largest */
    line-height: var(--lh-s);
    letter-spacing: var(--ls-xs);
}

h2 {
    margin-bottom: var(--space-m);
    font-weight: 300;
    font-size: var(--fs-xl); /* u-font--larger */
    line-height: var(--lh-m);
}

h3 {
    margin-bottom: var(--space-s);
    font-weight: 400;
    font-size: var(--fs-l); /* u-font--large */
    line-height: var(--lh-l);
}

h4 {
    margin-bottom: var(--space-s);
    font-weight: 400;
    font-size: var(--fs-m); /* u-font--medium */
}

h5 {
    margin-bottom: var(--space-s);
    font-size: var(--fs-base); /* u-font--small */
}

h6 {
    margin-bottom: var(--space-s);
    font-size: var(--fs-s); /* u-font--smaller */
}

:is(h1, h2, h3, h4, h5, h6) {
    margin-top: 0;
    font-family: var(--heading-family, inherit);
    /* stylelint-disable-next-line */
    text-wrap-style: pretty;
}

p {
    margin-bottom: var(--space-m);
    line-height: var(--lh-l);
    /* stylelint-disable-next-line */
    text-wrap-style: pretty;
}

/*
 * 1. Avoid potential horizontal scrolling with wider-than-viewport iframes set using inline styling
 */

iframe {
    max-width: 100%; /* 1 */
}

/*
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */

img {
    max-width: 100%; /* [1] */
    height: auto; /* [1] */
    font-style: italic; /* [2] */
    vertical-align: middle; /* [3] */
}

svg {
    vertical-align: middle; /* [3] */
}

a {
    color: var(--link-color, var(--secondary));
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    text-decoration-thickness: from-font;
    text-underline-position: from-font;
    text-underline-offset: 0.15em;
}

/*
 * 1. Ensure the page always fills at least the entire height of the viewport.
 */

html {
    min-height: 100%; /* [1] */
    font: normal normal 16px / var(--lh-l) var(--roboto);
    color: var(--on-surface);
    background-color: var(--surface);
    -webkit-font-smoothing: antialiased;
}

table {
    width: 100%; /* [1] */
}

th {
    text-align: left;
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0.2;
    }

    100% {
        opacity: 1;
    }
}

@keyframes reveal-circle {
    0% {
        -webkit-clip-path: circle(0%);
                clip-path: circle(0%);
    }

    100% {
        -webkit-clip-path: circle(88px);
                clip-path: circle(88px);
    }
}

@keyframes dialog-in {
    0% {
        transform: perspective(500px) rotateX(40deg) scale(0.2) translateY(40px);
    }

    100% {
        transform: perspective(500px) rotateX(0deg) scale(1) translateY(0);
    }
}

@keyframes dialog-out {
    0% {
        transform: perspective(500px) rotateX(0deg) scale(1) translateY(0);
    }

    100% {
        transform: perspective(500px) rotateX(40deg) scale(0.2) translateY(40px);
    }
}

@keyframes loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes moving-gradient {
    0% {
        background-position: 0% 0%;
    }

    50% {
        background-position: 100% 100%;
    }

    100% {
        background-position: 0% 0%;
    }
}

@keyframes move-in-square {
    0% {
        transform: translate3d(-0.5rem, -0.5rem, 0);
    }

    25% {
        transform: translate3d(0.5rem, -0.5rem, 0);
    }

    50% {
        transform: translate3d(0.5rem, 0.5rem, 0);
    }

    75% {
        transform: translate3d(-0.5rem, 0.5rem, 0);
    }

    100% {
        transform: translate3d(-0.5rem, -0.5rem, 0);
    }
}

html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

:focus {
    outline: none;
}

:focus-visible {
    outline-color: var(--outline-color, color-mix(in oklab, currentColor 68%, transparent));
    outline-style: var(--outline-style, groove);
    outline-offset: var(--outline-offset, 0.01rem);
    outline-width: var(--outline-width, 0.1rem);
}

:user-invalid:focus-visible {
    outline-color: var(--negative);
}

/*
 * A very simple reset that mimicks Normalize.css a bit
 */

body,
blockquote,
p,
pre,
dl,
dd,
ol,
ul,
figure,
hr,
fieldset,
legend {
    margin: 0;
    padding: 0;
}

/*
 * Remove trailing margins from nested lists.
 */

li ol,
li ul {
    margin-bottom: 0;
}

/*
 * Remove default table spacing.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*
 * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;`
 *    on fieldsets.
 */

fieldset {
    min-width: 0; /* [1] */
    border: 0;
}

/* 1. Add the correct display in all browsers. */

summary {
    display: list-item; /* 1 */
}

address,
blockquote,
p,
pre,
dl,
ol,
ul,
figure,
hr,
table,
fieldset {
    margin-bottom: var(--space-xl);
}

/*
 * Consistent indentation for lists.
 */

dd,
ol,
ul {
    margin-left: var(--space-xl);
}

/*
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
    font-family: monospace, monospace; /* 1 */ /* stylelint-disable-line font-family-no-duplicate-names */
    font-size: 1em; /* 2 */
}

/*
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */ /* stylelint-disable-line font-family-no-duplicate-names */
    font-size: 1em; /* 2 */
}

/*
 * Add the correct font size in all browsers.
 */

small {
    font-size: 80%;
}

/*
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 */

abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: none;
}

/*
 * 1. Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
    font-weight: bolder; /* 1 */
}

/*
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Disable hover titles on linked, external SVG:s */
a use {
    pointer-events: none;
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
}

/* Remove the inheritance of text transform in Firefox. */
button,
select {
    text-transform: none;
}

/* Remove extra border from range inputs in Firefox. */
input[type='range']::-moz-focus-outer {
    border: none;
}

/*
 * 1. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
    vertical-align: baseline; /* 1 */
}

/*
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
    height: auto;
}

/*
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type='search'] {
    --outline-offset: -0.1rem; /* 2 */
    -webkit-appearance: textfield; /* 1 */ /* stylelint-disable-line property-no-vendor-prefix */
}

/*
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type='search']::-webkit-search-decoration {
    -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */
}

/*
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */ /* stylelint-disable-line property-no-vendor-prefix */
    font: inherit; /* 2 */
}

.o-cropped,
.o-cropped--vertical {
    --o-cropped-mask-size: 40px;
    --o-cropped-shadow-size: 14px;
    --o-cropped-shadow-color: rgba(0, 0, 0, 0.2);
    --scrollbar-size: 2px;
    overflow: hidden;
    scrollbar-gutter: stable;
    scrollbar-width: auto;
    scrollbar-color: var(--outline-variant) transparent;
    background-repeat: no-repeat;
    background-color: var(--surface-color, var(--surface-container));
}

/* Fallback for browsers without mask/timeline support */
.o-cropped {
    overflow-x: auto;
    overflow-y: hidden;
    /* stylelint-disable declaration-colon-newline-after, function-linear-gradient-no-nonstandard-direction */
    background-image: linear-gradient(in oklab to right, var(--surface-color, var(--surface-container)) 30%, rgba(255, 255, 255, 0)) 0 0%,
        linear-gradient(in oklab to right, rgba(255, 255, 255, 0), var(--surface-color, var(--surface-container)) 70%) 100% 0%,
        linear-gradient(in oklab to right, var(--o-cropped-shadow-color), rgba(0, 0, 0, 0)) 0% 0%,
        linear-gradient(in oklab to left, var(--o-cropped-shadow-color), rgba(0, 0, 0, 0)) 100% 0%;
    /* stylelint-enable declaration-colon-newline-after, function-linear-gradient-no-nonstandard-direction */
    background-size: var(--o-cropped-mask-size) 100%, var(--o-cropped-mask-size) 100%, var(--o-cropped-shadow-size) 100%, var(--o-cropped-shadow-size) 100%;
    background-attachment: local, local, scroll, scroll;
}

.o-cropped--vertical {
    overflow-x: hidden;
    overflow-y: auto;
    /* stylelint-disable declaration-colon-newline-after, function-linear-gradient-no-nonstandard-direction */
    background-image: linear-gradient(in oklab to bottom, var(--surface-color, var(--surface-container)) 30%, rgba(255, 255, 255, 0)) 0 0%,
        linear-gradient(in oklab to bottom, rgba(255, 255, 255, 0), var(--surface-color, var(--surface-container)) 70%) 0% 100%,
        linear-gradient(in oklab to bottom, var(--o-cropped-shadow-color), rgba(0, 0, 0, 0)) 0% 0%,
        linear-gradient(in oklab to top, var(--o-cropped-shadow-color), rgba(0, 0, 0, 0)) 0% 100%;
    /* stylelint-enable declaration-colon-newline-after, function-linear-gradient-no-nonstandard-direction */
    background-size: 100% var(--o-cropped-mask-size), 100% var(--o-cropped-mask-size), 100% var(--o-cropped-shadow-size), 100% var(--o-cropped-shadow-size);
    background-attachment: local, local, scroll, scroll;
}

.o-cropped::-webkit-scrollbar-track,
.o-cropped--vertical::-webkit-scrollbar-track {
    background: none;
}

.o-cropped::-webkit-scrollbar,
.o-cropped--vertical::-webkit-scrollbar {
    width: var(--scrollbar-size);
    height: var(--scrollbar-size);
}

.o-cropped::-webkit-scrollbar-thumb,
.o-cropped--vertical::-webkit-scrollbar-thumb {
    background: var(--outline-variant);
}

.o-cropped:has(> .c-table) {
    padding-inline: 2px;
}

@property --o-cropped-top-fading {
    syntax: '<color>';
    inherits: false;
    initial-value: #000;
}

@property --o-cropped-bottom-fading {
    syntax: '<color>';
    inherits: false;
    initial-value: #000;
}

@supports (((-webkit-mask-image: linear-gradient(to right, #000, transparent)) or (mask-image: linear-gradient(to right, #000, transparent))) or (-webkit-mask-image: linear-gradient(to right, #000, transparent))) and (animation-timeline: scroll(self x)) {
    /* stylelint-disable property-no-vendor-prefix, property-no-unknown */
    .o-cropped,
    .o-cropped--vertical {
        background-color: transparent;
        background-image: none;
        -webkit-mask-repeat: no-repeat, no-repeat;
        mask-repeat: no-repeat, no-repeat;
        animation-name: o-cropped-fade-mask;
        animation-duration: 1s;
        animation-timing-function: linear;
        animation-fill-mode: both;
    }

    .o-cropped {
        --o-cropped-direction: right;
        /* stylelint-disable-next-line declaration-colon-newline-after */
        -webkit-mask-image: linear-gradient(to var(--o-cropped-direction), var(--o-cropped-top-fading), #000 var(--o-cropped-mask-size), #000 calc(100% - var(--o-cropped-mask-size)), var(--o-cropped-bottom-fading)),
            linear-gradient(#000, #000);
        /* stylelint-disable-next-line declaration-colon-newline-after */
        mask-image: linear-gradient(to var(--o-cropped-direction), var(--o-cropped-top-fading), #000 var(--o-cropped-mask-size), #000 calc(100% - var(--o-cropped-mask-size)), var(--o-cropped-bottom-fading)),
            linear-gradient(#000, #000);
        -webkit-mask-position: 0% 0%, 0% 100%;
        mask-position: 0% 0%, 0% 100%;
        -webkit-mask-size: 100% calc(100% - var(--scrollbar-size)), 100% var(--scrollbar-size);
        mask-size: 100% calc(100% - var(--scrollbar-size)), 100% var(--scrollbar-size);
        animation-timeline: scroll(self x);
    }

    .o-cropped--vertical {
        --o-cropped-direction: bottom;
        /* stylelint-disable-next-line declaration-colon-newline-after */
        -webkit-mask-image: linear-gradient(to var(--o-cropped-direction), var(--o-cropped-top-fading), #000 var(--o-cropped-mask-size), #000 calc(100% - var(--o-cropped-mask-size)), var(--o-cropped-bottom-fading)),
            linear-gradient(#000, #000);
        /* stylelint-disable-next-line declaration-colon-newline-after */
        mask-image: linear-gradient(to var(--o-cropped-direction), var(--o-cropped-top-fading), #000 var(--o-cropped-mask-size), #000 calc(100% - var(--o-cropped-mask-size)), var(--o-cropped-bottom-fading)),
            linear-gradient(#000, #000);
        -webkit-mask-position: 0% 0%, 100% 0%;
        mask-position: 0% 0%, 100% 0%;
        -webkit-mask-size: calc(100% - var(--scrollbar-size)) 100%, var(--scrollbar-size) 100%;
        mask-size: calc(100% - var(--scrollbar-size)) 100%, var(--scrollbar-size) 100%;
        animation-timeline: scroll(self y);
    }
    /* stylelint-enable property-no-vendor-prefix, property-no-unknown */
}

@keyframes o-cropped-fade-mask {
    0% {
        --o-cropped-top-fading: #000;
        --o-cropped-bottom-fading: transparent;
    }

    3%,
    97% {
        --o-cropped-top-fading: transparent;
        --o-cropped-bottom-fading: transparent;
    }

    100% {
        --o-cropped-top-fading: transparent;
        --o-cropped-bottom-fading: #000;
    }
}

.o-flex {
    --gap: var(--space-s);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap);
}

.o-flex--start {
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-margin-end: auto;
            margin-inline-end: auto;
}

.o-flex--justify {
    justify-content: space-between;
}

.o-flex--center {
    justify-content: center;
    align-items: center;
    margin-inline: auto;
}

.o-flex--end {
    justify-content: flex-end;
    align-items: flex-end;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
}

.o-flex--column {
    align-items: flex-start;
    flex-direction: column;
}

.o-flex--row {
    align-items: start;
    flex-direction: row;
}

.o-flex--nowrap {
    flex-wrap: nowrap;
}

.o-grid {
    --gap: var(--space-m);
    display: grid;
    gap: var(--gap);
    grid-template-columns: repeat(12, minmax(0, 1fr));
    width: 100%;
    margin: 0;
    list-style-type: none;
}

.o-grid--auto {
    --grid-min-item-size: clamp(14rem, 25%, 18rem); /* Prefers 4 columns, but adapts to available space */
    display: grid;
    grid-template-columns: repeat(var(--grid-item-repeats, auto-fit), minmax(var(--grid-min-item-size), 1fr));
    gap: var(--gap, var(--space-m));
}

.o-grid:not(.o-grid--auto) > :not([class*='o-grid__col-']) {
    grid-column: 1 / -1;
}

/* Fixed width columns */
.o-grid > [class*='o-grid__col-'] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    grid-column: span var(--cols, 12);
}

/* Same width, fluid columns (auto grids ignore explicit column widths) */
.o-grid--auto > [class*='o-grid__col-'] {
    grid-column: auto;
}

.o-grid__col-12 {
    --cols: 12;
}

.o-grid__col-11 {
    --cols: 11;
}

.o-grid__col-10 {
    --cols: 10;
}

.o-grid__col-9 {
    --cols: 9;
}

.o-grid__col-8 {
    --cols: 8;
}

.o-grid__col-7 {
    --cols: 7;
}

.o-grid__col-6 {
    --cols: 6;
}

.o-grid__col-5 {
    --cols: 5;
}

.o-grid__col-4 {
    --cols: 4;
}

.o-grid__col-3 {
    --cols: 3;
}

.o-grid__col-2 {
    --cols: 2;
}

.o-grid__col-1 {
    --cols: 1;
}

@media screen and (min-width: 576px) {
    .o-grid__col-xs-12 {
        --cols: 12;
    }

    .o-grid__col-xs-11 {
        --cols: 11;
    }

    .o-grid__col-xs-10 {
        --cols: 10;
    }

    .o-grid__col-xs-9 {
        --cols: 9;
    }

    .o-grid__col-xs-8 {
        --cols: 8;
    }

    .o-grid__col-xs-7 {
        --cols: 7;
    }

    .o-grid__col-xs-6 {
        --cols: 6;
    }

    .o-grid__col-xs-5 {
        --cols: 5;
    }

    .o-grid__col-xs-4 {
        --cols: 4;
    }

    .o-grid__col-xs-3 {
        --cols: 3;
    }

    .o-grid__col-xs-2 {
        --cols: 2;
    }

    .o-grid__col-xs-1 {
        --cols: 1;
    }
}

@media screen and (min-width: 768px) {
    .o-grid__col-sm-12 {
        --cols: 12;
    }

    .o-grid__col-sm-11 {
        --cols: 11;
    }

    .o-grid__col-sm-10 {
        --cols: 10;
    }

    .o-grid__col-sm-9 {
        --cols: 9;
    }

    .o-grid__col-sm-8 {
        --cols: 8;
    }

    .o-grid__col-sm-7 {
        --cols: 7;
    }

    .o-grid__col-sm-6 {
        --cols: 6;
    }

    .o-grid__col-sm-5 {
        --cols: 5;
    }

    .o-grid__col-sm-4 {
        --cols: 4;
    }

    .o-grid__col-sm-3 {
        --cols: 3;
    }

    .o-grid__col-sm-2 {
        --cols: 2;
    }

    .o-grid__col-sm-1 {
        --cols: 1;
    }
}

@media screen and (min-width: 992px) {
    .o-grid__col-md-12 {
        --cols: 12;
    }

    .o-grid__col-md-11 {
        --cols: 11;
    }

    .o-grid__col-md-10 {
        --cols: 10;
    }

    .o-grid__col-md-9 {
        --cols: 9;
    }

    .o-grid__col-md-8 {
        --cols: 8;
    }

    .o-grid__col-md-7 {
        --cols: 7;
    }

    .o-grid__col-md-6 {
        --cols: 6;
    }

    .o-grid__col-md-5 {
        --cols: 5;
    }

    .o-grid__col-md-4 {
        --cols: 4;
    }

    .o-grid__col-md-3 {
        --cols: 3;
    }

    .o-grid__col-md-2 {
        --cols: 2;
    }

    .o-grid__col-md-1 {
        --cols: 1;
    }
}

@media screen and (min-width: 1200px) {
    .o-grid__col-lg-12 {
        --cols: 12;
    }

    .o-grid__col-lg-11 {
        --cols: 11;
    }

    .o-grid__col-lg-10 {
        --cols: 10;
    }

    .o-grid__col-lg-9 {
        --cols: 9;
    }

    .o-grid__col-lg-8 {
        --cols: 8;
    }

    .o-grid__col-lg-7 {
        --cols: 7;
    }

    .o-grid__col-lg-6 {
        --cols: 6;
    }

    .o-grid__col-lg-5 {
        --cols: 5;
    }

    .o-grid__col-lg-4 {
        --cols: 4;
    }

    .o-grid__col-lg-3 {
        --cols: 3;
    }

    .o-grid__col-lg-2 {
        --cols: 2;
    }

    .o-grid__col-lg-1 {
        --cols: 1;
    }
}

@media screen and (min-width: 1440px) {
    .o-grid__col-xl-12 {
        --cols: 12;
    }

    .o-grid__col-xl-11 {
        --cols: 11;
    }

    .o-grid__col-xl-10 {
        --cols: 10;
    }

    .o-grid__col-xl-9 {
        --cols: 9;
    }

    .o-grid__col-xl-8 {
        --cols: 8;
    }

    .o-grid__col-xl-7 {
        --cols: 7;
    }

    .o-grid__col-xl-6 {
        --cols: 6;
    }

    .o-grid__col-xl-5 {
        --cols: 5;
    }

    .o-grid__col-xl-4 {
        --cols: 4;
    }

    .o-grid__col-xl-3 {
        --cols: 3;
    }

    .o-grid__col-xl-2 {
        --cols: 2;
    }

    .o-grid__col-xl-1 {
        --cols: 1;
    }
}

/* Directions */
.o-grid:not(.o-grid--auto).o-grid--direction-column {
    grid-template-columns: 1fr;
}

.o-grid:not(.o-grid--auto).o-grid--direction-column > [class*='o-grid__col-'] {
    grid-column: auto;
}

.o-grid:not(.o-grid--auto).o-grid--direction-row {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

/* Order */
.o-grid--order-3 {
    order: 3;
}

.o-grid--order-2 {
    order: 2;
}

.o-grid--order-1 {
    order: 1;
}

.o-grid--order-0 {
    order: 0;
}

@media screen and (min-width: 576px) {
    .o-grid--order-3-xs {
        order: 3;
    }

    .o-grid--order-2-xs {
        order: 2;
    }

    .o-grid--order-1-xs {
        order: 1;
    }

    .o-grid--order-0-xs {
        order: 0;
    }
}

@media screen and (min-width: 768px) {
    .o-grid--order-3-sm {
        order: 3;
    }

    .o-grid--order-2-sm {
        order: 2;
    }

    .o-grid--order-1-sm {
        order: 1;
    }

    .o-grid--order-0-sm {
        order: 0;
    }
}

@media screen and (min-width: 992px) {
    .o-grid--order-3-md {
        order: 3;
    }

    .o-grid--order-2-md {
        order: 2;
    }

    .o-grid--order-1-md {
        order: 1;
    }

    .o-grid--order-0-md {
        order: 0;
    }
}

@media screen and (min-width: 1200px) {
    .o-grid--order-3-lg {
        order: 3;
    }

    .o-grid--order-2-lg {
        order: 2;
    }

    .o-grid--order-1-lg {
        order: 1;
    }

    .o-grid--order-0-lg {
        order: 0;
    }
}

@media screen and (min-width: 1440px) {
    .o-grid--order-3-xl {
        order: 3;
    }

    .o-grid--order-2-xl {
        order: 2;
    }

    .o-grid--order-1-xl {
        order: 1;
    }

    .o-grid--order-0-xl {
        order: 0;
    }
}

/* Justify (main axis) */
.o-grid--justify-start {
    justify-items: flex-start;
    justify-content: flex-start;
}

.o-grid--justify-end {
    justify-items: flex-end;
    justify-content: flex-end;
}

.o-grid--justify-center {
    justify-items: center;
    justify-content: center;
}

.o-grid--justify-space-between {
    justify-content: space-between;
}

.o-grid--justify-space-around {
    justify-content: space-around;
}

/* …self */
.o-grid--justify-self-stretch {
    justify-self: stretch;
}

.o-grid--justify-self-start {
    justify-self: flex-start;
}

.o-grid--justify-self-end {
    justify-self: flex-end;
}

.o-grid--justify-self-center {
    justify-self: center;
}

.o-grid:not(.o-grid--auto) > [class*='o-grid__col-'].o-grid--justify-self-center {
    grid-column: 1 / -1;
    width: 100%;
    max-width: calc(var(--cols, 12) / 12 * 100%);
    margin-left: auto;
    margin-right: auto;
}

/* Align (cross axis) */
.o-grid--align-start {
    align-items: flex-start;
    align-content: flex-start;
}

.o-grid--align-end {
    align-items: flex-end;
    align-content: flex-end;
}

.o-grid--align-center {
    align-items: center;
    align-content: center;
}

.o-grid--align-space-between {
    align-content: space-between;
}

.o-grid--align-space-around {
    align-content: space-around;
}

/* …self */
.o-grid--align-self-stretch {
    align-self: stretch;
}

.o-grid--align-self-start {
    align-self: flex-start;
}

.o-grid--align-self-end {
    align-self: flex-end;
}

.o-grid--align-self-center {
    align-self: center;
}

/* Gap & Bleed modifiers */
.o-grid--bleed,
.o-grid--bleed > [class*='o-grid__col-'] {
    --gap: 0;
}

/* OBSOLETE: Use .u-gap--none or similar from here on */
.o-grid--gap-none,
.o-grid--gap-none > [class*='o-grid__col-'] {
    --gap: 0;
}

.o-grid--gap-s,
.o-grid--gap-s > [class*='o-grid__col-'] {
    --gap: var(--space-s);
}

.o-grid--gap-m,
.o-grid--gap-m > [class*='o-grid__col-'] {
    --gap: var(--space-m);
}

.o-grid--gap-l,
.o-grid--gap-l > [class*='o-grid__col-'] {
    --gap: var(--space-l);
}

.o-grid--gap-xl,
.o-grid--gap-xl > [class*='o-grid__col-'] {
    --gap: var(--space-xl);
}

/* OBSOLETE: Keep until removed in all live code */
.o-grid__row {
    display: inherit;
    gap: inherit;
    grid-template-columns: inherit;
    grid-column-end: span 12;
    flex-grow: 1;
}

:root {
    /*
     * STATIC TOKENS – stores a static value that never changes
     */
    --black: #05090e;
    --white: #fff;
    --blue-95: #ebf8ff;
    --blue-93: #e0f4ff;
    --blue-85: #c0e8ff;
    --blue-68: #7cd0ff;
    --blue-50: #33b4ff;
    --blue-45: #14a0f4;
    --blue-40: #0e8fdc;
    --blue-37: #0f88cc;
    --blue-30: #0c6ba5;
    --blue-25: #0a5888;
    --blue-23: #09517c;
    --blue-17: #07405f;
    --blue-10: #07212f;
    --turquoise-95: #e8fafa;
    --turquoise-93: #ddf8f7;
    --turquoise-85: #b9f0ee;
    --turquoise-68: #6ee0db;
    --turquoise-50: #1ccfc9;
    --turquoise-45: #19bab5;
    --turquoise-40: #16a6a1;
    --turquoise-37: #159b97;
    --turquoise-30: #117c79;
    --turquoise-23: #0d5d5a;
    --turquoise-17: #0a4846;
    --turquoise-10: #062928;
    --yellow-95: #fffbea;
    --yellow-93: #fff9e0;
    --yellow-85: #fff3be;
    --yellow-68: #ffe479;
    --yellow-50: #ffd72e;
    --yellow-45: #e6c229;
    --yellow-40: #ccac25;
    --yellow-37: #bfa123;
    --yellow-30: #99811c;
    --yellow-23: #736115;
    --yellow-17: #594b10;
    --yellow-10: #332b09;
    --grey-98: #f9fafb;
    --grey-95: #f3f5f6;
    --grey-93: #eff0f1;
    --grey-90: #eaebed;
    --grey-85: #dbe0e4;
    --grey-68: #b8c1c7;
    --grey-50: #96a1aa;
    --grey-45: #849099;
    --grey-40: #717f88;
    --grey-37: #677781;
    --grey-30: #4f5d68;
    --grey-25: #45535f;
    --grey-23: #374652;
    --grey-19: #34424e;
    --grey-17: #2b353e;
    --grey-10: #1a2027;

    /* Extra colors */
    --red-95: #fbebed;
    --red-93: #f9e0e4;
    --red-85: #f2c0c8;
    --red-68: #e57c8c;
    --red-50: #d6334c;
    --red-45: #c12e44;
    --red-40: #ab293d;
    --red-37: #a12639;
    --red-30: #801f2e;
    --red-23: #601722;
    --red-17: #4b121b;
    --red-10: #2b0a0f;
    --green-95: #e6f2ed;
    --green-93: #d9ece5;
    --green-85: #b0d8c8;
    --green-68: #5cae8f;
    --green-50: #00804f;
    --green-45: #007347;
    --green-40: #00663f;
    --green-37: #00603b;
    --green-30: #004d2f;
    --green-23: #003a24;
    --green-17: #002d1c;
    --green-10: #001a10;

    /* Invert */
    --invert: none;

    /* Spacers */
    --space-xs: 0.25rem;
    --space-s: 0.5rem;
    --space-m: 0.75rem;
    --space-l: 1rem;
    --space-xl: 1.25rem;
    --space-xxl: 1.5rem;
    --space-xxxl: 1.75rem;
    --space-xxxxl: 2rem;

    /* Scrollbars */
    --scrollbar-size: 16px;

    /* Font sizes */
    --fw-thinnest: 200;
    --fw-thin: 300;
    --fw-regular: 400;
    --fw-bold: 500;
    --fw-boldest: 600;

    /* Font sizes (via https://www.fluid-type-scale.com/calculate?minFontSize=16&minWidth=400&minRatio=1.25&maxFontSize=18&maxWidth=1920&maxRatio=1.275&steps=xs%2Cs%2Cbase%2Cm%2Cl%2Cxl%2Cxxl&baseStep=base&prefix=fs&useContainerWidth=false&includeFallbacks=false&useRems=true&remValue=16&decimals=2&previewFont=Roboto&previewText=Almost+before+we+knew+it%2C+we+had+left+the+ground&previewWidth=1920) */
    --fs-xs: clamp(0.64rem, 0.05vw + 0.63rem, 0.69rem);
    --fs-s: clamp(0.8rem, 0.09vw + 0.78rem, 0.88rem);
    --fs-base: clamp(1rem, 0.13vw + 0.97rem, 1.13rem);
    --fs-m: clamp(1.25rem, 0.19vw + 1.2rem, 1.43rem);
    --fs-l: clamp(1.56rem, 0.28vw + 1.49rem, 1.83rem);
    --fs-xl: clamp(1.95rem, 0.4vw + 1.85rem, 2.33rem);
    --fs-xxl: clamp(2.44rem, 0.56vw + 2.3rem, 2.97rem);

    /* Line-heights */
    --lh-xs: 1;
    --lh-s: 1.15;
    --lh-m: 1.3;
    --lh-l: 1.5;
    --lh-xl: 1.75;

    /* Font families */
    --roboto: 'Roboto', ui-sans-serif, sans-serif;
    --roboto-mono: 'Roboto Mono', ui-monospace, monospace;

    /* Letter spacings */
    --ls-xs: -0.02ch;
    --ls-s: -0.01ch;
    --ls-m: 0.01ch;
    --ls-l: 0.03ch;
    --ls-xl: 0.1ch;
    --ls-xxl: 0.4ch;
    --ls-xxxl: 0.6ch;
    --ls-xxxxl: 0.8ch;

    /* Outlines */
    --outline-color: color-mix(in oklab, currentColor 68%, transparent);
    --outline-style: groove;
    --outline-offset: 0.01rem;
    --outline-width: 0.1rem;

    /*
     * DYNAMIC FONTS
     */
    /* Poster */
    --font-poster: var(--fw-boldest) var(--fs-xxl) / var(--lh-s) var(--heading-family, var(--roboto));

    /* Headline */
    --font-headline-large: var(--fw-thin) var(--fs-xxl) / var(--lh-xs) var(--heading-family, var(--roboto));
    --font-headline: var(--fw-thin) var(--fs-xl) / var(--lh-xs) var(--heading-family, var(--roboto));

    /* Title */
    --font-title-large: var(--fw-boldest) var(--fs-l) / var(--lh-s) var(--heading-family, var(--roboto));
    --font-title: var(--fw-boldest) var(--fs-m) / var(--lh-s) var(--heading-family, var(--roboto));
    --font-title-small: var(--fw-boldest) var(--fs-base) / var(--lh-m) var(--heading-family, var(--roboto));

    /* Body */
    --font-body-large: var(--fw-regular) var(--fs-m) / var(--lh-l) var(--roboto);
    --font-body: var(--fw-regular) var(--fs-base) / var(--lh-m) var(--roboto);
    --font-body-small: var(--fw-regular) var(--fs-s) / var(--lh-m) var(--roboto);

    /* Label */
    --font-label-large: var(--fw-regular) var(--fs-m) / var(--lh-s) var(--roboto);
    --font-label: var(--fw-regular) var(--fs-base) / var(--lh-m) var(--roboto);
    --font-label-small: var(--fw-regular) var(--fs-s) / var(--lh-m) var(--roboto);

    /* Border radiuses */
    --r-s: 0.25rem;
    --r-m: 0.5rem;
    --r-l: 0.75rem;
    --r-xl: 1rem;
    --r-xxl: 1.25rem;
    --r-xxxl: 2rem;

    /* Semantic radiuses */
    --surface-radius: var(--r-m);
    --surface-radius-large: var(--r-l);
    --media-radius: var(--surface-radius);
    --media-radius-large: var(--surface-radius-large);
    --card-radius: var(--surface-radius-large);

    /* Outlines */
    --outline: color-mix(in oklab, currentColor 68%, transparent);
    --outline-variant: color-mix(in oklab, currentColor 34%, transparent);

    /* Box shadows */
    --box-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.15);
    --box-shadow-s: 0 2px 3px rgba(0, 0, 0, 0.12), 0 0 2px rgba(0, 0, 0, 0.1);
    --box-shadow-m: 0 3px 5px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.1);
    --box-shadow-l: 0 6px 11px rgba(0, 0, 0, 0.12), 0 7px 16px rgba(0, 0, 0, 0.1);
    --box-shadow-xl: 0 10px 18px rgba(0, 0, 0, 0.12), 0 12px 26px rgba(0, 0, 0, 0.1);

    /* Animation */
    --duration-short: 0.2s;
    --duration-medium: 0.4s;
    --duration-long: 0.6s;
    --duration-extra-long: 0.8s;
    --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1); /* easeInOutCubic */
    --ease-out: cubic-bezier(0.33, 1, 0.68, 1); /* easeOutCubic */
    /* stylelint-disable property-no-unknown */
    interpolate-size: allow-keywords;
    /* stylelint-enable property-no-unknown */

    /* States */
    --hover-shadow: inset 0 0 0 1000px color-mix(in oklab, currentColor 4%, transparent);
    --focus-shadow: inset 0 0 0 1000px color-mix(in oklab, currentColor 8%, transparent);
    --active-shadow: inset 0 0 0 1000px color-mix(in oklab, currentColor 10%, transparent);

    /* Icons */
    --arrow: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiAxMiI+PHBhdGggZD0iTTEwLjQgMy4yIDYgNi43IDEuNiAzLjJBMSAxIDAgMSAwIC40IDQuOGw1IDRhMSAxIDAgMCAwIDEuMiAwbDUtNGExIDEgMCAwIDAtMS4yLTEuNiIvPjwvc3ZnPg==');
    --tick: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCAyMiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIgZD0ibTkuNSAxMi41IDYuMyA2LjRMMzIuNSAxLjciLz48L3N2Zz4=');

    /* Viewports */
}

:root,
.t-light {
    /*
     * DYNAMIC TOKENS – points to static tokens (and never to themselves)
     */
    /* Primary */
    --primary: var(--blue-23);
    --on-primary: var(--blue-95);
    --primary-container: oklch(from var(--primary) clamp(0, calc(l + 0.52), 1) calc(c * 0.31) h);
    --on-primary-container: var(--blue-23);
    --primary-bright-fixed: var(--blue-50);
    --on-primary-bright-fixed: var(--black);

    /* Secondary */
    --secondary: var(--turquoise-30);
    --on-secondary: var(--white);
    --secondary-container: oklch(from var(--secondary) clamp(0, calc(l + 0.39), 1) calc(c * 0.64) h);
    --on-secondary-container: var(--turquoise-17);
    --secondary-bright-fixed: var(--turquoise-50);
    --on-secondary-bright-fixed: var(--black);

    /* Tertiary */
    --tertiary: var(--yellow-30);
    --on-tertiary: var(--black);
    --tertiary-container: oklch(from var(--tertiary) clamp(0, calc(l + 0.35), 1) calc(c * 0.6) h);
    --on-tertiary-container: var(--yellow-10);
    --tertiary-bright-fixed: var(--yellow-50);
    --on-tertiary-bright-fixed: var(--black);

    /* Negative */
    --negative: var(--red-30);
    --on-negative: var(--red-95);
    --negative-container: oklch(from var(--negative) clamp(0, calc(l + 0.3), 1) c h);
    --on-negative-container: var(--black);
    --negative-bright-fixed: var(--red-50);
    --on-negative-bright-fixed: var(--white);

    /* Positive */
    --positive: var(--green-30);
    --on-positive: var(--green-95);
    --positive-container: oklch(from var(--positive) clamp(0, calc(l + 0.51), 1) calc(c * 0.52) h);
    --on-positive-container: var(--green-17);
    --positive-bright-fixed: var(--green-50);
    --on-positive-bright-fixed: var(--white);

    /* Surface */
    --surface: var(--grey-95);
    --surface-container-default: oklch(from var(--surface) clamp(0, calc(l - 0.01), 1) c h);
    --surface-container: var(--surface-container-default);
    --surface-container-lowest: oklch(from var(--surface-container) clamp(0, calc(l + 0.035), 1) c h);
    --surface-container-low: oklch(from var(--surface-container) clamp(0, calc(l + 0.02), 1) c h);
    --surface-container-high: oklch(from var(--surface-container) clamp(0, calc(l - 0.017), 1) c h);
    --surface-container-highest: oklch(from var(--surface-container) clamp(0, calc(l - 0.06), 1) c h);
    --on-surface-container: color-mix(in oklab, var(--surface-container) 22%, var(--black));
    --on-surface: color-mix(in oklab, var(--surface) 18%, var(--black));
    --on-surface-variant: color-mix(in oklab, var(--on-surface) 83%, var(--surface-container));
    --surface-dark-fixed: var(--grey-10);
    --on-surface-dark-fixed: var(--grey-98);
    --surface-black-fixed: var(--black);
    --on-surface-black-fixed: var(--grey-98);
}

@media (prefers-color-scheme: dark) {
    :root:not(.t-light) {
        /* Primary */
        --primary: var(--blue-68);
        --on-primary: var(--blue-10);
        --primary-container: oklch(from var(--primary) clamp(0, calc(l - 0.47), 1) calc(c * 0.5) h);
        --on-primary-container: var(--blue-93);

        /* Secondary */
        --secondary: var(--turquoise-68);
        --on-secondary: var(--black);
        --secondary-container: oklch(from var(--secondary) clamp(0, calc(l - 0.41), 1) calc(c * 0.68) h);
        --on-secondary-container: var(--turquoise-95);

        /* Tertiary */
        --tertiary: var(--yellow-68);
        --on-tertiary: var(--yellow-10);
        --tertiary-container: oklch(from var(--tertiary) clamp(0, calc(l - 0.5), 1) calc(c * 0.59) h);
        --on-tertiary-container: var(--yellow-95);

        /* Negative */
        --negative: var(--red-68);
        --on-negative: var(--black);
        --negative-container: oklch(from var(--negative) clamp(0, calc(l - 0.38), 1) calc(c * 0.8) h);
        --on-negative-container: var(--red-95);

        /* Positive */
        --positive: var(--green-68);
        --on-positive: var(--black);
        --positive-container: oklch(from var(--positive) clamp(0, calc(l - 0.38), 1) calc(c * 0.55) h);
        --on-positive-container: var(--green-95);

        /* Surface */
        --surface: var(--grey-17);
        --surface-container-default: oklch(from var(--surface) clamp(0, calc(l - 0.018), 1) c h);
        --surface-container: var(--surface-container-default);
        --surface-container-lowest: oklch(from var(--surface-container) clamp(0, calc(l + 0.035), 1) c h);
        --surface-container-low: oklch(from var(--surface-container) clamp(0, calc(l + 0.02), 1) c h);
        --surface-container-high: oklch(from var(--surface-container) clamp(0, calc(l - 0.017), 1) c h);
        --surface-container-highest: oklch(from var(--surface-container) clamp(0, calc(l - 0.06), 1) c h);
        --on-surface-container: color-mix(in oklab, var(--surface-container) 2%, var(--white));
        --on-surface: color-mix(in oklab, var(--surface) 2%, var(--white));
        --on-surface-variant: color-mix(in oklab, var(--on-surface) 94%, var(--surface-container));

        /* Invert */
        --invert: invert(1);
    }
}

/* Dark mode (explicit) */
.t-dark {
    /* Primary */
    --primary: var(--blue-68);
    --on-primary: var(--blue-10);
    --primary-container: oklch(from var(--primary) clamp(0, calc(l - 0.47), 1) calc(c * 0.5) h);
    --on-primary-container: var(--blue-93);

    /* Secondary */
    --secondary: var(--turquoise-68);
    --on-secondary: var(--black);
    --secondary-container: oklch(from var(--secondary) clamp(0, calc(l - 0.41), 1) calc(c * 0.68) h);
    --on-secondary-container: var(--turquoise-95);

    /* Tertiary */
    --tertiary: var(--yellow-68);
    --on-tertiary: var(--yellow-10);
    --tertiary-container: oklch(from var(--tertiary) clamp(0, calc(l - 0.5), 1) calc(c * 0.59) h);
    --on-tertiary-container: var(--yellow-95);

    /* Negative */
    --negative: var(--red-68);
    --on-negative: var(--black);
    --negative-container: oklch(from var(--negative) clamp(0, calc(l - 0.38), 1) calc(c * 0.8) h);
    --on-negative-container: var(--red-95);

    /* Positive */
    --positive: var(--green-68);
    --on-positive: var(--black);
    --positive-container: oklch(from var(--positive) clamp(0, calc(l - 0.38), 1) calc(c * 0.55) h);
    --on-positive-container: var(--green-95);

    /* Surface */
    --surface: var(--grey-17);
    --surface-container-default: oklch(from var(--surface) clamp(0, calc(l - 0.018), 1) c h);
    --surface-container: var(--surface-container-default);
    --surface-container-lowest: oklch(from var(--surface-container) clamp(0, calc(l + 0.035), 1) c h);
    --surface-container-low: oklch(from var(--surface-container) clamp(0, calc(l + 0.02), 1) c h);
    --surface-container-high: oklch(from var(--surface-container) clamp(0, calc(l - 0.017), 1) c h);
    --surface-container-highest: oklch(from var(--surface-container) clamp(0, calc(l - 0.06), 1) c h);
    --on-surface-container: color-mix(in oklab, var(--surface-container) 2%, var(--white));
    --on-surface: color-mix(in oklab, var(--surface) 2%, var(--white));
    --on-surface-variant: color-mix(in oklab, var(--on-surface) 94%, var(--surface-container));

    /* Invert */
    --invert: invert(1);
}

.u-box-shadow--none {
    box-shadow: none !important;
}

.u-box-shadow--small {
    box-shadow: var(--box-shadow-s) !important;
}

.u-box-shadow--medium {
    box-shadow: var(--box-shadow-m) !important;
}

.u-box-shadow--large {
    box-shadow: var(--box-shadow-l) !important;
}

.u-box-shadow--xlarge {
    box-shadow: var(--box-shadow-xl) !important;
}

/* Black / White */
.u-color-black {
    --bg: var(--surface-black-fixed);
    color: var(--on-surface-black-fixed);
}

.u-color-white {
    --bg: var(--surface-container-lowest);
    color: var(--on-surface);
}

/* Blue */
.u-color-blue-lightest {
    --bg: var(--blue-95);
    color: var(--blue-17);
}

.u-color-blue-lighter {
    --bg: var(--primary-container);
    color: var(--on-primary-container);
}

.u-color-blue-base {
    --bg: var(--primary-bright-fixed);
    color: var(--on-primary-bright-fixed);
}

.u-color-blue-darker {
    --bg: var(--primary);
    color: var(--on-primary);
}

.u-color-blue-darkest {
    --bg: var(--blue-17);
    color: var(--blue-95);
}

/* Turquoise */
.u-color-turquoise-lightest {
    --bg: var(--turquoise-95);
    color: var(--turquoise-17);
}

.u-color-turquoise-lighter {
    --bg: var(--secondary-container);
    color: var(--on-secondary-container);
}

.u-color-turquoise-base {
    --bg: var(--secondary-bright-fixed);
    color: var(--on-secondary-bright-fixed);
}

.u-color-turquoise-darker {
    --bg: var(--secondary);
    color: var(--on-secondary);
}

.u-color-turquoise-darkest {
    --bg: var(--turquoise-17);
    color: var(--turquoise-95);
}

/* Yellow */
.u-color-yellow-lightest {
    --bg: var(--yellow-95);
    color: var(--yellow-17);
}

.u-color-yellow-lighter {
    --bg: var(--tertiary-container);
    color: var(--on-tertiary-container);
}

.u-color-yellow-base {
    --bg: var(--tertiary-bright-fixed);
    color: var(--on-tertiary-bright-fixed);
}

.u-color-yellow-darker {
    --bg: var(--tertiary);
    color: var(--on-tertiary);
}

.u-color-yellow-darkest {
    --bg: var(--yellow-17);
    color: var(--yellow-95);
}

/* Grey */
.u-color-grey-white {
    --bg: var(--surface-container-lowest);
    color: var(--on-surface);
}

.u-color-grey-lightest {
    --bg: var(--surface-container-low);
    color: var(--on-surface);
}

.u-color-grey-lighter {
    --bg: var(--surface-container);
    color: var(--on-surface);
}

.u-color-grey-base {
    --bg: var(--grey-50);
    color: var(--on-surface);
}

.u-color-grey-dark {
    --bg: var(--on-surface-variant);
    color: var(--surface);
}

.u-color-grey-darker,
.u-color-grey-darkest {
    --bg: var(--surface-dark-fixed);
    color: var(--on-surface-dark-fixed);
}

/* Red */
.u-color-red-lightest {
    --bg: var(--red-95);
    color: var(--red-17);
}

.u-color-red-lighter {
    --bg: var(--negative-container);
    color: var(--on-negative-container);
}

.u-color-red, /* use -base from here on */
.u-color-red-base {
    --bg: var(--negative-bright-fixed);
    color: var(--on-negative-bright-fixed);
}

.u-color-red-darker {
    --bg: var(--negative);
    color: var(--on-negative);
}

.u-color-red-darkest {
    --bg: var(--red-17);
    color: var(--red-95);
}

/* Green */
.u-color-green-lightest {
    --bg: var(--green-95);
    color: var(--green-17);
}

.u-color-green-lighter {
    --bg: var(--positive-container);
    color: var(--on-positive-container);
}

.u-color-green, /* use -base from here on */
.u-color-green-base {
    --bg: var(--positive-bright-fixed);
    color: var(--on-positive-bright-fixed);
}

.u-color-green-darker {
    --bg: var(--positive);
    color: var(--on-positive);
}

.u-color-green-darkest {
    --bg: var(--green-17);
    color: var(--green-95);
}

/* Apply colors */
[class*='u-color-'] {
    background-color: var(--bg) !important;
}

/* SVG colors */
svg[class*='u-color-'] {
    fill: currentColor !important;
}

[class*='u-color-'] a svg {
    fill: inherit !important;
}

.u-float--right {
    clear: right;
    float: right;
}

.u-float--left {
    clear: left;
    float: left;
}

.u-font--smallest {
    font-size: var(--fs-xs) !important;
}

.u-font--smaller {
    font-size: var(--fs-s) !important;
}

.u-font--small,
.u-font--base {
    font-size: var(--fs-base) !important;
}

.u-font--medium {
    font-size: var(--fs-m) !important;
}

.u-font--large {
    font-size: var(--fs-l) !important;
}

.u-font--larger {
    font-size: var(--fs-xl) !important;
}

.u-font--largest {
    font-size: var(--fs-xxl) !important;
}

.u-font--thinnest {
    font-weight: var(--fw-thinnest);
}

.u-font--thinner,
.u-font--thin {
    font-weight: var(--fw-thin);
}

.u-font--regular {
    font-weight: var(--fw-regular);
}

.u-font--bold,
.u-font--bolder {
    font-weight: var(--fw-bold);
}

.u-font--boldest {
    font-weight: var(--fw-boldest);
}

.u-font--mono {
    font-family: var(--roboto-mono);
}

.u-gap--none {
    --gap: 0;
}

.u-gap--xs {
    --gap: var(--space-xs);
}

.u-gap--s {
    --gap: var(--space-s); /* default */
}

.u-gap--m {
    --gap: var(--space-m);
}

.u-gap--l {
    --gap: var(--space-l);
}

.u-gap--xl {
    --gap: var(--space-xl);
}

.u-gap--xxl {
    --gap: var(--space-xxl);
}

.u-hidden {
    display: none !important;
}

.u-hidden--visually {
    border: 0 !important;
    -webkit-clip-path: inset(50%) !important;
            clip-path: inset(50%) !important;
    /* stylelint-disable-next-line property-no-deprecated */
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
}

@media screen and (max-width: 767.98px) {
    .u-hidden-xs {
        display: none !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 991.98px) {
    .u-hidden-sm {
        display: none !important;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199.98px) {
    .u-hidden-md {
        display: none !important;
    }
}

@media screen and (min-width: 1200px) {
    .u-hidden-lg {
        display: none !important;
    }
}

.u-loading {
    min-height: 2rem;
    display: grid;
    place-content: center;
}

.u-loading::before,
.u-loading::after {
    grid-row: 1;
    grid-column: 1;
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    background: var(--primary);
    border-radius: 50%;
    animation: 1.5s move-in-square infinite;
}

.u-loading::after {
    opacity: 0.5;
    transform: translate3d(-0.5rem, -0.5rem, 0);
    animation-delay: 0.75s;
}

.u-margin--large,
.u-margin-top--large {
    margin-top: var(--space-xxxxl) !important;
}

.u-margin--medium,
.u-margin-top--medium {
    margin-top: var(--space-l) !important;
}

.u-margin--small,
.u-margin-top--small {
    margin-top: var(--space-s) !important;
}

.u-margin--xsmall,
.u-margin-top--xsmall {
    margin-top: var(--space-xs) !important;
}

.u-margin-top--none {
    margin-top: 0 !important;
}

.u-margin-top--auto {
    margin-top: auto !important;
}

.u-margin--large,
.u-margin-right--large {
    margin-right: var(--space-xxxxl) !important;
}

.u-margin--medium,
.u-margin-right--medium {
    margin-right: var(--space-l) !important;
}

.u-margin--small,
.u-margin-right--small {
    margin-right: var(--space-s) !important;
}

.u-margin--xsmall,
.u-margin-right--xsmall {
    margin-right: var(--space-xs) !important;
}

.u-margin-right--none {
    margin-right: 0 !important;
}

.u-margin-right--auto {
    margin-right: auto !important;
}

.u-margin--large,
.u-margin-bottom--large {
    margin-bottom: var(--space-xxxxl) !important;
}

.u-margin--medium,
.u-margin-bottom--medium {
    margin-bottom: var(--space-l) !important;
}

.u-margin--small,
.u-margin-bottom--small {
    margin-bottom: var(--space-s) !important;
}

.u-margin--xsmall,
.u-margin-bottom--xsmall {
    margin-bottom: var(--space-xs) !important;
}

.u-margin-bottom--none {
    margin-bottom: 0 !important;
}

.u-margin--large,
.u-margin-left--large {
    margin-left: var(--space-xxxxl) !important;
}

.u-margin--medium,
.u-margin-left--medium {
    margin-left: var(--space-l) !important;
}

.u-margin--small,
.u-margin-left--small {
    margin-left: var(--space-s) !important;
}

.u-margin--xsmall,
.u-margin-left--xsmall {
    margin-left: var(--space-xs) !important;
}

.u-margin-left--none {
    margin-left: 0 !important;
}

.u-margin-left--auto {
    margin-left: auto !important;
}

.u-overflow--visible {
    overflow: visible !important;
}

.u-overflow--auto {
    overflow: auto !important;
}

.u-overflow--hidden {
    overflow: hidden !important;
}

[class*='u-position--'],
.u-position--absolute {
    position: absolute;
}

.u-position--relative {
    position: relative;
}

.u-position--sticky {
    position: -webkit-sticky;
    position: sticky;
    z-index: 2;
}

.u-position--fixed {
    position: fixed;
    z-index: 2;
    will-change: top, bottom;
}

[class*='u-position--top'] {
    top: 0;
}

[class*='u-position--bottom'] {
    bottom: 0;
}

.u-position--right,
.u-position--top-right,
.u-position--bottom-right {
    right: 0;
}

.u-position--left,
.u-position--bottom-left,
.u-position--top-left {
    left: 0;
}

.u-position--top-center,
.u-position--bottom-center {
    left: 50%;
    right: auto;
}

/*
 * Very crude, reset-like styles taken from the HTML5 Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/5.3.0/dist/doc/css.md#print-styles
 * https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/main.css#L205-L282
 */

@media print {
    /* Black prints faster: http://www.sanbeiji.com/archives/953 */
    *,
    *::before,
    *::after,
    *::first-letter,
    *::first-line {
        background: transparent !important;
        color: #000 !important; /* [1] */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    pre,
    blockquote {
        /* stylelint-disable-next-line property-no-deprecated */
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Printing Tables: http://css-discuss.incutio.com/wiki/Printing_Tables */
    thead {
        display: table-header-group;
    }

    tr,
    img {
        /* stylelint-disable-next-line property-no-deprecated */
        page-break-inside: avoid;
        break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        /* stylelint-disable-next-line property-no-deprecated */
        page-break-after: avoid;
        break-after: avoid;
    }
}

.u-text--left {
    text-align: left !important;
}

.u-text--center {
    text-align: center !important;
}

.u-text--right {
    text-align: right !important;
}

.u-text--nowrap {
    white-space: nowrap !important;
}

.u-text--wrap {
    word-break: break-all !important;
    white-space: normal !important;
}

.u-text--no-underline {
    text-decoration: none !important;
}

/*
* Text colors
*/

/* Muted */
.u-text--muted {
    color: color-mix(in oklab, currentColor 68%, transparent) !important;
}

/* Black */
.u-text--black {
    color: var(--surface-black-fixed) !important;
}

/* White */
.u-text--white {
    color: var(--surface-container-lowest) !important;
}

/* Blue */
.u-text--blue-lightest {
    color: var(--blue-93);
}

.u-text--blue-lighter {
    color: var(--primary-container);
}

.u-text--blue-base {
    color: var(--primary-bright-fixed);
}

.u-text--blue-darker {
    color: var(--primary);
}

.u-text--blue-darkest {
    color: var(--blue-17);
}

/* Turquoise */
.u-text--turquoise-lightest {
    color: var(--turquoise-93);
}

.u-text--turquoise-lighter {
    color: var(--secondary-container);
}

.u-text--turquoise-base {
    color: var(--secondary-bright-fixed);
}

.u-text--turquoise-darker {
    color: var(--secondary);
}

.u-text--turquoise-darkest {
    color: var(--turquoise-17);
}

/* Yellow */
.u-text--yellow-lightest {
    color: var(--yellow-93);
}

.u-text--yellow-lighter {
    color: var(--tertiary-container);
}

.u-text--yellow-base {
    color: var(--tertiary-bright-fixed);
}

.u-text--yellow-darker {
    color: var(--tertiary);
}

.u-text--yellow-darkest {
    color: var(--yellow-17);
}

/* Grey */
.u-text--grey-white {
    color: var(--surface-container-lowest);
}

.u-text--grey-lightest {
    color: var(--surface-container-low);
}

.u-text--grey-lighter {
    color: var(--surface-container);
}

.u-text--grey-base {
    color: var(--grey-50);
}

.u-text--grey-dark,
.u-text--grey-darker {
    color: var(--on-surface-variant);
}

.u-text--grey-darkest {
    color: var(--on-surface);
}

/* Red */
.u-text--red-lightest {
    color: var(--red-93);
}

.u-text--red-lighter {
    color: var(--negative-container);
}

.u-text--red, /* use -base from here on */
.u-text--red-base {
    color: var(--negative-bright-fixed);
}

.u-text--red-darker {
    color: var(--negative);
}

.u-text--red-darkest {
    color: var(--red-17);
}

/* Green */
.u-text--green-lightest {
    color: var(--grey-93);
}

.u-text--green-lighter {
    color: var(--positive-container);
}

.u-text--green, /* use -base from here on */
.u-text--green-base {
    color: var(--positive-bright-fixed);
}

.u-text--green-darker {
    color: var(--positive);
}

.u-text--green-darkest {
    color: var(--green-17);
}

