From 255668324679d3f624fa77c182c12c8787555683 Mon Sep 17 00:00:00 2001 From: Thom McGrath Date: Fri, 26 Jan 2024 06:47:29 +0000 Subject: [PATCH 1/7] Website updates for Palworld --- Website/api/slack/commands/createcodes.php | 4 + Website/api/slack/commands/grant.php | 4 + .../api/v4/classes/Palworld/ConfigOption.php | 170 ++++++++ .../api/v4/classes/Palworld/GameVariable.php | 50 +++ .../api/v4/classes/Palworld/GenericObject.php | 398 ++++++++++++++++++ Website/api/v4/classes/Palworld/Project.php | 92 ++++ Website/api/v4/classes/Project.php | 4 + Website/api/v4/includes/builddeltas.php | 35 ++ Website/api/v4/index.php | 2 + Website/framework/classes/BeaconCommon.php | 2 + Website/src/js/checkout.js | 193 ++++++++- Website/www/assets/scripts/checkout.js | 2 +- Website/www/browse/view.php | 2 + Website/www/download/index.php | 3 + Website/www/games/index.php | 1 + Website/www/omni/begin.php | 21 + Website/www/omni/index.php | 23 +- 17 files changed, 984 insertions(+), 22 deletions(-) create mode 100644 Website/api/v4/classes/Palworld/ConfigOption.php create mode 100644 Website/api/v4/classes/Palworld/GameVariable.php create mode 100644 Website/api/v4/classes/Palworld/GenericObject.php create mode 100644 Website/api/v4/classes/Palworld/Project.php diff --git a/Website/api/slack/commands/createcodes.php b/Website/api/slack/commands/createcodes.php index 88b00d7cd..b3fe61e87 100644 --- a/Website/api/slack/commands/createcodes.php +++ b/Website/api/slack/commands/createcodes.php @@ -33,6 +33,10 @@ case 'arksa': $productId = BeaconShop::GetProductByTag('USD', 'ArkSA', 'Base'); break; +case 'palworld': +case 'minimal': + $productId = BeaconShop::GetProductByTag('USD', 'BeaconMinimal', 'Base'); + break; default: PostReply('Unknown game_id value.'); return; diff --git a/Website/api/slack/commands/grant.php b/Website/api/slack/commands/grant.php index 9296b2cf8..8dfcc0f09 100644 --- a/Website/api/slack/commands/grant.php +++ b/Website/api/slack/commands/grant.php @@ -30,6 +30,10 @@ case 'curator': $product = BeaconShop::GetProductByTag('USD', 'Curator', 'Base'); break; +case 'minimal': +case 'palworld': + $product = BeaconShop::GetProductByTag('USD', 'BeaconMinimal', 'Base'); + break; default: PostReply('Unknown game_id value.'); return; diff --git a/Website/api/v4/classes/Palworld/ConfigOption.php b/Website/api/v4/classes/Palworld/ConfigOption.php new file mode 100644 index 000000000..b9014be87 --- /dev/null +++ b/Website/api/v4/classes/Palworld/ConfigOption.php @@ -0,0 +1,170 @@ +nativeEditorVersion = $row->Field('native_editor_version'); + $this->file = $row->Field('file'); + $this->header = $row->Field('header'); + $this->struct = $row->Field('struct'); + $this->key = $row->Field('key'); + $this->valueType = $row->Field('value_type'); + $this->maxAllowed = is_null($row->Field('max_allowed')) ? null : intval($row->Field('max_allowed')); + $this->description = trim($row->Field('description')); + $this->defaultValue = $row->Field('default_value'); + $this->nitradoPath = $row->Field('nitrado_path'); + $this->nitradoFormat = $row->Field('nitrado_format'); + $this->nitradoDeployStyle = $row->Field('nitrado_deploy_style'); + $this->uiGroup = $row->Field('ui_group'); + $this->constraints = is_null($row->Field('constraints')) ? null : json_decode($row->Field('constraints'), true); + $this->customSort = $row->Field('custom_sort'); + } + + protected static function CustomVariablePrefix(): string { + return 'configOption'; + } + + public static function BuildDatabaseSchema(): DatabaseSchema { + $schema = parent::BuildDatabaseSchema(); + $schema->SetTable('ini_options'); + $schema->AddColumns([ + new DatabaseObjectProperty('nativeEditorVersion', ['columnName' => 'native_editor_version']), + new DatabaseObjectProperty('file'), + new DatabaseObjectProperty('header'), + new DatabaseObjectProperty('struct'), + new DatabaseObjectProperty('key'), + new DatabaseObjectProperty('valueType', ['columnName' => 'value_type']), + new DatabaseObjectProperty('maxAllowed', ['columnName' => 'max_allowed']), + new DatabaseObjectProperty('description'), + new DatabaseObjectProperty('defaultValue', ['columnName' => 'default_value']), + new DatabaseObjectProperty('nitradoPath', ['columnName' => 'nitrado_path']), + new DatabaseObjectProperty('nitradoFormat', ['columnName' => 'nitrado_format']), + new DatabaseObjectProperty('nitradoDeployStyle', ['columnName' => 'nitrado_deploy_style']), + new DatabaseObjectProperty('uiGroup', ['columnName' => 'ui_group']), + new DatabaseObjectProperty('constraints'), + new DatabaseObjectProperty('customSort', ['columnName' => 'custom_sort']) + ]); + return $schema; + } + + protected static function BuildSearchParameters(DatabaseSearchParameters $parameters, array $filters, bool $isNested): void { + parent::BuildSearchParameters($parameters, $filters, $isNested); + + $schema = static::DatabaseSchema(); + $parameters->AddFromFilter($schema, $filters, 'file'); + $parameters->AddFromFilter($schema, $filters, 'header'); + $parameters->AddFromFilter($schema, $filters, 'struct'); + $parameters->AddFromFilter($schema, $filters, 'key'); + } + + public function jsonSerialize(): mixed { + $json = parent::jsonSerialize(); + unset($json['configOptionGroup']); + $json['nativeEditorVersion'] = $this->nativeEditorVersion; + $json['file'] = $this->file; + $json['header'] = $this->header; + $json['struct'] = $this->struct; + $json['key'] = $this->key; + $json['valueType'] = $this->valueType; + $json['maxAllowed'] = $this->maxAllowed; + $json['description'] = $this->description; + $json['defaultValue'] = $this->defaultValue; + if (is_null($this->nitradoPath) == false && is_null($this->nitradoFormat) == false && is_null($this->nitradoDeployStyle) == false) { + $json['nitradoEquivalent'] = [ + 'path' => $this->nitradoPath, + 'format' => $this->nitradoFormat, + 'deployStyle' => $this->nitradoDeployStyle + ]; + } + $json['uiGroup'] = $this->uiGroup; + $json['customSort'] = $this->customSort; + $json['constraints'] = $this->constraints; + return $json; + } + + public function NativeEditorInVersion(): ?int { + return $this->nativeEditorVersion; + } + + public function ConfigFileName(): string { + return $this->file; + } + + public function SectionHeader(): string { + return $this->header; + } + + public function StructName(): ?string { + return $this->struct; + } + + public function KeyName(): string { + return $this->key; + } + + public function ValueType(): string { + return $this->valueType; + } + + public function MaxAllowed(): ?int { + return $this->maxAllowed; + } + + public function Description(): ?string { + return $this->description; + } + + public function DefaultValue(): mixed { + return $this->defaultValue; + } + + public function UIGroup(): ?string { + return $this->uiGroup; + } + + public function CustomSort(): ?string { + return $this->customSort; + } + + public function Constraints(): ?array { + return $this->constraints; + } +} + +?> diff --git a/Website/api/v4/classes/Palworld/GameVariable.php b/Website/api/v4/classes/Palworld/GameVariable.php new file mode 100644 index 000000000..7311b63b5 --- /dev/null +++ b/Website/api/v4/classes/Palworld/GameVariable.php @@ -0,0 +1,50 @@ +key = $row->Field('key'); + $this->value = $row->Field('value'); + $this->lastUpdate = round($row->Field('last_update')); + } + + public static function BuildDatabaseSchema(): DatabaseSchema { + return new DatabaseSchema('palworld', 'game_variables', [ + new DatabaseObjectProperty('key', ['primaryKey' => true]), + new DatabaseObjectProperty('value'), + new DatabaseObjectProperty('lastUpdate', ['columnName' => 'last_update', 'accessor' => 'EXTRACT(EPOCH FROM %%TABLE%%.%%COLUMN%%)', 'setter' => 'TO_TIMESTAMP(%%PLACEHOLDER%%)']) + ]); + } + + protected static function BuildSearchParameters(DatabaseSearchParameters $parameters, array $filters, bool $isNested): void { + $schema = static::DatabaseSchema(); + $parameters->orderBy = $schema->Accessor('key'); + $parameters->allowAll = true; + $parameters->AddFromFilter($schema, $filters, 'lastUpdate', '>'); + } + + public function jsonSerialize(): mixed { + return [ + 'key' => $this->key, + 'value' => $this->value, + 'lastUpdate' => $this->lastUpdate + ]; + } + + public function Key(): string { + return $this->key; + } + + public function Value(): string { + return $this->value; + } +} + +?> diff --git a/Website/api/v4/classes/Palworld/GenericObject.php b/Website/api/v4/classes/Palworld/GenericObject.php new file mode 100644 index 000000000..b71d2f5eb --- /dev/null +++ b/Website/api/v4/classes/Palworld/GenericObject.php @@ -0,0 +1,398 @@ +Field('tags'), 1, -1); + if (strlen($tags) > 0) { + $tags = explode(',', $tags); + } else { + $tags = []; + } + asort($tags); + + $this->objectId = $row->Field('object_id'); + $this->objectGroup = $row->Field('object_group'); + $this->label = $row->Field('label'); + $this->alternateLabel = $row->Field('alternate_label'); + $this->minVersion = intval($row->Field('min_version')); + $this->contentPackId = $row->Field('content_pack_id'); + $this->contentPackName = $row->Field('content_pack_name'); + $this->contentPackMarketplace = $row->Field('content_pack_marketplace'); + $this->contentPackMarketplaceId = $row->Field('content_pack_marketplace_id'); + $this->tags = array_values($tags); + $this->lastUpdate = round($row->Field('last_update')); + } + + protected static function CustomVariablePrefix(): string { + return 'object'; + } + + public static function BuildDatabaseSchema(): DatabaseSchema { + $prefix = static::CustomVariablePrefix(); + return new DatabaseSchema('palworld', 'objects', [ + new DatabaseObjectProperty($prefix . 'Id', ['primaryKey' => true, 'columnName' => 'object_id']), + new DatabaseObjectProperty($prefix . 'Group', ['accessor' => 'palworld.table_to_group(SUBSTRING(%%TABLE%%.tableoid::regclass::TEXT, 7))', 'columnName' => 'object_group', 'editable' => DatabaseObjectProperty::kEditableNever]), + new DatabaseObjectProperty('label', ['editable' => DatabaseObjectProperty::kEditableAlways]), + new DatabaseObjectProperty('alternateLabel', ['columnName' => 'alternate_label', 'required' => false, 'editable' => DatabaseObjectProperty::kEditableAlways]), + new DatabaseObjectProperty('tags', ['required' => false, 'editable' => DatabaseObjectProperty::kEditableAlways]), + new DatabaseObjectProperty('minVersion', ['accessor' => 'GREATEST(%%TABLE%%.min_version, content_packs.min_version)', 'setter' => '%%PLACEHOLDER%%', 'columnName' => 'min_version', 'required' => false]), + new DatabaseObjectProperty('contentPackId', ['accessor' => 'content_packs.content_pack_id', 'setter' => '%%PLACEHOLDER%%', 'columnName' => 'content_pack_id']), + new DatabaseObjectProperty('contentPackName', ['accessor' => 'content_packs.name', 'columnName' => 'content_pack_name', 'editable' => DatabaseObjectProperty::kEditableNever]), + new DatabaseObjectProperty('contentPackMarketplace', ['accessor' => 'content_packs.marketplace', 'columnName' => 'content_pack_marketplace', 'editable' => DatabaseObjectProperty::kEditableNever]), + new DatabaseObjectProperty('contentPackMarketplaceId', ['accessor' => 'content_packs.marketplace_id', 'columnName' => 'content_pack_marketplace_id', 'editable' => DatabaseObjectProperty::kEditableNever]), + new DatabaseObjectProperty('lastUpdate', ['columnName' => 'last_update', 'accessor' => 'EXTRACT(EPOCH FROM %%TABLE%%.%%COLUMN%%)', 'setter' => 'TO_TIMESTAMP(%%PLACEHOLDER%%)', 'editable' => DatabaseObjectProperty::kEditableNever]) + ], [ + 'INNER JOIN public.content_packs ON (%%TABLE%%.content_pack_id = content_packs.content_pack_id)' + ]); + } + + protected static function BuildSearchParameters(DatabaseSearchParameters $parameters, array $filters, bool $isNested): void { + $schema = static::DatabaseSchema(); + $parameters->orderBy = $schema->Accessor('label'); + $parameters->allowAll = true; + $parameters->AddFromFilter($schema, $filters, 'lastUpdate', '>'); + $parameters->AddFromFilter($schema, $filters, 'contentPackMarketplace', '='); + $prefix = static::CustomVariablePrefix(); + + if (isset($filters['contentPackId'])) { + if (is_array($filters['contentPackId'])) { + $packs = $filters['contentPackId']; + } else { + $packs = explode(',', $filters['contentPackId']); + } + $packIds = []; + foreach ($packs as $pack) { + if (is_string($pack) && BeaconCommon::IsUUID($pack)) { + $packIds[] = $pack; + } + } + + $clauses = []; + if (count($packIds) > 1) { + $clauses[] = $schema->Accessor('contentPackId') . ' = ANY(' . $schema->Setter('contentPackId', $parameters->placeholder++) . ')'; + $parameters->values[] = '{' . implode(',', $packIds) . '}'; + } else if (count($packIds) === 1) { + $clauses[] = $schema->Comparison('contentPackId', '=', $parameters->placeholder++); + $parameters->values[] = $packIds[array_key_first($packIds)]; + } + if (count($clauses) > 0) { + $parameters->clauses[] = '(' . implode(' OR ', $clauses) . ')'; + } + } + + if (isset($filters['contentPackMarketplaceId'])) { + if (is_array($filters['contentPackMarketplaceId'])) { + $packs = $filters['contentPackMarketplaceId']; + } else { + $marketplaceId = str_replace('\\,', '73f2d6ad-0070-44df-8d9a-c8838da050d2', $filters['contentPackMarketplaceId']); + $packs = explode(',', $marketplaceId); + } + for ($idx = 0; $idx < count($packs); $idx++) { + $packs[$idx] = str_replace(['73f2d6ad-0070-44df-8d9a-c8838da050d2', '{', '}'], ['\\,', '\\{', '\\}'], $packs[$idx]); + } + + $clauses = []; + if (count($packs) > 1) { + $clauses[] = $schema->Accessor('contentPackMarketplaceId') . ' = ANY(' . $schema->Setter('contentPackMarketplaceId', $parameters->placeholder++) . ')'; + $parameters->values[] = '{' . implode(',', $packs) . '}'; + } else if (count($packs) === 1) { + $clauses[] = $schema->Comparison('contentPackMarketplaceId', '=', $parameters->placeholder++); + $parameters->values[] = $packs[array_key_first($packs)]; + } + if (count($clauses) > 0) { + $parameters->clauses[] = '(' . implode(' OR ', $clauses) . ')'; + } + } + + if (isset($filters[$prefix . 'Group'])) { + $filterKey = $prefix . 'Group'; + $filterValue = $filters[$filterKey]; + $groups = []; + if (str_contains($filterValue, ',')) { + $groups = explode(',', $filterValue); + } else { + $groups = [$filterValue]; + } + + for ($idx = 0; $idx < count($groups); $idx++) { + $groups[$idx] = trim($groups[$idx]); + } + + if (count($groups) > 1) { + $parameters->clauses[] = $schema->Accessor($filterKey) . ' = ANY(' . $schema->Setter($filterKey, $parameters->placeholder++) . ')'; + $parameters->values[] = '{' . implode(',', $groups) . '}'; + } else if (count($groups) === 1) { + $group = $groups[array_key_first($groups)]; + $parameters->clauses[] = $schema->Comparison($filterKey, '=', $parameters->placeholder++); + $parameters->values[] = $group; + } + } + + if (isset($filters['tag'])) { + $parameters->clauses[] = $schema->Setter('tags', $parameters->placeholder++) . ' = ANY(' . $schema->Accessor('tags') . ')'; + $parameters->values[] = $filters['tag']; + } + + if (isset($filters['tags'])) { + $tags = explode(',', $filters['tags']); + foreach ($tags as $tag) { + $parameters->clauses[] = $schema->Setter('tags', $parameters->placeholder++) . ' = ANY(' . $schema->Accessor('tags') . ')'; + $parameters->values[] = $tag; + } + } + + if (isset($filters['label'])) { + if (str_contains($filters['label'], '%')) { + $parameters->clauses[] = $schema->Accessor('label') . ' LIKE ' . $schema->Setter('label', $parameters->placeholder++); + } else { + $parameters->clauses[] = $schema->Comparison('label', '=', $parameters->placeholder++); + } + $parameters->values[] = $filters['label']; + } + + if (isset($filters['alternateLabel'])) { + if (str_contains($filters['alternateLabel'], '%')) { + $parameters->clauses[] = $schema->Accessor('alternateLabel') . ' LIKE ' . $schema->Setter('alternateLabel', $parameters->placeholder++); + } else { + $parameters->clauses[] = $schema->Comparison('alternateLabel', '=', $parameters->placeholder++); + } + $parameters->values[] = $filters['alternateLabel']; + } + } + + public function GetPermissionsForUser(User $user): int { + return DatabaseObjectAuthorizer::GetPermissionsForUser(className: '\BeaconAPI\v4\ContentPack', objectId: $this->contentPackId, user: $user); + } + + public static function GetNewObjectPermissionsForUser(User $user, ?array $newObjectProperties): int { + if (is_null($newObjectProperties) || isset($newObjectProperties['contentPackId']) === false) { + return static::kPermissionRead; + } + + return DatabaseObjectAuthorizer::GetPermissionsForUser(className: '\BeaconAPI\v4\ContentPack', objectId: $newObjectProperties['contentPackId'], user: $user, options: DatabaseObjectAuthorizer::kOptionMustExist); + } + + public static function LastUpdate(int $min_version = -1): DateTime { + $database = BeaconCommon::Database(); + $schema = static::SchemaName(); + $table = static::TableName(); + + if ($min_version == -1) { + $min_version = BeaconCommon::MinVersion(); + } + + $results = $database->Query('SELECT MAX(last_update) AS most_recent_change FROM ' . $schema . '.' . $table . ' WHERE min_version <= $1;', $min_version); + if ($results->Field('most_recent_change') !== null) { + $change_time = new DateTime($results->Field('most_recent_change')); + } else { + $change_time = new DateTime('2000-01-01'); + } + + if ($table == self::TableName()) { + $results = $database->Query('SELECT MAX(action_time) AS most_recent_delete FROM ' . $schema . '.deletions WHERE min_version <= $1;', $min_version); + } else { + $results = $database->Query('SELECT MAX(action_time) AS most_recent_delete FROM ' . $schema . '.deletions WHERE min_version <= $1 AND from_table = $2;', $min_version, $table); + } + if ($results->Field('most_recent_delete') !== null) { + $delete_time = new DateTime($results->Field('most_recent_delete')); + } else { + $delete_time = new DateTime('2000-01-01'); + } + return ($change_time >= $delete_time) ? $change_time : $delete_time; + } + + public static function Deletions(int $min_version = -1, DateTime $since = null): array { + if ($since === null) { + $since = new DateTime('2000-01-01'); + } + + if ($min_version == -1) { + $min_version = BeaconCommon::MinVersion(); + } + + $database = BeaconCommon::Database(); + $columns = 'object_id, palworld.table_to_group(from_table) AS from_table, label, min_version, action_time, tag'; + $mySchema = self::DatabaseSchema(); + $classSchema = static::DatabaseSchema(); + $schema = $classSchema->Schema(); + $table = $classSchema->Table(); + + if ($schema === $mySchema->Schema() && $table === $mySchema->Table()) { + $results = $database->Query("SELECT {$columns} FROM {$schema}.deletions WHERE min_version <= $1 AND action_time > $2;", $min_version, $since->format('Y-m-d H:i:sO')); + } else { + $results = $database->Query("SELECT {$columns} FROM {$schema}.deletions WHERE min_version <= $1 AND action_time > $2 AND from_table = $3;", $min_version, $since->format('Y-m-d H:i:sO'), $table); + } + $arr = []; + while (!$results->EOF()) { + $arr[] = [ + 'objectId' => $results->Field('object_id'), + 'minVersion' => $results->Field('min_version'), + 'group' => $results->Field('from_table'), + 'label' => $results->Field('label'), + 'tag' => $results->Field('tag') + ]; + $results->MoveNext(); + } + return $arr; + } + + public function jsonSerialize(): mixed { + $prefix = static::CustomVariablePrefix(); + return [ + $prefix . 'Id' => $this->objectId, + $prefix . 'Group' => $this->objectGroup, + 'label' => $this->label, + 'alternateLabel' => $this->alternateLabel, + 'contentPackId' => $this->contentPackId, + 'contentPackName' => $this->contentPackName, + 'contentPackMarketplace' => $this->contentPackMarketplace, + 'contentPackMarketplaceId' => $this->contentPackMarketplaceId, + 'tags' => $this->tags, + 'minVersion' => $this->minVersion, + 'lastUpdate' => $this->lastUpdate + ]; + } + + public function PrimaryKey(): string { + return $this->objectId; + } + + public function UUID(): string { + return $this->objectId; + } + + public function ObjectId(): string { + return $this->objectId; + } + + public function ObjectGroup(): string { + return $this->objectGroup; + } + + public function Label(): string { + return $this->label; + } + + public function SetLabel(string $label): void { + $this->label = $label; + } + + public function AlternateLabel(): ?string { + return $this->alternateLabel; + } + + public function SetAlternateLabel(?string $alternateLabel): void { + $this->alternateLabel = $alternateLabel; + } + + public function MinVersion(): int { + return $this->minVersion; + } + + public function ContentPackId(): string { + return $this->contentPackId; + } + + public function ContentPackName(): string { + return $this->contentPackName; + } + + public function ContentPackMarketplace(): string { + return $this->contentPackMarketplace; + } + + public function ContentPackMarketplaceId(): string { + return $this->contentPackMarketplaceId; + } + + public static function NormalizeTag(string $tag): string { + $tag = strtolower($tag); + $tag = preg_replace('/[^\w]/', '', $tag); + return $tag; + } + + public function Tags(): array { + return $this->tags; + } + + public function AddTag(string $tag): void { + $tag = self::NormalizeTag($tag); + if (!in_array($tag, $this->tags)) { + $this->tags[] = $tag; + } + } + + public function RemoveTag(string $tag): void { + $tag = self::NormalizeTag($tag); + if (in_array($tag, $this->tags)) { + $arr = array(); + foreach ($this->tags as $current_tag) { + if ($current_tag !== $tag) { + $arr[] = $current_tag; + } + } + $this->tags = $arr; + } + } + + public function IsTagged(string $tag): bool { + return in_array(self::NormalizeTag($tag), $this->tags); + } + + public static function DeleteObjects(string $object_id, string $user_id): bool { + $database = BeaconCommon::Database(); + $escaped_schema = $database->EscapeIdentifier(static::SchemaName()); + $escaped_table = $database->EscapeIdentifier(static::TableName()); + + $database->BeginTransaction(); + $results = $database->Query('SELECT content_packs.user_id, ' . $escaped_table . '.object_id FROM ' . $escaped_schema . '.' . $escaped_table . ' INNER JOIN public.content_packs ON (' . $escaped_table . '.content_pack_id = content_packs.content_pack_id) WHERE ' . $escaped_table . '.object_id = ANY($1) FOR UPDATE OF ' . $escaped_table . ';', '{' . $object_id . '}'); + $objects = array(); + while (!$results->EOF()) { + if ($results->Field('user_id') !== $user_id) { + $database->Rollback(); + return false; + } + $objects[] = $results->Field('object_id'); + $results->MoveNext(); + } + if (count($objects) == 0) { + $database->Rollback(); + return true; + } + $database->Query('DELETE FROM ' . $escaped_schema . '.' . $escaped_table . ' WHERE object_id = ANY($1);', '{' . implode(',', $objects) . '}'); + $database->Commit(); + return true; + } + + public function GetPropertyValue(string $propertyName): mixed { + $prefix = static::CustomVariablePrefix(); + switch ($propertyName) { + case $prefix . 'Id': + return $this->objectId; + case $prefix . 'Group': + return $this->objectGroup; + default: + return parent::GetPropertyValue($propertyName); + } + } +} + +?> diff --git a/Website/api/v4/classes/Palworld/Project.php b/Website/api/v4/classes/Palworld/Project.php new file mode 100644 index 000000000..84d597923 --- /dev/null +++ b/Website/api/v4/classes/Palworld/Project.php @@ -0,0 +1,92 @@ +gameSpecific)) { + $contentPacks = $this->gameSpecific['contentPacks']; + if ($asArray) { + return $contentPacks; + } else { + return implode(',', $contentPacks); + } + } else { + if ($asArray) { + return []; + } else { + return ''; + } + } + } + + public function ImplementedConfigs(bool $asArray): array|string { + if (array_key_exists('included_editors', $this->gameSpecific)) { + $editors = $this->gameSpecific['included_editors']; + if ($asArray) { + return $editors; + } else { + return implode(',', $editors); + } + } else { + if ($asArray) { + return []; + } else { + return ''; + } + } + } + + protected static function AddColumnValues(array $project, array &$row_values): bool { + if (parent::AddColumnValues($project, $row_values) === false) { + return false; + } + + $database = BeaconCommon::Database(); + + $content_pack_ids = []; + if (isset($project['ModSelections'])) { + $console_safe = true; + foreach ($project['ModSelections'] as $content_pack_id => $content_pack_enabled) { + if ($content_pack_enabled) { + $rows = $database->Query('SELECT content_pack_id, console_safe FROM palworld.content_packs WHERE confirmed = TRUE AND content_pack_id = $1;', $content_pack_id); + if ($rows->RecordCount() === 1) { + $content_pack_ids[] = $content_pack_id; + $console_safe = $console_safe && $rows->Field('console_safe'); + } + } + } + } elseif (isset($project['ConsoleModsOnly'])) { + $console_mods_only = $project['ConsoleModsOnly']; + $rows = $database->Query('SELECT content_pack_id FROM palworld.content_packs WHERE confirmed = TRUE AND console_safe = TRUE AND default_enabled = TRUE;'); + while (!$rows->EOF()) { + $content_pack_ids[] = $rows->Field('content_pack_id'); + $rows->MoveNext(); + } + } else { + $console_safe = false; + } + + $editor_names = []; + foreach ($project['EditorNames'] as $editor_name) { + if ($editor_name === 'Metadata') { + continue; + } + + $editor_names[] = $editor_name; + } + $project['EditorNames'] = $editor_names; + + $row_values['game_specific'] = json_encode([ + 'contentPacks' => $content_pack_ids, + 'included_editors' => $project['EditorNames'] + ]); + $row_values['console_safe'] = $console_safe; + + return true; + } +} + +?> diff --git a/Website/api/v4/classes/Project.php b/Website/api/v4/classes/Project.php index 5f590fbc4..e360b96bd 100644 --- a/Website/api/v4/classes/Project.php +++ b/Website/api/v4/classes/Project.php @@ -86,6 +86,9 @@ protected static function NewInstance(BeaconRecordSet $rows): Project { case 'ArkSA': return new ArkSA\Project($rows); break; + case 'Palworld': + return new Palworld\Project($rows); + break; default: throw new Exception('Unknown game ' . $gameId); } @@ -589,6 +592,7 @@ public static function Save(User $user, array $manifest): ?static { break; case '7DaysToDie': + case 'Palworld': break; default: throw new Exception('Unknown game ' . $gameId . '.', 400); diff --git a/Website/api/v4/includes/builddeltas.php b/Website/api/v4/includes/builddeltas.php index d9d6eb5f3..da8092533 100644 --- a/Website/api/v4/includes/builddeltas.php +++ b/Website/api/v4/includes/builddeltas.php @@ -4,6 +4,7 @@ use BeaconAPI\v4\Ark; use BeaconAPI\v4\SDTD; use BeaconAPI\v4\ArkSA; +use BeaconAPI\v4\Palworld; $root = "/v{$version}"; if (BeaconCommon::InProduction() == false) { @@ -41,6 +42,9 @@ case 'ArkSA': BuildArkSAContentPackFile($completeArchive, null, $pack); break; + case 'Palworld': + BuildPalworldContentPackFile($completeArchive, null, $pack); + break; } } @@ -73,6 +77,9 @@ case 'ArkSA': BuildArKSAContentPackFile($deltaArchive, $since, $pack); break; + case 'Palworld': + BuildPalworldContentPackFile($deltaArchive, $since, $pack); + break; } $rows->MoveNext(); @@ -132,6 +139,17 @@ function BuildArkSAContentPackFile(Archiver $archive, ?DateTime $since, ContentP ]); } +function BuildPalworldContentPackFile(Archiver $archive, ?DateTime $since, ContentPack $contentPack): void { + BuildFile([ + 'archive' => $archive, + 'class' => 'Palworld/ContentPack', + 'since' => $since, + 'Palworld' => [ + 'contentPack' => $contentPack + ] + ]); +} + function BuildFile(array $settings): void { global $lastDatabaseUpdate, $database, $root, $version; @@ -217,6 +235,12 @@ function BuildFile(array $settings): void { 'gameVariables' => ArkSA\GameVariable::Search($filters, true) ]; + $payloads[] = [ + 'gameId' => 'Palworld', + 'contentPacks' => ContentPack::Search([...$filters, 'gameId' => 'Palworld'], true), + 'gameVariables' => Palworld\GameVariable::Search($filters, true) + ]; + $localName = 'Main.json'; break; case 'Ark/Mod': @@ -262,6 +286,17 @@ function BuildFile(array $settings): void { 'spawnPoints' => ArkSA\SpawnPoint::Search($filters, true) ]; + $localName = "{$pack->ContentPackId()}.json"; + break; + case 'Palworld/ContentPack': + $pack = $settings['Palworld']['contentPack']; + $filters['contentPackId'] = $pack->ContentPackId(); + + $payloads[] = [ + 'gameId' => 'Palworld', + 'configOptions' => Palworld\ConfigOption::Search($filters, true) + ]; + $localName = "{$pack->ContentPackId()}.json"; break; default: diff --git a/Website/api/v4/index.php b/Website/api/v4/index.php index 908afc579..02db5b32a 100644 --- a/Website/api/v4/index.php +++ b/Website/api/v4/index.php @@ -182,6 +182,8 @@ DatabaseObjectManager::RegisterRoutes('BeaconAPI\v4\Sentinel\PlayerNote', 'sentinel/playerNotes', 'playerNoteId'); DatabaseObjectManager::RegisterRoutes('BeaconAPI\v4\Sentinel\Service', 'sentinel/services', 'serviceId'); DatabaseObjectManager::RegisterRoutes('BeaconAPI\v4\Sentinel\ServiceGroup', 'sentinel/serviceGroups', 'serviceGroupId'); +DatabaseObjectManager::RegisterRoutes('BeaconAPI\v4\Palworld\ConfigOption', 'palworld/configOptions', 'configOptionId'); +DatabaseObjectManager::RegisterRoutes('BeaconAPI\v4\Palworld\GameVariable', 'palworld/gameVariables', 'key'); DatabaseObjectManager::RegisterRoutes('BeaconAPI\v4\SDTD\ConfigOption', '7dtd/configOptions', 'configOptionId'); diff --git a/Website/framework/classes/BeaconCommon.php b/Website/framework/classes/BeaconCommon.php index 5c0282ea8..c8dc6b048 100644 --- a/Website/framework/classes/BeaconCommon.php +++ b/Website/framework/classes/BeaconCommon.php @@ -1040,6 +1040,8 @@ public static function StandardizeGameId(string $gameId): string { return 'ArkSA'; case 'sdtd': return '7DaysToDie'; + case 'palworld': + return 'Palworld'; } return ''; } diff --git a/Website/src/js/checkout.js b/Website/src/js/checkout.js index 04997081d..583136c1a 100644 --- a/Website/src/js/checkout.js +++ b/Website/src/js/checkout.js @@ -115,7 +115,15 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { return Math.min(this.getQuantity(Products?.ArkSA?.Base?.ProductId) + this.getQuantity(Products?.ArkSA?.Upgrade?.ProductId) + this.getQuantity(Products?.ArkSA?.Renewal?.ProductId), 10); } - build(targetCart, isGift, withArk, arkSAYears) { + get hasMinimalGames() { + return this.getQuantity(Products?.BeaconMinimal?.Base?.ProductId) > 0 || this.getQuantity(Products?.BeaconMinimal?.Renewal?.ProductId) > 0; + } + + get minimalGamesYears() { + return Math.min(this.getQuantity(Products?.BeaconMinimal?.Base?.ProductId) + this.getQuantity(Products?.BeaconMinimal?.Renewal?.ProductId), 10); + } + + build(targetCart, isGift, withArk, arkSAYears, minimalGamesYears) { this.reset(); this.isGift = isGift; @@ -150,11 +158,31 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { } } } + + if (minimalGamesYears > 0) { + minimalGamesYears = Math.min(minimalGamesYears, MaxRenewalCount); + + if (isGift) { + this.setQuantity(Products.BeaconMinimal.Base.ProductId, 1); + if (minimalGamesYears > 1) { + this.setQuantity(Products.BeaconMinimal.Renewal.ProductId, minimalGamesYears - 1); + } + } else { + if (targetCart.minimalGamesLicense !== null) { + this.setQuantity(Products.BeaconMinimal.Renewal.ProductId, minimalGamesYears); + } else { + this.setQuantity(Products.BeaconMinimal.Base.ProductId, 1); + if (minimalGamesYears > 1) { + this.setQuantity(Products.BeaconMinimal.Renewal.ProductId, minimalGamesYears - 1); + } + } + } + } } rebuild(targetCart) { const oldFingerprint = this.fingerprint; - this.build(targetCart, this.isGift, this.hasArk, this.arkSAYears); + this.build(targetCart, this.isGift, this.hasArk, this.arkSAYears, this.minimalGamesYears); return this.fingerprint !== oldFingerprint; } @@ -169,7 +197,8 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const includeArk = this.hasArk || otherLineItem.hasArk; const arkSAYears = this.arkSAYears + otherLineItem.arkSAYears; - this.build(cart, this.isGift, includeArk, arkSAYears); + const minimalGamesYears = this.hasMinimalGames || otherLineItem.hasMinimalGames; + this.build(cart, this.isGift, includeArk, arkSAYears, minimalGamesYears); } get total() { @@ -354,6 +383,10 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { return this.findLicense(Products?.ArkSA?.Base?.ProductId); } + get minimalGamesLicense() { + return this.findLicense(Products?.BeaconMinimal?.Base?.ProductId); + } + get ark2License() { return null; } @@ -531,27 +564,34 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const wizard = { cartView: null, editCartItem: null, - cancelButton: document.getElementById('checkout-wizard-cancel'), actionButton: document.getElementById('checkout-wizard-action'), - giftCheck: document.getElementById('checkout-wizard-gift-check'), - arkSACheck: document.getElementById('checkout-wizard-arksa-check'), arkCheck: document.getElementById('checkout-wizard-ark-check'), - arkPriceField: document.getElementById('checkout-wizard-ark-price'), - arkSAPriceField: document.getElementById('checkout-wizard-arksa-full-price'), - arkSAUpgradePriceField: document.getElementById('checkout-wizard-arksa-discount-price'), - arkSAStatusField: document.getElementById('checkout-wizard-status-arksa'), - arkStatusField: document.getElementById('checkout-wizard-status-ark'), - arkSADurationGroup: document.getElementById('checkout-wizard-arksa-duration-group'), - arkSADurationField: document.getElementById('checkout-wizard-arksa-duration-field'), - arkSADurationUpButton: document.getElementById('checkout-wizard-arksa-yearup-button'), - arkSADurationDownButton: document.getElementById('checkout-wizard-arksa-yeardown-button'), - arkSAPromoField: document.getElementById('checkout-wizard-promo-arksa'), arkOnlyCheck: document.getElementById('storefront-ark-check'), + arkOnlyGiftDownButton: document.getElementById('storefront-ark-gift-decrease'), arkOnlyGiftField: document.getElementById('storefront-ark-gift-field'), - arkOnlyOwnedField: document.getElementById('storefront-ark-owned'), arkOnlyGiftQuantityGroup: document.getElementById('storefront-ark-gift-group'), arkOnlyGiftUpButton: document.getElementById('storefront-ark-gift-increase'), - arkOnlyGiftDownButton: document.getElementById('storefront-ark-gift-decrease'), + arkOnlyOwnedField: document.getElementById('storefront-ark-owned'), + arkPriceField: document.getElementById('checkout-wizard-ark-price'), + arkSACheck: document.getElementById('checkout-wizard-arksa-check'), + arkSADurationDownButton: document.getElementById('checkout-wizard-arksa-yeardown-button'), + arkSADurationField: document.getElementById('checkout-wizard-arksa-duration-field'), + arkSADurationGroup: document.getElementById('checkout-wizard-arksa-duration-group'), + arkSADurationUpButton: document.getElementById('checkout-wizard-arksa-yearup-button'), + arkSAPriceField: document.getElementById('checkout-wizard-arksa-full-price'), + arkSAPromoField: document.getElementById('checkout-wizard-promo-arksa'), + arkSAStatusField: document.getElementById('checkout-wizard-status-arksa'), + arkSAUpgradePriceField: document.getElementById('checkout-wizard-arksa-discount-price'), + arkStatusField: document.getElementById('checkout-wizard-status-ark'), + giftCheck: document.getElementById('checkout-wizard-gift-check'), + minimalGamesCheck: document.getElementById('checkout-wizard-beaconminimal-check'), + minimalGamesDurationDownButton: document.getElementById('checkout-wizard-beaconminimal-yeardown-button'), + minimalGamesDurationField: document.getElementById('checkout-wizard-beaconminimal-duration-field'), + minimalGamesDurationGroup: document.getElementById('checkout-wizard-beaconminimal-duration-group'), + minimalGamesDurationUpButton: document.getElementById('checkout-wizard-beaconminimal-yearup-button'), + minimalGamesPriceField: document.getElementById('checkout-wizard-beaconminimal-price'), + minimalGamesStatusField: document.getElementById('checkout-wizard-status-beaconminimal'), + cancelButton: document.getElementById('checkout-wizard-cancel'), init: function(cartView) { this.cartView = cartView; @@ -569,12 +609,14 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const isGift = this.giftCheck.checked; const includeArk = this.arkCheck && this.arkCheck.disabled === false && this.arkCheck.checked; const includeArkSA = this.arkSACheck && this.arkSACheck.disabled === false && this.arkSACheck.checked; + const includeMinimalGames = this.minimalGamesCheck && this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked; - if ((includeArk || includeArkSA) === false) { + if ((includeArk || includeArkSA || includeMinimalGames) === false) { return; } const arkSAYears = includeArkSA ? (parseInt(this.arkSADurationField.value) || 1) : 0; + const minimalGamesYears = includeMinimalGames ? (parseInt(this.minimalGamesDurationField.value) || 1) : 0; let lineItem; if (this.editCartItem) { @@ -584,7 +626,7 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { lineItem.isGift = isGift; } - lineItem.build(cart, isGift, includeArk, arkSAYears); + lineItem.build(cart, isGift, includeArk, arkSAYears, minimalGamesYears); if (Boolean(this.editCartItem) === false) { const personalCartItem = cart.personalCartItem; @@ -652,6 +694,43 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { }); } + if (this.minimalGamesCheck && this.minimalGamesDurationField && this.minimalGamesDurationUpButton && this.minimalGamesDurationDownButton && this.minimalGamesDurationGroup) { + this.minimalGamesCheck.addEventListener('change', () => { + this.update(); + }); + + this.minimalGamesDurationField.addEventListener('input', () => { + this.update(); + }); + + const nudgeMinimalGamesDuration = (amount) => { + const originalValue = parseInt(this.minimalGamesDurationField.value); + let newValue = originalValue + amount; + if (newValue > MaxRenewalCount || newValue < 1) { + this.minimalGamesDurationGroup.classList.add('shake'); + setTimeout(() => { + this.minimalGamesDurationGroup.classList.remove('shake'); + }, 400); + newValue = Math.max(Math.min(newValue, MaxRenewalCount), 1); + } + if (originalValue !== newValue) { + this.minimalGamesDurationField.value = newValue; + this.minimalGamesCheck.checked = true; + this.update(); + } + }; + + this.minimalGamesDurationUpButton.addEventListener('click', (ev) => { + ev.preventDefault(); + nudgeMinimalGamesDuration(1); + }); + + this.minimalGamesDurationDownButton.addEventListener('click', (ev) => { + ev.preventDefault(); + nudgeMinimalGamesDuration(-1); + }); + } + if (this.arkOnlyCheck) { this.arkOnlyCheck.addEventListener('change', (ev) => { ev.preventDefault(); @@ -740,6 +819,9 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { if (this.arkSACheck) { this.arkSACheck.disabled = false; } + if (this.minimalGamesCheck) { + this.minimalGamesCheck.disabled = false; + } if (editCartItem) { this.giftCheck.checked = editCartItem.isGift; @@ -748,6 +830,9 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { if (this.arkSACheck) { this.arkSACheck.checked = editCartItem.hasArkSA; } + if (this.minimalGamesCheck) { + this.minimalGamesCheck.checked = editCartItem.hasMinimalGames; + } } else { this.giftCheck.checked = false; this.giftCheck.disabled = false; @@ -755,6 +840,9 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { if (this.arkSACheck) { this.arkSACheck.checked = false; } + if (this.minimalGamesCheck) { + this.minimalGamesCheck.checked = false; + } } if (this.arkSADurationField) { @@ -765,6 +853,14 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { } } + if (this.minimalGamesDurationField) { + if (editCartItem) { + this.minimalGamesDurationField.value = editCartItem.minimalGamesYears; + } else { + this.minimalGamesDurationField.value = '1'; + } + } + this.cancelButton.innerText = 'Cancel'; this.update(); @@ -774,6 +870,7 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const gameStatus = { Ark: StatusNone, ArkSA: StatusNone, + BeaconMinimal: StatusNone, }; const personalCartItem = cart.personalCartItem; @@ -782,6 +879,7 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { if (isGift) { gameStatus.Ark = this.arkCheck && this.arkCheck.disabled === false && this.arkCheck.checked ? StatusBuying : StatusNone; gameStatus.ArkSA = this.arkSACheck && this.arkSACheck.disabled === false && this.arkSACheck.checked ? StatusBuying : StatusNone; + gameStatus.BeaconMinimal = this.minimalGamesCheck = this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked ? StatusBuying : StatusNone; } else { if (cart.arkLicense) { gameStatus.Ark = StatusOwns; @@ -802,6 +900,16 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { } else { gameStatus.ArkSA = StatusNone; } + + if (cart.minimalGamesLicense) { + gameStatus.BeaconMinimal = StatusOwns; + } else if (personalCartItem && (isEditing === false || personalCartItem.id !== this.editCartItem.id) && personalCartItem.hasMinimalGames()) { + gameStatus.BeaconMinimal = StatusInCart; + } else if (this.minimalGamesCheck && this.minimalGamesCheck && this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked) { + gameStatus.BeaconMinimal = StatusBuying; + } else { + gameStatus.BeaconMinimal = StatusNone; + } } return gameStatus; @@ -898,6 +1006,51 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { this.arkCheck.disabled = false; } + if (this.minimalGamesCheck) { + let minimalGamesPrice = Products.BeaconMinimal.Base.Price; + + const minimalGamesYears = Math.min(Math.max(parseInt(this.minimalGamesDurationField.value) || 1, 1), MaxRenewalCount); + if (parseInt(this.minimalGamesDurationField.value) !== minimalGamesYears && document.activeElement !== this.minimalGamesDurationField) { + this.minimalGamesDurationField.value = minimalGamesYears; + } + const minimalGamesAdditionalYears = Math.max(minimalGamesYears - 1, 0); + + if (gameStatus.BeaconMinimal === StatusOwns) { + // Show as renewal + const license = cart.minimalGamesLicense; + const now = Math.floor(Date.now() / 1000); + const currentExpiration = license.expiresEpoch; + const currentExpirationDisplay = formatDate(epochToDate(currentExpiration), false); + const startEpoch = (now > currentExpiration) ? ((Math.floor(now / 86400) * 86400) + 86400) : currentExpiration; + const newExpiration = startEpoch + (Products.BeaconMinimal.Renewal.PlanLengthSeconds * minimalGamesYears); + const newExpirationDisplay = formatDate(epochToDate(newExpiration), false); + + let statusHtml; + if (now > currentExpiration) { + statusHtml = `Renew your update plan
Expired on ${currentExpirationDisplay}
New expiration: ${newExpirationDisplay}`; + } else { + statusHtml = `Extend your update plan
Expires on ${currentExpirationDisplay}
New expiration: ${newExpirationDisplay}`; + } + this.minimalGamesStatusField.innerHTML = statusHtml; + + minimalGamesPrice = Products.BeaconMinimal.Renewal.Price * minimalGamesYears; + } else if (gameStatus.BeaconMinimal === StatusInCart) { + // Show as renewal + minimalGamesPrice = Products.BeaconMinimal.Renewal.Price * minimalGamesYears; + this.minimalGamesStatusField.innerText = `Additional renewal years for ${Products.BeaconMinimal.Base.Name} in your cart.`; + } else { + // Show normal + this.minimalGamesStatusField.innerText = `For games with only a few options, such as Palworld. Includes first year of app updates. Additional years cost ${formatCurrency(Products.BeaconMinimal.Renewal.Price)} each.`; + minimalGamesPrice = Products.BeaconMinimal.Base.Price + (Products.BeaconMinimal.Renewal.Price * minimalGamesAdditionalYears); + } + + this.minimalGamesPriceField.innerText = formatCurrency(minimalGamesPrice); + + if (this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked === true) { + total = total + minimalGamesPrice; + } + } + const addToCart = (this.editCartItem) ? 'Edit' : 'Add to Cart'; if (total > 0) { this.actionButton.disabled = false; diff --git a/Website/www/assets/scripts/checkout.js b/Website/www/assets/scripts/checkout.js index 553469e55..dbb900f9f 100644 --- a/Website/www/assets/scripts/checkout.js +++ b/Website/www/assets/scripts/checkout.js @@ -1 +1 @@ -(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok";return this.confirm(e,t,n,null)}},{key:"confirm",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Cancel";return new Promise((function(a,o){var c=document.getElementById("overlay"),s=document.getElementById("dialog"),l=document.getElementById("dialog_message"),u=document.getElementById("dialog_explanation"),d=document.getElementById("dialog_action_button"),h=document.getElementById("dialog_cancel_button");c&&s&&l&&u&&d&&h?(c.className="exist",s.className="exist",setTimeout((function(){c.className="exist visible",s.className="exist visible"}),10),l.innerText=e,u.innerText=n||"",d.clickHandler&&d.removeEventListener("click",d.clickHandler),h.clickHandler&&h.removeEventListener("click",h.clickHandler),d.clickHandler=function(){t.hide(),setTimeout((function(){a()}),300)},d.addEventListener("click",d.clickHandler),d.innerText=i,r?(h.clickHandler=function(){t.hide(),setTimeout((function(){o()}),300)},h.addEventListener("click",h.clickHandler),h.innerText=r):h.className="hidden"):o()}))}},{key:"hide",value:function(){var e=document.getElementById("overlay"),t=document.getElementById("dialog");e&&t&&(e.className="exist",t.className="exist",setTimeout((function(){e.className="",t.className=""}),300))}},{key:"showModal",value:function(e){var t=this;if(!this.activeModal){var n=document.getElementById("overlay"),i=document.getElementById(e);n&&i&&(n.classList.add("exist"),i.classList.add("exist"),this.activeModal=e,setTimeout((function(){n.classList.add("visible"),i.classList.add("visible")}),10),this.viewportWatcher=setInterval((function(){if(t.activeModal){document.querySelectorAll("#".concat(t.activeModal," .modal-content .content")).forEach((function(e){i.classList.toggle("scrolled",e.scrollHeight>e.clientHeight)}));var e=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);i.classList.toggle("centered",i.clientHeight>.75*e)}}),100))}}},{key:"hideModal",value:function(){var e=this;return new Promise((function(t,n){if(e.activeModal){var i=document.getElementById("overlay"),r=document.getElementById(e.activeModal);i&&r?(e.viewportWatcher&&(clearInterval(e.viewportWatcher),e.viewportWatcher=null),i.classList.remove("visible"),r.classList.remove("visible"),setTimeout((function(){i.classList.remove("exist"),r.classList.remove("exist"),e.activeModal=null,t()}),300)):n()}else n()}))}}],null&&t(n.prototype,null),i&&t(n,i),Object.defineProperty(n,"prototype",{writable:!1}),e}();function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function o(e,t){for(var n=0;n=200&&e.status<300||304===e.status}}},{key:"start",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,c){var s=new XMLHttpRequest;if(s.open(e,t,!0),"object"===a(r)&&null!==r&&!1===Array.isArray(r))for(var l=0,u=Object.keys(r);l1&&void 0!==arguments[1]?arguments[1]:{};return e.start("GET",t,null,n)}},{key:"post",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n instanceof URLSearchParams?(i["Content-Type"]="application/x-www-form-urlencoded",e.start("POST",t,n.toString(),i)):"object"===a(n)&&null!==n||Array.isArray(n)?(i["Content-Type"]="application/json",e.start("POST",t,JSON.stringify(n),i)):e.start("POST",t,n,i)}},{key:"delete",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.start("DELETE",t,null,n)}}],null&&o(t.prototype,null),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),s=function(e){return Intl.NumberFormat("en-US",{style:"currency",currency:e}).format},l=function(e){return new Date(1e3*e)},u=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Intl.DateTimeFormat().resolvedOptions(),r={dateStyle:"medium"};t&&(r.timeStyle="short");var a=Intl.DateTimeFormat(i.locale,r).format(e);return n&&(a="".concat(a," ").concat(i.timeZone)),a};function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function f(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw a}}}}function v(e,t){if(e){if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n>e/4).toString(16)})))}return b(e,[{key:"id",get:function(){return S(this,o)}},{key:"isGift",get:function(){return S(this,h)},set:function(e){E(this,h,e)}},{key:"productIds",get:function(){return Object.keys(S(this,d))}},{key:"count",get:function(){return Object.keys(S(this,d)).length}},{key:"reset",value:function(){E(this,d,{})}},{key:"add",value:function(e,t){this.setQuantity(e,this.getQuantity(e)+t)}},{key:"remove",value:function(e,t){this.setQuantity(e,this.getQuantity(e)-t)}},{key:"getQuantity",value:function(e){var t;return null!==(t=S(this,d)[e])&&void 0!==t?t:0}},{key:"setQuantity",value:function(e,t){t<=0?Object.prototype.hasOwnProperty.call(S(this,d),e)&&delete S(this,d)[e]:S(this,d)[e]=t}},{key:"toJSON",value:function(){return{id:S(this,o),products:S(this,d),isGift:S(this,h)}}},{key:"fingerprint",get:function(){var e=this,t=Object.keys(S(this,d)).sort().reduce((function(t,n){return t[n]=S(e,d)[n],t}),{});return btoa(JSON.stringify({id:S(this,o),products:t,isGift:S(this,h)}))}},{key:"hasArk",get:function(){var e;return this.getQuantity(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0}},{key:"hasArkSA",get:function(){var e,t,i;return this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)>0||this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId)>0}},{key:"arkSAYears",get:function(){var e,t,i;return Math.min(this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)+this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId),10)}},{key:"build",value:function(e,t,i,r){this.reset(),this.isGift=t,i&&(t||null===e.arkLicense)&&this.setQuantity(n.Ark.Base.ProductId,1),r>0&&(r=Math.min(r,5),t?(i?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),r>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,r-1)):null!==e.arkSALicense?this.setQuantity(n.ArkSA.Renewal.ProductId,r):(i||null!==e.arkLicense?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),r>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,r-1)))}},{key:"rebuild",value:function(e){var t=this.fingerprint;return this.build(e,this.isGift,this.hasArk,this.arkSAYears),this.fingerprint!==t}},{key:"consume",value:function(e,t){if(t){if(this.isGift!==t.isGift)throw new Error("Cannot merge a gift item with a non-gift item.");var n=this.hasArk||t.hasArk,i=this.arkSAYears+t.arkSAYears;this.build(e,this.isGift,n,i)}}},{key:"total",get:function(){var e,t=0,n=m(this.productIds);try{for(n.s();!(e=n.n()).done;){var r=e.value;t+=i[r].Price*this.getQuantity(r)}}catch(e){n.e(e)}finally{n.f()}return t}}]),e}(),g=new WeakMap,w=new WeakMap,C=new WeakMap,T=new WeakMap,x=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(p(this,e),A(this,g,{writable:!0,value:[]}),A(this,w,{writable:!0,value:null}),A(this,C,{writable:!0,value:!1}),A(this,T,{writable:!0,value:[]}),t)try{var n=JSON.parse(t);E(this,w,n.email),E(this,g,n.items.reduce((function(e,t){var n=new k(t);return n.count>0&&e.push(n),e}),[])),E(this,T,n.licenses)}catch(e){console.log("Failed to load saved cart")}}return b(e,[{key:"reset",value:function(){E(this,g,[]),E(this,w,null),E(this,C,!1),E(this,T,[]),this.save()}},{key:"toJSON",value:function(){return{email:S(this,w),items:S(this,g).reduce((function(e,t){return t.count>0&&e.push(t),e}),[]),licenses:S(this,T)}}},{key:"save",value:function(){localStorage.setItem("beaconCart",JSON.stringify(this))}},{key:"add",value:function(e){S(this,g).push(e),this.save()}},{key:"remove",value:function(e){E(this,g,S(this,g).filter((function(t){return t.id!==e.id}))),this.save()}},{key:"hasProduct",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=m(S(this,g));try{for(i.s();!(t=i.n()).done;){var r=t.value;if(r.getQuantity(e)>0&&r.isGift===n)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"email",get:function(){return S(this,w)}},{key:"setEmail",value:function(e){var t=this;return new Promise((function(i,r){var a=function(){var e,i=t.personalCartItem;return!!i&&(i.hasArk&&t.arkLicense?(i.setQuantity(null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId,0),0===i.count&&t.remove(i),!0):i.rebuild(t))};if(null===e){E(t,w,null),E(t,C,!1),E(t,T,[]);var o=a();return t.save(),void i({newEmail:null,cartChanged:o})}if(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(e).trim().toLowerCase())){var s=new URLSearchParams;s.append("email",e),c.get("/omni/lookup?".concat(s.toString())).then((function(n){var r=JSON.parse(n.body);E(t,w,r.email),E(t,C,r.verified),E(t,T,r.purchases);var o=a();t.save(),i({newEmail:e,cartChanged:o})})).catch((function(e){E(t,w,null),E(t,C,!1),E(t,T,[]),a(),t.save(),r(e.statusText)}))}else r("Address is not valid")}))}},{key:"emailVerified",get:function(){return S(this,C)}},{key:"checkingEmail",get:function(){return!1}},{key:"items",get:function(){return function(e){if(Array.isArray(e))return y(e)}(e=S(this,g))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var e}},{key:"count",get:function(){return S(this,g).reduce((function(e,t){return t.count>0&&e++,e}),0)}},{key:"findLicense",value:function(e){var t,n=m(S(this,T));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(i.productId===e)return i}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"arkLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"arkSALicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"ark2License",get:function(){return null}},{key:"personalCartItem",get:function(){var e,t=m(S(this,g));try{for(t.s();!(e=t.n()).done;){var n=e.value;if(!1===n.isGift)return n}}catch(e){t.e(e)}finally{t.f()}return null}},{key:"total",get:function(){var e,t=0,n=m(S(this,g));try{for(n.s();!(e=n.n()).done;)t+=e.value.total}catch(e){n.e(e)}finally{n.f()}return t}}],[{key:"load",value:function(){return new this(localStorage.getItem("beaconCart"))}}]),e}(),O=x.load(),F=new WeakMap,D=new WeakMap,M=function(){function e(t){p(this,e),A(this,F,{writable:!0,value:[]}),A(this,D,{writable:!0,value:null}),S(this,F).push(t)}return b(e,[{key:"currentView",get:function(){return S(this,F).slice(-1)}},{key:"back",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!(S(this,F).length<=1||(this.switchView(S(this,F)[S(this,F).length-2],e),E(this,F,S(this,F).slice(0,S(this,F).length-2)),0))}},{key:"clearHistory",value:function(){S(this,F).length<=1||E(this,F,S(this,F).slice(-1))}},{key:"switchView",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.currentView!==e){S(this,D)&&(clearTimeout(S(this,D)),E(this,D,null));var i=document.getElementById(this.currentView),r=document.getElementById(e);S(this,F).push(e),n?(i.classList.add("invisible"),E(this,D,setTimeout((function(){i.classList.add("hidden"),r.classList.remove("hidden"),E(t,D,setTimeout((function(){r.classList.remove("invisible"),E(t,D,null)}),150))}),150))):(i.classList.add("hidden"),i.classList.add("invisible"),r.classList.remove("invisible"),r.classList.remove("hidden"))}}}]),e}();new M("checkout-wizard-start");var G=new M("page-landing"),N=document.getElementById("buy-button"),j=document.getElementById("cart-back-button"),z=1===Object.keys(i).length,R=function(){history.pushState({},"","/omni#checkout"),dispatchEvent(new PopStateEvent("popstate",{}))},Q={cancelButton:document.getElementById("checkout-email-cancel"),actionButton:document.getElementById("checkout-email-action"),emailField:document.getElementById("checkout-email-field"),errorField:document.getElementById("checkout-email-error"),allowsSkipping:!1,successFunction:function(e){},init:function(){var e=this,t=function(t){e.actionButton.disabled=!0,e.cancelButton.disabled=!0,e.errorField.classList.add("hidden"),O.setEmail(t).then((function(t){t.newEmail;var n=t.cartChanged;r.hideModal(),setTimeout((function(){e.successFunction(n)}),310)})).catch((function(t){e.errorField.innerText=t,e.errorField.classList.remove("hidden")})).finally((function(){e.actionButton.disabled=!1,e.cancelButton.disabled=!1}))};this.actionButton.addEventListener("click",(function(n){n.preventDefault(),t(e.emailField.value)})),this.cancelButton.addEventListener("click",(function(n){n.preventDefault(),e.allowsSkipping?t(null):r.hideModal()}))},present:function(e,n){t.forceEmail?O.setEmail(t.forceEmail).then((function(e){e.newEmail;var t=e.cartChanged;n(t)})):(this.allowsSkipping=e,this.successFunction=n,O.email?this.emailField.value=O.email:this.emailField.value=sessionStorage.getItem("email")||localStorage.getItem("email")||"",this.cancelButton.innerText=e?"Skip For Now":"Cancel",r.showModal("checkout-email"))}};Q.init();var U={cartView:null,editCartItem:null,cancelButton:document.getElementById("checkout-wizard-cancel"),actionButton:document.getElementById("checkout-wizard-action"),giftCheck:document.getElementById("checkout-wizard-gift-check"),arkSACheck:document.getElementById("checkout-wizard-arksa-check"),arkCheck:document.getElementById("checkout-wizard-ark-check"),arkPriceField:document.getElementById("checkout-wizard-ark-price"),arkSAPriceField:document.getElementById("checkout-wizard-arksa-full-price"),arkSAUpgradePriceField:document.getElementById("checkout-wizard-arksa-discount-price"),arkSAStatusField:document.getElementById("checkout-wizard-status-arksa"),arkStatusField:document.getElementById("checkout-wizard-status-ark"),arkSADurationGroup:document.getElementById("checkout-wizard-arksa-duration-group"),arkSADurationField:document.getElementById("checkout-wizard-arksa-duration-field"),arkSADurationUpButton:document.getElementById("checkout-wizard-arksa-yearup-button"),arkSADurationDownButton:document.getElementById("checkout-wizard-arksa-yeardown-button"),arkSAPromoField:document.getElementById("checkout-wizard-promo-arksa"),arkOnlyCheck:document.getElementById("storefront-ark-check"),arkOnlyGiftField:document.getElementById("storefront-ark-gift-field"),arkOnlyOwnedField:document.getElementById("storefront-ark-owned"),arkOnlyGiftQuantityGroup:document.getElementById("storefront-ark-gift-group"),arkOnlyGiftUpButton:document.getElementById("storefront-ark-gift-increase"),arkOnlyGiftDownButton:document.getElementById("storefront-ark-gift-decrease"),init:function(e){var t=this;if(this.cartView=e,this.cancelButton&&this.cancelButton.addEventListener("click",(function(e){e.preventDefault(),r.hideModal()})),this.actionButton&&this.actionButton.addEventListener("click",(function(e){e.preventDefault();var n=t.giftCheck.checked,i=t.arkCheck&&!1===t.arkCheck.disabled&&t.arkCheck.checked,a=t.arkSACheck&&!1===t.arkSACheck.disabled&&t.arkSACheck.checked;if(!1!==(i||a)){var o,c=a?parseInt(t.arkSADurationField.value)||1:0;if(t.editCartItem?o=t.editCartItem:(o=new k).isGift=n,o.build(O,n,i,c),!1===Boolean(t.editCartItem)){var s=O.personalCartItem;!1===n&&!0===Boolean(s)?s.consume(O,o):O.add(o)}O.save(),t.cartView.update(),R(),r.hideModal()}})),this.giftCheck&&this.giftCheck.addEventListener("change",(function(){t.update()})),this.arkCheck&&this.arkCheck.addEventListener("change",(function(){t.update()})),this.arkSACheck&&this.arkSADurationField&&this.arkSADurationUpButton&&this.arkSADurationDownButton&&this.arkSADurationGroup){this.arkSACheck.addEventListener("change",(function(){t.update()})),this.arkSADurationField.addEventListener("input",(function(){t.update()}));var n=function(e){var n=parseInt(t.arkSADurationField.value),i=n+e;(i>5||i<1)&&(t.arkSADurationGroup.classList.add("shake"),setTimeout((function(){t.arkSADurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.arkSADurationField.value=i,t.arkSACheck.checked=!0,t.update())};this.arkSADurationUpButton.addEventListener("click",(function(e){e.preventDefault(),n(1)})),this.arkSADurationDownButton.addEventListener("click",(function(e){e.preventDefault(),n(-1)}))}if(this.arkOnlyCheck&&this.arkOnlyCheck.addEventListener("change",(function(e){if(e.preventDefault(),e.currentTarget.checked){var n=O.personalCartItem;n||(n=new k,O.add(n)),n.build(O,!1,!0,0),O.save()}else{var i=O.personalCartItem;i&&O.remove(i)}t.cartView.update()})),this.arkOnlyGiftField){var i=function(e){var n=O.items.filter((function(e){return!0===e.isGift&&e.hasArk}));if(n.length!==e){if(n.length>e)for(var i=e;i<=n.length-1;i++)O.remove(n[i]);else if(n.length5||r<0)&&(t.arkOnlyGiftQuantityGroup.classList.add("shake"),setTimeout((function(){t.arkOnlyGiftQuantityGroup.classList.remove("shake")}),400),r=Math.max(Math.min(r,5),0)),n!==r&&(t.arkOnlyGiftField.value=r,i(r))};this.arkOnlyGiftUpButton.addEventListener("click",(function(e){e.preventDefault(),a(1)})),this.arkOnlyGiftDownButton.addEventListener("click",(function(e){e.preventDefault(),a(-1)}))}},present:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.editCartItem=e,this.arkCheck.disabled=!1,this.arkSACheck&&(this.arkSACheck.disabled=!1),e?(this.giftCheck.checked=e.isGift,this.giftCheck.disabled=!0,this.arkCheck.checked=e.hasArk,this.arkSACheck&&(this.arkSACheck.checked=e.hasArkSA)):(this.giftCheck.checked=!1,this.giftCheck.disabled=!1,this.arkCheck.checked=!1,this.arkSACheck&&(this.arkSACheck.checked=!1)),this.arkSADurationField&&(this.arkSADurationField.value=e?e.arkSAYears:"1"),this.cancelButton.innerText="Cancel",this.update(),r.showModal("checkout-wizard")},getGameStatus:function(){var e={Ark:P,ArkSA:P},t=O.personalCartItem,n=Boolean(this.editCartItem);return this.giftCheck&&this.giftCheck.checked?(e.Ark=this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?I:P,e.ArkSA=this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?I:P):(O.arkLicense?e.Ark=B:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArk?e.Ark=L:this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?e.Ark=I:e.Ark=P,O.arkSALicense?e.ArkSA=B:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArkSA?e.ArkSA=L:this.arkSACheck&&this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?e.ArkSA=I:e.ArkSA=P),e},update:function(){var e=this.getGameStatus(),t=0;if(this.arkCheck&&!1===this.arkCheck.disabled&&!0===this.arkCheck.checked&&(t+=n.Ark.Base.Price),this.arkSACheck){var i=n.ArkSA.Base.Price,r=n.ArkSA.Base.Price,o=Math.min(Math.max(parseInt(this.arkSADurationField.value)||1,1),5);parseInt(this.arkSADurationField.value)!==o&&document.activeElement!==this.arkSADurationField&&(this.arkSADurationField.value=o);var c=Math.max(o-1,0),s=Math.round((n.ArkSA.Base.Price-n.ArkSA.Upgrade.Price)/n.ArkSA.Base.Price*100);if(this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),e.ArkSA===B){var d,h=O.arkSALicense,f=Math.floor(Date.now()/1e3),k=h.expiresEpoch,m=u(l(k),!1),v=(f>k?86400*Math.floor(f/86400)+86400:k)+n.ArkSA.Renewal.PlanLengthSeconds*o,y=u(l(v),!1);d=f>k?'Renew your update plan
Expired on '.concat(m,'
New expiration: ').concat(y,""):'Extend your update plan
Expires on '.concat(m,'
New expiration: ').concat(y,""),this.arkSAStatusField.innerHTML=d,r=i=n.ArkSA.Renewal.Price*o,this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden")}else if(e.ArkSA===L)r=i=n.ArkSA.Renewal.Price*o,this.arkSAStatusField.innerText="Additional renewal years for ".concat(n.ArkSA.Base.Name," in your cart."),this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden");else if(e.Ark!==P){i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c,r=n.ArkSA.Upgrade.Price+n.ArkSA.Renewal.Price*c;var p=e.Ark===B?"because you own":"when bundled with";this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(a(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year ").concat(p," ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden")}else this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(a(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden"),r=i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c;this.arkSAPriceField.classList.toggle("checkout-wizard-discounted",i!==r),this.arkSAPriceField.innerText=a(i),this.arkSAUpgradePriceField.classList.toggle("hidden",i===r),this.arkSAUpgradePriceField.innerText=a(r),!1===this.arkSACheck.disabled&&!0===this.arkSACheck.checked&&(t+=r)}e.Ark===B?(this.arkStatusField.innerText="You already own ".concat(n.Ark.Base.Name,"."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):e.Ark===L?(this.arkStatusField.innerText="".concat(n.Ark.Base.Name," is already in your cart."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):(this.arkStatusField.innerText="Includes lifetime app updates.",this.arkCheck.disabled=!1);var g=this.editCartItem?"Edit":"Add to Cart";t>0?(this.actionButton.disabled=!1,this.actionButton.innerText="".concat(g,": ").concat(a(t))):(this.actionButton.disabled=!0,this.actionButton.innerText=g)}},H={wizard:null,emailField:document.getElementById("storefront-cart-header-email-field"),changeEmailButton:document.getElementById("storefront-cart-header-email-button"),currencyMenu:document.getElementById("storefront-cart-currency-menu"),addMoreButton:document.getElementById("storefront-cart-more-button"),checkoutButton:document.getElementById("storefront-cart-checkout-button"),refundCheckbox:document.getElementById("storefront-refund-checkbox"),footer:document.getElementById("storefront-cart-footer"),body:document.getElementById("storefront-cart"),totalField:document.getElementById("storefront-cart-total"),init:function(e){var t=this;this.wizard=e,this.currencyMenu.addEventListener("change",(function(e){e.preventDefault(),c.get("/omni/currency?currency=".concat(e.target.value)).then((function(){window.location.reload()})).catch((function(e){console.log(JSON.stringify(e)),r.show("Currency was not changed",e.statusText)}))})),this.addMoreButton.addEventListener("click",(function(e){e.preventDefault(),t.wizard.present()})),this.checkoutButton.addEventListener("click",(function(e){e.preventDefault();var n=t.refundCheckbox.checked,i=function(e){t.update(),e?O.count>0?r.show("Your cart contents have changed.","The items in your cart have changed based on your e-mail address. Please review before continuing checkout."):r.show("Your cart is now empty.","You already own everything in your cart. There is no need to purchase again."):(t.checkoutButton.disabled=!0,c.post("/omni/begin",f(f({},O.toJSON()),{},{refundPolicyAgreed:n})).then((function(e){try{var t=JSON.parse(e.body),n=t.url;sessionStorage.setItem("clientReferenceId",t.client_reference_id),window.location=n}catch(t){console.log(e.body),r.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).catch((function(e){try{var t=JSON.parse(e.body).message;r.show("Checkout Error",t)}catch(t){console.log(e.body),r.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).finally((function(){t.checkoutButton.disabled=!1})))};O.email?n?i(!1):r.show("Hang on","Please agree to the refund policy."):Q.present(!1,i)})),this.changeEmailButton.addEventListener("click",(function(e){e.preventDefault(),Q.present(!1,(function(){t.update()}))})),this.update()},update:function(){var e,n=this;if(z){this.emailField.innerText=O.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=O.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.addMoreButton.classList.add("hidden"),O.arkLicense?(this.wizard.arkOnlyOwnedField.classList.remove("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.add("hidden")):(this.wizard.arkOnlyOwnedField.classList.add("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.remove("hidden"));var i=O.personalCartItem;if(this.wizard.arkOnlyCheck.checked=i&&i.hasArk,document.activeElement!==this.wizard.arkOnlyGiftField){var r=O.items.filter((function(e){return!0===e.isGift&&e.hasArk}));this.wizard.arkOnlyGiftField.value=r.length}}else if(O.count>0)this.emailField.innerText=O.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=O.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.body.innerText="",this.body.classList.remove("empty"),this.footer.classList.remove("hidden"),O.items.forEach((function(e){var t=n.createCartItemRow(e);t&&n.body.appendChild(t)})),N.innerText="Go to Cart";else{this.emailField.innerText="",this.changeEmailButton.classList.add("hidden"),this.body.innerText="",this.body.classList.add("empty"),this.footer.classList.add("hidden"),this.body.appendChild(document.createElement("div"));var a=document.createElement("div"),o=document.createElement("p");o.appendChild(document.createTextNode("Your cart is empty.")),a.appendChild(o),this.buyMoreButton=document.createElement("button"),this.buyMoreButton.addEventListener("click",(function(){Q.present(!0,(function(){n.wizard.present()}))})),this.buyMoreButton.classList.add("default"),this.buyMoreButton.appendChild(document.createTextNode("Buy Omni"));var c=document.createElement("p");c.appendChild(this.buyMoreButton),a.appendChild(c),this.body.appendChild(a),this.body.appendChild(document.createElement("div")),N.innerText="Buy Omni"}this.totalField.setAttribute("beacon-price",O.total),e=t.currencyCode,document.querySelectorAll(".formatted-price").forEach((function(t){var n,i=parseFloat(null!==(n=t.getAttribute("beacon-price"))&&void 0!==n?n:t.innerText),r=t.getAttribute("beacon-currency"),a=s(null!=r?r:e);a&&(t.innerText=a(i))})),this.checkoutButton.disabled=0===O.total},createProductRow:function(e,t){var n=e.getQuantity(t);if(n<=0)return null;var r=i[t].Name,a=i[t].Price,o=document.createElement("div");o.appendChild(document.createTextNode(n));var c=document.createElement("div");c.appendChild(document.createTextNode(r));var s=document.createElement("div");s.classList.add("formatted-price"),s.appendChild(document.createTextNode(a*n));var l=document.createElement("div");return l.classList.add("bundle-product"),l.appendChild(o),l.appendChild(c),l.appendChild(s),l},createCartItemRow:function(e){var t=this,n=e.productIds;if(n.length<=0)return null;var i=document.createElement("div");i.classList.add("bundle"),n.forEach((function(n){var r=t.createProductRow(e,n);r&&i.appendChild(r)}));var r=document.createElement("div");e.isGift&&(i.classList.add("gift"),r.classList.add("gift"),n.length>1?r.appendChild(document.createTextNode("These products are a gift. You will receive a gift code for them.")):r.appendChild(document.createTextNode("This product is a gift. You will receive a gift code for it.")));var a=document.createElement("button");a.appendChild(document.createTextNode("Edit")),a.classList.add("small"),a.addEventListener("click",(function(n){n.preventDefault(),t.wizard.present(e)}));var o=document.createElement("button");o.appendChild(document.createTextNode("Remove")),o.classList.add("red"),o.classList.add("small"),o.addEventListener("click",(function(n){n.preventDefault(),O.remove(e),t.update()}));var c=document.createElement("div");c.classList.add("button-group"),c.appendChild(a),c.appendChild(o);var s=document.createElement("div");s.appendChild(c);var l=document.createElement("div");return l.classList.add("actions"),l.classList.add("double-group"),l.appendChild(r),l.appendChild(s),i.appendChild(l),i}};U.init(H),H.init(U);var V=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];window.scrollTo(window.scrollX,0),"#checkout"===window.location.hash?G.switchView("page-cart",e):G.back(e)};N.addEventListener("click",(function(e){e.preventDefault(),z||O.count>0?R():Q.present(!0,(function(){U.present()}))})),j.addEventListener("click",(function(){history.pushState({},"","/omni"),dispatchEvent(new PopStateEvent("popstate",{}))})),window.addEventListener("popstate",(function(){V(!0)})),V(!1),t.forceEmail&&(O.email!==t.forceEmail&&O.reset(),0===O.count?Q.present(!0,(function(){U.present()})):R())}))})(); \ No newline at end of file +(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok";return this.confirm(e,t,n,null)}},{key:"confirm",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Cancel";return new Promise((function(r,o){var c=document.getElementById("overlay"),s=document.getElementById("dialog"),l=document.getElementById("dialog_message"),u=document.getElementById("dialog_explanation"),d=document.getElementById("dialog_action_button"),h=document.getElementById("dialog_cancel_button");c&&s&&l&&u&&d&&h?(c.className="exist",s.className="exist",setTimeout((function(){c.className="exist visible",s.className="exist visible"}),10),l.innerText=e,u.innerText=n||"",d.clickHandler&&d.removeEventListener("click",d.clickHandler),h.clickHandler&&h.removeEventListener("click",h.clickHandler),d.clickHandler=function(){t.hide(),setTimeout((function(){r()}),300)},d.addEventListener("click",d.clickHandler),d.innerText=i,a?(h.clickHandler=function(){t.hide(),setTimeout((function(){o()}),300)},h.addEventListener("click",h.clickHandler),h.innerText=a):h.className="hidden"):o()}))}},{key:"hide",value:function(){var e=document.getElementById("overlay"),t=document.getElementById("dialog");e&&t&&(e.className="exist",t.className="exist",setTimeout((function(){e.className="",t.className=""}),300))}},{key:"showModal",value:function(e){var t=this;if(!this.activeModal){var n=document.getElementById("overlay"),i=document.getElementById(e);n&&i&&(n.classList.add("exist"),i.classList.add("exist"),this.activeModal=e,setTimeout((function(){n.classList.add("visible"),i.classList.add("visible")}),10),this.viewportWatcher=setInterval((function(){if(t.activeModal){document.querySelectorAll("#".concat(t.activeModal," .modal-content .content")).forEach((function(e){i.classList.toggle("scrolled",e.scrollHeight>e.clientHeight)}));var e=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);i.classList.toggle("centered",i.clientHeight>.75*e)}}),100))}}},{key:"hideModal",value:function(){var e=this;return new Promise((function(t,n){if(e.activeModal){var i=document.getElementById("overlay"),a=document.getElementById(e.activeModal);i&&a?(e.viewportWatcher&&(clearInterval(e.viewportWatcher),e.viewportWatcher=null),i.classList.remove("visible"),a.classList.remove("visible"),setTimeout((function(){i.classList.remove("exist"),a.classList.remove("exist"),e.activeModal=null,t()}),300)):n()}else n()}))}}],null&&t(n.prototype,null),i&&t(n,i),Object.defineProperty(n,"prototype",{writable:!1}),e}();function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n=200&&e.status<300||304===e.status}}},{key:"start",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,c){var s=new XMLHttpRequest;if(s.open(e,t,!0),"object"===r(a)&&null!==a&&!1===Array.isArray(a))for(var l=0,u=Object.keys(a);l1&&void 0!==arguments[1]?arguments[1]:{};return e.start("GET",t,null,n)}},{key:"post",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n instanceof URLSearchParams?(i["Content-Type"]="application/x-www-form-urlencoded",e.start("POST",t,n.toString(),i)):"object"===r(n)&&null!==n||Array.isArray(n)?(i["Content-Type"]="application/json",e.start("POST",t,JSON.stringify(n),i)):e.start("POST",t,n,i)}},{key:"delete",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.start("DELETE",t,null,n)}}],null&&o(t.prototype,null),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),s=function(e){return Intl.NumberFormat("en-US",{style:"currency",currency:e}).format},l=function(e){return new Date(1e3*e)},u=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Intl.DateTimeFormat().resolvedOptions(),a={dateStyle:"medium"};t&&(a.timeStyle="short");var r=Intl.DateTimeFormat(i.locale,a).format(e);return n&&(r="".concat(r," ").concat(i.timeZone)),r};function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function m(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function v(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n>e/4).toString(16)})))}return w(e,[{key:"id",get:function(){return S(this,o)}},{key:"isGift",get:function(){return S(this,h)},set:function(e){E(this,h,e)}},{key:"productIds",get:function(){return Object.keys(S(this,d))}},{key:"count",get:function(){return Object.keys(S(this,d)).length}},{key:"reset",value:function(){E(this,d,{})}},{key:"add",value:function(e,t){this.setQuantity(e,this.getQuantity(e)+t)}},{key:"remove",value:function(e,t){this.setQuantity(e,this.getQuantity(e)-t)}},{key:"getQuantity",value:function(e){var t;return null!==(t=S(this,d)[e])&&void 0!==t?t:0}},{key:"setQuantity",value:function(e,t){t<=0?Object.prototype.hasOwnProperty.call(S(this,d),e)&&delete S(this,d)[e]:S(this,d)[e]=t}},{key:"toJSON",value:function(){return{id:S(this,o),products:S(this,d),isGift:S(this,h)}}},{key:"fingerprint",get:function(){var e=this,t=Object.keys(S(this,d)).sort().reduce((function(t,n){return t[n]=S(e,d)[n],t}),{});return btoa(JSON.stringify({id:S(this,o),products:t,isGift:S(this,h)}))}},{key:"hasArk",get:function(){var e;return this.getQuantity(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0}},{key:"hasArkSA",get:function(){var e,t,i;return this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)>0||this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId)>0}},{key:"arkSAYears",get:function(){var e,t,i;return Math.min(this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)+this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId),10)}},{key:"hasMinimalGames",get:function(){var e,t;return this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId)>0}},{key:"minimalGamesYears",get:function(){var e,t;return Math.min(this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId),10)}},{key:"build",value:function(e,t,i,a,r){this.reset(),this.isGift=t,i&&(t||null===e.arkLicense)&&this.setQuantity(n.Ark.Base.ProductId,1),a>0&&(a=Math.min(a,5),t?(i?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1)):null!==e.arkSALicense?this.setQuantity(n.ArkSA.Renewal.ProductId,a):(i||null!==e.arkLicense?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1))),r>0&&(r=Math.min(r,5),t?(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)):null!==e.minimalGamesLicense?this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r):(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)))}},{key:"rebuild",value:function(e){var t=this.fingerprint;return this.build(e,this.isGift,this.hasArk,this.arkSAYears,this.minimalGamesYears),this.fingerprint!==t}},{key:"consume",value:function(e,t){if(t){if(this.isGift!==t.isGift)throw new Error("Cannot merge a gift item with a non-gift item.");var n=this.hasArk||t.hasArk,i=this.arkSAYears+t.arkSAYears,a=this.hasMinimalGames||t.hasMinimalGames;this.build(e,this.isGift,n,i,a)}}},{key:"total",get:function(){var e,t=0,n=k(this.productIds);try{for(n.s();!(e=n.n()).done;){var a=e.value;t+=i[a].Price*this.getQuantity(a)}}catch(e){n.e(e)}finally{n.f()}return t}}]),e}(),g=new WeakMap,b=new WeakMap,B=new WeakMap,G=new WeakMap,x=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(y(this,e),A(this,g,{writable:!0,value:[]}),A(this,b,{writable:!0,value:null}),A(this,B,{writable:!0,value:!1}),A(this,G,{writable:!0,value:[]}),t)try{var n=JSON.parse(t);E(this,b,n.email),E(this,g,n.items.reduce((function(e,t){var n=new f(t);return n.count>0&&e.push(n),e}),[])),E(this,G,n.licenses)}catch(e){console.log("Failed to load saved cart")}}return w(e,[{key:"reset",value:function(){E(this,g,[]),E(this,b,null),E(this,B,!1),E(this,G,[]),this.save()}},{key:"toJSON",value:function(){return{email:S(this,b),items:S(this,g).reduce((function(e,t){return t.count>0&&e.push(t),e}),[]),licenses:S(this,G)}}},{key:"save",value:function(){localStorage.setItem("beaconCart",JSON.stringify(this))}},{key:"add",value:function(e){S(this,g).push(e),this.save()}},{key:"remove",value:function(e){E(this,g,S(this,g).filter((function(t){return t.id!==e.id}))),this.save()}},{key:"hasProduct",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=k(S(this,g));try{for(i.s();!(t=i.n()).done;){var a=t.value;if(a.getQuantity(e)>0&&a.isGift===n)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"email",get:function(){return S(this,b)}},{key:"setEmail",value:function(e){var t=this;return new Promise((function(i,a){var r=function(){var e,i=t.personalCartItem;return!!i&&(i.hasArk&&t.arkLicense?(i.setQuantity(null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId,0),0===i.count&&t.remove(i),!0):i.rebuild(t))};if(null===e){E(t,b,null),E(t,B,!1),E(t,G,[]);var o=r();return t.save(),void i({newEmail:null,cartChanged:o})}if(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(e).trim().toLowerCase())){var s=new URLSearchParams;s.append("email",e),c.get("/omni/lookup?".concat(s.toString())).then((function(n){var a=JSON.parse(n.body);E(t,b,a.email),E(t,B,a.verified),E(t,G,a.purchases);var o=r();t.save(),i({newEmail:e,cartChanged:o})})).catch((function(e){E(t,b,null),E(t,B,!1),E(t,G,[]),r(),t.save(),a(e.statusText)}))}else a("Address is not valid")}))}},{key:"emailVerified",get:function(){return S(this,B)}},{key:"checkingEmail",get:function(){return!1}},{key:"items",get:function(){return function(e){if(Array.isArray(e))return p(e)}(e=S(this,g))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var e}},{key:"count",get:function(){return S(this,g).reduce((function(e,t){return t.count>0&&e++,e}),0)}},{key:"findLicense",value:function(e){var t,n=k(S(this,G));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(i.productId===e)return i}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"arkLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"arkSALicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"minimalGamesLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"ark2License",get:function(){return null}},{key:"personalCartItem",get:function(){var e,t=k(S(this,g));try{for(t.s();!(e=t.n()).done;){var n=e.value;if(!1===n.isGift)return n}}catch(e){t.e(e)}finally{t.f()}return null}},{key:"total",get:function(){var e,t=0,n=k(S(this,g));try{for(n.s();!(e=n.n()).done;)t+=e.value.total}catch(e){n.e(e)}finally{n.f()}return t}}],[{key:"load",value:function(){return new this(localStorage.getItem("beaconCart"))}}]),e}(),M=x.load(),T=new WeakMap,F=new WeakMap,D=function(){function e(t){y(this,e),A(this,T,{writable:!0,value:[]}),A(this,F,{writable:!0,value:null}),S(this,T).push(t)}return w(e,[{key:"currentView",get:function(){return S(this,T).slice(-1)}},{key:"back",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!(S(this,T).length<=1||(this.switchView(S(this,T)[S(this,T).length-2],e),E(this,T,S(this,T).slice(0,S(this,T).length-2)),0))}},{key:"clearHistory",value:function(){S(this,T).length<=1||E(this,T,S(this,T).slice(-1))}},{key:"switchView",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.currentView!==e){S(this,F)&&(clearTimeout(S(this,F)),E(this,F,null));var i=document.getElementById(this.currentView),a=document.getElementById(e);S(this,T).push(e),n?(i.classList.add("invisible"),E(this,F,setTimeout((function(){i.classList.add("hidden"),a.classList.remove("hidden"),E(t,F,setTimeout((function(){a.classList.remove("invisible"),E(t,F,null)}),150))}),150))):(i.classList.add("hidden"),i.classList.add("invisible"),a.classList.remove("invisible"),a.classList.remove("hidden"))}}}]),e}();new D("checkout-wizard-start");var O=new D("page-landing"),N=document.getElementById("buy-button"),z=document.getElementById("cart-back-button"),R=1===Object.keys(i).length,j=function(){history.pushState({},"","/omni#checkout"),dispatchEvent(new PopStateEvent("popstate",{}))},Q={cancelButton:document.getElementById("checkout-email-cancel"),actionButton:document.getElementById("checkout-email-action"),emailField:document.getElementById("checkout-email-field"),errorField:document.getElementById("checkout-email-error"),allowsSkipping:!1,successFunction:function(e){},init:function(){var e=this,t=function(t){e.actionButton.disabled=!0,e.cancelButton.disabled=!0,e.errorField.classList.add("hidden"),M.setEmail(t).then((function(t){t.newEmail;var n=t.cartChanged;a.hideModal(),setTimeout((function(){e.successFunction(n)}),310)})).catch((function(t){e.errorField.innerText=t,e.errorField.classList.remove("hidden")})).finally((function(){e.actionButton.disabled=!1,e.cancelButton.disabled=!1}))};this.actionButton.addEventListener("click",(function(n){n.preventDefault(),t(e.emailField.value)})),this.cancelButton.addEventListener("click",(function(n){n.preventDefault(),e.allowsSkipping?t(null):a.hideModal()}))},present:function(e,n){t.forceEmail?M.setEmail(t.forceEmail).then((function(e){e.newEmail;var t=e.cartChanged;n(t)})):(this.allowsSkipping=e,this.successFunction=n,M.email?this.emailField.value=M.email:this.emailField.value=sessionStorage.getItem("email")||localStorage.getItem("email")||"",this.cancelButton.innerText=e?"Skip For Now":"Cancel",a.showModal("checkout-email"))}};Q.init();var U={cartView:null,editCartItem:null,actionButton:document.getElementById("checkout-wizard-action"),arkCheck:document.getElementById("checkout-wizard-ark-check"),arkOnlyCheck:document.getElementById("storefront-ark-check"),arkOnlyGiftDownButton:document.getElementById("storefront-ark-gift-decrease"),arkOnlyGiftField:document.getElementById("storefront-ark-gift-field"),arkOnlyGiftQuantityGroup:document.getElementById("storefront-ark-gift-group"),arkOnlyGiftUpButton:document.getElementById("storefront-ark-gift-increase"),arkOnlyOwnedField:document.getElementById("storefront-ark-owned"),arkPriceField:document.getElementById("checkout-wizard-ark-price"),arkSACheck:document.getElementById("checkout-wizard-arksa-check"),arkSADurationDownButton:document.getElementById("checkout-wizard-arksa-yeardown-button"),arkSADurationField:document.getElementById("checkout-wizard-arksa-duration-field"),arkSADurationGroup:document.getElementById("checkout-wizard-arksa-duration-group"),arkSADurationUpButton:document.getElementById("checkout-wizard-arksa-yearup-button"),arkSAPriceField:document.getElementById("checkout-wizard-arksa-full-price"),arkSAPromoField:document.getElementById("checkout-wizard-promo-arksa"),arkSAStatusField:document.getElementById("checkout-wizard-status-arksa"),arkSAUpgradePriceField:document.getElementById("checkout-wizard-arksa-discount-price"),arkStatusField:document.getElementById("checkout-wizard-status-ark"),giftCheck:document.getElementById("checkout-wizard-gift-check"),minimalGamesCheck:document.getElementById("checkout-wizard-beaconminimal-check"),minimalGamesDurationDownButton:document.getElementById("checkout-wizard-beaconminimal-yeardown-button"),minimalGamesDurationField:document.getElementById("checkout-wizard-beaconminimal-duration-field"),minimalGamesDurationGroup:document.getElementById("checkout-wizard-beaconminimal-duration-group"),minimalGamesDurationUpButton:document.getElementById("checkout-wizard-beaconminimal-yearup-button"),minimalGamesPriceField:document.getElementById("checkout-wizard-beaconminimal-price"),minimalGamesStatusField:document.getElementById("checkout-wizard-status-beaconminimal"),cancelButton:document.getElementById("checkout-wizard-cancel"),init:function(e){var t=this;if(this.cartView=e,this.cancelButton&&this.cancelButton.addEventListener("click",(function(e){e.preventDefault(),a.hideModal()})),this.actionButton&&this.actionButton.addEventListener("click",(function(e){e.preventDefault();var n=t.giftCheck.checked,i=t.arkCheck&&!1===t.arkCheck.disabled&&t.arkCheck.checked,r=t.arkSACheck&&!1===t.arkSACheck.disabled&&t.arkSACheck.checked,o=t.minimalGamesCheck&&!1===t.minimalGamesCheck.disabled&&t.minimalGamesCheck.checked;if(!1!==(i||r||o)){var c,s=r?parseInt(t.arkSADurationField.value)||1:0,l=o?parseInt(t.minimalGamesDurationField.value)||1:0;if(t.editCartItem?c=t.editCartItem:(c=new f).isGift=n,c.build(M,n,i,s,l),!1===Boolean(t.editCartItem)){var u=M.personalCartItem;!1===n&&!0===Boolean(u)?u.consume(M,c):M.add(c)}M.save(),t.cartView.update(),j(),a.hideModal()}})),this.giftCheck&&this.giftCheck.addEventListener("change",(function(){t.update()})),this.arkCheck&&this.arkCheck.addEventListener("change",(function(){t.update()})),this.arkSACheck&&this.arkSADurationField&&this.arkSADurationUpButton&&this.arkSADurationDownButton&&this.arkSADurationGroup){this.arkSACheck.addEventListener("change",(function(){t.update()})),this.arkSADurationField.addEventListener("input",(function(){t.update()}));var n=function(e){var n=parseInt(t.arkSADurationField.value),i=n+e;(i>5||i<1)&&(t.arkSADurationGroup.classList.add("shake"),setTimeout((function(){t.arkSADurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.arkSADurationField.value=i,t.arkSACheck.checked=!0,t.update())};this.arkSADurationUpButton.addEventListener("click",(function(e){e.preventDefault(),n(1)})),this.arkSADurationDownButton.addEventListener("click",(function(e){e.preventDefault(),n(-1)}))}if(this.minimalGamesCheck&&this.minimalGamesDurationField&&this.minimalGamesDurationUpButton&&this.minimalGamesDurationDownButton&&this.minimalGamesDurationGroup){this.minimalGamesCheck.addEventListener("change",(function(){t.update()})),this.minimalGamesDurationField.addEventListener("input",(function(){t.update()}));var i=function(e){var n=parseInt(t.minimalGamesDurationField.value),i=n+e;(i>5||i<1)&&(t.minimalGamesDurationGroup.classList.add("shake"),setTimeout((function(){t.minimalGamesDurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.minimalGamesDurationField.value=i,t.minimalGamesCheck.checked=!0,t.update())};this.minimalGamesDurationUpButton.addEventListener("click",(function(e){e.preventDefault(),i(1)})),this.minimalGamesDurationDownButton.addEventListener("click",(function(e){e.preventDefault(),i(-1)}))}if(this.arkOnlyCheck&&this.arkOnlyCheck.addEventListener("change",(function(e){if(e.preventDefault(),e.currentTarget.checked){var n=M.personalCartItem;n||(n=new f,M.add(n)),n.build(M,!1,!0,0),M.save()}else{var i=M.personalCartItem;i&&M.remove(i)}t.cartView.update()})),this.arkOnlyGiftField){var r=function(e){var n=M.items.filter((function(e){return!0===e.isGift&&e.hasArk}));if(n.length!==e){if(n.length>e)for(var i=e;i<=n.length-1;i++)M.remove(n[i]);else if(n.length5||i<0)&&(t.arkOnlyGiftQuantityGroup.classList.add("shake"),setTimeout((function(){t.arkOnlyGiftQuantityGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),0)),n!==i&&(t.arkOnlyGiftField.value=i,r(i))};this.arkOnlyGiftUpButton.addEventListener("click",(function(e){e.preventDefault(),o(1)})),this.arkOnlyGiftDownButton.addEventListener("click",(function(e){e.preventDefault(),o(-1)}))}},present:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.editCartItem=e,this.arkCheck.disabled=!1,this.arkSACheck&&(this.arkSACheck.disabled=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.disabled=!1),e?(this.giftCheck.checked=e.isGift,this.giftCheck.disabled=!0,this.arkCheck.checked=e.hasArk,this.arkSACheck&&(this.arkSACheck.checked=e.hasArkSA),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=e.hasMinimalGames)):(this.giftCheck.checked=!1,this.giftCheck.disabled=!1,this.arkCheck.checked=!1,this.arkSACheck&&(this.arkSACheck.checked=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=!1)),this.arkSADurationField&&(this.arkSADurationField.value=e?e.arkSAYears:"1"),this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=e?e.minimalGamesYears:"1"),this.cancelButton.innerText="Cancel",this.update(),a.showModal("checkout-wizard")},getGameStatus:function(){var e={Ark:P,ArkSA:P,BeaconMinimal:P},t=M.personalCartItem,n=Boolean(this.editCartItem);return this.giftCheck&&this.giftCheck.checked?(e.Ark=this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?I:P,e.ArkSA=this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?I:P,e.BeaconMinimal=this.minimalGamesCheck=!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?I:P):(M.arkLicense?e.Ark=C:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArk?e.Ark=L:this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?e.Ark=I:e.Ark=P,M.arkSALicense?e.ArkSA=C:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArkSA?e.ArkSA=L:this.arkSACheck&&this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?e.ArkSA=I:e.ArkSA=P,M.minimalGamesLicense?e.BeaconMinimal=C:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasMinimalGames()?e.BeaconMinimal=L:this.minimalGamesCheck&&this.minimalGamesCheck&&!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?e.BeaconMinimal=I:e.BeaconMinimal=P),e},update:function(){var e=this.getGameStatus(),t=0;if(this.arkCheck&&!1===this.arkCheck.disabled&&!0===this.arkCheck.checked&&(t+=n.Ark.Base.Price),this.arkSACheck){var i=n.ArkSA.Base.Price,a=n.ArkSA.Base.Price,o=Math.min(Math.max(parseInt(this.arkSADurationField.value)||1,1),5);parseInt(this.arkSADurationField.value)!==o&&document.activeElement!==this.arkSADurationField&&(this.arkSADurationField.value=o);var c=Math.max(o-1,0),s=Math.round((n.ArkSA.Base.Price-n.ArkSA.Upgrade.Price)/n.ArkSA.Base.Price*100);if(this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),e.ArkSA===C){var d,h=M.arkSALicense,m=Math.floor(Date.now()/1e3),f=h.expiresEpoch,k=u(l(f),!1),v=(m>f?86400*Math.floor(m/86400)+86400:f)+n.ArkSA.Renewal.PlanLengthSeconds*o,p=u(l(v),!1);d=m>f?'Renew your update plan
Expired on '.concat(k,'
New expiration: ').concat(p,""):'Extend your update plan
Expires on '.concat(k,'
New expiration: ').concat(p,""),this.arkSAStatusField.innerHTML=d,a=i=n.ArkSA.Renewal.Price*o,this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden")}else if(e.ArkSA===L)a=i=n.ArkSA.Renewal.Price*o,this.arkSAStatusField.innerText="Additional renewal years for ".concat(n.ArkSA.Base.Name," in your cart."),this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden");else if(e.Ark!==P){i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c,a=n.ArkSA.Upgrade.Price+n.ArkSA.Renewal.Price*c;var y=e.Ark===C?"because you own":"when bundled with";this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year ").concat(y," ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden")}else this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden"),a=i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c;this.arkSAPriceField.classList.toggle("checkout-wizard-discounted",i!==a),this.arkSAPriceField.innerText=r(i),this.arkSAUpgradePriceField.classList.toggle("hidden",i===a),this.arkSAUpgradePriceField.innerText=r(a),!1===this.arkSACheck.disabled&&!0===this.arkSACheck.checked&&(t+=a)}if(e.Ark===C?(this.arkStatusField.innerText="You already own ".concat(n.Ark.Base.Name,"."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):e.Ark===L?(this.arkStatusField.innerText="".concat(n.Ark.Base.Name," is already in your cart."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):(this.arkStatusField.innerText="Includes lifetime app updates.",this.arkCheck.disabled=!1),this.minimalGamesCheck){var g=n.BeaconMinimal.Base.Price,w=Math.min(Math.max(parseInt(this.minimalGamesDurationField.value)||1,1),5);parseInt(this.minimalGamesDurationField.value)!==w&&document.activeElement!==this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=w);var b=Math.max(w-1,0);if(e.BeaconMinimal===C){var A,S=M.minimalGamesLicense,E=Math.floor(Date.now()/1e3),B=S.expiresEpoch,I=u(l(B),!1),G=(E>B?86400*Math.floor(E/86400)+86400:B)+n.BeaconMinimal.Renewal.PlanLengthSeconds*w,x=u(l(G),!1);A=E>B?'Renew your update plan
Expired on '.concat(I,'
New expiration: ').concat(x,""):'Extend your update plan
Expires on '.concat(I,'
New expiration: ').concat(x,""),this.minimalGamesStatusField.innerHTML=A,g=n.BeaconMinimal.Renewal.Price*w}else e.BeaconMinimal===L?(g=n.BeaconMinimal.Renewal.Price*w,this.minimalGamesStatusField.innerText="Additional renewal years for ".concat(n.BeaconMinimal.Base.Name," in your cart.")):(this.minimalGamesStatusField.innerText="For games with only a few options, such as Palworld. Includes first year of app updates. Additional years cost ".concat(r(n.BeaconMinimal.Renewal.Price)," each."),g=n.BeaconMinimal.Base.Price+n.BeaconMinimal.Renewal.Price*b);this.minimalGamesPriceField.innerText=r(g),!1===this.minimalGamesCheck.disabled&&!0===this.minimalGamesCheck.checked&&(t+=g)}var T=this.editCartItem?"Edit":"Add to Cart";t>0?(this.actionButton.disabled=!1,this.actionButton.innerText="".concat(T,": ").concat(r(t))):(this.actionButton.disabled=!0,this.actionButton.innerText=T)}},H={wizard:null,emailField:document.getElementById("storefront-cart-header-email-field"),changeEmailButton:document.getElementById("storefront-cart-header-email-button"),currencyMenu:document.getElementById("storefront-cart-currency-menu"),addMoreButton:document.getElementById("storefront-cart-more-button"),checkoutButton:document.getElementById("storefront-cart-checkout-button"),refundCheckbox:document.getElementById("storefront-refund-checkbox"),footer:document.getElementById("storefront-cart-footer"),body:document.getElementById("storefront-cart"),totalField:document.getElementById("storefront-cart-total"),init:function(e){var t=this;this.wizard=e,this.currencyMenu.addEventListener("change",(function(e){e.preventDefault(),c.get("/omni/currency?currency=".concat(e.target.value)).then((function(){window.location.reload()})).catch((function(e){console.log(JSON.stringify(e)),a.show("Currency was not changed",e.statusText)}))})),this.addMoreButton.addEventListener("click",(function(e){e.preventDefault(),t.wizard.present()})),this.checkoutButton.addEventListener("click",(function(e){e.preventDefault();var n=t.refundCheckbox.checked,i=function(e){t.update(),e?M.count>0?a.show("Your cart contents have changed.","The items in your cart have changed based on your e-mail address. Please review before continuing checkout."):a.show("Your cart is now empty.","You already own everything in your cart. There is no need to purchase again."):(t.checkoutButton.disabled=!0,c.post("/omni/begin",m(m({},M.toJSON()),{},{refundPolicyAgreed:n})).then((function(e){try{var t=JSON.parse(e.body),n=t.url;sessionStorage.setItem("clientReferenceId",t.client_reference_id),window.location=n}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).catch((function(e){try{var t=JSON.parse(e.body).message;a.show("Checkout Error",t)}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).finally((function(){t.checkoutButton.disabled=!1})))};M.email?n?i(!1):a.show("Hang on","Please agree to the refund policy."):Q.present(!1,i)})),this.changeEmailButton.addEventListener("click",(function(e){e.preventDefault(),Q.present(!1,(function(){t.update()}))})),this.update()},update:function(){var e,n=this;if(R){this.emailField.innerText=M.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=M.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.addMoreButton.classList.add("hidden"),M.arkLicense?(this.wizard.arkOnlyOwnedField.classList.remove("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.add("hidden")):(this.wizard.arkOnlyOwnedField.classList.add("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.remove("hidden"));var i=M.personalCartItem;if(this.wizard.arkOnlyCheck.checked=i&&i.hasArk,document.activeElement!==this.wizard.arkOnlyGiftField){var a=M.items.filter((function(e){return!0===e.isGift&&e.hasArk}));this.wizard.arkOnlyGiftField.value=a.length}}else if(M.count>0)this.emailField.innerText=M.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=M.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.body.innerText="",this.body.classList.remove("empty"),this.footer.classList.remove("hidden"),M.items.forEach((function(e){var t=n.createCartItemRow(e);t&&n.body.appendChild(t)})),N.innerText="Go to Cart";else{this.emailField.innerText="",this.changeEmailButton.classList.add("hidden"),this.body.innerText="",this.body.classList.add("empty"),this.footer.classList.add("hidden"),this.body.appendChild(document.createElement("div"));var r=document.createElement("div"),o=document.createElement("p");o.appendChild(document.createTextNode("Your cart is empty.")),r.appendChild(o),this.buyMoreButton=document.createElement("button"),this.buyMoreButton.addEventListener("click",(function(){Q.present(!0,(function(){n.wizard.present()}))})),this.buyMoreButton.classList.add("default"),this.buyMoreButton.appendChild(document.createTextNode("Buy Omni"));var c=document.createElement("p");c.appendChild(this.buyMoreButton),r.appendChild(c),this.body.appendChild(r),this.body.appendChild(document.createElement("div")),N.innerText="Buy Omni"}this.totalField.setAttribute("beacon-price",M.total),e=t.currencyCode,document.querySelectorAll(".formatted-price").forEach((function(t){var n,i=parseFloat(null!==(n=t.getAttribute("beacon-price"))&&void 0!==n?n:t.innerText),a=t.getAttribute("beacon-currency"),r=s(null!=a?a:e);r&&(t.innerText=r(i))})),this.checkoutButton.disabled=0===M.total},createProductRow:function(e,t){var n=e.getQuantity(t);if(n<=0)return null;var a=i[t].Name,r=i[t].Price,o=document.createElement("div");o.appendChild(document.createTextNode(n));var c=document.createElement("div");c.appendChild(document.createTextNode(a));var s=document.createElement("div");s.classList.add("formatted-price"),s.appendChild(document.createTextNode(r*n));var l=document.createElement("div");return l.classList.add("bundle-product"),l.appendChild(o),l.appendChild(c),l.appendChild(s),l},createCartItemRow:function(e){var t=this,n=e.productIds;if(n.length<=0)return null;var i=document.createElement("div");i.classList.add("bundle"),n.forEach((function(n){var a=t.createProductRow(e,n);a&&i.appendChild(a)}));var a=document.createElement("div");e.isGift&&(i.classList.add("gift"),a.classList.add("gift"),n.length>1?a.appendChild(document.createTextNode("These products are a gift. You will receive a gift code for them.")):a.appendChild(document.createTextNode("This product is a gift. You will receive a gift code for it.")));var r=document.createElement("button");r.appendChild(document.createTextNode("Edit")),r.classList.add("small"),r.addEventListener("click",(function(n){n.preventDefault(),t.wizard.present(e)}));var o=document.createElement("button");o.appendChild(document.createTextNode("Remove")),o.classList.add("red"),o.classList.add("small"),o.addEventListener("click",(function(n){n.preventDefault(),M.remove(e),t.update()}));var c=document.createElement("div");c.classList.add("button-group"),c.appendChild(r),c.appendChild(o);var s=document.createElement("div");s.appendChild(c);var l=document.createElement("div");return l.classList.add("actions"),l.classList.add("double-group"),l.appendChild(a),l.appendChild(s),i.appendChild(l),i}};U.init(H),H.init(U);var Y=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];window.scrollTo(window.scrollX,0),"#checkout"===window.location.hash?O.switchView("page-cart",e):O.back(e)};N.addEventListener("click",(function(e){e.preventDefault(),R||M.count>0?j():Q.present(!0,(function(){U.present()}))})),z.addEventListener("click",(function(){history.pushState({},"","/omni"),dispatchEvent(new PopStateEvent("popstate",{}))})),window.addEventListener("popstate",(function(){Y(!0)})),Y(!1),t.forceEmail&&(M.email!==t.forceEmail&&M.reset(),0===M.count?Q.present(!0,(function(){U.present()})):j())}))})(); \ No newline at end of file diff --git a/Website/www/browse/view.php b/Website/www/browse/view.php index c7aeb06e2..0945bd575 100644 --- a/Website/www/browse/view.php +++ b/Website/www/browse/view.php @@ -103,6 +103,7 @@ case 'Ark.CustomConfig': case 'ArkSA.CustomConfig': case 'SDTD.CustomConfig': + case 'Palworld.CustomConfig': case 'CustomContent': $editorNames[] = 'Custom Config'; break; @@ -139,6 +140,7 @@ case 'Ark.GeneralSettings': case 'ArkSA.GeneralSettings': case 'SDTD.GeneralSettings': + Case 'Palworld.GeneralSettings': case 'LootScale': case 'OtherSettings': $editorNames[] = 'General Settings'; diff --git a/Website/www/download/index.php b/Website/www/download/index.php index c5184b2b9..fa2c85d61 100644 --- a/Website/www/download/index.php +++ b/Website/www/download/index.php @@ -91,6 +91,9 @@ function BuildLinks(array $update): array { case 'SDTD': $games[] = '7 Days to Die'; break; + case 'Palworld': + $games[] = 'Palworld'; + break; } } sort($games); diff --git a/Website/www/games/index.php b/Website/www/games/index.php index 6dda47d1c..b0a2e2f1a 100644 --- a/Website/www/games/index.php +++ b/Website/www/games/index.php @@ -11,4 +11,5 @@ diff --git a/Website/www/omni/begin.php b/Website/www/omni/begin.php index a47eedc63..9898fb181 100644 --- a/Website/www/omni/begin.php +++ b/Website/www/omni/begin.php @@ -161,6 +161,7 @@ $includeArk = isset($products['Ark']['Base']); $includeArkSA = isset($products['ArkSA']['Base']); +$includeMinimalGames = isset($products['BeaconMinimal']['Base']); $lines = []; foreach ($bundles as $bundle) { @@ -168,6 +169,7 @@ $wantsArk = $includeArk ? $bundle->getQuantity($products['Ark']['Base']['ProductId']) > 0 : false; $wantsArkSAYears = $includeArkSA ? $bundle->getQuantity($products['ArkSA']['Base']['ProductId']) + $bundle->getQuantity($products['ArkSA']['Upgrade']['ProductId']) + $bundle->getQuantity($products['ArkSA']['Renewal']['ProductId']) : 0; + $wantsMinimalGamesYears = $includeMinimalGames ? $bundle->getQuantity($products['BeaconMinimal']['Base']['ProductId']) + $bundle->getQuantity($products['BeaconMinimal']['Renewal']['ProductId']) : 0; if ($bundle->isGift()) { if ($wantsArk) { @@ -184,9 +186,17 @@ $lines[$products['ArkSA']['Renewal']['PriceId']] = ($lines[$products['ArkSA']['Renewal']['PriceId']] ?? 0) + ($wantsArkSAYears - 1); } } + + if ($wantsMinimalGamesYears > 0) { + $lines[$products['BeaconMinimal']['Base']['PriceId']] = ($lines[$products['BeaconMinimal']['Base']['PriceId']] ?? 0) + 1; + if ($wantsMinimalGamesYears > 1) { + $lines[$products['BeaconMinimal']['Renewal']['PriceId']] = ($lines[$products['BeaconMinimal']['Renewal']['PriceId']] ?? 0) + ($wantsMinimalGamesYears - 1); + } + } } else { $ownsArk = $includeArk && findLicense($licenses, $products['Ark']['Base']['ProductId']) !== null; $ownsArkSA = $includeArkSA && findLicense($licenses, $products['ArkSA']['Base']['ProductId']) !== null; + $ownsMinimalGames = $includeMinimalGames && findLicense($licenses, $products['BeaconMinimal']['Base']['ProductId']) !== null; if ($wantsArk && !$ownsArk) { $lines[$products['Ark']['Base']['PriceId']] = ($lines[$products['Ark']['Base']['PriceId']] ?? 0) + 1; @@ -206,6 +216,17 @@ } } } + + if ($wantsMinimalGamesYears > 0) { + if ($ownsMinimalGames) { + $lines[$products['BeaconMinimal']['Renewal']['PriceId']] = ($lines[$products['BeaconMinimal']['Renewal']['PriceId']] ?? 0) + $wantsMinimalGamesYears; + } else { + $lines[$products['BeaconMinimal']['Base']['PriceId']] = ($lines[$products['BeaconMinimal']['Base']['PriceId']] ?? 0) + 1; + if ($wantsMinimalGamesYears > 1) { + $lines[$products['BeaconMinimal']['Renewal']['PriceId']] = ($lines[$products['BeaconMinimal']['Renewal']['PriceId']] ?? 0) + ($wantsMinimalGamesYears - 1); + } + } + } } } foreach ($lines as $priceId => $quantity) { diff --git a/Website/www/omni/index.php b/Website/www/omni/index.php index 2f1a8f20e..486de2c12 100644 --- a/Website/www/omni/index.php +++ b/Website/www/omni/index.php @@ -40,7 +40,8 @@ $ark2Enabled = isset($product_details['Ark2']); $arkSAEnabled = isset($product_details['ArkSA']); -$arkOnlyMode = ($ark2Enabled || $arkSAEnabled) === false; +$minimalGamesEnabled = isset($product_details['BeaconMinimal']); +$arkOnlyMode = false; $payment_methods = [ 'Universal' => ['apple', 'google', 'mastercard', 'visa', 'amex', 'discover', 'dinersclub', 'jcb'], @@ -370,6 +371,26 @@ +
+
+ +
+
+
+
+ For games with few options, such as Palworld. Includes one year of app updates. Additional years cost each. +
+
+ Update Years + + + +
+
+
+
+
+

These are one time payments. Beacon Omni is not subscription software. Learn More

From e137b1a4559d03ef0bba37fd2b662f3b4ff3d262 Mon Sep 17 00:00:00 2001 From: Thom McGrath Date: Fri, 26 Jan 2024 21:44:25 +0000 Subject: [PATCH 2/7] Updated Omni page --- Website/src/js/checkout.js | 36 ++++- Website/src/js/classes/BeaconPagePanel.js | 30 ++-- Website/src/scss/omni.scss | 68 +++++---- Website/src/scss/theme-beacon-dark.scss | 8 + Website/src/scss/theme-beacon.scss | 8 + Website/src/scss/theme-purple.scss | 8 + Website/www/assets/css/omni.css | 2 +- Website/www/assets/css/theme-beacon-dark.css | 2 +- Website/www/assets/css/theme-beacon.css | 2 +- Website/www/assets/css/theme-purple.css | 2 +- Website/www/assets/scripts/account.js | 2 +- Website/www/assets/scripts/checkout.js | 2 +- Website/www/omni/index.php | 151 +++++-------------- Website/www/omni/modules/ark.php | 111 ++++++++++++++ Website/www/omni/modules/arksa.php | 111 ++++++++++++++ Website/www/omni/modules/minimal.php | 7 + 16 files changed, 391 insertions(+), 159 deletions(-) create mode 100644 Website/www/omni/modules/ark.php create mode 100644 Website/www/omni/modules/arksa.php create mode 100644 Website/www/omni/modules/minimal.php diff --git a/Website/src/js/checkout.js b/Website/src/js/checkout.js index 583136c1a..d4b8ac0cd 100644 --- a/Website/src/js/checkout.js +++ b/Website/src/js/checkout.js @@ -2,6 +2,7 @@ import { BeaconDialog } from "./classes/BeaconDialog.js"; import { BeaconWebRequest } from "./classes/BeaconWebRequest.js"; +import { BeaconPagePanel } from "./classes/BeaconPagePanel.js"; import { getCurrencyFormatter, formatPrices, formatDate, epochToDate, randomUUID } from "./common.js"; const StatusOwns = 'owns'; // User has a license for the item @@ -21,6 +22,19 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const ProductIds = checkoutProperties.productIds; const formatCurrency = getCurrencyFormatter(checkoutProperties.currencyCode); + BeaconPagePanel.init(); + const gamesPanel = BeaconPagePanel.pagePanels['panel-games']; + if (gamesPanel) { + gamesPanel.element.addEventListener('panelSwitched', () => { + if (gamesPanel.currentPageTitle) { + document.title = `Beacon Omni for ${gamesPanel.currentPageTitle}`; + } else { + document.title = 'Beacon Omni'; + } + history.pushState({}, '', `/omni#${gamesPanel.currentPageName}`); + }); + } + class BeaconCartItem { #id = null; #products = {}; @@ -480,12 +494,23 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const arkOnlyMode = Object.keys(ProductIds).length === 1; const goToCart = () => { + document.title = 'Buy Beacon Omni'; history.pushState({}, '', '/omni#checkout'); dispatchEvent(new PopStateEvent('popstate', {})); }; const goToLanding = () => { - history.pushState({}, '', '/omni'); + if (gamesPanel) { + if (gamesPanel.currentPageTitle) { + document.title = `Beacon Omni for ${gamesPanel.currentPageTitle}`; + } else { + document.title = 'Beacon Omni'; + } + history.pushState({}, '', `/omni#${gamesPanel.currentPageName}`); + } else { + document.title = 'Beacon Omni'; + history.pushState({}, '', '/omni'); + } dispatchEvent(new PopStateEvent('popstate', {})); }; @@ -1329,6 +1354,15 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { cartView.init(wizard); const setViewMode = (animated = true) => { + const pageName = window.location.hash.substring(1); + if (gamesPanel && gamesPanel.hasPage(pageName)) { + if (storeViewManager.currentView !== 'page-landing') { + storeViewManager.back(animated); + } + gamesPanel.switchPage(pageName); + return; + } + window.scrollTo(window.scrollX, 0); if (window.location.hash === '#checkout') { storeViewManager.switchView('page-cart', animated); diff --git a/Website/src/js/classes/BeaconPagePanel.js b/Website/src/js/classes/BeaconPagePanel.js index 9b4a71e85..dfa3b5c15 100644 --- a/Website/src/js/classes/BeaconPagePanel.js +++ b/Website/src/js/classes/BeaconPagePanel.js @@ -1,13 +1,14 @@ export class BeaconPagePanel { static pagePanels = {}; - + element = null; pageMap = {}; currentPageName = null; - + currentPageTitle = null; + constructor(element) { this.element = element; - + const pages = element.querySelectorAll('div.page-panel-page'); for (const page of pages) { const pageName = page.getAttribute('page'); @@ -16,25 +17,25 @@ export class BeaconPagePanel { this.currentPageName = pageName; } } - + const links = element.querySelectorAll('div.page-panel-nav a'); for (const link of links) { const pageName = link.getAttribute('page'); if (this.pageMap[pageName]) { this.pageMap[pageName].link = link; - + link.addEventListener('click', (ev) => { ev.preventDefault(); this.switchPage(ev.target.getAttribute('page')); }); } } - + const ev = new Event('panelCreated'); ev.panel = this; this.element.dispatchEvent(ev); } - + switchPage(newPageName) { const oldPageName = this.currentPageName; if (oldPageName === newPageName) { @@ -43,18 +44,27 @@ export class BeaconPagePanel { if (!this.pageMap[newPageName]) { return; } - + this.pageMap[oldPageName].classList.remove('page-panel-visible'); this.pageMap[oldPageName].link.parentElement.classList.remove('page-panel-active'); this.pageMap[newPageName].classList.add('page-panel-visible'); this.pageMap[newPageName].link.parentElement.classList.add('page-panel-active'); this.currentPageName = newPageName; - + this.currentPageTitle = this.pageMap[newPageName].link.innerText; + const ev = new Event('panelSwitched'); ev.panel = this; this.element.dispatchEvent(ev); } - + + hasPage(pageName) { + if (Object.hasOwn) { + return Object.hasOwn(this.pageMap, pageName); + } else { + return Object.prototype.hasOwnProperty.call(this.pageMap, pageName); + } + } + static init() { const panels = document.querySelectorAll('div.page-panel'); for (const panel of panels) { diff --git a/Website/src/scss/omni.scss b/Website/src/scss/omni.scss index f070836d5..336615933 100644 --- a/Website/src/scss/omni.scss +++ b/Website/src/scss/omni.scss @@ -48,7 +48,7 @@ background-size: 100%; float: left; background-color: rgba(255, 255, 255, 0.05); - + img { display: block; } @@ -66,16 +66,16 @@ .signin_flex { display: flex; - + &+& { margin-top: 1rem; } - + .signin_flex-images { flex-grow: 0; flex-shrink: 0; flex-basis: calc(50% - 0.5rem); - + img { display: block; border-width: 0.5px; @@ -85,27 +85,27 @@ height: auto; } } - + .signin_flex-text { padding-left: 1rem; - + *:first-child { margin-top: 0; } - + *:last-child { margin-bottom: 0; } - + h4 { margin-top: 1.5rem; margin-bottom: 0.15rem; - + &+p { margin-top: 0.15rem; } } - + p { margin-top: 1rem; margin-bottom: 1rem; @@ -118,7 +118,7 @@ .signin_flex-images { flex-basis: 0; width: unset; - + img { width: unset; height: unset; @@ -135,7 +135,7 @@ padding: 12px; border-radius: 6px; text-align: center; - + @media (prefers-color-scheme: dark) { background-color: rgba(255, 255, 255, 0.02); border-color: rgba(255, 255, 255, 0.1); @@ -155,7 +155,7 @@ #checking_subtext { font-size: smaller; color: rgba(0, 0, 0, 0.8); - + @media (prefers-color-scheme: dark) { color: rgba(255, 255, 255, 0.8); } @@ -196,7 +196,7 @@ table.generic .bullet-column { width: 0px; white-space: nowrap; - + @media (min-width: 635px) { width: 100px; } @@ -241,51 +241,51 @@ td.bullet-column { margin-top: 15px; margin-bottom: 5px; justify-content: center; - + img { margin: 5px; float: left; display: block; height: 22px; } - + &.usd { .usd { display: block; } - + .eur { display: none; } - + .gbp { display: none; } } - + &.eur { .usd { display: none; } - + .eur { display: block; } - + .gbp { display: none; } } - + &.gbp { .usd { display: none; } - + .eur { display: none; } - + .gbp { display: block; } @@ -299,7 +299,7 @@ td.bullet-column { #checkout_currency_cell { text-align: center; font-size: small; - + a { display: inline-block; padding: 2px 6px; @@ -308,7 +308,7 @@ td.bullet-column { margin-left: 0.2em; margin-right: 0.2em; color: #084FD1; - + &.chosen { background-color: #084FD1; color: white; @@ -316,10 +316,24 @@ td.bullet-column { } } +.omni-hero { + margin-bottom: 1.5rem; + + img { + width: auto; + height: auto; + max-width: 100%; + max-height: 140px; + margin-left: auto; + margin-right: auto; + display: block; + } +} + @media (prefers-color-scheme: dark) { #checkout_currency_cell a { color: #3486FE; - + &.chosen { background-color: #3486FE; } diff --git a/Website/src/scss/theme-beacon-dark.scss b/Website/src/scss/theme-beacon-dark.scss index 1e1a13e74..6b73b9d94 100644 --- a/Website/src/scss/theme-beacon-dark.scss +++ b/Website/src/scss/theme-beacon-dark.scss @@ -11,3 +11,11 @@ .accented-foreground { filter: invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%); } + +.dark-only { + display: unset; +} + +.light-only { + display: none; +} diff --git a/Website/src/scss/theme-beacon.scss b/Website/src/scss/theme-beacon.scss index b39d135ad..2fb214e4d 100644 --- a/Website/src/scss/theme-beacon.scss +++ b/Website/src/scss/theme-beacon.scss @@ -5,3 +5,11 @@ .accented-foreground { filter: invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%); } + +.dark-only { + display: none; +} + +.light-only { + display: unset; +} diff --git a/Website/src/scss/theme-purple.scss b/Website/src/scss/theme-purple.scss index 1657788f9..45e2cbe4c 100644 --- a/Website/src/scss/theme-purple.scss +++ b/Website/src/scss/theme-purple.scss @@ -9,3 +9,11 @@ #header_logo, .white-on-dark, .accented-foreground { filter: brightness(0) invert(1); } + +.dark-only { + display: unset; +} + +.light-only { + display: none; +} diff --git a/Website/www/assets/css/omni.css b/Website/www/assets/css/omni.css index e4d7f93a3..3c0392f5c 100644 --- a/Website/www/assets/css/omni.css +++ b/Website/www/assets/css/omni.css @@ -1 +1 @@ -#img_signin_auth{background-image:url(/omni/welcome/auth.png);width:150px;height:118px}#img_signin_import{background-image:url(/omni/welcome/import.png);width:150px;height:59px}#img_signin_password{background-image:url(/omni/welcome/password.png);width:150px;height:59px;clear:left;margin-top:6px}.omni-section{width:95%;margin-left:auto;margin-right:auto;margin-top:3em;margin-bottom:3em;box-sizing:border-box}.action-link+.action-link{margin-left:12px}.signin_step+.signin_step{margin-top:1rem;border-top-width:1px;border-top-style:solid;padding-top:1rem}.signin_text{padding-left:170px}.img_signin{border-width:1px;border-style:solid;background-size:100%;float:left;background-color:rgba(255,255,255,.05)}.img_signin img{display:block}#img_signin_enable{clear:left;margin-top:6px}#img_signin_fields{clear:left;margin-top:6px}.signin_flex{display:flex}.signin_flex+.signin_flex{margin-top:1rem}.signin_flex .signin_flex-images{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - .5rem)}.signin_flex .signin_flex-images img{display:block;border-width:.5px;border-style:solid;box-sizing:border-box;width:100%;height:auto}.signin_flex .signin_flex-text{padding-left:1rem}.signin_flex .signin_flex-text *:first-child{margin-top:0}.signin_flex .signin_flex-text *:last-child{margin-bottom:0}.signin_flex .signin_flex-text h4{margin-top:1.5rem;margin-bottom:.15rem}.signin_flex .signin_flex-text h4+p{margin-top:.15rem}.signin_flex .signin_flex-text p{margin-top:1rem;margin-bottom:1rem}@media only screen and (min-width: 544px){.signin_flex .signin_flex-images{flex-basis:0;width:unset}.signin_flex .signin_flex-images img{width:unset;height:unset}}#checking_container{background-color:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.1);padding:12px;border-radius:6px;text-align:center}@media(prefers-color-scheme: dark){#checking_container{background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1)}}#checking_spinner{vertical-align:middle;margin-right:12px}#checking_text{line-height:1.5em;font-weight:bold}#checking_subtext{font-size:smaller;color:rgba(0,0,0,.8)}@media(prefers-color-scheme: dark){#checking_subtext{color:rgba(255,255,255,.8)}}#purchase_confirmed{display:none}#purchase_unknown{display:none}#purchase_delayed{margin-top:30px;display:none}#signin_instructions{display:none;margin-top:30px}.welcome_content{width:100%;margin-left:auto;margin-right:auto;max-width:500px;box-sizing:border-box}.push{clear:both;overflow:hidden;height:0px}table.generic .bullet-column{width:0px;white-space:nowrap}@media(min-width: 635px){table.generic .bullet-column{width:100px}}table.generic .storefront-quantity-column{min-width:125px;max-width:150px}td.bullet-column{color:green}#cart_back_paragraph{float:left}.price_column{width:115px;text-align:right}.quantity_column{width:75px;text-align:center}#email_section{border-width:1px;border-style:solid;clear:both;padding:20px;margin:20px auto;border-radius:6px;max-width:400px}#checkout_methods_cell{display:flex;flex-wrap:wrap;margin-top:15px;margin-bottom:5px;justify-content:center}#checkout_methods_cell img{margin:5px;float:left;display:block;height:22px}#checkout_methods_cell.usd .usd{display:block}#checkout_methods_cell.usd .eur{display:none}#checkout_methods_cell.usd .gbp{display:none}#checkout_methods_cell.eur .usd{display:none}#checkout_methods_cell.eur .eur{display:block}#checkout_methods_cell.eur .gbp{display:none}#checkout_methods_cell.gbp .usd{display:none}#checkout_methods_cell.gbp .eur{display:none}#checkout_methods_cell.gbp .gbp{display:block}#checkout_button_cell{text-align:center}#checkout_currency_cell{text-align:center;font-size:small}#checkout_currency_cell a{display:inline-block;padding:2px 6px;border-radius:4px;text-decoration:none;margin-left:.2em;margin-right:.2em;color:#084fd1}#checkout_currency_cell a.chosen{background-color:#084fd1;color:#fff}@media(prefers-color-scheme: dark){#checkout_currency_cell a{color:#3486fe}#checkout_currency_cell a.chosen{background-color:#3486fe}} +#img_signin_auth{background-image:url(/omni/welcome/auth.png);width:150px;height:118px}#img_signin_import{background-image:url(/omni/welcome/import.png);width:150px;height:59px}#img_signin_password{background-image:url(/omni/welcome/password.png);width:150px;height:59px;clear:left;margin-top:6px}.omni-section{width:95%;margin-left:auto;margin-right:auto;margin-top:3em;margin-bottom:3em;box-sizing:border-box}.action-link+.action-link{margin-left:12px}.signin_step+.signin_step{margin-top:1rem;border-top-width:1px;border-top-style:solid;padding-top:1rem}.signin_text{padding-left:170px}.img_signin{border-width:1px;border-style:solid;background-size:100%;float:left;background-color:rgba(255,255,255,.05)}.img_signin img{display:block}#img_signin_enable{clear:left;margin-top:6px}#img_signin_fields{clear:left;margin-top:6px}.signin_flex{display:flex}.signin_flex+.signin_flex{margin-top:1rem}.signin_flex .signin_flex-images{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - .5rem)}.signin_flex .signin_flex-images img{display:block;border-width:.5px;border-style:solid;box-sizing:border-box;width:100%;height:auto}.signin_flex .signin_flex-text{padding-left:1rem}.signin_flex .signin_flex-text *:first-child{margin-top:0}.signin_flex .signin_flex-text *:last-child{margin-bottom:0}.signin_flex .signin_flex-text h4{margin-top:1.5rem;margin-bottom:.15rem}.signin_flex .signin_flex-text h4+p{margin-top:.15rem}.signin_flex .signin_flex-text p{margin-top:1rem;margin-bottom:1rem}@media only screen and (min-width: 544px){.signin_flex .signin_flex-images{flex-basis:0;width:unset}.signin_flex .signin_flex-images img{width:unset;height:unset}}#checking_container{background-color:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.1);padding:12px;border-radius:6px;text-align:center}@media(prefers-color-scheme: dark){#checking_container{background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1)}}#checking_spinner{vertical-align:middle;margin-right:12px}#checking_text{line-height:1.5em;font-weight:bold}#checking_subtext{font-size:smaller;color:rgba(0,0,0,.8)}@media(prefers-color-scheme: dark){#checking_subtext{color:rgba(255,255,255,.8)}}#purchase_confirmed{display:none}#purchase_unknown{display:none}#purchase_delayed{margin-top:30px;display:none}#signin_instructions{display:none;margin-top:30px}.welcome_content{width:100%;margin-left:auto;margin-right:auto;max-width:500px;box-sizing:border-box}.push{clear:both;overflow:hidden;height:0px}table.generic .bullet-column{width:0px;white-space:nowrap}@media(min-width: 635px){table.generic .bullet-column{width:100px}}table.generic .storefront-quantity-column{min-width:125px;max-width:150px}td.bullet-column{color:green}#cart_back_paragraph{float:left}.price_column{width:115px;text-align:right}.quantity_column{width:75px;text-align:center}#email_section{border-width:1px;border-style:solid;clear:both;padding:20px;margin:20px auto;border-radius:6px;max-width:400px}#checkout_methods_cell{display:flex;flex-wrap:wrap;margin-top:15px;margin-bottom:5px;justify-content:center}#checkout_methods_cell img{margin:5px;float:left;display:block;height:22px}#checkout_methods_cell.usd .usd{display:block}#checkout_methods_cell.usd .eur{display:none}#checkout_methods_cell.usd .gbp{display:none}#checkout_methods_cell.eur .usd{display:none}#checkout_methods_cell.eur .eur{display:block}#checkout_methods_cell.eur .gbp{display:none}#checkout_methods_cell.gbp .usd{display:none}#checkout_methods_cell.gbp .eur{display:none}#checkout_methods_cell.gbp .gbp{display:block}#checkout_button_cell{text-align:center}#checkout_currency_cell{text-align:center;font-size:small}#checkout_currency_cell a{display:inline-block;padding:2px 6px;border-radius:4px;text-decoration:none;margin-left:.2em;margin-right:.2em;color:#084fd1}#checkout_currency_cell a.chosen{background-color:#084fd1;color:#fff}.omni-hero{margin-bottom:1.5rem}.omni-hero img{width:auto;height:auto;max-width:100%;max-height:140px;margin-left:auto;margin-right:auto;display:block}@media(prefers-color-scheme: dark){#checkout_currency_cell a{color:#3486fe}#checkout_currency_cell a.chosen{background-color:#3486fe}} diff --git a/Website/www/assets/css/theme-beacon-dark.css b/Website/www/assets/css/theme-beacon-dark.css index f1a84eba8..e89ba354d 100644 --- a/Website/www/assets/css/theme-beacon-dark.css +++ b/Website/www/assets/css/theme-beacon-dark.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#262626;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#599ae2}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#16a916;color:#262626}.platform_tag.playstation,.tag.playstation{background-color:#458bff;color:#262626}.platform_tag.pc,.tag.pc{background-color:#da8b10;color:#333}.platform_tag.nintendo,.tag.nintendo{background-color:#ff4d5b;color:#262626}.platform_tag.red,.tag.red{background-color:#e77681;color:#262626}.platform_tag.grey,.tag.grey{background-color:#868e96;color:#262626}.platform_tag.blue,.tag.blue{background-color:#408cfd;color:#262626}.platform_tag.green,.tag.green{background-color:#21b26f;color:#333}.platform_tag.yellow,.tag.yellow{background-color:#ffc107;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#0dcaf0;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ff534a}.text-green{color:#28cd41}.text-blue{color:#3395ff}.text-purple{color:#c37de6}.text-yellow{color:#fc0}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#939393}.text-lighter{color:#939393}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#474747}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#6c6c6c;color:#d5d5d5;background-color:#2d2d2d}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#313131}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#2b252c}table.generic tbody>tr:nth-child(odd){background-color:#262626}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#474747}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#d9d9d9}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#474747;color:#939393}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#262626;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#474747}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#d9d9d9}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#d9d9d9 rgba(0,0,0,0) #d9d9d9 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#6d6d6d rgba(0,0,0,0) #6d6d6d rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #7d7d7d;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#262626;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ff534a}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #7d7d7d;background-color:#2d2d2d;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#171717;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #7d7d7d;box-sizing:border-box;border-radius:.25rem;background-color:#2d2d2d}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#bebebe}label.invalid,span.invalid,p.invalid,div.invalid{color:#ff534a}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#a6a6a6}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#d9d9d9}label.checkbox :active+span{background-color:#000;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #939393;background-color:#262626;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#d9d9d9}div.select select:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}div.select span:after{color:#d9d9d9}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#262626;border-color:#474747}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#d9d9d9;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#d9d9d9}#explore_popover ul li a:hover .result_type{color:#d9d9d9;border-color:#d9d9d9}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#474747;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#262626}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#262626}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #474747;border-bottom:1px solid #474747}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#d9d9d9}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#373737}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#2a2a2a;text-shadow:0px 1px 0px #262626;border-top-color:#343434}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#474747}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#939393}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#676767}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#303030}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#474747}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#723633;color:#ff534a;background-color:#2d2727}.notice-block.notice-caution{border-color:#726019;color:#fc0;background-color:#2d2b25}.notice-block.notice-info{border-color:#2b4d72;color:#3395ff;background-color:#26292d}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#474747}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#dc4ff0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#d9d9d9}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#313131;background-color:#2a2a2a;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#599ae2;color:#d9d9d9;border-color:#599ae2}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#3c3c3c}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#313131}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#28cd41;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #474747;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #474747;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#30373a;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:skyblue}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #474747;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#2a2a2a;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a6a6a' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #474747}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #474747}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark{filter:brightness(0) invert(1)}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#262626;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#599ae2}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#16a916;color:#262626}.platform_tag.playstation,.tag.playstation{background-color:#458bff;color:#262626}.platform_tag.pc,.tag.pc{background-color:#da8b10;color:#333}.platform_tag.nintendo,.tag.nintendo{background-color:#ff4d5b;color:#262626}.platform_tag.red,.tag.red{background-color:#e77681;color:#262626}.platform_tag.grey,.tag.grey{background-color:#868e96;color:#262626}.platform_tag.blue,.tag.blue{background-color:#408cfd;color:#262626}.platform_tag.green,.tag.green{background-color:#21b26f;color:#333}.platform_tag.yellow,.tag.yellow{background-color:#ffc107;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#0dcaf0;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ff534a}.text-green{color:#28cd41}.text-blue{color:#3395ff}.text-purple{color:#c37de6}.text-yellow{color:#fc0}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#939393}.text-lighter{color:#939393}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#474747}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#6c6c6c;color:#d5d5d5;background-color:#2d2d2d}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#313131}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#2b252c}table.generic tbody>tr:nth-child(odd){background-color:#262626}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#474747}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#d9d9d9}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#474747;color:#939393}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#262626;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#474747}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#d9d9d9}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#d9d9d9 rgba(0,0,0,0) #d9d9d9 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#6d6d6d rgba(0,0,0,0) #6d6d6d rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #7d7d7d;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#262626;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ff534a}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #7d7d7d;background-color:#2d2d2d;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#171717;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #7d7d7d;box-sizing:border-box;border-radius:.25rem;background-color:#2d2d2d}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#bebebe}label.invalid,span.invalid,p.invalid,div.invalid{color:#ff534a}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#a6a6a6}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#d9d9d9}label.checkbox :active+span{background-color:#000;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #939393;background-color:#262626;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#d9d9d9}div.select select:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}div.select span:after{color:#d9d9d9}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#262626;border-color:#474747}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#d9d9d9;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#d9d9d9}#explore_popover ul li a:hover .result_type{color:#d9d9d9;border-color:#d9d9d9}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#474747;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#262626}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#262626}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #474747;border-bottom:1px solid #474747}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#d9d9d9}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#373737}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#2a2a2a;text-shadow:0px 1px 0px #262626;border-top-color:#343434}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#474747}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#939393}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#676767}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#303030}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#474747}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#723633;color:#ff534a;background-color:#2d2727}.notice-block.notice-caution{border-color:#726019;color:#fc0;background-color:#2d2b25}.notice-block.notice-info{border-color:#2b4d72;color:#3395ff;background-color:#26292d}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#474747}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#dc4ff0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#d9d9d9}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#313131;background-color:#2a2a2a;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#599ae2;color:#d9d9d9;border-color:#599ae2}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#3c3c3c}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#313131}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#28cd41;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #474747;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #474747;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#30373a;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:skyblue}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #474747;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#2a2a2a;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a6a6a' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #474747}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #474747}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark{filter:brightness(0) invert(1)}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:unset}.light-only{display:none} diff --git a/Website/www/assets/css/theme-beacon.css b/Website/www/assets/css/theme-beacon.css index ef15f3932..02c47eafa 100644 --- a/Website/www/assets/css/theme-beacon.css +++ b/Website/www/assets/css/theme-beacon.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#414141;background-color:#fff;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#2472cb}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#107c10;color:#fff}.platform_tag.playstation,.tag.playstation{background-color:#003791;color:#fff}.platform_tag.pc,.tag.pc{background-color:#925e0b;color:#fff}.platform_tag.nintendo,.tag.nintendo{background-color:#e60012;color:#fff}.platform_tag.red,.tag.red{background-color:#dc3545;color:#fff}.platform_tag.grey,.tag.grey{background-color:#6c757d;color:#fff}.platform_tag.blue,.tag.blue{background-color:#0d6efd;color:#fff}.platform_tag.green,.tag.green{background-color:#198754;color:#fff}.platform_tag.yellow,.tag.yellow{background-color:#876500;color:#eff1f3}.platform_tag.cyan,.tag.cyan{background-color:#08798f;color:#fefefe}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#e30c00}.text-green{color:#177826}.text-blue{color:#006ee6}.text-purple{color:#a53dda}.text-yellow{color:#806600}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#a0a0a0}.text-lighter{color:#a0a0a0}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(65,65,65,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#e3e3e3}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#c2c2c2;color:#666;background-color:#f9f9f9}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#f6f6f6}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#fbf5fc}table.generic tbody>tr:nth-child(odd){background-color:#fff}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#e3e3e3}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#fff}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#e3e3e3;color:#a0a0a0}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#fff;border-color:rgba(65,65,65,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(65,65,65,.6)}#header_links_cell ul li a:hover{border-color:rgba(65,65,65,.4)}#header_links_cell ul li a:active{background-color:rgba(65,65,65,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#e3e3e3}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#fff}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:gray}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #b3b3b3;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#fff;color:#414141}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#414141;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#e30c00}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #b3b3b3;background-color:#f9f9f9;color:#414141}.input-group button .spinner:after{border-color:#414141 rgba(0,0,0,0) #414141 rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#7d7d7d;color:#212121}.input-group button:not(:disabled):active .spinner:after{border-color:#212121 rgba(0,0,0,0) #212121 rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #b3b3b3;box-sizing:border-box;border-radius:.25rem;background-color:#f9f9f9}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#7a7a7a}label.invalid,span.invalid,p.invalid,div.invalid{color:#e30c00}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#ccc}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#fff}label.checkbox :active+span{background-color:#ccc;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #a0a0a0;background-color:#fff;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#fff}div.select select:not(:disabled):active{background-color:#4e0858;color:gray}div.select span:after{color:#fff}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-color:#e3e3e3}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#414141}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(65,65,65,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(65,65,65,.4);border-color:rgba(65,65,65,.2)}#explore_popover ul li a:hover{color:#fff;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#fff}#explore_popover ul li a:hover .result_type{color:#fff;border-color:#fff}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#e3e3e3;color:#414141}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(65,65,65,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(65,65,65,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(65,65,65,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#fff}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#fff}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#fff}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#f1f1f1}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#fbfbfb;text-shadow:0px 1px 0px #fff;border-top-color:#f3f3f3}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#e3e3e3}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#a0a0a0}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#c6c6c6}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#f7f7f7}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#e3e3e3}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#f5aaa6;color:#e30c00;background-color:#fef8f7}.notice-block.notice-caution{border-color:#d3c9a6;color:#806600;background-color:#fbfaf7}.notice-block.notice-info{border-color:#a6ccf6;color:#006ee6;background-color:#f7fbfe}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(65,65,65,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#e3e3e3}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#9c0fb0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#fff}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#f6f6f6;background-color:#fbfbfb;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#2472cb;color:#fff;border-color:#2472cb}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(65,65,65,.02);border-color:rgba(65,65,65,.1);color:rgba(65,65,65,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#ececec}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#f6f6f6}#browse_results div.properties-text{color:rgba(65,65,65,.5);border-color:rgba(65,65,65,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#177826;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #e3e3e3;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #e3e3e3;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#f3fafd;color:#506c77}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#186c8e}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #e3e3e3;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(65,65,65,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#fbfbfb;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c3c3c3' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #e3e3e3}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #e3e3e3}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#414141;background-color:#fff;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#2472cb}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#107c10;color:#fff}.platform_tag.playstation,.tag.playstation{background-color:#003791;color:#fff}.platform_tag.pc,.tag.pc{background-color:#925e0b;color:#fff}.platform_tag.nintendo,.tag.nintendo{background-color:#e60012;color:#fff}.platform_tag.red,.tag.red{background-color:#dc3545;color:#fff}.platform_tag.grey,.tag.grey{background-color:#6c757d;color:#fff}.platform_tag.blue,.tag.blue{background-color:#0d6efd;color:#fff}.platform_tag.green,.tag.green{background-color:#198754;color:#fff}.platform_tag.yellow,.tag.yellow{background-color:#876500;color:#eff1f3}.platform_tag.cyan,.tag.cyan{background-color:#08798f;color:#fefefe}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#e30c00}.text-green{color:#177826}.text-blue{color:#006ee6}.text-purple{color:#a53dda}.text-yellow{color:#806600}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#a0a0a0}.text-lighter{color:#a0a0a0}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(65,65,65,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#e3e3e3}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#c2c2c2;color:#666;background-color:#f9f9f9}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#f6f6f6}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#fbf5fc}table.generic tbody>tr:nth-child(odd){background-color:#fff}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#e3e3e3}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#fff}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#e3e3e3;color:#a0a0a0}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#fff;border-color:rgba(65,65,65,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(65,65,65,.6)}#header_links_cell ul li a:hover{border-color:rgba(65,65,65,.4)}#header_links_cell ul li a:active{background-color:rgba(65,65,65,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#e3e3e3}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#fff}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:gray}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #b3b3b3;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#fff;color:#414141}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#414141;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#e30c00}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #b3b3b3;background-color:#f9f9f9;color:#414141}.input-group button .spinner:after{border-color:#414141 rgba(0,0,0,0) #414141 rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#7d7d7d;color:#212121}.input-group button:not(:disabled):active .spinner:after{border-color:#212121 rgba(0,0,0,0) #212121 rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #b3b3b3;box-sizing:border-box;border-radius:.25rem;background-color:#f9f9f9}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#7a7a7a}label.invalid,span.invalid,p.invalid,div.invalid{color:#e30c00}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#ccc}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#fff}label.checkbox :active+span{background-color:#ccc;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #a0a0a0;background-color:#fff;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#fff}div.select select:not(:disabled):active{background-color:#4e0858;color:gray}div.select span:after{color:#fff}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-color:#e3e3e3}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#414141}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(65,65,65,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(65,65,65,.4);border-color:rgba(65,65,65,.2)}#explore_popover ul li a:hover{color:#fff;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#fff}#explore_popover ul li a:hover .result_type{color:#fff;border-color:#fff}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#e3e3e3;color:#414141}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(65,65,65,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(65,65,65,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(65,65,65,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#fff}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#fff}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#fff}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#f1f1f1}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#fbfbfb;text-shadow:0px 1px 0px #fff;border-top-color:#f3f3f3}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#e3e3e3}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#a0a0a0}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#c6c6c6}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#f7f7f7}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#e3e3e3}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#f5aaa6;color:#e30c00;background-color:#fef8f7}.notice-block.notice-caution{border-color:#d3c9a6;color:#806600;background-color:#fbfaf7}.notice-block.notice-info{border-color:#a6ccf6;color:#006ee6;background-color:#f7fbfe}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(65,65,65,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#e3e3e3}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#9c0fb0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#fff}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#f6f6f6;background-color:#fbfbfb;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#2472cb;color:#fff;border-color:#2472cb}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(65,65,65,.02);border-color:rgba(65,65,65,.1);color:rgba(65,65,65,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#ececec}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#f6f6f6}#browse_results div.properties-text{color:rgba(65,65,65,.5);border-color:rgba(65,65,65,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#177826;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #e3e3e3;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #e3e3e3;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#f3fafd;color:#506c77}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#186c8e}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #e3e3e3;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(65,65,65,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#fbfbfb;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c3c3c3' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #e3e3e3}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #e3e3e3}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:none}.light-only{display:unset} diff --git a/Website/www/assets/css/theme-purple.css b/Website/www/assets/css/theme-purple.css index 911317ca5..f067c488f 100644 --- a/Website/www/assets/css/theme-purple.css +++ b/Website/www/assets/css/theme-purple.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#9c0fb0;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#c6dcf5}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#83ef83;color:#595959}.platform_tag.playstation,.tag.playstation{background-color:#c4daff;color:#595959}.platform_tag.pc,.tag.pc{background-color:#f7cd8c;color:#595959}.platform_tag.nintendo,.tag.nintendo{background-color:#ffcdd0;color:#595959}.platform_tag.red,.tag.red{background-color:#f6cdd1;color:#595959}.platform_tag.grey,.tag.grey{background-color:#d8dbdd;color:#595959}.platform_tag.blue,.tag.blue{background-color:#bed8fe;color:#595959}.platform_tag.green,.tag.green{background-color:#84e8ba;color:#595959}.platform_tag.yellow,.tag.yellow{background-color:#ffce3a;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#84e5f8;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ffccc9}.text-green{color:#8ce99a}.text-blue{color:#b3d7ff}.text-purple{color:#ead2f7}.text-yellow{color:#ffd11a}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#ce87d8}.text-lighter{color:#ce87d8}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#ab33bc}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#bc5cc9;color:#ecd0f0;background-color:#9f16b2}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#a11bb4}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#a019b3}table.generic tbody>tr:nth-child(odd){background-color:#9c0fb0}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#ab33bc}table.generic thead,table.generic tr.header{background-color:#fff;color:#9c0fb0}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#fff;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#ab33bc;color:#ce87d8}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#9c0fb0;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#fff;fill:#fff}.separator-color{border-color:#ab33bc}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#ab33bc;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#561a5e;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#eb142a;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#760a15;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#fff;color:#9c0fb0}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:gray;color:#4e0858}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#4e0858 rgba(0,0,0,0) #4e0858 rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #c46fd0;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#9c0fb0;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ffccc9}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #c46fd0;background-color:#9f16b2;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#500b59;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #c46fd0;box-sizing:border-box;border-radius:.25rem;background-color:#9f16b2}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#e1b7e7}label.invalid,span.invalid,p.invalid,div.invalid{color:#ffccc9}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(255,255,255,0);border-color:#fff}label.checkbox span:after{background-color:#fff}label.checkbox :checked:active+span{background-color:#ccc;border-color:#ccc}label.checkbox :checked:active+span:after{background-color:#490752}label.checkbox :checked+span{background-color:#fff}label.checkbox :checked+span:after{background-color:#9c0fb0}label.checkbox :active+span{background-color:#490752;border-color:#ccc}label.checkbox :active:after{background-color:#ccc}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #ce87d8;background-color:#9c0fb0;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#fff}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#fff;color:#9c0fb0}div.select select:not(:disabled):active{background-color:gray;color:#4e0858}div.select span:after{color:#9c0fb0}div.select.gray select{background-color:#ab33bc;color:#fff}div.select.gray select:not(:disabled):active{background-color:#561a5e;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#eb142a;color:#fff}div.select.red select:not(:disabled):active{background-color:#760a15;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#9c0fb0;border-color:#ab33bc}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#9c0fb0;background-color:#fff}#explore_popover ul li a:hover .result_preview{color:#9c0fb0}#explore_popover ul li a:hover .result_type{color:#9c0fb0;border-color:#9c0fb0}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#ab33bc;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#9c0fb0}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#9c0fb0}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #ab33bc;border-bottom:1px solid #ab33bc}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#fff;background-color:none}#account_toolbar_menu div.active{background-color:#fff}#account_toolbar_menu div.active a{color:#9c0fb0}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#a421b6}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#9e14b2;text-shadow:0px 1px 0px #9c0fb0;border-top-color:#a31fb6}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#ab33bc}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#ce87d8}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#fff;border-left-color:#fff}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#ba57c8}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#a11ab4}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#ab33bc}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#bf51b9;color:#ffccc9;background-color:#9f15b1}.notice-block.notice-caution{border-color:#bf537c;color:#ffd11a;background-color:#9f15ac}.notice-block.notice-info{border-color:#a455cc;color:#b3d7ff;background-color:#9d15b2}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#ab33bc}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#fff;color:#9c0fb0;border-color:#fff}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#fff;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#fff;color:#9c0fb0}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#a11bb4;background-color:#9e14b2;text-decoration:none}.pagination-controls .pagination-current{background-color:#fff;color:#9c0fb0;border-color:#fff}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#c6dcf5;color:#9c0fb0;border-color:#c6dcf5}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#a627b8}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#a11bb4}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#8ce99a;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #ab33bc;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #ab33bc;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#9a22b6;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#b3e0f2}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #ab33bc;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#9e14b2;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23bb5bc9' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #ab33bc}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #ab33bc}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark,.accented-foreground{filter:brightness(0) invert(1)} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#9c0fb0;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#c6dcf5}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#83ef83;color:#595959}.platform_tag.playstation,.tag.playstation{background-color:#c4daff;color:#595959}.platform_tag.pc,.tag.pc{background-color:#f7cd8c;color:#595959}.platform_tag.nintendo,.tag.nintendo{background-color:#ffcdd0;color:#595959}.platform_tag.red,.tag.red{background-color:#f6cdd1;color:#595959}.platform_tag.grey,.tag.grey{background-color:#d8dbdd;color:#595959}.platform_tag.blue,.tag.blue{background-color:#bed8fe;color:#595959}.platform_tag.green,.tag.green{background-color:#84e8ba;color:#595959}.platform_tag.yellow,.tag.yellow{background-color:#ffce3a;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#84e5f8;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ffccc9}.text-green{color:#8ce99a}.text-blue{color:#b3d7ff}.text-purple{color:#ead2f7}.text-yellow{color:#ffd11a}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#ce87d8}.text-lighter{color:#ce87d8}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#ab33bc}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#bc5cc9;color:#ecd0f0;background-color:#9f16b2}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#a11bb4}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#a019b3}table.generic tbody>tr:nth-child(odd){background-color:#9c0fb0}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#ab33bc}table.generic thead,table.generic tr.header{background-color:#fff;color:#9c0fb0}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#fff;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#ab33bc;color:#ce87d8}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#9c0fb0;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#fff;fill:#fff}.separator-color{border-color:#ab33bc}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#ab33bc;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#561a5e;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#eb142a;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#760a15;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#fff;color:#9c0fb0}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:gray;color:#4e0858}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#4e0858 rgba(0,0,0,0) #4e0858 rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #c46fd0;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#9c0fb0;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ffccc9}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #c46fd0;background-color:#9f16b2;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#500b59;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #c46fd0;box-sizing:border-box;border-radius:.25rem;background-color:#9f16b2}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#e1b7e7}label.invalid,span.invalid,p.invalid,div.invalid{color:#ffccc9}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(255,255,255,0);border-color:#fff}label.checkbox span:after{background-color:#fff}label.checkbox :checked:active+span{background-color:#ccc;border-color:#ccc}label.checkbox :checked:active+span:after{background-color:#490752}label.checkbox :checked+span{background-color:#fff}label.checkbox :checked+span:after{background-color:#9c0fb0}label.checkbox :active+span{background-color:#490752;border-color:#ccc}label.checkbox :active:after{background-color:#ccc}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #ce87d8;background-color:#9c0fb0;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#fff}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#fff;color:#9c0fb0}div.select select:not(:disabled):active{background-color:gray;color:#4e0858}div.select span:after{color:#9c0fb0}div.select.gray select{background-color:#ab33bc;color:#fff}div.select.gray select:not(:disabled):active{background-color:#561a5e;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#eb142a;color:#fff}div.select.red select:not(:disabled):active{background-color:#760a15;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#9c0fb0;border-color:#ab33bc}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#9c0fb0;background-color:#fff}#explore_popover ul li a:hover .result_preview{color:#9c0fb0}#explore_popover ul li a:hover .result_type{color:#9c0fb0;border-color:#9c0fb0}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#ab33bc;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#9c0fb0}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#9c0fb0}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #ab33bc;border-bottom:1px solid #ab33bc}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#fff;background-color:none}#account_toolbar_menu div.active{background-color:#fff}#account_toolbar_menu div.active a{color:#9c0fb0}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#a421b6}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#9e14b2;text-shadow:0px 1px 0px #9c0fb0;border-top-color:#a31fb6}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#ab33bc}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#ce87d8}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#fff;border-left-color:#fff}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#ba57c8}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#a11ab4}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#ab33bc}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#bf51b9;color:#ffccc9;background-color:#9f15b1}.notice-block.notice-caution{border-color:#bf537c;color:#ffd11a;background-color:#9f15ac}.notice-block.notice-info{border-color:#a455cc;color:#b3d7ff;background-color:#9d15b2}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#ab33bc}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#fff;color:#9c0fb0;border-color:#fff}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#fff;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#fff;color:#9c0fb0}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#a11bb4;background-color:#9e14b2;text-decoration:none}.pagination-controls .pagination-current{background-color:#fff;color:#9c0fb0;border-color:#fff}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#c6dcf5;color:#9c0fb0;border-color:#c6dcf5}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#a627b8}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#a11bb4}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#8ce99a;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #ab33bc;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #ab33bc;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#9a22b6;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#b3e0f2}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #ab33bc;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#9e14b2;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23bb5bc9' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #ab33bc}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #ab33bc}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark,.accented-foreground{filter:brightness(0) invert(1)}.dark-only{display:unset}.light-only{display:none} diff --git a/Website/www/assets/scripts/account.js b/Website/www/assets/scripts/account.js index dbfbce010..0dea10026 100644 --- a/Website/www/assets/scripts/account.js +++ b/Website/www/assets/scripts/account.js @@ -1 +1 @@ -(()=>{var e={53:function(e){e.exports=function(){"use strict";var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="ARRAYBUFFER not supported by this environment",n="UINT8ARRAY not supported by this environment";function r(e,t,n,r){var a,o,i,c=t||[0],u=(n=n||0)>>>3,s=-1===r?3:0;for(a=0;a>>2,c.length<=o&&c.push(0),c[o]|=e[a]<<8*(s+r*(i%4));return{value:c,binLen:8*e.length+n}}function a(a,o,i){switch(o){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(a){case"HEX":return function(e,t,n){return function(e,t,n,r){var a,o,i,c;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");var u=t||[0],s=(n=n||0)>>>3,l=-1===r?3:0;for(a=0;a>>1)+s)>>>2;u.length<=i;)u.push(0);u[i]|=o<<8*(l+r*(c%4))}return{value:u,binLen:4*e.length+n}}(e,t,n,i)};case"TEXT":return function(e,t,n){return function(e,t,n,r,a){var o,i,c,u,s,l,d,h,f=0,p=n||[0],v=(r=r||0)>>>3;if("UTF8"===t)for(d=-1===a?3:0,c=0;c(o=e.charCodeAt(c))?i.push(o):2048>o?(i.push(192|o>>>6),i.push(128|63&o)):55296>o||57344<=o?i.push(224|o>>>12,128|o>>>6&63,128|63&o):(c+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(c)),i.push(240|o>>>18,128|o>>>12&63,128|o>>>6&63,128|63&o)),u=0;u>>2;p.length<=s;)p.push(0);p[s]|=i[u]<<8*(d+a*(l%4)),f+=1}else for(d=-1===a?2:0,h="UTF16LE"===t&&1!==a||"UTF16LE"!==t&&1===a,c=0;c>>8),s=(l=f+v)>>>2;p.length<=s;)p.push(0);p[s]|=o<<8*(d+a*(l%4)),f+=2}return{value:p,binLen:8*f+r}}(e,o,t,n,i)};case"B64":return function(t,n,r){return function(t,n,r,a){var o,i,c,u,s,l,d=0,h=n||[0],f=(r=r||0)>>>3,p=-1===a?3:0,v=t.indexOf("=");if(-1===t.search(/^[a-zA-Z0-9=+/]+$/))throw new Error("Invalid character in base-64 string");if(t=t.replace(/=/g,""),-1!==v&&v>e/4).toString(16)})),type:"TOTP",nickname:"Google Authenticator",metadata:{secret:null,setup:null}};N.addEventListener("input",(function(e){O.disabled=""===e.target.value.trim()})),P.addEventListener("click",(function(){q.metadata.secret=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",t=new Uint32Array(4);self.crypto.getRandomValues(t);var n,r="",a=g(t);try{for(a.s();!(n=a.n()).done;){var o=n.value;r+=e[o>>>27&31]+e[o>>>22&31]+e[o>>>17&31]+e[o>>>12&31]+e[o>>>7&31]+e[o>>>2&31]}}catch(e){a.e(e)}finally{a.f()}return r}(),q.metadata.setup="otpauth://totp/".concat(encodeURIComponent("Beacon:"+s+" ("+q.authenticatorId+")"),"?secret=").concat(q.metadata.secret,"&issuer=Beacon"),j&&(j.src="/account/assets/qr.php?content=".concat(btoa(q.metadata.setup)),j.setAttribute("alt",q.metadata.setup),j.setAttribute("title",q.metadata.setup)),N.value="",h.showModal("add-authenticator-modal")})),F.addEventListener("click",(function(){h.hideModal()})),O.addEventListener("click",(function(){var e=N.value.trim();if(q.nickname=K.value.trim(),q.verificationCode=e,e!==w()(q.metadata.secret)){N.classList.add("invalid");var t=document.querySelector('label[for="'.concat(N.id,'"]'));return t&&(t.classList.add("invalid"),t.innerText="Incorrect Code"),void setTimeout((function(){t&&(t.classList.remove("invalid"),t.innerText="Verification Code"),N&&N.classList.remove("invalid")}),3e3)}v.post("https://".concat(a,"/v4/authenticators"),q,{Authorization:"Bearer ".concat(r)}).then((function(){window.location.reload(!0)})).catch((function(e){console.log(JSON.stringify(e))}))}))}catch(e){P.addEventListener("click",(function(){h.show("Sorry, this browser is not supported","There was an error generating the authenticator, which means your browser does not support modern cryptography features. Try again with an updated browser.")}))}var X=document.querySelectorAll("#authenticators-table tbody tr").length;if(X>0){(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];document.querySelectorAll("time").forEach((function(n){var r=new Date(n.getAttribute("datetime"));n.innerText=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=Intl.DateTimeFormat().resolvedOptions(),a={dateStyle:"medium"};t&&(a.timeStyle="short");var o=Intl.DateTimeFormat(r.locale,a).format(e);return n&&(o="".concat(o," ").concat(r.timeZone)),o}(r,e,t)}))})(!0,!1),Y&&(Y.innerText=Intl.DateTimeFormat().resolvedOptions().timeZone);var J,W=g(document.querySelectorAll("button.delete_authenticator_button"));try{for(W.s();!(J=W.n()).done;)J.value.addEventListener("click",(function(e){var t=e.target.getAttribute("beacon-authenticator-id"),n=e.target.getAttribute("beacon-authenticator-name"),o={message:"Are you sure you want to delete the authenticator ".concat(n,"?")};if(X>1){var i=X-1,c=1===i?"authenticator":"authenticators";o.explanation="You will have ".concat(i," ").concat(c," remaining. Your account will still be protected by two factor authentication.")}else o.explanation="This is your only authenticator. Deleting it will disable two factor authentication for your account. You will be able to add a new authenticator to enable two factor authentication again.";h.confirm(o.message,o.explanation).then((function(){v.delete("https://".concat(a,"/v4/authenticators/").concat(t),{Authorization:"Bearer ".concat(r)}).then((function(){var e=document.getElementById("authenticator-".concat(t));e&&X>1?(e.remove(),X--):window.location.reload(!0)})).catch((function(e){var t={message:"The authenticator was not deleted",explanation:"There was a ".concat(e.status," error.")};try{var n=JSON.parse(e.body);n.message&&(t.explanation=n.message)}catch(e){}h.show(t.message,t.explanation)}))})).catch((function(){}))}))}catch(e){W.e(e)}finally{W.f()}}D&&D.addEventListener("click",(function(){h.confirm("Replace backup codes?","This will replace all of your backup codes with new ones.").then((function(){v.post("/account/actions/replace_backup_codes",{},{Authorization:"Bearer ".concat(r)}).then((function(e){try{var t=document.getElementById("backup-codes"),n=JSON.parse(e.body).codes;t.innerHTML="";var r,a=g(n);try{for(a.s();!(r=a.n()).done;){var o=r.value,i=document.createElement("div");i.innerText=o,i.className="flex-grid-item",t.appendChild(i)}}catch(e){a.e(e)}finally{a.f()}}catch(e){window.location.reload(!0)}})).catch((function(e){console.log(JSON.stringify(e));var t={message:"Backup codes not replaced",explanation:"There was a ".concat(e.status," error.")};try{var n=JSON.parse(e.body);n.message&&(t.explanation=n.message)}catch(e){}h.show(t.message,t.explanation)}))})).catch((function(){}))}));var V,G=function(e){return e.preventDefault(),v.delete("https://".concat(a,"/v4/sessions/").concat(encodeURIComponent(e.target.getAttribute("sessionHash"))),{Authorization:"Bearer ".concat(r)}).then((function(){h.show("Session revoked","Be aware that any enabled user with a copy of your account's private key can start a new session.").then((function(){window.location.reload(!0)}))})).catch((function(e){401===e.status?h.show("Session not revoked","There was an authentication error"):h.show("Session not revoked","Sorry, there was a "+e.status+" error.")})),!1},Z=g(document.querySelectorAll('#panel-account div[page="sessions"] a.revokeLink'));try{for(Z.s();!(V=Z.n()).done;)V.value.addEventListener("click",G)}catch(e){Z.e(e)}finally{Z.f()}var $,Q=function(e){e.preventDefault();var t=e.currentTarget.getAttribute("beacon-app-id");v.get("https://".concat(a,"/v4/applications/").concat(encodeURIComponent(t)),{Authorization:"Bearer ".concat(r)}).then((function(e){JSON.parse(e.body)})).catch((function(){h.show("Could not retrieve application info")}))},ee=g(document.querySelectorAll('#panel-account div[page="apps"] button.apps-edit-button'));try{for(ee.s();!($=ee.n()).done;)$.value.addEventListener("click",Q)}catch(e){ee.e(e)}finally{ee.f()}var te,ne=document.getElementById("static-token-modal"),re=document.getElementById("static-token-name-field"),ae=document.getElementById("static-token-token-field"),oe=document.getElementById("static-token-cancel-button"),ie=document.getElementById("static-token-action-button"),ce=document.getElementById("static-token-provider-field"),ue=document.getElementById("static-token-generate-link"),se=document.getElementById("static-token-help-field"),le=document.getElementById("static-token-error-field"),de=function(e){e.preventDefault();var t=e.currentTarget.getAttribute("beacon-provider"),n=e.currentTarget.getAttribute("beacon-provider-type"),o=e.currentTarget.getAttribute("beacon-token-id"),i=e.currentTarget.getAttribute("beacon-token-name");if(""===o)switch(n){case"oauth":window.location="/account/oauth/v4/begin/".concat(t);break;case"static":if(ne&&re&&ae&&ce&&ue&&se){switch(re.value="",ae.value="",ce.value=t,le.classList.add("hidden"),t){case"nitrado":ue.href="https://server.nitrado.net/usa/developer/tokens",se.innerText='Beacon requires long life tokens from Nitrado to have the "service" scope enabled.',se.classList.remove("hidden");break;case"gameserverapp.com":ue.href="https://dash.gameserverapp.com/configure/api",se.innerText='On your GameServerApp.com dashboard, you will find an "API / Integrate" option where you can issue a token for Beacon. Copy the token into the field below to continue. Remember to keep your token in a safe place in case you need it again.',se.classList.remove("hidden")}h.showModal("static-token-modal")}}else h.confirm("Are you sure you want to remove the service ".concat(i,"?"),"You will be able to connect the service again if you choose to.","Delete","Cancel").then((function(){v.delete("https://".concat(a,"/v4/tokens/").concat(o),{Authorization:"Bearer ".concat(r)}).then((function(){window.location.reload(!0)})).catch((function(){h.show("The service was not deleted.")}))}))},he=g(document.querySelectorAll('#panel-account div[page="services"] .service-action button'));try{for(he.s();!(te=he.n()).done;)te.value.addEventListener("click",de)}catch(e){he.e(e)}finally{he.f()}if(ne&&re&&ae&&oe&&ie&&ce&&le){var fe=function(){ie.disabled=""===re.value.trim()||""===ae.value.trim()};re.addEventListener("input",(function(){fe()})),ae.addEventListener("input",(function(){fe()})),oe.addEventListener("click",(function(e){e.preventDefault(),h.hideModal()})),ie.addEventListener("click",(function(e){e.preventDefault(),ie.disabled=!0,le.classList.add("hidden");var t={provider:ce.value,type:"Static",accessToken:ae.value.trim(),providerSpecific:{tokenName:re.value.trim()}},n=function(){v.post("https://".concat(a,"/v4/user/tokens"),t,{Authorization:"Bearer ".concat(r)}).then((function(){window.location.reload(!0)})).catch((function(){le.innerText="Could not save token.",le.classList.remove("hidden"),ie.disabled=!1}))};"nitrado"===t.provider?v.get("https://api.nitrado.net/token",{Authorization:"Bearer ".concat(t.accessToken)}).then((function(e){var r=JSON.parse(e.body);if(!1===r.data.token.scopes.includes("service"))return le.innerText='The long life token is valid, but is missing the "service" scope that Beacon requires.',le.classList.remove("hidden"),void(ie.disabled=!1);t.providerSpecific.user=r.data.token.user,n()})).catch((function(){le.innerText="The long life token is not valid. Double check the Nitrado website, as the beginning of the token can wrap to another line.",le.classList.remove("hidden"),ie.disabled=!1})):n()}))}var pe=new URLSearchParams(window.location.search);if(pe.get("message")&&pe.get("explanation")){h.show(pe.get("message"),pe.get("explanation"));var ve=new(window.URL||window.webkitURL||window.mozURL||window.msURL||window.oURL)(window.location);ve.search="",window.history.replaceState(null,document.title,ve.toString())}}))})()})(); \ No newline at end of file +(()=>{var e={53:function(e){e.exports=function(){"use strict";var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="ARRAYBUFFER not supported by this environment",n="UINT8ARRAY not supported by this environment";function r(e,t,n,r){var a,o,i,c=t||[0],u=(n=n||0)>>>3,s=-1===r?3:0;for(a=0;a>>2,c.length<=o&&c.push(0),c[o]|=e[a]<<8*(s+r*(i%4));return{value:c,binLen:8*e.length+n}}function a(a,o,i){switch(o){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(a){case"HEX":return function(e,t,n){return function(e,t,n,r){var a,o,i,c;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");var u=t||[0],s=(n=n||0)>>>3,l=-1===r?3:0;for(a=0;a>>1)+s)>>>2;u.length<=i;)u.push(0);u[i]|=o<<8*(l+r*(c%4))}return{value:u,binLen:4*e.length+n}}(e,t,n,i)};case"TEXT":return function(e,t,n){return function(e,t,n,r,a){var o,i,c,u,s,l,d,h,f=0,p=n||[0],v=(r=r||0)>>>3;if("UTF8"===t)for(d=-1===a?3:0,c=0;c(o=e.charCodeAt(c))?i.push(o):2048>o?(i.push(192|o>>>6),i.push(128|63&o)):55296>o||57344<=o?i.push(224|o>>>12,128|o>>>6&63,128|63&o):(c+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(c)),i.push(240|o>>>18,128|o>>>12&63,128|o>>>6&63,128|63&o)),u=0;u>>2;p.length<=s;)p.push(0);p[s]|=i[u]<<8*(d+a*(l%4)),f+=1}else for(d=-1===a?2:0,h="UTF16LE"===t&&1!==a||"UTF16LE"!==t&&1===a,c=0;c>>8),s=(l=f+v)>>>2;p.length<=s;)p.push(0);p[s]|=o<<8*(d+a*(l%4)),f+=2}return{value:p,binLen:8*f+r}}(e,o,t,n,i)};case"B64":return function(t,n,r){return function(t,n,r,a){var o,i,c,u,s,l,d=0,h=n||[0],f=(r=r||0)>>>3,p=-1===a?3:0,v=t.indexOf("=");if(-1===t.search(/^[a-zA-Z0-9=+/]+$/))throw new Error("Invalid character in base-64 string");if(t=t.replace(/=/g,""),-1!==v&&v>e/4).toString(16)})),type:"TOTP",nickname:"Google Authenticator",metadata:{secret:null,setup:null}};N.addEventListener("input",(function(e){K.disabled=""===e.target.value.trim()})),x.addEventListener("click",(function(){q.metadata.secret=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",t=new Uint32Array(4);self.crypto.getRandomValues(t);var n,r="",a=g(t);try{for(a.s();!(n=a.n()).done;){var o=n.value;r+=e[o>>>27&31]+e[o>>>22&31]+e[o>>>17&31]+e[o>>>12&31]+e[o>>>7&31]+e[o>>>2&31]}}catch(e){a.e(e)}finally{a.f()}return r}(),q.metadata.setup="otpauth://totp/".concat(encodeURIComponent("Beacon:"+s+" ("+q.authenticatorId+")"),"?secret=").concat(q.metadata.secret,"&issuer=Beacon"),F&&(F.src="/account/assets/qr.php?content=".concat(btoa(q.metadata.setup)),F.setAttribute("alt",q.metadata.setup),F.setAttribute("title",q.metadata.setup)),N.value="",h.showModal("add-authenticator-modal")})),j.addEventListener("click",(function(){h.hideModal()})),K.addEventListener("click",(function(){var e=N.value.trim();if(q.nickname=O.value.trim(),q.verificationCode=e,e!==w()(q.metadata.secret)){N.classList.add("invalid");var t=document.querySelector('label[for="'.concat(N.id,'"]'));return t&&(t.classList.add("invalid"),t.innerText="Incorrect Code"),void setTimeout((function(){t&&(t.classList.remove("invalid"),t.innerText="Verification Code"),N&&N.classList.remove("invalid")}),3e3)}v.post("https://".concat(a,"/v4/authenticators"),q,{Authorization:"Bearer ".concat(r)}).then((function(){window.location.reload(!0)})).catch((function(e){console.log(JSON.stringify(e))}))}))}catch(e){x.addEventListener("click",(function(){h.show("Sorry, this browser is not supported","There was an error generating the authenticator, which means your browser does not support modern cryptography features. Try again with an updated browser.")}))}var X=document.querySelectorAll("#authenticators-table tbody tr").length;if(X>0){(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];document.querySelectorAll("time").forEach((function(n){var r=new Date(n.getAttribute("datetime"));n.innerText=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=Intl.DateTimeFormat().resolvedOptions(),a={dateStyle:"medium"};t&&(a.timeStyle="short");var o=Intl.DateTimeFormat(r.locale,a).format(e);return n&&(o="".concat(o," ").concat(r.timeZone)),o}(r,e,t)}))})(!0,!1),Y&&(Y.innerText=Intl.DateTimeFormat().resolvedOptions().timeZone);var J,W=g(document.querySelectorAll("button.delete_authenticator_button"));try{for(W.s();!(J=W.n()).done;)J.value.addEventListener("click",(function(e){var t=e.target.getAttribute("beacon-authenticator-id"),n=e.target.getAttribute("beacon-authenticator-name"),o={message:"Are you sure you want to delete the authenticator ".concat(n,"?")};if(X>1){var i=X-1,c=1===i?"authenticator":"authenticators";o.explanation="You will have ".concat(i," ").concat(c," remaining. Your account will still be protected by two factor authentication.")}else o.explanation="This is your only authenticator. Deleting it will disable two factor authentication for your account. You will be able to add a new authenticator to enable two factor authentication again.";h.confirm(o.message,o.explanation).then((function(){v.delete("https://".concat(a,"/v4/authenticators/").concat(t),{Authorization:"Bearer ".concat(r)}).then((function(){var e=document.getElementById("authenticator-".concat(t));e&&X>1?(e.remove(),X--):window.location.reload(!0)})).catch((function(e){var t={message:"The authenticator was not deleted",explanation:"There was a ".concat(e.status," error.")};try{var n=JSON.parse(e.body);n.message&&(t.explanation=n.message)}catch(e){}h.show(t.message,t.explanation)}))})).catch((function(){}))}))}catch(e){W.e(e)}finally{W.f()}}D&&D.addEventListener("click",(function(){h.confirm("Replace backup codes?","This will replace all of your backup codes with new ones.").then((function(){v.post("/account/actions/replace_backup_codes",{},{Authorization:"Bearer ".concat(r)}).then((function(e){try{var t=document.getElementById("backup-codes"),n=JSON.parse(e.body).codes;t.innerHTML="";var r,a=g(n);try{for(a.s();!(r=a.n()).done;){var o=r.value,i=document.createElement("div");i.innerText=o,i.className="flex-grid-item",t.appendChild(i)}}catch(e){a.e(e)}finally{a.f()}}catch(e){window.location.reload(!0)}})).catch((function(e){console.log(JSON.stringify(e));var t={message:"Backup codes not replaced",explanation:"There was a ".concat(e.status," error.")};try{var n=JSON.parse(e.body);n.message&&(t.explanation=n.message)}catch(e){}h.show(t.message,t.explanation)}))})).catch((function(){}))}));var V,G=function(e){return e.preventDefault(),v.delete("https://".concat(a,"/v4/sessions/").concat(encodeURIComponent(e.target.getAttribute("sessionHash"))),{Authorization:"Bearer ".concat(r)}).then((function(){h.show("Session revoked","Be aware that any enabled user with a copy of your account's private key can start a new session.").then((function(){window.location.reload(!0)}))})).catch((function(e){401===e.status?h.show("Session not revoked","There was an authentication error"):h.show("Session not revoked","Sorry, there was a "+e.status+" error.")})),!1},Z=g(document.querySelectorAll('#panel-account div[page="sessions"] a.revokeLink'));try{for(Z.s();!(V=Z.n()).done;)V.value.addEventListener("click",G)}catch(e){Z.e(e)}finally{Z.f()}var $,Q=function(e){e.preventDefault();var t=e.currentTarget.getAttribute("beacon-app-id");v.get("https://".concat(a,"/v4/applications/").concat(encodeURIComponent(t)),{Authorization:"Bearer ".concat(r)}).then((function(e){JSON.parse(e.body)})).catch((function(){h.show("Could not retrieve application info")}))},ee=g(document.querySelectorAll('#panel-account div[page="apps"] button.apps-edit-button'));try{for(ee.s();!($=ee.n()).done;)$.value.addEventListener("click",Q)}catch(e){ee.e(e)}finally{ee.f()}var te,ne=document.getElementById("static-token-modal"),re=document.getElementById("static-token-name-field"),ae=document.getElementById("static-token-token-field"),oe=document.getElementById("static-token-cancel-button"),ie=document.getElementById("static-token-action-button"),ce=document.getElementById("static-token-provider-field"),ue=document.getElementById("static-token-generate-link"),se=document.getElementById("static-token-help-field"),le=document.getElementById("static-token-error-field"),de=function(e){e.preventDefault();var t=e.currentTarget.getAttribute("beacon-provider"),n=e.currentTarget.getAttribute("beacon-provider-type"),o=e.currentTarget.getAttribute("beacon-token-id"),i=e.currentTarget.getAttribute("beacon-token-name");if(""===o)switch(n){case"oauth":window.location="/account/oauth/v4/begin/".concat(t);break;case"static":if(ne&&re&&ae&&ce&&ue&&se){switch(re.value="",ae.value="",ce.value=t,le.classList.add("hidden"),t){case"nitrado":ue.href="https://server.nitrado.net/usa/developer/tokens",se.innerText='Beacon requires long life tokens from Nitrado to have the "service" scope enabled.',se.classList.remove("hidden");break;case"gameserverapp.com":ue.href="https://dash.gameserverapp.com/configure/api",se.innerText='On your GameServerApp.com dashboard, you will find an "API / Integrate" option where you can issue a token for Beacon. Copy the token into the field below to continue. Remember to keep your token in a safe place in case you need it again.',se.classList.remove("hidden")}h.showModal("static-token-modal")}}else h.confirm("Are you sure you want to remove the service ".concat(i,"?"),"You will be able to connect the service again if you choose to.","Delete","Cancel").then((function(){v.delete("https://".concat(a,"/v4/tokens/").concat(o),{Authorization:"Bearer ".concat(r)}).then((function(){window.location.reload(!0)})).catch((function(){h.show("The service was not deleted.")}))}))},he=g(document.querySelectorAll('#panel-account div[page="services"] .service-action button'));try{for(he.s();!(te=he.n()).done;)te.value.addEventListener("click",de)}catch(e){he.e(e)}finally{he.f()}if(ne&&re&&ae&&oe&&ie&&ce&&le){var fe=function(){ie.disabled=""===re.value.trim()||""===ae.value.trim()};re.addEventListener("input",(function(){fe()})),ae.addEventListener("input",(function(){fe()})),oe.addEventListener("click",(function(e){e.preventDefault(),h.hideModal()})),ie.addEventListener("click",(function(e){e.preventDefault(),ie.disabled=!0,le.classList.add("hidden");var t={provider:ce.value,type:"Static",accessToken:ae.value.trim(),providerSpecific:{tokenName:re.value.trim()}},n=function(){v.post("https://".concat(a,"/v4/user/tokens"),t,{Authorization:"Bearer ".concat(r)}).then((function(){window.location.reload(!0)})).catch((function(){le.innerText="Could not save token.",le.classList.remove("hidden"),ie.disabled=!1}))};"nitrado"===t.provider?v.get("https://api.nitrado.net/token",{Authorization:"Bearer ".concat(t.accessToken)}).then((function(e){var r=JSON.parse(e.body);if(!1===r.data.token.scopes.includes("service"))return le.innerText='The long life token is valid, but is missing the "service" scope that Beacon requires.',le.classList.remove("hidden"),void(ie.disabled=!1);t.providerSpecific.user=r.data.token.user,n()})).catch((function(){le.innerText="The long life token is not valid. Double check the Nitrado website, as the beginning of the token can wrap to another line.",le.classList.remove("hidden"),ie.disabled=!1})):n()}))}var pe=new URLSearchParams(window.location.search);if(pe.get("message")&&pe.get("explanation")){h.show(pe.get("message"),pe.get("explanation"));var ve=new(window.URL||window.webkitURL||window.mozURL||window.msURL||window.oURL)(window.location);ve.search="",window.history.replaceState(null,document.title,ve.toString())}}))})()})(); \ No newline at end of file diff --git a/Website/www/assets/scripts/checkout.js b/Website/www/assets/scripts/checkout.js index dbb900f9f..6a974df40 100644 --- a/Website/www/assets/scripts/checkout.js +++ b/Website/www/assets/scripts/checkout.js @@ -1 +1 @@ -(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok";return this.confirm(e,t,n,null)}},{key:"confirm",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Cancel";return new Promise((function(r,o){var c=document.getElementById("overlay"),s=document.getElementById("dialog"),l=document.getElementById("dialog_message"),u=document.getElementById("dialog_explanation"),d=document.getElementById("dialog_action_button"),h=document.getElementById("dialog_cancel_button");c&&s&&l&&u&&d&&h?(c.className="exist",s.className="exist",setTimeout((function(){c.className="exist visible",s.className="exist visible"}),10),l.innerText=e,u.innerText=n||"",d.clickHandler&&d.removeEventListener("click",d.clickHandler),h.clickHandler&&h.removeEventListener("click",h.clickHandler),d.clickHandler=function(){t.hide(),setTimeout((function(){r()}),300)},d.addEventListener("click",d.clickHandler),d.innerText=i,a?(h.clickHandler=function(){t.hide(),setTimeout((function(){o()}),300)},h.addEventListener("click",h.clickHandler),h.innerText=a):h.className="hidden"):o()}))}},{key:"hide",value:function(){var e=document.getElementById("overlay"),t=document.getElementById("dialog");e&&t&&(e.className="exist",t.className="exist",setTimeout((function(){e.className="",t.className=""}),300))}},{key:"showModal",value:function(e){var t=this;if(!this.activeModal){var n=document.getElementById("overlay"),i=document.getElementById(e);n&&i&&(n.classList.add("exist"),i.classList.add("exist"),this.activeModal=e,setTimeout((function(){n.classList.add("visible"),i.classList.add("visible")}),10),this.viewportWatcher=setInterval((function(){if(t.activeModal){document.querySelectorAll("#".concat(t.activeModal," .modal-content .content")).forEach((function(e){i.classList.toggle("scrolled",e.scrollHeight>e.clientHeight)}));var e=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);i.classList.toggle("centered",i.clientHeight>.75*e)}}),100))}}},{key:"hideModal",value:function(){var e=this;return new Promise((function(t,n){if(e.activeModal){var i=document.getElementById("overlay"),a=document.getElementById(e.activeModal);i&&a?(e.viewportWatcher&&(clearInterval(e.viewportWatcher),e.viewportWatcher=null),i.classList.remove("visible"),a.classList.remove("visible"),setTimeout((function(){i.classList.remove("exist"),a.classList.remove("exist"),e.activeModal=null,t()}),300)):n()}else n()}))}}],null&&t(n.prototype,null),i&&t(n,i),Object.defineProperty(n,"prototype",{writable:!1}),e}();function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n=200&&e.status<300||304===e.status}}},{key:"start",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,c){var s=new XMLHttpRequest;if(s.open(e,t,!0),"object"===r(a)&&null!==a&&!1===Array.isArray(a))for(var l=0,u=Object.keys(a);l1&&void 0!==arguments[1]?arguments[1]:{};return e.start("GET",t,null,n)}},{key:"post",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n instanceof URLSearchParams?(i["Content-Type"]="application/x-www-form-urlencoded",e.start("POST",t,n.toString(),i)):"object"===r(n)&&null!==n||Array.isArray(n)?(i["Content-Type"]="application/json",e.start("POST",t,JSON.stringify(n),i)):e.start("POST",t,n,i)}},{key:"delete",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.start("DELETE",t,null,n)}}],null&&o(t.prototype,null),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),s=function(e){return Intl.NumberFormat("en-US",{style:"currency",currency:e}).format},l=function(e){return new Date(1e3*e)},u=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Intl.DateTimeFormat().resolvedOptions(),a={dateStyle:"medium"};t&&(a.timeStyle="short");var r=Intl.DateTimeFormat(i.locale,a).format(e);return n&&(r="".concat(r," ").concat(i.timeZone)),r};function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function m(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function v(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n>e/4).toString(16)})))}return w(e,[{key:"id",get:function(){return S(this,o)}},{key:"isGift",get:function(){return S(this,h)},set:function(e){E(this,h,e)}},{key:"productIds",get:function(){return Object.keys(S(this,d))}},{key:"count",get:function(){return Object.keys(S(this,d)).length}},{key:"reset",value:function(){E(this,d,{})}},{key:"add",value:function(e,t){this.setQuantity(e,this.getQuantity(e)+t)}},{key:"remove",value:function(e,t){this.setQuantity(e,this.getQuantity(e)-t)}},{key:"getQuantity",value:function(e){var t;return null!==(t=S(this,d)[e])&&void 0!==t?t:0}},{key:"setQuantity",value:function(e,t){t<=0?Object.prototype.hasOwnProperty.call(S(this,d),e)&&delete S(this,d)[e]:S(this,d)[e]=t}},{key:"toJSON",value:function(){return{id:S(this,o),products:S(this,d),isGift:S(this,h)}}},{key:"fingerprint",get:function(){var e=this,t=Object.keys(S(this,d)).sort().reduce((function(t,n){return t[n]=S(e,d)[n],t}),{});return btoa(JSON.stringify({id:S(this,o),products:t,isGift:S(this,h)}))}},{key:"hasArk",get:function(){var e;return this.getQuantity(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0}},{key:"hasArkSA",get:function(){var e,t,i;return this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)>0||this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId)>0}},{key:"arkSAYears",get:function(){var e,t,i;return Math.min(this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)+this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId),10)}},{key:"hasMinimalGames",get:function(){var e,t;return this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId)>0}},{key:"minimalGamesYears",get:function(){var e,t;return Math.min(this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId),10)}},{key:"build",value:function(e,t,i,a,r){this.reset(),this.isGift=t,i&&(t||null===e.arkLicense)&&this.setQuantity(n.Ark.Base.ProductId,1),a>0&&(a=Math.min(a,5),t?(i?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1)):null!==e.arkSALicense?this.setQuantity(n.ArkSA.Renewal.ProductId,a):(i||null!==e.arkLicense?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1))),r>0&&(r=Math.min(r,5),t?(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)):null!==e.minimalGamesLicense?this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r):(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)))}},{key:"rebuild",value:function(e){var t=this.fingerprint;return this.build(e,this.isGift,this.hasArk,this.arkSAYears,this.minimalGamesYears),this.fingerprint!==t}},{key:"consume",value:function(e,t){if(t){if(this.isGift!==t.isGift)throw new Error("Cannot merge a gift item with a non-gift item.");var n=this.hasArk||t.hasArk,i=this.arkSAYears+t.arkSAYears,a=this.hasMinimalGames||t.hasMinimalGames;this.build(e,this.isGift,n,i,a)}}},{key:"total",get:function(){var e,t=0,n=k(this.productIds);try{for(n.s();!(e=n.n()).done;){var a=e.value;t+=i[a].Price*this.getQuantity(a)}}catch(e){n.e(e)}finally{n.f()}return t}}]),e}(),g=new WeakMap,b=new WeakMap,B=new WeakMap,G=new WeakMap,x=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(y(this,e),A(this,g,{writable:!0,value:[]}),A(this,b,{writable:!0,value:null}),A(this,B,{writable:!0,value:!1}),A(this,G,{writable:!0,value:[]}),t)try{var n=JSON.parse(t);E(this,b,n.email),E(this,g,n.items.reduce((function(e,t){var n=new f(t);return n.count>0&&e.push(n),e}),[])),E(this,G,n.licenses)}catch(e){console.log("Failed to load saved cart")}}return w(e,[{key:"reset",value:function(){E(this,g,[]),E(this,b,null),E(this,B,!1),E(this,G,[]),this.save()}},{key:"toJSON",value:function(){return{email:S(this,b),items:S(this,g).reduce((function(e,t){return t.count>0&&e.push(t),e}),[]),licenses:S(this,G)}}},{key:"save",value:function(){localStorage.setItem("beaconCart",JSON.stringify(this))}},{key:"add",value:function(e){S(this,g).push(e),this.save()}},{key:"remove",value:function(e){E(this,g,S(this,g).filter((function(t){return t.id!==e.id}))),this.save()}},{key:"hasProduct",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=k(S(this,g));try{for(i.s();!(t=i.n()).done;){var a=t.value;if(a.getQuantity(e)>0&&a.isGift===n)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"email",get:function(){return S(this,b)}},{key:"setEmail",value:function(e){var t=this;return new Promise((function(i,a){var r=function(){var e,i=t.personalCartItem;return!!i&&(i.hasArk&&t.arkLicense?(i.setQuantity(null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId,0),0===i.count&&t.remove(i),!0):i.rebuild(t))};if(null===e){E(t,b,null),E(t,B,!1),E(t,G,[]);var o=r();return t.save(),void i({newEmail:null,cartChanged:o})}if(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(e).trim().toLowerCase())){var s=new URLSearchParams;s.append("email",e),c.get("/omni/lookup?".concat(s.toString())).then((function(n){var a=JSON.parse(n.body);E(t,b,a.email),E(t,B,a.verified),E(t,G,a.purchases);var o=r();t.save(),i({newEmail:e,cartChanged:o})})).catch((function(e){E(t,b,null),E(t,B,!1),E(t,G,[]),r(),t.save(),a(e.statusText)}))}else a("Address is not valid")}))}},{key:"emailVerified",get:function(){return S(this,B)}},{key:"checkingEmail",get:function(){return!1}},{key:"items",get:function(){return function(e){if(Array.isArray(e))return p(e)}(e=S(this,g))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var e}},{key:"count",get:function(){return S(this,g).reduce((function(e,t){return t.count>0&&e++,e}),0)}},{key:"findLicense",value:function(e){var t,n=k(S(this,G));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(i.productId===e)return i}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"arkLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"arkSALicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"minimalGamesLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"ark2License",get:function(){return null}},{key:"personalCartItem",get:function(){var e,t=k(S(this,g));try{for(t.s();!(e=t.n()).done;){var n=e.value;if(!1===n.isGift)return n}}catch(e){t.e(e)}finally{t.f()}return null}},{key:"total",get:function(){var e,t=0,n=k(S(this,g));try{for(n.s();!(e=n.n()).done;)t+=e.value.total}catch(e){n.e(e)}finally{n.f()}return t}}],[{key:"load",value:function(){return new this(localStorage.getItem("beaconCart"))}}]),e}(),M=x.load(),T=new WeakMap,F=new WeakMap,D=function(){function e(t){y(this,e),A(this,T,{writable:!0,value:[]}),A(this,F,{writable:!0,value:null}),S(this,T).push(t)}return w(e,[{key:"currentView",get:function(){return S(this,T).slice(-1)}},{key:"back",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!(S(this,T).length<=1||(this.switchView(S(this,T)[S(this,T).length-2],e),E(this,T,S(this,T).slice(0,S(this,T).length-2)),0))}},{key:"clearHistory",value:function(){S(this,T).length<=1||E(this,T,S(this,T).slice(-1))}},{key:"switchView",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.currentView!==e){S(this,F)&&(clearTimeout(S(this,F)),E(this,F,null));var i=document.getElementById(this.currentView),a=document.getElementById(e);S(this,T).push(e),n?(i.classList.add("invisible"),E(this,F,setTimeout((function(){i.classList.add("hidden"),a.classList.remove("hidden"),E(t,F,setTimeout((function(){a.classList.remove("invisible"),E(t,F,null)}),150))}),150))):(i.classList.add("hidden"),i.classList.add("invisible"),a.classList.remove("invisible"),a.classList.remove("hidden"))}}}]),e}();new D("checkout-wizard-start");var O=new D("page-landing"),N=document.getElementById("buy-button"),z=document.getElementById("cart-back-button"),R=1===Object.keys(i).length,j=function(){history.pushState({},"","/omni#checkout"),dispatchEvent(new PopStateEvent("popstate",{}))},Q={cancelButton:document.getElementById("checkout-email-cancel"),actionButton:document.getElementById("checkout-email-action"),emailField:document.getElementById("checkout-email-field"),errorField:document.getElementById("checkout-email-error"),allowsSkipping:!1,successFunction:function(e){},init:function(){var e=this,t=function(t){e.actionButton.disabled=!0,e.cancelButton.disabled=!0,e.errorField.classList.add("hidden"),M.setEmail(t).then((function(t){t.newEmail;var n=t.cartChanged;a.hideModal(),setTimeout((function(){e.successFunction(n)}),310)})).catch((function(t){e.errorField.innerText=t,e.errorField.classList.remove("hidden")})).finally((function(){e.actionButton.disabled=!1,e.cancelButton.disabled=!1}))};this.actionButton.addEventListener("click",(function(n){n.preventDefault(),t(e.emailField.value)})),this.cancelButton.addEventListener("click",(function(n){n.preventDefault(),e.allowsSkipping?t(null):a.hideModal()}))},present:function(e,n){t.forceEmail?M.setEmail(t.forceEmail).then((function(e){e.newEmail;var t=e.cartChanged;n(t)})):(this.allowsSkipping=e,this.successFunction=n,M.email?this.emailField.value=M.email:this.emailField.value=sessionStorage.getItem("email")||localStorage.getItem("email")||"",this.cancelButton.innerText=e?"Skip For Now":"Cancel",a.showModal("checkout-email"))}};Q.init();var U={cartView:null,editCartItem:null,actionButton:document.getElementById("checkout-wizard-action"),arkCheck:document.getElementById("checkout-wizard-ark-check"),arkOnlyCheck:document.getElementById("storefront-ark-check"),arkOnlyGiftDownButton:document.getElementById("storefront-ark-gift-decrease"),arkOnlyGiftField:document.getElementById("storefront-ark-gift-field"),arkOnlyGiftQuantityGroup:document.getElementById("storefront-ark-gift-group"),arkOnlyGiftUpButton:document.getElementById("storefront-ark-gift-increase"),arkOnlyOwnedField:document.getElementById("storefront-ark-owned"),arkPriceField:document.getElementById("checkout-wizard-ark-price"),arkSACheck:document.getElementById("checkout-wizard-arksa-check"),arkSADurationDownButton:document.getElementById("checkout-wizard-arksa-yeardown-button"),arkSADurationField:document.getElementById("checkout-wizard-arksa-duration-field"),arkSADurationGroup:document.getElementById("checkout-wizard-arksa-duration-group"),arkSADurationUpButton:document.getElementById("checkout-wizard-arksa-yearup-button"),arkSAPriceField:document.getElementById("checkout-wizard-arksa-full-price"),arkSAPromoField:document.getElementById("checkout-wizard-promo-arksa"),arkSAStatusField:document.getElementById("checkout-wizard-status-arksa"),arkSAUpgradePriceField:document.getElementById("checkout-wizard-arksa-discount-price"),arkStatusField:document.getElementById("checkout-wizard-status-ark"),giftCheck:document.getElementById("checkout-wizard-gift-check"),minimalGamesCheck:document.getElementById("checkout-wizard-beaconminimal-check"),minimalGamesDurationDownButton:document.getElementById("checkout-wizard-beaconminimal-yeardown-button"),minimalGamesDurationField:document.getElementById("checkout-wizard-beaconminimal-duration-field"),minimalGamesDurationGroup:document.getElementById("checkout-wizard-beaconminimal-duration-group"),minimalGamesDurationUpButton:document.getElementById("checkout-wizard-beaconminimal-yearup-button"),minimalGamesPriceField:document.getElementById("checkout-wizard-beaconminimal-price"),minimalGamesStatusField:document.getElementById("checkout-wizard-status-beaconminimal"),cancelButton:document.getElementById("checkout-wizard-cancel"),init:function(e){var t=this;if(this.cartView=e,this.cancelButton&&this.cancelButton.addEventListener("click",(function(e){e.preventDefault(),a.hideModal()})),this.actionButton&&this.actionButton.addEventListener("click",(function(e){e.preventDefault();var n=t.giftCheck.checked,i=t.arkCheck&&!1===t.arkCheck.disabled&&t.arkCheck.checked,r=t.arkSACheck&&!1===t.arkSACheck.disabled&&t.arkSACheck.checked,o=t.minimalGamesCheck&&!1===t.minimalGamesCheck.disabled&&t.minimalGamesCheck.checked;if(!1!==(i||r||o)){var c,s=r?parseInt(t.arkSADurationField.value)||1:0,l=o?parseInt(t.minimalGamesDurationField.value)||1:0;if(t.editCartItem?c=t.editCartItem:(c=new f).isGift=n,c.build(M,n,i,s,l),!1===Boolean(t.editCartItem)){var u=M.personalCartItem;!1===n&&!0===Boolean(u)?u.consume(M,c):M.add(c)}M.save(),t.cartView.update(),j(),a.hideModal()}})),this.giftCheck&&this.giftCheck.addEventListener("change",(function(){t.update()})),this.arkCheck&&this.arkCheck.addEventListener("change",(function(){t.update()})),this.arkSACheck&&this.arkSADurationField&&this.arkSADurationUpButton&&this.arkSADurationDownButton&&this.arkSADurationGroup){this.arkSACheck.addEventListener("change",(function(){t.update()})),this.arkSADurationField.addEventListener("input",(function(){t.update()}));var n=function(e){var n=parseInt(t.arkSADurationField.value),i=n+e;(i>5||i<1)&&(t.arkSADurationGroup.classList.add("shake"),setTimeout((function(){t.arkSADurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.arkSADurationField.value=i,t.arkSACheck.checked=!0,t.update())};this.arkSADurationUpButton.addEventListener("click",(function(e){e.preventDefault(),n(1)})),this.arkSADurationDownButton.addEventListener("click",(function(e){e.preventDefault(),n(-1)}))}if(this.minimalGamesCheck&&this.minimalGamesDurationField&&this.minimalGamesDurationUpButton&&this.minimalGamesDurationDownButton&&this.minimalGamesDurationGroup){this.minimalGamesCheck.addEventListener("change",(function(){t.update()})),this.minimalGamesDurationField.addEventListener("input",(function(){t.update()}));var i=function(e){var n=parseInt(t.minimalGamesDurationField.value),i=n+e;(i>5||i<1)&&(t.minimalGamesDurationGroup.classList.add("shake"),setTimeout((function(){t.minimalGamesDurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.minimalGamesDurationField.value=i,t.minimalGamesCheck.checked=!0,t.update())};this.minimalGamesDurationUpButton.addEventListener("click",(function(e){e.preventDefault(),i(1)})),this.minimalGamesDurationDownButton.addEventListener("click",(function(e){e.preventDefault(),i(-1)}))}if(this.arkOnlyCheck&&this.arkOnlyCheck.addEventListener("change",(function(e){if(e.preventDefault(),e.currentTarget.checked){var n=M.personalCartItem;n||(n=new f,M.add(n)),n.build(M,!1,!0,0),M.save()}else{var i=M.personalCartItem;i&&M.remove(i)}t.cartView.update()})),this.arkOnlyGiftField){var r=function(e){var n=M.items.filter((function(e){return!0===e.isGift&&e.hasArk}));if(n.length!==e){if(n.length>e)for(var i=e;i<=n.length-1;i++)M.remove(n[i]);else if(n.length5||i<0)&&(t.arkOnlyGiftQuantityGroup.classList.add("shake"),setTimeout((function(){t.arkOnlyGiftQuantityGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),0)),n!==i&&(t.arkOnlyGiftField.value=i,r(i))};this.arkOnlyGiftUpButton.addEventListener("click",(function(e){e.preventDefault(),o(1)})),this.arkOnlyGiftDownButton.addEventListener("click",(function(e){e.preventDefault(),o(-1)}))}},present:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.editCartItem=e,this.arkCheck.disabled=!1,this.arkSACheck&&(this.arkSACheck.disabled=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.disabled=!1),e?(this.giftCheck.checked=e.isGift,this.giftCheck.disabled=!0,this.arkCheck.checked=e.hasArk,this.arkSACheck&&(this.arkSACheck.checked=e.hasArkSA),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=e.hasMinimalGames)):(this.giftCheck.checked=!1,this.giftCheck.disabled=!1,this.arkCheck.checked=!1,this.arkSACheck&&(this.arkSACheck.checked=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=!1)),this.arkSADurationField&&(this.arkSADurationField.value=e?e.arkSAYears:"1"),this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=e?e.minimalGamesYears:"1"),this.cancelButton.innerText="Cancel",this.update(),a.showModal("checkout-wizard")},getGameStatus:function(){var e={Ark:P,ArkSA:P,BeaconMinimal:P},t=M.personalCartItem,n=Boolean(this.editCartItem);return this.giftCheck&&this.giftCheck.checked?(e.Ark=this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?I:P,e.ArkSA=this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?I:P,e.BeaconMinimal=this.minimalGamesCheck=!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?I:P):(M.arkLicense?e.Ark=C:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArk?e.Ark=L:this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?e.Ark=I:e.Ark=P,M.arkSALicense?e.ArkSA=C:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArkSA?e.ArkSA=L:this.arkSACheck&&this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?e.ArkSA=I:e.ArkSA=P,M.minimalGamesLicense?e.BeaconMinimal=C:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasMinimalGames()?e.BeaconMinimal=L:this.minimalGamesCheck&&this.minimalGamesCheck&&!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?e.BeaconMinimal=I:e.BeaconMinimal=P),e},update:function(){var e=this.getGameStatus(),t=0;if(this.arkCheck&&!1===this.arkCheck.disabled&&!0===this.arkCheck.checked&&(t+=n.Ark.Base.Price),this.arkSACheck){var i=n.ArkSA.Base.Price,a=n.ArkSA.Base.Price,o=Math.min(Math.max(parseInt(this.arkSADurationField.value)||1,1),5);parseInt(this.arkSADurationField.value)!==o&&document.activeElement!==this.arkSADurationField&&(this.arkSADurationField.value=o);var c=Math.max(o-1,0),s=Math.round((n.ArkSA.Base.Price-n.ArkSA.Upgrade.Price)/n.ArkSA.Base.Price*100);if(this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),e.ArkSA===C){var d,h=M.arkSALicense,m=Math.floor(Date.now()/1e3),f=h.expiresEpoch,k=u(l(f),!1),v=(m>f?86400*Math.floor(m/86400)+86400:f)+n.ArkSA.Renewal.PlanLengthSeconds*o,p=u(l(v),!1);d=m>f?'Renew your update plan
Expired on '.concat(k,'
New expiration: ').concat(p,""):'Extend your update plan
Expires on '.concat(k,'
New expiration: ').concat(p,""),this.arkSAStatusField.innerHTML=d,a=i=n.ArkSA.Renewal.Price*o,this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden")}else if(e.ArkSA===L)a=i=n.ArkSA.Renewal.Price*o,this.arkSAStatusField.innerText="Additional renewal years for ".concat(n.ArkSA.Base.Name," in your cart."),this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden");else if(e.Ark!==P){i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c,a=n.ArkSA.Upgrade.Price+n.ArkSA.Renewal.Price*c;var y=e.Ark===C?"because you own":"when bundled with";this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year ").concat(y," ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden")}else this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden"),a=i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c;this.arkSAPriceField.classList.toggle("checkout-wizard-discounted",i!==a),this.arkSAPriceField.innerText=r(i),this.arkSAUpgradePriceField.classList.toggle("hidden",i===a),this.arkSAUpgradePriceField.innerText=r(a),!1===this.arkSACheck.disabled&&!0===this.arkSACheck.checked&&(t+=a)}if(e.Ark===C?(this.arkStatusField.innerText="You already own ".concat(n.Ark.Base.Name,"."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):e.Ark===L?(this.arkStatusField.innerText="".concat(n.Ark.Base.Name," is already in your cart."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):(this.arkStatusField.innerText="Includes lifetime app updates.",this.arkCheck.disabled=!1),this.minimalGamesCheck){var g=n.BeaconMinimal.Base.Price,w=Math.min(Math.max(parseInt(this.minimalGamesDurationField.value)||1,1),5);parseInt(this.minimalGamesDurationField.value)!==w&&document.activeElement!==this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=w);var b=Math.max(w-1,0);if(e.BeaconMinimal===C){var A,S=M.minimalGamesLicense,E=Math.floor(Date.now()/1e3),B=S.expiresEpoch,I=u(l(B),!1),G=(E>B?86400*Math.floor(E/86400)+86400:B)+n.BeaconMinimal.Renewal.PlanLengthSeconds*w,x=u(l(G),!1);A=E>B?'Renew your update plan
Expired on '.concat(I,'
New expiration: ').concat(x,""):'Extend your update plan
Expires on '.concat(I,'
New expiration: ').concat(x,""),this.minimalGamesStatusField.innerHTML=A,g=n.BeaconMinimal.Renewal.Price*w}else e.BeaconMinimal===L?(g=n.BeaconMinimal.Renewal.Price*w,this.minimalGamesStatusField.innerText="Additional renewal years for ".concat(n.BeaconMinimal.Base.Name," in your cart.")):(this.minimalGamesStatusField.innerText="For games with only a few options, such as Palworld. Includes first year of app updates. Additional years cost ".concat(r(n.BeaconMinimal.Renewal.Price)," each."),g=n.BeaconMinimal.Base.Price+n.BeaconMinimal.Renewal.Price*b);this.minimalGamesPriceField.innerText=r(g),!1===this.minimalGamesCheck.disabled&&!0===this.minimalGamesCheck.checked&&(t+=g)}var T=this.editCartItem?"Edit":"Add to Cart";t>0?(this.actionButton.disabled=!1,this.actionButton.innerText="".concat(T,": ").concat(r(t))):(this.actionButton.disabled=!0,this.actionButton.innerText=T)}},H={wizard:null,emailField:document.getElementById("storefront-cart-header-email-field"),changeEmailButton:document.getElementById("storefront-cart-header-email-button"),currencyMenu:document.getElementById("storefront-cart-currency-menu"),addMoreButton:document.getElementById("storefront-cart-more-button"),checkoutButton:document.getElementById("storefront-cart-checkout-button"),refundCheckbox:document.getElementById("storefront-refund-checkbox"),footer:document.getElementById("storefront-cart-footer"),body:document.getElementById("storefront-cart"),totalField:document.getElementById("storefront-cart-total"),init:function(e){var t=this;this.wizard=e,this.currencyMenu.addEventListener("change",(function(e){e.preventDefault(),c.get("/omni/currency?currency=".concat(e.target.value)).then((function(){window.location.reload()})).catch((function(e){console.log(JSON.stringify(e)),a.show("Currency was not changed",e.statusText)}))})),this.addMoreButton.addEventListener("click",(function(e){e.preventDefault(),t.wizard.present()})),this.checkoutButton.addEventListener("click",(function(e){e.preventDefault();var n=t.refundCheckbox.checked,i=function(e){t.update(),e?M.count>0?a.show("Your cart contents have changed.","The items in your cart have changed based on your e-mail address. Please review before continuing checkout."):a.show("Your cart is now empty.","You already own everything in your cart. There is no need to purchase again."):(t.checkoutButton.disabled=!0,c.post("/omni/begin",m(m({},M.toJSON()),{},{refundPolicyAgreed:n})).then((function(e){try{var t=JSON.parse(e.body),n=t.url;sessionStorage.setItem("clientReferenceId",t.client_reference_id),window.location=n}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).catch((function(e){try{var t=JSON.parse(e.body).message;a.show("Checkout Error",t)}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).finally((function(){t.checkoutButton.disabled=!1})))};M.email?n?i(!1):a.show("Hang on","Please agree to the refund policy."):Q.present(!1,i)})),this.changeEmailButton.addEventListener("click",(function(e){e.preventDefault(),Q.present(!1,(function(){t.update()}))})),this.update()},update:function(){var e,n=this;if(R){this.emailField.innerText=M.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=M.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.addMoreButton.classList.add("hidden"),M.arkLicense?(this.wizard.arkOnlyOwnedField.classList.remove("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.add("hidden")):(this.wizard.arkOnlyOwnedField.classList.add("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.remove("hidden"));var i=M.personalCartItem;if(this.wizard.arkOnlyCheck.checked=i&&i.hasArk,document.activeElement!==this.wizard.arkOnlyGiftField){var a=M.items.filter((function(e){return!0===e.isGift&&e.hasArk}));this.wizard.arkOnlyGiftField.value=a.length}}else if(M.count>0)this.emailField.innerText=M.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=M.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.body.innerText="",this.body.classList.remove("empty"),this.footer.classList.remove("hidden"),M.items.forEach((function(e){var t=n.createCartItemRow(e);t&&n.body.appendChild(t)})),N.innerText="Go to Cart";else{this.emailField.innerText="",this.changeEmailButton.classList.add("hidden"),this.body.innerText="",this.body.classList.add("empty"),this.footer.classList.add("hidden"),this.body.appendChild(document.createElement("div"));var r=document.createElement("div"),o=document.createElement("p");o.appendChild(document.createTextNode("Your cart is empty.")),r.appendChild(o),this.buyMoreButton=document.createElement("button"),this.buyMoreButton.addEventListener("click",(function(){Q.present(!0,(function(){n.wizard.present()}))})),this.buyMoreButton.classList.add("default"),this.buyMoreButton.appendChild(document.createTextNode("Buy Omni"));var c=document.createElement("p");c.appendChild(this.buyMoreButton),r.appendChild(c),this.body.appendChild(r),this.body.appendChild(document.createElement("div")),N.innerText="Buy Omni"}this.totalField.setAttribute("beacon-price",M.total),e=t.currencyCode,document.querySelectorAll(".formatted-price").forEach((function(t){var n,i=parseFloat(null!==(n=t.getAttribute("beacon-price"))&&void 0!==n?n:t.innerText),a=t.getAttribute("beacon-currency"),r=s(null!=a?a:e);r&&(t.innerText=r(i))})),this.checkoutButton.disabled=0===M.total},createProductRow:function(e,t){var n=e.getQuantity(t);if(n<=0)return null;var a=i[t].Name,r=i[t].Price,o=document.createElement("div");o.appendChild(document.createTextNode(n));var c=document.createElement("div");c.appendChild(document.createTextNode(a));var s=document.createElement("div");s.classList.add("formatted-price"),s.appendChild(document.createTextNode(r*n));var l=document.createElement("div");return l.classList.add("bundle-product"),l.appendChild(o),l.appendChild(c),l.appendChild(s),l},createCartItemRow:function(e){var t=this,n=e.productIds;if(n.length<=0)return null;var i=document.createElement("div");i.classList.add("bundle"),n.forEach((function(n){var a=t.createProductRow(e,n);a&&i.appendChild(a)}));var a=document.createElement("div");e.isGift&&(i.classList.add("gift"),a.classList.add("gift"),n.length>1?a.appendChild(document.createTextNode("These products are a gift. You will receive a gift code for them.")):a.appendChild(document.createTextNode("This product is a gift. You will receive a gift code for it.")));var r=document.createElement("button");r.appendChild(document.createTextNode("Edit")),r.classList.add("small"),r.addEventListener("click",(function(n){n.preventDefault(),t.wizard.present(e)}));var o=document.createElement("button");o.appendChild(document.createTextNode("Remove")),o.classList.add("red"),o.classList.add("small"),o.addEventListener("click",(function(n){n.preventDefault(),M.remove(e),t.update()}));var c=document.createElement("div");c.classList.add("button-group"),c.appendChild(r),c.appendChild(o);var s=document.createElement("div");s.appendChild(c);var l=document.createElement("div");return l.classList.add("actions"),l.classList.add("double-group"),l.appendChild(a),l.appendChild(s),i.appendChild(l),i}};U.init(H),H.init(U);var Y=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];window.scrollTo(window.scrollX,0),"#checkout"===window.location.hash?O.switchView("page-cart",e):O.back(e)};N.addEventListener("click",(function(e){e.preventDefault(),R||M.count>0?j():Q.present(!0,(function(){U.present()}))})),z.addEventListener("click",(function(){history.pushState({},"","/omni"),dispatchEvent(new PopStateEvent("popstate",{}))})),window.addEventListener("popstate",(function(){Y(!0)})),Y(!1),t.forceEmail&&(M.email!==t.forceEmail&&M.reset(),0===M.count?Q.present(!0,(function(){U.present()})):j())}))})(); \ No newline at end of file +(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok";return this.confirm(e,t,n,null)}},{key:"confirm",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Cancel";return new Promise((function(r,o){var c=document.getElementById("overlay"),l=document.getElementById("dialog"),s=document.getElementById("dialog_message"),u=document.getElementById("dialog_explanation"),d=document.getElementById("dialog_action_button"),h=document.getElementById("dialog_cancel_button");c&&l&&s&&u&&d&&h?(c.className="exist",l.className="exist",setTimeout((function(){c.className="exist visible",l.className="exist visible"}),10),s.innerText=e,u.innerText=n||"",d.clickHandler&&d.removeEventListener("click",d.clickHandler),h.clickHandler&&h.removeEventListener("click",h.clickHandler),d.clickHandler=function(){t.hide(),setTimeout((function(){r()}),300)},d.addEventListener("click",d.clickHandler),d.innerText=i,a?(h.clickHandler=function(){t.hide(),setTimeout((function(){o()}),300)},h.addEventListener("click",h.clickHandler),h.innerText=a):h.className="hidden"):o()}))}},{key:"hide",value:function(){var e=document.getElementById("overlay"),t=document.getElementById("dialog");e&&t&&(e.className="exist",t.className="exist",setTimeout((function(){e.className="",t.className=""}),300))}},{key:"showModal",value:function(e){var t=this;if(!this.activeModal){var n=document.getElementById("overlay"),i=document.getElementById(e);n&&i&&(n.classList.add("exist"),i.classList.add("exist"),this.activeModal=e,setTimeout((function(){n.classList.add("visible"),i.classList.add("visible")}),10),this.viewportWatcher=setInterval((function(){if(t.activeModal){document.querySelectorAll("#".concat(t.activeModal," .modal-content .content")).forEach((function(e){i.classList.toggle("scrolled",e.scrollHeight>e.clientHeight)}));var e=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);i.classList.toggle("centered",i.clientHeight>.75*e)}}),100))}}},{key:"hideModal",value:function(){var e=this;return new Promise((function(t,n){if(e.activeModal){var i=document.getElementById("overlay"),a=document.getElementById(e.activeModal);i&&a?(e.viewportWatcher&&(clearInterval(e.viewportWatcher),e.viewportWatcher=null),i.classList.remove("visible"),a.classList.remove("visible"),setTimeout((function(){i.classList.remove("exist"),a.classList.remove("exist"),e.activeModal=null,t()}),300)):n()}else n()}))}}],null&&t(n.prototype,null),i&&t(n,i),Object.defineProperty(n,"prototype",{writable:!1}),e}();function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n=200&&e.status<300||304===e.status}}},{key:"start",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,c){var l=new XMLHttpRequest;if(l.open(e,t,!0),"object"===r(a)&&null!==a&&!1===Array.isArray(a))for(var s=0,u=Object.keys(a);s1&&void 0!==arguments[1]?arguments[1]:{};return e.start("GET",t,null,n)}},{key:"post",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n instanceof URLSearchParams?(i["Content-Type"]="application/x-www-form-urlencoded",e.start("POST",t,n.toString(),i)):"object"===r(n)&&null!==n||Array.isArray(n)?(i["Content-Type"]="application/json",e.start("POST",t,JSON.stringify(n),i)):e.start("POST",t,n,i)}},{key:"delete",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.start("DELETE",t,null,n)}}],null&&o(t.prototype,null),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Intl.DateTimeFormat().resolvedOptions(),a={dateStyle:"medium"};t&&(a.timeStyle="short");var r=Intl.DateTimeFormat(i.locale,a).format(e);return n&&(r="".concat(r," ").concat(i.timeZone)),r};function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function b(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function S(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n>e/4).toString(16)})))}return I(e,[{key:"id",get:function(){return G(this,l)}},{key:"isGift",get:function(){return G(this,u)},set:function(e){M(this,u,e)}},{key:"productIds",get:function(){return Object.keys(G(this,s))}},{key:"count",get:function(){return Object.keys(G(this,s)).length}},{key:"reset",value:function(){M(this,s,{})}},{key:"add",value:function(e,t){this.setQuantity(e,this.getQuantity(e)+t)}},{key:"remove",value:function(e,t){this.setQuantity(e,this.getQuantity(e)-t)}},{key:"getQuantity",value:function(e){var t;return null!==(t=G(this,s)[e])&&void 0!==t?t:0}},{key:"setQuantity",value:function(e,t){t<=0?Object.prototype.hasOwnProperty.call(G(this,s),e)&&delete G(this,s)[e]:G(this,s)[e]=t}},{key:"toJSON",value:function(){return{id:G(this,l),products:G(this,s),isGift:G(this,u)}}},{key:"fingerprint",get:function(){var e=this,t=Object.keys(G(this,s)).sort().reduce((function(t,n){return t[n]=G(e,s)[n],t}),{});return btoa(JSON.stringify({id:G(this,l),products:t,isGift:G(this,u)}))}},{key:"hasArk",get:function(){var e;return this.getQuantity(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0}},{key:"hasArkSA",get:function(){var e,t,i;return this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)>0||this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId)>0}},{key:"arkSAYears",get:function(){var e,t,i;return Math.min(this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)+this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId),10)}},{key:"hasMinimalGames",get:function(){var e,t;return this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId)>0}},{key:"minimalGamesYears",get:function(){var e,t;return Math.min(this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId),10)}},{key:"build",value:function(e,t,i,a,r){this.reset(),this.isGift=t,i&&(t||null===e.arkLicense)&&this.setQuantity(n.Ark.Base.ProductId,1),a>0&&(a=Math.min(a,5),t?(i?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1)):null!==e.arkSALicense?this.setQuantity(n.ArkSA.Renewal.ProductId,a):(i||null!==e.arkLicense?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1))),r>0&&(r=Math.min(r,5),t?(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)):null!==e.minimalGamesLicense?this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r):(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)))}},{key:"rebuild",value:function(e){var t=this.fingerprint;return this.build(e,this.isGift,this.hasArk,this.arkSAYears,this.minimalGamesYears),this.fingerprint!==t}},{key:"consume",value:function(e,t){if(t){if(this.isGift!==t.isGift)throw new Error("Cannot merge a gift item with a non-gift item.");var n=this.hasArk||t.hasArk,i=this.arkSAYears+t.arkSAYears,a=this.hasMinimalGames||t.hasMinimalGames;this.build(e,this.isGift,n,i,a)}}},{key:"total",get:function(){var e,t=0,n=A(this.productIds);try{for(n.s();!(e=n.n()).done;){var a=e.value;t+=i[a].Price*this.getQuantity(a)}}catch(e){n.e(e)}finally{n.f()}return t}}]),e}(),h=new WeakMap,m=new WeakMap,y=new WeakMap,g=new WeakMap,w=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(B(this,e),L(this,h,{writable:!0,value:[]}),L(this,m,{writable:!0,value:null}),L(this,y,{writable:!0,value:!1}),L(this,g,{writable:!0,value:[]}),t)try{var n=JSON.parse(t);M(this,m,n.email),M(this,h,n.items.reduce((function(e,t){var n=new d(t);return n.count>0&&e.push(n),e}),[])),M(this,g,n.licenses)}catch(e){console.log("Failed to load saved cart")}}return I(e,[{key:"reset",value:function(){M(this,h,[]),M(this,m,null),M(this,y,!1),M(this,g,[]),this.save()}},{key:"toJSON",value:function(){return{email:G(this,m),items:G(this,h).reduce((function(e,t){return t.count>0&&e.push(t),e}),[]),licenses:G(this,g)}}},{key:"save",value:function(){localStorage.setItem("beaconCart",JSON.stringify(this))}},{key:"add",value:function(e){G(this,h).push(e),this.save()}},{key:"remove",value:function(e){M(this,h,G(this,h).filter((function(t){return t.id!==e.id}))),this.save()}},{key:"hasProduct",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=A(G(this,h));try{for(i.s();!(t=i.n()).done;){var a=t.value;if(a.getQuantity(e)>0&&a.isGift===n)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"email",get:function(){return G(this,m)}},{key:"setEmail",value:function(e){var t=this;return new Promise((function(i,a){var r=function(){var e,i=t.personalCartItem;return!!i&&(i.hasArk&&t.arkLicense?(i.setQuantity(null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId,0),0===i.count&&t.remove(i),!0):i.rebuild(t))};if(null===e){M(t,m,null),M(t,y,!1),M(t,g,[]);var o=r();return t.save(),void i({newEmail:null,cartChanged:o})}if(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(e).trim().toLowerCase())){var l=new URLSearchParams;l.append("email",e),c.get("/omni/lookup?".concat(l.toString())).then((function(n){var a=JSON.parse(n.body);M(t,m,a.email),M(t,y,a.verified),M(t,g,a.purchases);var o=r();t.save(),i({newEmail:e,cartChanged:o})})).catch((function(e){M(t,m,null),M(t,y,!1),M(t,g,[]),r(),t.save(),a(e.statusText)}))}else a("Address is not valid")}))}},{key:"emailVerified",get:function(){return G(this,y)}},{key:"checkingEmail",get:function(){return!1}},{key:"items",get:function(){return function(e){if(Array.isArray(e))return E(e)}(e=G(this,h))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var e}},{key:"count",get:function(){return G(this,h).reduce((function(e,t){return t.count>0&&e++,e}),0)}},{key:"findLicense",value:function(e){var t,n=A(G(this,g));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(i.productId===e)return i}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"arkLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"arkSALicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"minimalGamesLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"ark2License",get:function(){return null}},{key:"personalCartItem",get:function(){var e,t=A(G(this,h));try{for(t.s();!(e=t.n()).done;){var n=e.value;if(!1===n.isGift)return n}}catch(e){t.e(e)}finally{t.f()}return null}},{key:"total",get:function(){var e,t=0,n=A(G(this,h));try{for(n.s();!(e=n.n()).done;)t+=e.value.total}catch(e){n.e(e)}finally{n.f()}return t}}],[{key:"load",value:function(){return new this(localStorage.getItem("beaconCart"))}}]),e}(),C=w.load(),P=new WeakMap,T=new WeakMap,j=function(){function e(t){B(this,e),L(this,P,{writable:!0,value:[]}),L(this,T,{writable:!0,value:null}),G(this,P).push(t)}return I(e,[{key:"currentView",get:function(){return G(this,P).slice(-1)}},{key:"back",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!(G(this,P).length<=1||(this.switchView(G(this,P)[G(this,P).length-2],e),M(this,P,G(this,P).slice(0,G(this,P).length-2)),0))}},{key:"clearHistory",value:function(){G(this,P).length<=1||M(this,P,G(this,P).slice(-1))}},{key:"switchView",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.currentView!==e){G(this,T)&&(clearTimeout(G(this,T)),M(this,T,null));var i=document.getElementById(this.currentView),a=document.getElementById(e);G(this,P).push(e),n?(i.classList.add("invisible"),M(this,T,setTimeout((function(){i.classList.add("hidden"),a.classList.remove("hidden"),M(t,T,setTimeout((function(){a.classList.remove("invisible"),M(t,T,null)}),150))}),150))):(i.classList.add("hidden"),i.classList.add("invisible"),a.classList.remove("invisible"),a.classList.remove("hidden"))}}}]),e}();new j("checkout-wizard-start");var N=new j("page-landing"),z=document.getElementById("buy-button"),R=document.getElementById("cart-back-button"),Q=1===Object.keys(i).length,U=function(){document.title="Buy Beacon Omni",history.pushState({},"","/omni#checkout"),dispatchEvent(new PopStateEvent("popstate",{}))},H={cancelButton:document.getElementById("checkout-email-cancel"),actionButton:document.getElementById("checkout-email-action"),emailField:document.getElementById("checkout-email-field"),errorField:document.getElementById("checkout-email-error"),allowsSkipping:!1,successFunction:function(e){},init:function(){var e=this,t=function(t){e.actionButton.disabled=!0,e.cancelButton.disabled=!0,e.errorField.classList.add("hidden"),C.setEmail(t).then((function(t){t.newEmail;var n=t.cartChanged;a.hideModal(),setTimeout((function(){e.successFunction(n)}),310)})).catch((function(t){e.errorField.innerText=t,e.errorField.classList.remove("hidden")})).finally((function(){e.actionButton.disabled=!1,e.cancelButton.disabled=!1}))};this.actionButton.addEventListener("click",(function(n){n.preventDefault(),t(e.emailField.value)})),this.cancelButton.addEventListener("click",(function(n){n.preventDefault(),e.allowsSkipping?t(null):a.hideModal()}))},present:function(e,n){t.forceEmail?C.setEmail(t.forceEmail).then((function(e){e.newEmail;var t=e.cartChanged;n(t)})):(this.allowsSkipping=e,this.successFunction=n,C.email?this.emailField.value=C.email:this.emailField.value=sessionStorage.getItem("email")||localStorage.getItem("email")||"",this.cancelButton.innerText=e?"Skip For Now":"Cancel",a.showModal("checkout-email"))}};H.init();var V={cartView:null,editCartItem:null,actionButton:document.getElementById("checkout-wizard-action"),arkCheck:document.getElementById("checkout-wizard-ark-check"),arkOnlyCheck:document.getElementById("storefront-ark-check"),arkOnlyGiftDownButton:document.getElementById("storefront-ark-gift-decrease"),arkOnlyGiftField:document.getElementById("storefront-ark-gift-field"),arkOnlyGiftQuantityGroup:document.getElementById("storefront-ark-gift-group"),arkOnlyGiftUpButton:document.getElementById("storefront-ark-gift-increase"),arkOnlyOwnedField:document.getElementById("storefront-ark-owned"),arkPriceField:document.getElementById("checkout-wizard-ark-price"),arkSACheck:document.getElementById("checkout-wizard-arksa-check"),arkSADurationDownButton:document.getElementById("checkout-wizard-arksa-yeardown-button"),arkSADurationField:document.getElementById("checkout-wizard-arksa-duration-field"),arkSADurationGroup:document.getElementById("checkout-wizard-arksa-duration-group"),arkSADurationUpButton:document.getElementById("checkout-wizard-arksa-yearup-button"),arkSAPriceField:document.getElementById("checkout-wizard-arksa-full-price"),arkSAPromoField:document.getElementById("checkout-wizard-promo-arksa"),arkSAStatusField:document.getElementById("checkout-wizard-status-arksa"),arkSAUpgradePriceField:document.getElementById("checkout-wizard-arksa-discount-price"),arkStatusField:document.getElementById("checkout-wizard-status-ark"),giftCheck:document.getElementById("checkout-wizard-gift-check"),minimalGamesCheck:document.getElementById("checkout-wizard-beaconminimal-check"),minimalGamesDurationDownButton:document.getElementById("checkout-wizard-beaconminimal-yeardown-button"),minimalGamesDurationField:document.getElementById("checkout-wizard-beaconminimal-duration-field"),minimalGamesDurationGroup:document.getElementById("checkout-wizard-beaconminimal-duration-group"),minimalGamesDurationUpButton:document.getElementById("checkout-wizard-beaconminimal-yearup-button"),minimalGamesPriceField:document.getElementById("checkout-wizard-beaconminimal-price"),minimalGamesStatusField:document.getElementById("checkout-wizard-status-beaconminimal"),cancelButton:document.getElementById("checkout-wizard-cancel"),init:function(e){var t=this;if(this.cartView=e,this.cancelButton&&this.cancelButton.addEventListener("click",(function(e){e.preventDefault(),a.hideModal()})),this.actionButton&&this.actionButton.addEventListener("click",(function(e){e.preventDefault();var n=t.giftCheck.checked,i=t.arkCheck&&!1===t.arkCheck.disabled&&t.arkCheck.checked,r=t.arkSACheck&&!1===t.arkSACheck.disabled&&t.arkSACheck.checked,o=t.minimalGamesCheck&&!1===t.minimalGamesCheck.disabled&&t.minimalGamesCheck.checked;if(!1!==(i||r||o)){var c,l=r?parseInt(t.arkSADurationField.value)||1:0,s=o?parseInt(t.minimalGamesDurationField.value)||1:0;if(t.editCartItem?c=t.editCartItem:(c=new d).isGift=n,c.build(C,n,i,l,s),!1===Boolean(t.editCartItem)){var u=C.personalCartItem;!1===n&&!0===Boolean(u)?u.consume(C,c):C.add(c)}C.save(),t.cartView.update(),U(),a.hideModal()}})),this.giftCheck&&this.giftCheck.addEventListener("change",(function(){t.update()})),this.arkCheck&&this.arkCheck.addEventListener("change",(function(){t.update()})),this.arkSACheck&&this.arkSADurationField&&this.arkSADurationUpButton&&this.arkSADurationDownButton&&this.arkSADurationGroup){this.arkSACheck.addEventListener("change",(function(){t.update()})),this.arkSADurationField.addEventListener("input",(function(){t.update()}));var n=function(e){var n=parseInt(t.arkSADurationField.value),i=n+e;(i>5||i<1)&&(t.arkSADurationGroup.classList.add("shake"),setTimeout((function(){t.arkSADurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.arkSADurationField.value=i,t.arkSACheck.checked=!0,t.update())};this.arkSADurationUpButton.addEventListener("click",(function(e){e.preventDefault(),n(1)})),this.arkSADurationDownButton.addEventListener("click",(function(e){e.preventDefault(),n(-1)}))}if(this.minimalGamesCheck&&this.minimalGamesDurationField&&this.minimalGamesDurationUpButton&&this.minimalGamesDurationDownButton&&this.minimalGamesDurationGroup){this.minimalGamesCheck.addEventListener("change",(function(){t.update()})),this.minimalGamesDurationField.addEventListener("input",(function(){t.update()}));var i=function(e){var n=parseInt(t.minimalGamesDurationField.value),i=n+e;(i>5||i<1)&&(t.minimalGamesDurationGroup.classList.add("shake"),setTimeout((function(){t.minimalGamesDurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.minimalGamesDurationField.value=i,t.minimalGamesCheck.checked=!0,t.update())};this.minimalGamesDurationUpButton.addEventListener("click",(function(e){e.preventDefault(),i(1)})),this.minimalGamesDurationDownButton.addEventListener("click",(function(e){e.preventDefault(),i(-1)}))}if(this.arkOnlyCheck&&this.arkOnlyCheck.addEventListener("change",(function(e){if(e.preventDefault(),e.currentTarget.checked){var n=C.personalCartItem;n||(n=new d,C.add(n)),n.build(C,!1,!0,0),C.save()}else{var i=C.personalCartItem;i&&C.remove(i)}t.cartView.update()})),this.arkOnlyGiftField){var r=function(e){var n=C.items.filter((function(e){return!0===e.isGift&&e.hasArk}));if(n.length!==e){if(n.length>e)for(var i=e;i<=n.length-1;i++)C.remove(n[i]);else if(n.length5||i<0)&&(t.arkOnlyGiftQuantityGroup.classList.add("shake"),setTimeout((function(){t.arkOnlyGiftQuantityGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),0)),n!==i&&(t.arkOnlyGiftField.value=i,r(i))};this.arkOnlyGiftUpButton.addEventListener("click",(function(e){e.preventDefault(),o(1)})),this.arkOnlyGiftDownButton.addEventListener("click",(function(e){e.preventDefault(),o(-1)}))}},present:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.editCartItem=e,this.arkCheck.disabled=!1,this.arkSACheck&&(this.arkSACheck.disabled=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.disabled=!1),e?(this.giftCheck.checked=e.isGift,this.giftCheck.disabled=!0,this.arkCheck.checked=e.hasArk,this.arkSACheck&&(this.arkSACheck.checked=e.hasArkSA),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=e.hasMinimalGames)):(this.giftCheck.checked=!1,this.giftCheck.disabled=!1,this.arkCheck.checked=!1,this.arkSACheck&&(this.arkSACheck.checked=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=!1)),this.arkSADurationField&&(this.arkSADurationField.value=e?e.arkSAYears:"1"),this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=e?e.minimalGamesYears:"1"),this.cancelButton.innerText="Cancel",this.update(),a.showModal("checkout-wizard")},getGameStatus:function(){var e={Ark:D,ArkSA:D,BeaconMinimal:D},t=C.personalCartItem,n=Boolean(this.editCartItem);return this.giftCheck&&this.giftCheck.checked?(e.Ark=this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?O:D,e.ArkSA=this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?O:D,e.BeaconMinimal=this.minimalGamesCheck=!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?O:D):(C.arkLicense?e.Ark=x:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArk?e.Ark=F:this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?e.Ark=O:e.Ark=D,C.arkSALicense?e.ArkSA=x:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArkSA?e.ArkSA=F:this.arkSACheck&&this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?e.ArkSA=O:e.ArkSA=D,C.minimalGamesLicense?e.BeaconMinimal=x:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasMinimalGames()?e.BeaconMinimal=F:this.minimalGamesCheck&&this.minimalGamesCheck&&!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?e.BeaconMinimal=O:e.BeaconMinimal=D),e},update:function(){var e=this.getGameStatus(),t=0;if(this.arkCheck&&!1===this.arkCheck.disabled&&!0===this.arkCheck.checked&&(t+=n.Ark.Base.Price),this.arkSACheck){var i=n.ArkSA.Base.Price,a=n.ArkSA.Base.Price,o=Math.min(Math.max(parseInt(this.arkSADurationField.value)||1,1),5);parseInt(this.arkSADurationField.value)!==o&&document.activeElement!==this.arkSADurationField&&(this.arkSADurationField.value=o);var c=Math.max(o-1,0),l=Math.round((n.ArkSA.Base.Price-n.ArkSA.Upgrade.Price)/n.ArkSA.Base.Price*100);if(this.arkSAPromoField.innerText="".concat(l,"% off first year when bundled with ").concat(n.Ark.Base.Name),e.ArkSA===x){var s,u=C.arkSALicense,d=Math.floor(Date.now()/1e3),h=u.expiresEpoch,m=p(v(h),!1),f=(d>h?86400*Math.floor(d/86400)+86400:h)+n.ArkSA.Renewal.PlanLengthSeconds*o,k=p(v(f),!1);s=d>h?'Renew your update plan
Expired on '.concat(m,'
New expiration: ').concat(k,""):'Extend your update plan
Expires on '.concat(m,'
New expiration: ').concat(k,""),this.arkSAStatusField.innerHTML=s,a=i=n.ArkSA.Renewal.Price*o,this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden")}else if(e.ArkSA===F)a=i=n.ArkSA.Renewal.Price*o,this.arkSAStatusField.innerText="Additional renewal years for ".concat(n.ArkSA.Base.Name," in your cart."),this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden");else if(e.Ark!==D){i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c,a=n.ArkSA.Upgrade.Price+n.ArkSA.Renewal.Price*c;var y=e.Ark===x?"because you own":"when bundled with";this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(l,"% off first year ").concat(y," ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden")}else this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(l,"% off first year when bundled with ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden"),a=i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c;this.arkSAPriceField.classList.toggle("checkout-wizard-discounted",i!==a),this.arkSAPriceField.innerText=r(i),this.arkSAUpgradePriceField.classList.toggle("hidden",i===a),this.arkSAUpgradePriceField.innerText=r(a),!1===this.arkSACheck.disabled&&!0===this.arkSACheck.checked&&(t+=a)}if(e.Ark===x?(this.arkStatusField.innerText="You already own ".concat(n.Ark.Base.Name,"."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):e.Ark===F?(this.arkStatusField.innerText="".concat(n.Ark.Base.Name," is already in your cart."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):(this.arkStatusField.innerText="Includes lifetime app updates.",this.arkCheck.disabled=!1),this.minimalGamesCheck){var g=n.BeaconMinimal.Base.Price,b=Math.min(Math.max(parseInt(this.minimalGamesDurationField.value)||1,1),5);parseInt(this.minimalGamesDurationField.value)!==b&&document.activeElement!==this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=b);var w=Math.max(b-1,0);if(e.BeaconMinimal===x){var A,S=C.minimalGamesLicense,E=Math.floor(Date.now()/1e3),B=S.expiresEpoch,I=p(v(B),!1),P=(E>B?86400*Math.floor(E/86400)+86400:B)+n.BeaconMinimal.Renewal.PlanLengthSeconds*b,L=p(v(P),!1);A=E>B?'Renew your update plan
Expired on '.concat(I,'
New expiration: ').concat(L,""):'Extend your update plan
Expires on '.concat(I,'
New expiration: ').concat(L,""),this.minimalGamesStatusField.innerHTML=A,g=n.BeaconMinimal.Renewal.Price*b}else e.BeaconMinimal===F?(g=n.BeaconMinimal.Renewal.Price*b,this.minimalGamesStatusField.innerText="Additional renewal years for ".concat(n.BeaconMinimal.Base.Name," in your cart.")):(this.minimalGamesStatusField.innerText="For games with only a few options, such as Palworld. Includes first year of app updates. Additional years cost ".concat(r(n.BeaconMinimal.Renewal.Price)," each."),g=n.BeaconMinimal.Base.Price+n.BeaconMinimal.Renewal.Price*w);this.minimalGamesPriceField.innerText=r(g),!1===this.minimalGamesCheck.disabled&&!0===this.minimalGamesCheck.checked&&(t+=g)}var G=this.editCartItem?"Edit":"Add to Cart";t>0?(this.actionButton.disabled=!1,this.actionButton.innerText="".concat(G,": ").concat(r(t))):(this.actionButton.disabled=!0,this.actionButton.innerText=G)}},Y={wizard:null,emailField:document.getElementById("storefront-cart-header-email-field"),changeEmailButton:document.getElementById("storefront-cart-header-email-button"),currencyMenu:document.getElementById("storefront-cart-currency-menu"),addMoreButton:document.getElementById("storefront-cart-more-button"),checkoutButton:document.getElementById("storefront-cart-checkout-button"),refundCheckbox:document.getElementById("storefront-refund-checkbox"),footer:document.getElementById("storefront-cart-footer"),body:document.getElementById("storefront-cart"),totalField:document.getElementById("storefront-cart-total"),init:function(e){var t=this;this.wizard=e,this.currencyMenu.addEventListener("change",(function(e){e.preventDefault(),c.get("/omni/currency?currency=".concat(e.target.value)).then((function(){window.location.reload()})).catch((function(e){console.log(JSON.stringify(e)),a.show("Currency was not changed",e.statusText)}))})),this.addMoreButton.addEventListener("click",(function(e){e.preventDefault(),t.wizard.present()})),this.checkoutButton.addEventListener("click",(function(e){e.preventDefault();var n=t.refundCheckbox.checked,i=function(e){t.update(),e?C.count>0?a.show("Your cart contents have changed.","The items in your cart have changed based on your e-mail address. Please review before continuing checkout."):a.show("Your cart is now empty.","You already own everything in your cart. There is no need to purchase again."):(t.checkoutButton.disabled=!0,c.post("/omni/begin",b(b({},C.toJSON()),{},{refundPolicyAgreed:n})).then((function(e){try{var t=JSON.parse(e.body),n=t.url;sessionStorage.setItem("clientReferenceId",t.client_reference_id),window.location=n}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).catch((function(e){try{var t=JSON.parse(e.body).message;a.show("Checkout Error",t)}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).finally((function(){t.checkoutButton.disabled=!1})))};C.email?n?i(!1):a.show("Hang on","Please agree to the refund policy."):H.present(!1,i)})),this.changeEmailButton.addEventListener("click",(function(e){e.preventDefault(),H.present(!1,(function(){t.update()}))})),this.update()},update:function(){var e,n=this;if(Q){this.emailField.innerText=C.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=C.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.addMoreButton.classList.add("hidden"),C.arkLicense?(this.wizard.arkOnlyOwnedField.classList.remove("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.add("hidden")):(this.wizard.arkOnlyOwnedField.classList.add("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.remove("hidden"));var i=C.personalCartItem;if(this.wizard.arkOnlyCheck.checked=i&&i.hasArk,document.activeElement!==this.wizard.arkOnlyGiftField){var a=C.items.filter((function(e){return!0===e.isGift&&e.hasArk}));this.wizard.arkOnlyGiftField.value=a.length}}else if(C.count>0)this.emailField.innerText=C.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=C.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.body.innerText="",this.body.classList.remove("empty"),this.footer.classList.remove("hidden"),C.items.forEach((function(e){var t=n.createCartItemRow(e);t&&n.body.appendChild(t)})),z.innerText="Go to Cart";else{this.emailField.innerText="",this.changeEmailButton.classList.add("hidden"),this.body.innerText="",this.body.classList.add("empty"),this.footer.classList.add("hidden"),this.body.appendChild(document.createElement("div"));var r=document.createElement("div"),o=document.createElement("p");o.appendChild(document.createTextNode("Your cart is empty.")),r.appendChild(o),this.buyMoreButton=document.createElement("button"),this.buyMoreButton.addEventListener("click",(function(){H.present(!0,(function(){n.wizard.present()}))})),this.buyMoreButton.classList.add("default"),this.buyMoreButton.appendChild(document.createTextNode("Buy Omni"));var c=document.createElement("p");c.appendChild(this.buyMoreButton),r.appendChild(c),this.body.appendChild(r),this.body.appendChild(document.createElement("div")),z.innerText="Buy Omni"}this.totalField.setAttribute("beacon-price",C.total),e=t.currencyCode,document.querySelectorAll(".formatted-price").forEach((function(t){var n,i=parseFloat(null!==(n=t.getAttribute("beacon-price"))&&void 0!==n?n:t.innerText),a=t.getAttribute("beacon-currency"),r=k(null!=a?a:e);r&&(t.innerText=r(i))})),this.checkoutButton.disabled=0===C.total},createProductRow:function(e,t){var n=e.getQuantity(t);if(n<=0)return null;var a=i[t].Name,r=i[t].Price,o=document.createElement("div");o.appendChild(document.createTextNode(n));var c=document.createElement("div");c.appendChild(document.createTextNode(a));var l=document.createElement("div");l.classList.add("formatted-price"),l.appendChild(document.createTextNode(r*n));var s=document.createElement("div");return s.classList.add("bundle-product"),s.appendChild(o),s.appendChild(c),s.appendChild(l),s},createCartItemRow:function(e){var t=this,n=e.productIds;if(n.length<=0)return null;var i=document.createElement("div");i.classList.add("bundle"),n.forEach((function(n){var a=t.createProductRow(e,n);a&&i.appendChild(a)}));var a=document.createElement("div");e.isGift&&(i.classList.add("gift"),a.classList.add("gift"),n.length>1?a.appendChild(document.createTextNode("These products are a gift. You will receive a gift code for them.")):a.appendChild(document.createTextNode("This product is a gift. You will receive a gift code for it.")));var r=document.createElement("button");r.appendChild(document.createTextNode("Edit")),r.classList.add("small"),r.addEventListener("click",(function(n){n.preventDefault(),t.wizard.present(e)}));var o=document.createElement("button");o.appendChild(document.createTextNode("Remove")),o.classList.add("red"),o.classList.add("small"),o.addEventListener("click",(function(n){n.preventDefault(),C.remove(e),t.update()}));var c=document.createElement("div");c.classList.add("button-group"),c.appendChild(r),c.appendChild(o);var l=document.createElement("div");l.appendChild(c);var s=document.createElement("div");return s.classList.add("actions"),s.classList.add("double-group"),s.appendChild(a),s.appendChild(l),i.appendChild(s),i}};V.init(Y),Y.init(V);var W=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=window.location.hash.substring(1);if(o&&o.hasPage(t))return"page-landing"!==N.currentView&&N.back(e),void o.switchPage(t);window.scrollTo(window.scrollX,0),"#checkout"===window.location.hash?N.switchView("page-cart",e):N.back(e)};z.addEventListener("click",(function(e){e.preventDefault(),Q||C.count>0?U():H.present(!0,(function(){V.present()}))})),R.addEventListener("click",(function(){o?(o.currentPageTitle?document.title="Beacon Omni for ".concat(o.currentPageTitle):document.title="Beacon Omni",history.pushState({},"","/omni#".concat(o.currentPageName))):(document.title="Beacon Omni",history.pushState({},"","/omni")),dispatchEvent(new PopStateEvent("popstate",{}))})),window.addEventListener("popstate",(function(){W(!0)})),W(!1),t.forceEmail&&(C.email!==t.forceEmail&&C.reset(),0===C.count?H.present(!0,(function(){V.present()})):U())}))})(); \ No newline at end of file diff --git a/Website/www/omni/index.php b/Website/www/omni/index.php index 486de2c12..cb471f355 100644 --- a/Website/www/omni/index.php +++ b/Website/www/omni/index.php @@ -41,6 +41,7 @@ $ark2Enabled = isset($product_details['Ark2']); $arkSAEnabled = isset($product_details['ArkSA']); $minimalGamesEnabled = isset($product_details['BeaconMinimal']); +$palworldEnabled = true; $arkOnlyMode = false; $payment_methods = [ @@ -132,122 +133,32 @@ ?>
-

Do more with Beacon Omni

-

Beacon does a lot for free. Loot drops, server control, file sharing, and more. But when it's time to get into more advanced configuration like crafting costs and player experience, then it's time to upgrade to Beacon Omni.

-

All users of Beacon can use all features, however Omni-only config types will not be included in generated Game.ini and GameUserSettings.ini files.

+
+
+
+

Already purchased? See your account control panel for more details.
-
-
-
2% of your purchase will be contributed to the removal of carbon dioxide from the atmosphere.
+

Supported Games

+
+ +
+
+ +
+
+ +
+
+ +
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = 10502300) { ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureBeaconOmni
Nitrado Server Control
Nitrado server owners can allow Beacon to directly control their server, including proper restart timing, config editing, and server settings changes.
GameServerApp.com Support
Import and update GameServerApp.com config templates with only a few clicks.
FTP Upload and Download
Beacon can use FTP edit your Game.ini and GameUserSettings.ini files right on the server.
Download Community Beacon Files
Download Beacon files created by other users to make getting started with custom loot easier.
Create Community Beacon Files
Share your creation with the world to serve as a starting point for others.
Breeding Multipliers
Adjust any of the breeding-related multipliers with realtime display of their effects on Ark's creatures and their imprint times.
Day and Night Cycle
Change the length of Ark's days and nights using minutes instead of multipliers.
Decay and Spoil
Change and preview item decay, decomposition, and spoil times.
General SettingsNew in Beacon 1.5.2
Beacon has support for nearly every setting available to Ark servers.
Item Stat Limits
Globally limit item stats to precise admin-defined amounts, just like official servers.
Loot Drops
Beacon's original purpose, editing loot drops, is what it does best.
Stat Multipliers
Change the stats of players, wild creatures, and tamed creatures.
Crafting Costs
Change the cost of any craftable item in Ark.
 
Creature Adjustments
Adjust creature-specific damage and vulnerability multipliers, replace creatures with others, or disable specific creatures entirely.
 
Creature Spawns
Add, remove, or change the creatures available on any map. Want to add lots of Featherlights to The Island, or put one really high level Pteranodon on Aberration? It's possible.
 
Engram Control
Change when engrams are unlockable, if they auto-unlock, and the number of engram points awarded each level. Beacon's powerful wizard allows users to instantly build full engram designs, such as auto-unlocking everything except tek items at spawn.
 
Harvest Rates
Change the harvest multiplier for any harvestable item in the game. Tip: this is a great way to improve server performance.
 
Levels and XP
Control max level and the experience curve for both players and tamed dinos.
 
Stack Sizes
Ark finally allows admins to customize stack sizes, so Beacon Omni has an editor ready to go.
 
@@ -432,4 +347,10 @@
- + diff --git a/Website/www/omni/modules/ark.php b/Website/www/omni/modules/ark.php new file mode 100644 index 000000000..f7066d449 --- /dev/null +++ b/Website/www/omni/modules/ark.php @@ -0,0 +1,111 @@ +

The free version of Beacon supports most Ark: Survival Evolved features, with a 'Beacon Omni for Ark: Survival Evolved' license required to unlock all features.

+

Beacon does a lot for free. Loot drops, server control, file sharing, and more. But when it's time to get into more advanced configuration like crafting costs and player experience, then it's time to upgrade to Beacon Omni.

+

All users of Beacon can use all features, however Omni-only config types will not be included in generated Game.ini and GameUserSettings.ini files.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 10502300) { ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureBeaconOmni
Nitrado Server Control
Nitrado server owners can allow Beacon to directly control their server, including proper restart timing, config editing, and server settings changes.
GameServerApp.com Support
Import and update GameServerApp.com config templates with only a few clicks.
FTP Upload and Download
Beacon can use FTP edit your Game.ini and GameUserSettings.ini files right on the server.
Download Community Beacon Files
Download Beacon files created by other users to make getting started with custom loot easier.
Create Community Beacon Files
Share your creation with the world to serve as a starting point for others.
Breeding Multipliers
Adjust any of the breeding-related multipliers with realtime display of their effects on Ark's creatures and their imprint times.
Day and Night Cycle
Change the length of Ark's days and nights using minutes instead of multipliers.
Decay and Spoil
Change and preview item decay, decomposition, and spoil times.
General SettingsNew in Beacon 1.5.2
Beacon has support for nearly every setting available to Ark servers.
Item Stat Limits
Globally limit item stats to precise admin-defined amounts, just like official servers.
Loot Drops
Beacon's original purpose, editing loot drops, is what it does best.
Stat Multipliers
Change the stats of players, wild creatures, and tamed creatures.
Crafting Costs
Change the cost of any craftable item in Ark.
 
Creature Adjustments
Adjust creature-specific damage and vulnerability multipliers, replace creatures with others, or disable specific creatures entirely.
 
Creature Spawns
Add, remove, or change the creatures available on any map. Want to add lots of Featherlights to The Island, or put one really high level Pteranodon on Aberration? It's possible.
 
Engram Control
Change when engrams are unlockable, if they auto-unlock, and the number of engram points awarded each level. Beacon's powerful wizard allows users to instantly build full engram designs, such as auto-unlocking everything except tek items at spawn.
 
Harvest Rates
Change the harvest multiplier for any harvestable item in the game. Tip: this is a great way to improve server performance.
 
Levels and XP
Control max level and the experience curve for both players and tamed dinos.
 
Stack Sizes
Ark finally allows admins to customize stack sizes, so Beacon Omni has an editor ready to go.
 
diff --git a/Website/www/omni/modules/arksa.php b/Website/www/omni/modules/arksa.php new file mode 100644 index 000000000..6d914c15e --- /dev/null +++ b/Website/www/omni/modules/arksa.php @@ -0,0 +1,111 @@ +

The free version of Beacon supports most Ark: Survival Ascended features, with a 'Beacon Omni for Ark: Survival Ascended' license required to unlock all features.

+

Beacon does a lot for free. Loot drops, server control, file sharing, and more. But when it's time to get into more advanced configuration like crafting costs and player experience, then it's time to upgrade to Beacon Omni.

+

All users of Beacon can use all features, however Omni-only config types will not be included in generated Game.ini and GameUserSettings.ini files.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 10502300) { ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureBeaconOmni
Nitrado Server Control
Nitrado server owners can allow Beacon to directly control their server, including proper restart timing, config editing, and server settings changes.
GameServerApp.com Support
Import and update GameServerApp.com config templates with only a few clicks.
FTP Upload and Download
Beacon can use FTP edit your Game.ini and GameUserSettings.ini files right on the server.
Download Community Beacon Files
Download Beacon files created by other users to make getting started with custom loot easier.
Create Community Beacon Files
Share your creation with the world to serve as a starting point for others.
Breeding Multipliers
Adjust any of the breeding-related multipliers with realtime display of their effects on Ark's creatures and their imprint times.
Day and Night Cycle
Change the length of Ark's days and nights using minutes instead of multipliers.
Decay and Spoil
Change and preview item decay, decomposition, and spoil times.
General SettingsNew in Beacon 1.5.2
Beacon has support for nearly every setting available to Ark servers.
Item Stat Limits
Globally limit item stats to precise admin-defined amounts, just like official servers.
Loot Drops
Beacon's original purpose, editing loot drops, is what it does best.
Stat Multipliers
Change the stats of players, wild creatures, and tamed creatures.
Stack Sizes
Ark finally allows admins to customize stack sizes, so Beacon Omni has an editor ready to go.
Crafting Costs
Change the cost of any craftable item in Ark.
 
Creature Adjustments
Adjust creature-specific damage and vulnerability multipliers, replace creatures with others, or disable specific creatures entirely.
 
Creature Spawns
Add, remove, or change the creatures available on any map. Want to add lots of Featherlights to The Island, or put one really high level Pteranodon on Aberration? It's possible.
 
Engram Control
Change when engrams are unlockable, if they auto-unlock, and the number of engram points awarded each level. Beacon's powerful wizard allows users to instantly build full engram designs, such as auto-unlocking everything except tek items at spawn.
 
Harvest Rates
Change the harvest multiplier for any harvestable item in the game. Tip: this is a great way to improve server performance.
 
Levels and XP
Control max level and the experience curve for both players and tamed dinos.
 
diff --git a/Website/www/omni/modules/minimal.php b/Website/www/omni/modules/minimal.php new file mode 100644 index 000000000..fab11a4ba --- /dev/null +++ b/Website/www/omni/modules/minimal.php @@ -0,0 +1,7 @@ +

Beacon supports with a 'Beacon Omni for Minimal Games' license.

+

The free version of Beacon does not support this game.

+

A 'Beacon Omni for Minimal Games' license supports the following games:

+
    +
  • Palworld
  • +
  • More games coming in the future
  • +
From 4d78748ee5ef58173401d3dc67c1932dc693fe49 Mon Sep 17 00:00:00 2001 From: Thom McGrath Date: Fri, 26 Jan 2024 21:51:01 +0000 Subject: [PATCH 3/7] Added a few text colors --- Website/src/scss/_theme.scss | 8 ++++++++ Website/www/assets/css/theme-beacon-dark.css | 2 +- Website/www/assets/css/theme-beacon.css | 2 +- Website/www/assets/css/theme-purple.css | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Website/src/scss/_theme.scss b/Website/src/scss/_theme.scss index c5307edf4..b69ba709b 100644 --- a/Website/src/scss/_theme.scss +++ b/Website/src/scss/_theme.scss @@ -2797,6 +2797,14 @@ body.no-navigation { } } +.license-name { + color: $text-accent-color; +} + +.game-name { + color: $text-blue; +} + @media (min-width: $breakpoint_desktop) { div.double_column div.column { display: table-cell; diff --git a/Website/www/assets/css/theme-beacon-dark.css b/Website/www/assets/css/theme-beacon-dark.css index e89ba354d..21f744f27 100644 --- a/Website/www/assets/css/theme-beacon-dark.css +++ b/Website/www/assets/css/theme-beacon-dark.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#262626;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#599ae2}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#16a916;color:#262626}.platform_tag.playstation,.tag.playstation{background-color:#458bff;color:#262626}.platform_tag.pc,.tag.pc{background-color:#da8b10;color:#333}.platform_tag.nintendo,.tag.nintendo{background-color:#ff4d5b;color:#262626}.platform_tag.red,.tag.red{background-color:#e77681;color:#262626}.platform_tag.grey,.tag.grey{background-color:#868e96;color:#262626}.platform_tag.blue,.tag.blue{background-color:#408cfd;color:#262626}.platform_tag.green,.tag.green{background-color:#21b26f;color:#333}.platform_tag.yellow,.tag.yellow{background-color:#ffc107;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#0dcaf0;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ff534a}.text-green{color:#28cd41}.text-blue{color:#3395ff}.text-purple{color:#c37de6}.text-yellow{color:#fc0}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#939393}.text-lighter{color:#939393}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#474747}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#6c6c6c;color:#d5d5d5;background-color:#2d2d2d}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#313131}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#2b252c}table.generic tbody>tr:nth-child(odd){background-color:#262626}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#474747}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#d9d9d9}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#474747;color:#939393}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#262626;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#474747}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#d9d9d9}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#d9d9d9 rgba(0,0,0,0) #d9d9d9 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#6d6d6d rgba(0,0,0,0) #6d6d6d rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #7d7d7d;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#262626;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ff534a}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #7d7d7d;background-color:#2d2d2d;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#171717;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #7d7d7d;box-sizing:border-box;border-radius:.25rem;background-color:#2d2d2d}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#bebebe}label.invalid,span.invalid,p.invalid,div.invalid{color:#ff534a}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#a6a6a6}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#d9d9d9}label.checkbox :active+span{background-color:#000;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #939393;background-color:#262626;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#d9d9d9}div.select select:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}div.select span:after{color:#d9d9d9}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#262626;border-color:#474747}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#d9d9d9;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#d9d9d9}#explore_popover ul li a:hover .result_type{color:#d9d9d9;border-color:#d9d9d9}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#474747;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#262626}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#262626}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #474747;border-bottom:1px solid #474747}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#d9d9d9}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#373737}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#2a2a2a;text-shadow:0px 1px 0px #262626;border-top-color:#343434}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#474747}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#939393}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#676767}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#303030}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#474747}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#723633;color:#ff534a;background-color:#2d2727}.notice-block.notice-caution{border-color:#726019;color:#fc0;background-color:#2d2b25}.notice-block.notice-info{border-color:#2b4d72;color:#3395ff;background-color:#26292d}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#474747}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#dc4ff0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#d9d9d9}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#313131;background-color:#2a2a2a;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#599ae2;color:#d9d9d9;border-color:#599ae2}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#3c3c3c}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#313131}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#28cd41;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #474747;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #474747;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#30373a;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:skyblue}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #474747;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#2a2a2a;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a6a6a' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #474747}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #474747}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark{filter:brightness(0) invert(1)}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:unset}.light-only{display:none} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#262626;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#599ae2}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#16a916;color:#262626}.platform_tag.playstation,.tag.playstation{background-color:#458bff;color:#262626}.platform_tag.pc,.tag.pc{background-color:#da8b10;color:#333}.platform_tag.nintendo,.tag.nintendo{background-color:#ff4d5b;color:#262626}.platform_tag.red,.tag.red{background-color:#e77681;color:#262626}.platform_tag.grey,.tag.grey{background-color:#868e96;color:#262626}.platform_tag.blue,.tag.blue{background-color:#408cfd;color:#262626}.platform_tag.green,.tag.green{background-color:#21b26f;color:#333}.platform_tag.yellow,.tag.yellow{background-color:#ffc107;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#0dcaf0;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ff534a}.text-green{color:#28cd41}.text-blue{color:#3395ff}.text-purple{color:#c37de6}.text-yellow{color:#fc0}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#939393}.text-lighter{color:#939393}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#474747}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#6c6c6c;color:#d5d5d5;background-color:#2d2d2d}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#313131}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#2b252c}table.generic tbody>tr:nth-child(odd){background-color:#262626}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#474747}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#d9d9d9}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#474747;color:#939393}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#262626;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#474747}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#d9d9d9}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#d9d9d9 rgba(0,0,0,0) #d9d9d9 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#6d6d6d rgba(0,0,0,0) #6d6d6d rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #7d7d7d;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#262626;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ff534a}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #7d7d7d;background-color:#2d2d2d;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#171717;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #7d7d7d;box-sizing:border-box;border-radius:.25rem;background-color:#2d2d2d}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#bebebe}label.invalid,span.invalid,p.invalid,div.invalid{color:#ff534a}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#a6a6a6}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#d9d9d9}label.checkbox :active+span{background-color:#000;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #939393;background-color:#262626;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#d9d9d9}div.select select:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}div.select span:after{color:#d9d9d9}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#262626;border-color:#474747}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#d9d9d9;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#d9d9d9}#explore_popover ul li a:hover .result_type{color:#d9d9d9;border-color:#d9d9d9}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#474747;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#262626}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#262626}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #474747;border-bottom:1px solid #474747}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#d9d9d9}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#373737}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#2a2a2a;text-shadow:0px 1px 0px #262626;border-top-color:#343434}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#474747}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#939393}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#676767}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#303030}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#474747}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#723633;color:#ff534a;background-color:#2d2727}.notice-block.notice-caution{border-color:#726019;color:#fc0;background-color:#2d2b25}.notice-block.notice-info{border-color:#2b4d72;color:#3395ff;background-color:#26292d}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#474747}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#dc4ff0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#d9d9d9}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#313131;background-color:#2a2a2a;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#599ae2;color:#d9d9d9;border-color:#599ae2}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#3c3c3c}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#313131}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#28cd41;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #474747;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #474747;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#30373a;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:skyblue}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #474747;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#2a2a2a;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a6a6a' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#dc4ff0}.game-name{color:#3395ff}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #474747}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #474747}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark{filter:brightness(0) invert(1)}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:unset}.light-only{display:none} diff --git a/Website/www/assets/css/theme-beacon.css b/Website/www/assets/css/theme-beacon.css index 02c47eafa..796123416 100644 --- a/Website/www/assets/css/theme-beacon.css +++ b/Website/www/assets/css/theme-beacon.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#414141;background-color:#fff;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#2472cb}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#107c10;color:#fff}.platform_tag.playstation,.tag.playstation{background-color:#003791;color:#fff}.platform_tag.pc,.tag.pc{background-color:#925e0b;color:#fff}.platform_tag.nintendo,.tag.nintendo{background-color:#e60012;color:#fff}.platform_tag.red,.tag.red{background-color:#dc3545;color:#fff}.platform_tag.grey,.tag.grey{background-color:#6c757d;color:#fff}.platform_tag.blue,.tag.blue{background-color:#0d6efd;color:#fff}.platform_tag.green,.tag.green{background-color:#198754;color:#fff}.platform_tag.yellow,.tag.yellow{background-color:#876500;color:#eff1f3}.platform_tag.cyan,.tag.cyan{background-color:#08798f;color:#fefefe}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#e30c00}.text-green{color:#177826}.text-blue{color:#006ee6}.text-purple{color:#a53dda}.text-yellow{color:#806600}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#a0a0a0}.text-lighter{color:#a0a0a0}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(65,65,65,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#e3e3e3}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#c2c2c2;color:#666;background-color:#f9f9f9}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#f6f6f6}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#fbf5fc}table.generic tbody>tr:nth-child(odd){background-color:#fff}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#e3e3e3}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#fff}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#e3e3e3;color:#a0a0a0}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#fff;border-color:rgba(65,65,65,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(65,65,65,.6)}#header_links_cell ul li a:hover{border-color:rgba(65,65,65,.4)}#header_links_cell ul li a:active{background-color:rgba(65,65,65,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#e3e3e3}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#fff}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:gray}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #b3b3b3;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#fff;color:#414141}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#414141;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#e30c00}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #b3b3b3;background-color:#f9f9f9;color:#414141}.input-group button .spinner:after{border-color:#414141 rgba(0,0,0,0) #414141 rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#7d7d7d;color:#212121}.input-group button:not(:disabled):active .spinner:after{border-color:#212121 rgba(0,0,0,0) #212121 rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #b3b3b3;box-sizing:border-box;border-radius:.25rem;background-color:#f9f9f9}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#7a7a7a}label.invalid,span.invalid,p.invalid,div.invalid{color:#e30c00}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#ccc}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#fff}label.checkbox :active+span{background-color:#ccc;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #a0a0a0;background-color:#fff;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#fff}div.select select:not(:disabled):active{background-color:#4e0858;color:gray}div.select span:after{color:#fff}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-color:#e3e3e3}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#414141}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(65,65,65,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(65,65,65,.4);border-color:rgba(65,65,65,.2)}#explore_popover ul li a:hover{color:#fff;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#fff}#explore_popover ul li a:hover .result_type{color:#fff;border-color:#fff}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#e3e3e3;color:#414141}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(65,65,65,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(65,65,65,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(65,65,65,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#fff}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#fff}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#fff}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#f1f1f1}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#fbfbfb;text-shadow:0px 1px 0px #fff;border-top-color:#f3f3f3}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#e3e3e3}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#a0a0a0}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#c6c6c6}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#f7f7f7}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#e3e3e3}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#f5aaa6;color:#e30c00;background-color:#fef8f7}.notice-block.notice-caution{border-color:#d3c9a6;color:#806600;background-color:#fbfaf7}.notice-block.notice-info{border-color:#a6ccf6;color:#006ee6;background-color:#f7fbfe}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(65,65,65,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#e3e3e3}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#9c0fb0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#fff}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#f6f6f6;background-color:#fbfbfb;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#2472cb;color:#fff;border-color:#2472cb}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(65,65,65,.02);border-color:rgba(65,65,65,.1);color:rgba(65,65,65,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#ececec}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#f6f6f6}#browse_results div.properties-text{color:rgba(65,65,65,.5);border-color:rgba(65,65,65,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#177826;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #e3e3e3;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #e3e3e3;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#f3fafd;color:#506c77}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#186c8e}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #e3e3e3;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(65,65,65,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#fbfbfb;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c3c3c3' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #e3e3e3}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #e3e3e3}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:none}.light-only{display:unset} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#414141;background-color:#fff;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#2472cb}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#107c10;color:#fff}.platform_tag.playstation,.tag.playstation{background-color:#003791;color:#fff}.platform_tag.pc,.tag.pc{background-color:#925e0b;color:#fff}.platform_tag.nintendo,.tag.nintendo{background-color:#e60012;color:#fff}.platform_tag.red,.tag.red{background-color:#dc3545;color:#fff}.platform_tag.grey,.tag.grey{background-color:#6c757d;color:#fff}.platform_tag.blue,.tag.blue{background-color:#0d6efd;color:#fff}.platform_tag.green,.tag.green{background-color:#198754;color:#fff}.platform_tag.yellow,.tag.yellow{background-color:#876500;color:#eff1f3}.platform_tag.cyan,.tag.cyan{background-color:#08798f;color:#fefefe}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#e30c00}.text-green{color:#177826}.text-blue{color:#006ee6}.text-purple{color:#a53dda}.text-yellow{color:#806600}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#a0a0a0}.text-lighter{color:#a0a0a0}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(65,65,65,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#e3e3e3}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#c2c2c2;color:#666;background-color:#f9f9f9}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#f6f6f6}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#fbf5fc}table.generic tbody>tr:nth-child(odd){background-color:#fff}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#e3e3e3}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#fff}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#e3e3e3;color:#a0a0a0}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#fff;border-color:rgba(65,65,65,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(65,65,65,.6)}#header_links_cell ul li a:hover{border-color:rgba(65,65,65,.4)}#header_links_cell ul li a:active{background-color:rgba(65,65,65,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#e3e3e3}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#fff}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:gray}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #b3b3b3;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#fff;color:#414141}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#414141;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#e30c00}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #b3b3b3;background-color:#f9f9f9;color:#414141}.input-group button .spinner:after{border-color:#414141 rgba(0,0,0,0) #414141 rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#7d7d7d;color:#212121}.input-group button:not(:disabled):active .spinner:after{border-color:#212121 rgba(0,0,0,0) #212121 rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #b3b3b3;box-sizing:border-box;border-radius:.25rem;background-color:#f9f9f9}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#7a7a7a}label.invalid,span.invalid,p.invalid,div.invalid{color:#e30c00}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#ccc}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#fff}label.checkbox :active+span{background-color:#ccc;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #a0a0a0;background-color:#fff;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#fff}div.select select:not(:disabled):active{background-color:#4e0858;color:gray}div.select span:after{color:#fff}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-color:#e3e3e3}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#414141}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(65,65,65,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(65,65,65,.4);border-color:rgba(65,65,65,.2)}#explore_popover ul li a:hover{color:#fff;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#fff}#explore_popover ul li a:hover .result_type{color:#fff;border-color:#fff}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#e3e3e3;color:#414141}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(65,65,65,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(65,65,65,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(65,65,65,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#fff}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#fff}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#fff}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#f1f1f1}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#fbfbfb;text-shadow:0px 1px 0px #fff;border-top-color:#f3f3f3}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#e3e3e3}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#a0a0a0}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#c6c6c6}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#f7f7f7}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#e3e3e3}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#f5aaa6;color:#e30c00;background-color:#fef8f7}.notice-block.notice-caution{border-color:#d3c9a6;color:#806600;background-color:#fbfaf7}.notice-block.notice-info{border-color:#a6ccf6;color:#006ee6;background-color:#f7fbfe}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(65,65,65,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#e3e3e3}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#9c0fb0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#fff}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#f6f6f6;background-color:#fbfbfb;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#2472cb;color:#fff;border-color:#2472cb}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(65,65,65,.02);border-color:rgba(65,65,65,.1);color:rgba(65,65,65,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#ececec}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#f6f6f6}#browse_results div.properties-text{color:rgba(65,65,65,.5);border-color:rgba(65,65,65,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#177826;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #e3e3e3;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #e3e3e3;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#f3fafd;color:#506c77}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#186c8e}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #e3e3e3;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(65,65,65,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#fbfbfb;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c3c3c3' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#9c0fb0}.game-name{color:#006ee6}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #e3e3e3}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #e3e3e3}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:none}.light-only{display:unset} diff --git a/Website/www/assets/css/theme-purple.css b/Website/www/assets/css/theme-purple.css index f067c488f..9fea31286 100644 --- a/Website/www/assets/css/theme-purple.css +++ b/Website/www/assets/css/theme-purple.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#9c0fb0;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#c6dcf5}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#83ef83;color:#595959}.platform_tag.playstation,.tag.playstation{background-color:#c4daff;color:#595959}.platform_tag.pc,.tag.pc{background-color:#f7cd8c;color:#595959}.platform_tag.nintendo,.tag.nintendo{background-color:#ffcdd0;color:#595959}.platform_tag.red,.tag.red{background-color:#f6cdd1;color:#595959}.platform_tag.grey,.tag.grey{background-color:#d8dbdd;color:#595959}.platform_tag.blue,.tag.blue{background-color:#bed8fe;color:#595959}.platform_tag.green,.tag.green{background-color:#84e8ba;color:#595959}.platform_tag.yellow,.tag.yellow{background-color:#ffce3a;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#84e5f8;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ffccc9}.text-green{color:#8ce99a}.text-blue{color:#b3d7ff}.text-purple{color:#ead2f7}.text-yellow{color:#ffd11a}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#ce87d8}.text-lighter{color:#ce87d8}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#ab33bc}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#bc5cc9;color:#ecd0f0;background-color:#9f16b2}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#a11bb4}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#a019b3}table.generic tbody>tr:nth-child(odd){background-color:#9c0fb0}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#ab33bc}table.generic thead,table.generic tr.header{background-color:#fff;color:#9c0fb0}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#fff;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#ab33bc;color:#ce87d8}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#9c0fb0;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#fff;fill:#fff}.separator-color{border-color:#ab33bc}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#ab33bc;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#561a5e;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#eb142a;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#760a15;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#fff;color:#9c0fb0}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:gray;color:#4e0858}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#4e0858 rgba(0,0,0,0) #4e0858 rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #c46fd0;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#9c0fb0;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ffccc9}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #c46fd0;background-color:#9f16b2;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#500b59;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #c46fd0;box-sizing:border-box;border-radius:.25rem;background-color:#9f16b2}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#e1b7e7}label.invalid,span.invalid,p.invalid,div.invalid{color:#ffccc9}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(255,255,255,0);border-color:#fff}label.checkbox span:after{background-color:#fff}label.checkbox :checked:active+span{background-color:#ccc;border-color:#ccc}label.checkbox :checked:active+span:after{background-color:#490752}label.checkbox :checked+span{background-color:#fff}label.checkbox :checked+span:after{background-color:#9c0fb0}label.checkbox :active+span{background-color:#490752;border-color:#ccc}label.checkbox :active:after{background-color:#ccc}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #ce87d8;background-color:#9c0fb0;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#fff}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#fff;color:#9c0fb0}div.select select:not(:disabled):active{background-color:gray;color:#4e0858}div.select span:after{color:#9c0fb0}div.select.gray select{background-color:#ab33bc;color:#fff}div.select.gray select:not(:disabled):active{background-color:#561a5e;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#eb142a;color:#fff}div.select.red select:not(:disabled):active{background-color:#760a15;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#9c0fb0;border-color:#ab33bc}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#9c0fb0;background-color:#fff}#explore_popover ul li a:hover .result_preview{color:#9c0fb0}#explore_popover ul li a:hover .result_type{color:#9c0fb0;border-color:#9c0fb0}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#ab33bc;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#9c0fb0}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#9c0fb0}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #ab33bc;border-bottom:1px solid #ab33bc}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#fff;background-color:none}#account_toolbar_menu div.active{background-color:#fff}#account_toolbar_menu div.active a{color:#9c0fb0}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#a421b6}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#9e14b2;text-shadow:0px 1px 0px #9c0fb0;border-top-color:#a31fb6}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#ab33bc}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#ce87d8}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#fff;border-left-color:#fff}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#ba57c8}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#a11ab4}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#ab33bc}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#bf51b9;color:#ffccc9;background-color:#9f15b1}.notice-block.notice-caution{border-color:#bf537c;color:#ffd11a;background-color:#9f15ac}.notice-block.notice-info{border-color:#a455cc;color:#b3d7ff;background-color:#9d15b2}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#ab33bc}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#fff;color:#9c0fb0;border-color:#fff}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#fff;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#fff;color:#9c0fb0}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#a11bb4;background-color:#9e14b2;text-decoration:none}.pagination-controls .pagination-current{background-color:#fff;color:#9c0fb0;border-color:#fff}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#c6dcf5;color:#9c0fb0;border-color:#c6dcf5}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#a627b8}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#a11bb4}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#8ce99a;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #ab33bc;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #ab33bc;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#9a22b6;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#b3e0f2}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #ab33bc;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#9e14b2;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23bb5bc9' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #ab33bc}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #ab33bc}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark,.accented-foreground{filter:brightness(0) invert(1)}.dark-only{display:unset}.light-only{display:none} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#9c0fb0;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#c6dcf5}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#83ef83;color:#595959}.platform_tag.playstation,.tag.playstation{background-color:#c4daff;color:#595959}.platform_tag.pc,.tag.pc{background-color:#f7cd8c;color:#595959}.platform_tag.nintendo,.tag.nintendo{background-color:#ffcdd0;color:#595959}.platform_tag.red,.tag.red{background-color:#f6cdd1;color:#595959}.platform_tag.grey,.tag.grey{background-color:#d8dbdd;color:#595959}.platform_tag.blue,.tag.blue{background-color:#bed8fe;color:#595959}.platform_tag.green,.tag.green{background-color:#84e8ba;color:#595959}.platform_tag.yellow,.tag.yellow{background-color:#ffce3a;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#84e5f8;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ffccc9}.text-green{color:#8ce99a}.text-blue{color:#b3d7ff}.text-purple{color:#ead2f7}.text-yellow{color:#ffd11a}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#ce87d8}.text-lighter{color:#ce87d8}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#ab33bc}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#bc5cc9;color:#ecd0f0;background-color:#9f16b2}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#a11bb4}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#a019b3}table.generic tbody>tr:nth-child(odd){background-color:#9c0fb0}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#ab33bc}table.generic thead,table.generic tr.header{background-color:#fff;color:#9c0fb0}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#fff;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#ab33bc;color:#ce87d8}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#9c0fb0;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#fff;fill:#fff}.separator-color{border-color:#ab33bc}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#ab33bc;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#561a5e;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#eb142a;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#760a15;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#fff;color:#9c0fb0}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:gray;color:#4e0858}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#4e0858 rgba(0,0,0,0) #4e0858 rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #c46fd0;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#9c0fb0;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ffccc9}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #c46fd0;background-color:#9f16b2;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#500b59;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #c46fd0;box-sizing:border-box;border-radius:.25rem;background-color:#9f16b2}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#e1b7e7}label.invalid,span.invalid,p.invalid,div.invalid{color:#ffccc9}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(255,255,255,0);border-color:#fff}label.checkbox span:after{background-color:#fff}label.checkbox :checked:active+span{background-color:#ccc;border-color:#ccc}label.checkbox :checked:active+span:after{background-color:#490752}label.checkbox :checked+span{background-color:#fff}label.checkbox :checked+span:after{background-color:#9c0fb0}label.checkbox :active+span{background-color:#490752;border-color:#ccc}label.checkbox :active:after{background-color:#ccc}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #ce87d8;background-color:#9c0fb0;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#fff}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#fff;color:#9c0fb0}div.select select:not(:disabled):active{background-color:gray;color:#4e0858}div.select span:after{color:#9c0fb0}div.select.gray select{background-color:#ab33bc;color:#fff}div.select.gray select:not(:disabled):active{background-color:#561a5e;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#eb142a;color:#fff}div.select.red select:not(:disabled):active{background-color:#760a15;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#9c0fb0;border-color:#ab33bc}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#9c0fb0;background-color:#fff}#explore_popover ul li a:hover .result_preview{color:#9c0fb0}#explore_popover ul li a:hover .result_type{color:#9c0fb0;border-color:#9c0fb0}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#ab33bc;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#9c0fb0}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#9c0fb0}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #ab33bc;border-bottom:1px solid #ab33bc}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#fff;background-color:none}#account_toolbar_menu div.active{background-color:#fff}#account_toolbar_menu div.active a{color:#9c0fb0}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#a421b6}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#9e14b2;text-shadow:0px 1px 0px #9c0fb0;border-top-color:#a31fb6}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#ab33bc}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#ce87d8}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#fff;border-left-color:#fff}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#ba57c8}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#a11ab4}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#ab33bc}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#bf51b9;color:#ffccc9;background-color:#9f15b1}.notice-block.notice-caution{border-color:#bf537c;color:#ffd11a;background-color:#9f15ac}.notice-block.notice-info{border-color:#a455cc;color:#b3d7ff;background-color:#9d15b2}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#ab33bc}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#fff;color:#9c0fb0;border-color:#fff}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#fff;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#fff;color:#9c0fb0}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#a11bb4;background-color:#9e14b2;text-decoration:none}.pagination-controls .pagination-current{background-color:#fff;color:#9c0fb0;border-color:#fff}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#c6dcf5;color:#9c0fb0;border-color:#c6dcf5}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#a627b8}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#a11bb4}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#8ce99a;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #ab33bc;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #ab33bc;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#9a22b6;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#b3e0f2}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #ab33bc;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#9e14b2;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23bb5bc9' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#fff}.game-name{color:#b3d7ff}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #ab33bc}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #ab33bc}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark,.accented-foreground{filter:brightness(0) invert(1)}.dark-only{display:unset}.light-only{display:none} From bd8a7f5e55029292ea16ed23eb3ba1f662996b4a Mon Sep 17 00:00:00 2001 From: Thom McGrath Date: Mon, 29 Jan 2024 06:08:48 +0000 Subject: [PATCH 4/7] Better draft version of Palworld Omni page. --- Website/framework/classes/BeaconCommon.php | 14 + Website/src/js/checkout.js | 418 ++++++++++++------- Website/src/scss/_theme.scss | 28 +- Website/src/scss/omni.scss | 8 + Website/www/assets/css/omni.css | 2 +- Website/www/assets/css/theme-beacon-dark.css | 2 +- Website/www/assets/css/theme-beacon.css | 2 +- Website/www/assets/css/theme-purple.css | 2 +- Website/www/assets/scripts/checkout.js | 2 +- Website/www/download/index.php | 23 +- Website/www/omni/index.php | 230 +++++----- Website/www/omni/modules/ark.php | 12 +- Website/www/omni/modules/arksa.php | 12 +- Website/www/omni/modules/minimal.php | 7 - Website/www/omni/modules/palworld.php | 56 +++ 15 files changed, 518 insertions(+), 300 deletions(-) delete mode 100644 Website/www/omni/modules/minimal.php create mode 100644 Website/www/omni/modules/palworld.php diff --git a/Website/framework/classes/BeaconCommon.php b/Website/framework/classes/BeaconCommon.php index c8dc6b048..d1c540887 100644 --- a/Website/framework/classes/BeaconCommon.php +++ b/Website/framework/classes/BeaconCommon.php @@ -1045,6 +1045,20 @@ public static function StandardizeGameId(string $gameId): string { } return ''; } + + public static function GameIdToName(string $gameId): string { + switch (strtolower(trim($gameId))) { + case 'ark': + return 'Ark: Survival Evolved'; + case 'arksa': + return 'Ark: Survival Ascended'; + case 'sdtd': + return '7 Days To Die'; + case 'palworld': + return 'Palworld (Early Access)'; + } + return $gameId; + } } ?> diff --git a/Website/src/js/checkout.js b/Website/src/js/checkout.js index d4b8ac0cd..0bb326790 100644 --- a/Website/src/js/checkout.js +++ b/Website/src/js/checkout.js @@ -21,6 +21,8 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const Products = checkoutProperties.products; const ProductIds = checkoutProperties.productIds; const formatCurrency = getCurrencyFormatter(checkoutProperties.currencyCode); + const GamesList = checkoutProperties.games; + const OtherGamesList = GamesList.filter(item => item.gameId !== 'Ark' && item.gameId !== 'ArkSA'); BeaconPagePanel.init(); const gamesPanel = BeaconPagePanel.pagePanels['panel-games']; @@ -126,18 +128,37 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { } get arkSAYears() { - return Math.min(this.getQuantity(Products?.ArkSA?.Base?.ProductId) + this.getQuantity(Products?.ArkSA?.Upgrade?.ProductId) + this.getQuantity(Products?.ArkSA?.Renewal?.ProductId), 10); + return Math.min(this.getQuantity(Products?.ArkSA?.Base?.ProductId) + this.getQuantity(Products?.ArkSA?.Upgrade?.ProductId) + this.getQuantity(Products?.ArkSA?.Renewal?.ProductId), MaxRenewalCount); } - get hasMinimalGames() { - return this.getQuantity(Products?.BeaconMinimal?.Base?.ProductId) > 0 || this.getQuantity(Products?.BeaconMinimal?.Renewal?.ProductId) > 0; + hasGame(gameId) { + if (gameId === 'ArkSA') { + return this.hasArkSA; + } + + return this.getQuantity(Products?.[gameId]?.Base?.ProductId) > 0 || this.getQuantity(Products?.[gameId]?.Renewal?.ProductId) > 0; } - get minimalGamesYears() { - return Math.min(this.getQuantity(Products?.BeaconMinimal?.Base?.ProductId) + this.getQuantity(Products?.BeaconMinimal?.Renewal?.ProductId), 10); + yearsForGame(gameId) { + if (gameId === 'ArkSA') { + return this.arkSAYears; + } + + return Math.min(this.getQuantity(Products?.[gameId]?.Base?.ProductId) + this.getQuantity(Products?.[gameId]?.Renewal?.ProductId), MaxRenewalCount); + } + + yearsForOtherGames() { + const otherGameYears = {}; + for (const game of OtherGamesList) { + const years = this.yearsForGame(game.gameId); + if (years > 0) { + otherGameYears[game.gameId] = this.yearsForGame(game.gameId); + } + } + return otherGameYears; } - build(targetCart, isGift, withArk, arkSAYears, minimalGamesYears) { + build(targetCart, isGift, withArk, arkSAYears, otherGameYears) { this.reset(); this.isGift = isGift; @@ -173,21 +194,19 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { } } - if (minimalGamesYears > 0) { - minimalGamesYears = Math.min(minimalGamesYears, MaxRenewalCount); - - if (isGift) { - this.setQuantity(Products.BeaconMinimal.Base.ProductId, 1); - if (minimalGamesYears > 1) { - this.setQuantity(Products.BeaconMinimal.Renewal.ProductId, minimalGamesYears - 1); + if (otherGameYears) { + for (const game of OtherGamesList) { + const years = Math.min((otherGameYears[game.gameId] ?? 0), MaxRenewalCount); + if (years === 0) { + continue; } - } else { - if (targetCart.minimalGamesLicense !== null) { - this.setQuantity(Products.BeaconMinimal.Renewal.ProductId, minimalGamesYears); + + if (isGift === false && targetCart.findLicense(Products[game.gameId].Base.ProductId) !== null) { + this.setQuantity(Products[game.gameId].Renewal.ProductId, years); } else { - this.setQuantity(Products.BeaconMinimal.Base.ProductId, 1); - if (minimalGamesYears > 1) { - this.setQuantity(Products.BeaconMinimal.Renewal.ProductId, minimalGamesYears - 1); + this.setQuantity(Products[game.gameId].Base.ProductId, 1); + if (years > 1) { + this.setQuantity(Products[game.gameId].Renewal.ProductId, years - 1); } } } @@ -196,7 +215,7 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { rebuild(targetCart) { const oldFingerprint = this.fingerprint; - this.build(targetCart, this.isGift, this.hasArk, this.arkSAYears, this.minimalGamesYears); + this.build(targetCart, this.isGift, this.hasArk, this.arkSAYears, this.yearsForOtherGames()); return this.fingerprint !== oldFingerprint; } @@ -211,8 +230,12 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const includeArk = this.hasArk || otherLineItem.hasArk; const arkSAYears = this.arkSAYears + otherLineItem.arkSAYears; - const minimalGamesYears = this.hasMinimalGames || otherLineItem.hasMinimalGames; - this.build(cart, this.isGift, includeArk, arkSAYears, minimalGamesYears); + const otherGameYears = this.yearsForOtherGames(); + const additionalGameYears = otherLineItem.yearsForOtherGames(); + for (const [gameId, years] of Object.entries(additionalGameYears)) { + otherGameYears[gameId] = (otherGameYears[gameId] ?? 0) + years; + } + this.build(cart, this.isGift, includeArk, arkSAYears, otherGameYears); } get total() { @@ -397,10 +420,6 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { return this.findLicense(Products?.ArkSA?.Base?.ProductId); } - get minimalGamesLicense() { - return this.findLicense(Products?.BeaconMinimal?.Base?.ProductId); - } - get ark2License() { return null; } @@ -491,7 +510,6 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const buyButton = document.getElementById('buy-button'); const landingButton = document.getElementById('cart-back-button'); - const arkOnlyMode = Object.keys(ProductIds).length === 1; const goToCart = () => { document.title = 'Buy Beacon Omni'; @@ -609,17 +627,22 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { arkSAUpgradePriceField: document.getElementById('checkout-wizard-arksa-discount-price'), arkStatusField: document.getElementById('checkout-wizard-status-ark'), giftCheck: document.getElementById('checkout-wizard-gift-check'), - minimalGamesCheck: document.getElementById('checkout-wizard-beaconminimal-check'), - minimalGamesDurationDownButton: document.getElementById('checkout-wizard-beaconminimal-yeardown-button'), - minimalGamesDurationField: document.getElementById('checkout-wizard-beaconminimal-duration-field'), - minimalGamesDurationGroup: document.getElementById('checkout-wizard-beaconminimal-duration-group'), - minimalGamesDurationUpButton: document.getElementById('checkout-wizard-beaconminimal-yearup-button'), - minimalGamesPriceField: document.getElementById('checkout-wizard-beaconminimal-price'), - minimalGamesStatusField: document.getElementById('checkout-wizard-status-beaconminimal'), cancelButton: document.getElementById('checkout-wizard-cancel'), init: function(cartView) { this.cartView = cartView; + for (const game of OtherGamesList) { + const gameId = game.gameId; + const lowerGameId = gameId.toLowerCase(); + this[`${lowerGameId}Check`] = document.getElementById(`checkout-wizard-${lowerGameId}-check`); + this[`${lowerGameId}DurationDownButton`] = document.getElementById(`checkout-wizard-${lowerGameId}-yeardown-button`); + this[`${lowerGameId}DurationField`] = document.getElementById(`checkout-wizard-${lowerGameId}-duration-field`); + this[`${lowerGameId}DurationGroup`] = document.getElementById(`checkout-wizard-${lowerGameId}-duration-group`); + this[`${lowerGameId}DurationUpButton`] = document.getElementById(`checkout-wizard-${lowerGameId}-yearup-button`); + this[`${lowerGameId}PriceField`] = document.getElementById(`checkout-wizard-${lowerGameId}-price`); + this[`${lowerGameId}StatusField`] = document.getElementById(`checkout-wizard-status-${lowerGameId}`); + } + if (this.cancelButton) { this.cancelButton.addEventListener('click', (ev) => { ev.preventDefault(); @@ -634,14 +657,22 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const isGift = this.giftCheck.checked; const includeArk = this.arkCheck && this.arkCheck.disabled === false && this.arkCheck.checked; const includeArkSA = this.arkSACheck && this.arkSACheck.disabled === false && this.arkSACheck.checked; - const includeMinimalGames = this.minimalGamesCheck && this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked; + let includeOtherGames = false; + const otherGameYears = {}; + for (const game of OtherGamesList) { + const gameId = game.gameId; + const lowerGameId = gameId.toLowerCase(); + if (this[`${lowerGameId}Check`] && this[`${lowerGameId}Check`].disabled === false && this[`${lowerGameId}Check`].checked) { + includeOtherGames = true; + otherGameYears[gameId] = parseInt(this[`${lowerGameId}DurationField`].value) || 1; + } + } - if ((includeArk || includeArkSA || includeMinimalGames) === false) { + if ((includeArk || includeArkSA || includeOtherGames) === false) { return; } const arkSAYears = includeArkSA ? (parseInt(this.arkSADurationField.value) || 1) : 0; - const minimalGamesYears = includeMinimalGames ? (parseInt(this.minimalGamesDurationField.value) || 1) : 0; let lineItem; if (this.editCartItem) { @@ -651,7 +682,7 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { lineItem.isGift = isGift; } - lineItem.build(cart, isGift, includeArk, arkSAYears, minimalGamesYears); + lineItem.build(cart, isGift, includeArk, arkSAYears, otherGameYears); if (Boolean(this.editCartItem) === false) { const personalCartItem = cart.personalCartItem; @@ -719,41 +750,50 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { }); } - if (this.minimalGamesCheck && this.minimalGamesDurationField && this.minimalGamesDurationUpButton && this.minimalGamesDurationDownButton && this.minimalGamesDurationGroup) { - this.minimalGamesCheck.addEventListener('change', () => { - this.update(); - }); + for (const game of OtherGamesList) { + const lowerGameId = game.gameId.toLowerCase(); + const checkbox = this[`${lowerGameId}Check`]; + const durationField = this[`${lowerGameId}DurationField`]; + const durationUpButton = this[`${lowerGameId}DurationUpButton`]; + const durationDownButton = this[`${lowerGameId}DurationDownButton`]; + const durationGroup = this[`${lowerGameId}DurationGroup`]; - this.minimalGamesDurationField.addEventListener('input', () => { - this.update(); - }); + if (checkbox && durationField && durationUpButton && durationDownButton && durationGroup) { + checkbox.addEventListener('change', () => { + this.update(); + }); - const nudgeMinimalGamesDuration = (amount) => { - const originalValue = parseInt(this.minimalGamesDurationField.value); - let newValue = originalValue + amount; - if (newValue > MaxRenewalCount || newValue < 1) { - this.minimalGamesDurationGroup.classList.add('shake'); - setTimeout(() => { - this.minimalGamesDurationGroup.classList.remove('shake'); - }, 400); - newValue = Math.max(Math.min(newValue, MaxRenewalCount), 1); - } - if (originalValue !== newValue) { - this.minimalGamesDurationField.value = newValue; - this.minimalGamesCheck.checked = true; + durationField.addEventListener('input', () => { this.update(); - } - }; + }); - this.minimalGamesDurationUpButton.addEventListener('click', (ev) => { - ev.preventDefault(); - nudgeMinimalGamesDuration(1); - }); + const nudgeGamesDuration = (amount) => { + const originalValue = parseInt(durationField.value); + let newValue = originalValue + amount; + if (newValue > MaxRenewalCount || newValue < 1) { + durationGroup.classList.add('shake'); + setTimeout(() => { + durationGroup.classList.remove('shake'); + }, 400); + newValue = Math.max(Math.min(newValue, MaxRenewalCount), 1); + } + if (originalValue !== newValue) { + durationField.value = newValue; + checkbox.checked = true; + this.update(); + } + }; - this.minimalGamesDurationDownButton.addEventListener('click', (ev) => { - ev.preventDefault(); - nudgeMinimalGamesDuration(-1); - }); + durationUpButton.addEventListener('click', (ev) => { + ev.preventDefault(); + nudgeGamesDuration(1); + }); + + durationDownButton.addEventListener('click', (ev) => { + ev.preventDefault(); + nudgeGamesDuration(-1); + }); + } } if (this.arkOnlyCheck) { @@ -838,14 +878,41 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { }); } }, - present: function(editCartItem = null) { + filter: function(gameIds) { + const cells = document.querySelectorAll('.checkout-wizard-list-game'); + let firstCell = true; + for (const cell of cells) { + const cellGameId = cell.getAttribute('beacon-game-id'); + const visible = gameIds.length === 0 || gameIds.includes(cellGameId) || ((cellGameId === 'Ark' || cellGameId === 'ArkSA') && (gameIds.includes('Ark') || gameIds.includes('ArkSA'))); + if (visible) { + cell.classList.remove('hidden'); + if (firstCell) { + firstCell = false; + cell.classList.remove('separated'); + } else { + cell.classList.add('separated'); + } + } else { + cell.classList.add('hidden'); + } + } + }, + present: function(editCartItem = null, filterGameIds = [], activateGameId = null) { + this.filter(filterGameIds); + if (filterGameIds.length > 0 && filterGameIds.includes(activateGameId) === false) { + activateGameId = null; + } + this.editCartItem = editCartItem; this.arkCheck.disabled = false; // update() will disable them if (this.arkSACheck) { this.arkSACheck.disabled = false; } - if (this.minimalGamesCheck) { - this.minimalGamesCheck.disabled = false; + for (const game of OtherGamesList) { + const lowerGameId = game.gameId.toLowerCase(); + if (this[`${lowerGameId}Check`]) { + this[`${lowerGameId}Check`].disabled = false; + } } if (editCartItem) { @@ -855,18 +922,26 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { if (this.arkSACheck) { this.arkSACheck.checked = editCartItem.hasArkSA; } - if (this.minimalGamesCheck) { - this.minimalGamesCheck.checked = editCartItem.hasMinimalGames; + for (const game of OtherGamesList) { + const gameId = game.gameId; + const lowerGameId = gameId.toLowerCase(); + if (this[`${lowerGameId}Check`]) { + this[`${lowerGameId}Check`].checked = editCartItem.hasGame(gameId); + } } } else { this.giftCheck.checked = false; this.giftCheck.disabled = false; - this.arkCheck.checked = false; + this.arkCheck.checked = (activateGameId === 'Ark'); if (this.arkSACheck) { - this.arkSACheck.checked = false; + this.arkSACheck.checked = (activateGameId === 'ArkSA'); } - if (this.minimalGamesCheck) { - this.minimalGamesCheck.checked = false; + for (const game of OtherGamesList) { + const gameId = game.gameId; + const lowerGameId = gameId.toLowerCase(); + if (this[`${lowerGameId}Check`]) { + this[`${lowerGameId}Check`].checked = (activateGameId === gameId); + } } } @@ -878,11 +953,14 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { } } - if (this.minimalGamesDurationField) { + for (const game of OtherGamesList) { + const gameId = game.gameId; + const lowerGameId = gameId.toLowerCase(); + const durationField = this[`${lowerGameId}DurationField`]; if (editCartItem) { - this.minimalGamesDurationField.value = editCartItem.minimalGamesYears; + durationField.value = editCartItem.yearsForGame(gameId); } else { - this.minimalGamesDurationField.value = '1'; + durationField.value = '1'; } } @@ -895,8 +973,10 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const gameStatus = { Ark: StatusNone, ArkSA: StatusNone, - BeaconMinimal: StatusNone, }; + for (const game of OtherGamesList) { + gameStatus[game.gameId] = StatusNone; + } const personalCartItem = cart.personalCartItem; const isEditing = Boolean(this.editCartItem); @@ -904,7 +984,10 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { if (isGift) { gameStatus.Ark = this.arkCheck && this.arkCheck.disabled === false && this.arkCheck.checked ? StatusBuying : StatusNone; gameStatus.ArkSA = this.arkSACheck && this.arkSACheck.disabled === false && this.arkSACheck.checked ? StatusBuying : StatusNone; - gameStatus.BeaconMinimal = this.minimalGamesCheck = this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked ? StatusBuying : StatusNone; + for (const game of OtherGamesList) { + const lowerGameId = game.gameId.toLowerCase(); + gameStatus[gameId] = (this[`${lowerGameId}Check`] && this[`${lowerGameId}Check`].disabled === false && this[`${lowerGameId}Check`].checked) ? StatusBuying : StatusNone; + } } else { if (cart.arkLicense) { gameStatus.Ark = StatusOwns; @@ -926,14 +1009,19 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { gameStatus.ArkSA = StatusNone; } - if (cart.minimalGamesLicense) { - gameStatus.BeaconMinimal = StatusOwns; - } else if (personalCartItem && (isEditing === false || personalCartItem.id !== this.editCartItem.id) && personalCartItem.hasMinimalGames()) { - gameStatus.BeaconMinimal = StatusInCart; - } else if (this.minimalGamesCheck && this.minimalGamesCheck && this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked) { - gameStatus.BeaconMinimal = StatusBuying; - } else { - gameStatus.BeaconMinimal = StatusNone; + for (const game of OtherGamesList) { + const gameId = game.gameId; + const lowerGameId = gameId.toLowerCase(); + const license = cart.findLicense(Products[gameId]?.Base?.ProductId); + if (license) { + gameStatus[gameId] = StatusOwns; + } else if (personalCartItem && (isEditing === false || personalCartItem.id !== this.editCartItem.id) && personalCartItem.hasGame(gameId)) { + gameStatus[gameId] = StatusInCart; + } else if (this[`${lowerGameId}Check`] && this[`${lowerGameId}Check`].disabled === false && this[`${lowerGameId}Check`].checked) { + gameStatus[gameId] = StatusBuying; + } else { + gameStatus[gameId] = StatusNone; + } } } @@ -995,12 +1083,12 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { arkSAEffectivePrice = Products.ArkSA.Upgrade.Price + (Products.ArkSA.Renewal.Price * arkSAAdditionalYears); const discountLanguage = gameStatus.Ark === StatusOwns ? 'because you own' : 'when bundled with'; - this.arkSAStatusField.innerText = `Includes first year of app updates. Additional years cost ${formatCurrency(Products.ArkSA.Renewal.Price)} each.`; + this.arkSAStatusField.innerText = `Includes 1 year of app updates. Additional years cost ${formatCurrency(Products.ArkSA.Renewal.Price)} each.`; this.arkSAPromoField.innerText = `${discount}% off first year ${discountLanguage} ${Products.Ark.Base.Name}`; this.arkSAPromoField.classList.remove('hidden'); } else { // Show normal - this.arkSAStatusField.innerText = `Includes first year of app updates. Additional years cost ${formatCurrency(Products.ArkSA.Renewal.Price)} each.`; + this.arkSAStatusField.innerText = `Includes 1 year of app updates. Additional years cost ${formatCurrency(Products.ArkSA.Renewal.Price)} each.`; this.arkSAPromoField.innerText = `${discount}% off first year when bundled with ${Products.Ark.Base.Name}`; this.arkSAPromoField.classList.remove('hidden'); @@ -1031,48 +1119,73 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { this.arkCheck.disabled = false; } - if (this.minimalGamesCheck) { - let minimalGamesPrice = Products.BeaconMinimal.Base.Price; + for (const game of OtherGamesList) { + const gameId = game.gameId; + const lowerGameId = gameId.toLowerCase(); + const checkbox = this[`${lowerGameId}Check`]; + const durationField = this[`${lowerGameId}DurationField`]; + const statusField = this[`${lowerGameId}StatusField`]; + const priceField = this[`${lowerGameId}PriceField`]; - const minimalGamesYears = Math.min(Math.max(parseInt(this.minimalGamesDurationField.value) || 1, 1), MaxRenewalCount); - if (parseInt(this.minimalGamesDurationField.value) !== minimalGamesYears && document.activeElement !== this.minimalGamesDurationField) { - this.minimalGamesDurationField.value = minimalGamesYears; + if (!checkbox) { + continue; } - const minimalGamesAdditionalYears = Math.max(minimalGamesYears - 1, 0); - if (gameStatus.BeaconMinimal === StatusOwns) { - // Show as renewal - const license = cart.minimalGamesLicense; - const now = Math.floor(Date.now() / 1000); - const currentExpiration = license.expiresEpoch; - const currentExpirationDisplay = formatDate(epochToDate(currentExpiration), false); - const startEpoch = (now > currentExpiration) ? ((Math.floor(now / 86400) * 86400) + 86400) : currentExpiration; - const newExpiration = startEpoch + (Products.BeaconMinimal.Renewal.PlanLengthSeconds * minimalGamesYears); - const newExpirationDisplay = formatDate(epochToDate(newExpiration), false); + let basePrice = Products[gameId]?.Base?.Price; + const isLifetime = Products[gameId]?.Base?.PlanLengthSeconds === null; - let statusHtml; - if (now > currentExpiration) { - statusHtml = `Renew your update plan
Expired on ${currentExpirationDisplay}
New expiration: ${newExpirationDisplay}`; + const desiredYears = Math.min(Math.max(parseInt(durationField.value) || 1, 1), MaxRenewalCount); + if (parseInt(durationField.value) !== desiredYears && document.activeElement !== durationField) { + durationField.value = desiredYears; + } + const additionalYears = Math.max(desiredYears - 1, 0); + + if (isLifetime) { + if (gameStatus[gameId] === StatusOwns) { + statusField.innerHTML = `You already own ${Products[gameId]?.Base?.Name}.`; + checkbox.disabled = true; + checkbox.checked = false; + } else if (gameStatus[gameId] === StatusInCart) { + statusField.innerText = `${Products[gameId]?.Base?.Name} is already in your cart.`; + checkbox.disabled = true; + checkbox.checked = false; } else { - statusHtml = `Extend your update plan
Expires on ${currentExpirationDisplay}
New expiration: ${newExpirationDisplay}`; + statusField.innerText = 'Includes lifetime app updates.'; + checkbox.disabled = false; } - this.minimalGamesStatusField.innerHTML = statusHtml; - - minimalGamesPrice = Products.BeaconMinimal.Renewal.Price * minimalGamesYears; - } else if (gameStatus.BeaconMinimal === StatusInCart) { - // Show as renewal - minimalGamesPrice = Products.BeaconMinimal.Renewal.Price * minimalGamesYears; - this.minimalGamesStatusField.innerText = `Additional renewal years for ${Products.BeaconMinimal.Base.Name} in your cart.`; } else { - // Show normal - this.minimalGamesStatusField.innerText = `For games with only a few options, such as Palworld. Includes first year of app updates. Additional years cost ${formatCurrency(Products.BeaconMinimal.Renewal.Price)} each.`; - minimalGamesPrice = Products.BeaconMinimal.Base.Price + (Products.BeaconMinimal.Renewal.Price * minimalGamesAdditionalYears); + if (gameStatus[gameId] === StatusOwns) { + // Show as renewal + const license = cart.findLicense(Products[gameId]?.Base?.ProductId); + const now = Math.floor(Date.now() / 1000); + const currentExpiration = license.expiresEpoch; + const currentExpirationDisplay = formatDate(epochToDate(currentExpiration), false); + const startEpoch = (now > currentExpiration) ? ((Math.floor(now / 86400) * 86400) + 86400) : currentExpiration; + const newExpiration = startEpoch + (Products[gameId]?.Renewal?.PlanLengthSeconds * desiredYears); + const newExpirationDisplay = formatDate(epochToDate(newExpiration), false); + + let statusHtml; + if (now > currentExpiration) { + statusHtml = `Renew your update plan
Expired on ${currentExpirationDisplay}
New expiration: ${newExpirationDisplay}`; + } else { + statusHtml = `Extend your update plan
Expires on ${currentExpirationDisplay}
New expiration: ${newExpirationDisplay}`; + } + statusField.innerHTML = statusHtml; + } else if (gameStatus[gameId] === StatusInCart) { + // Show as renewal + basePrice = Products[gameId]?.Renewal?.Price * desiredYears; + statusField.innerText = `Additional renewal years for ${Products[gameId]?.Base?.Name} in your cart.`; + } else { + // Show normal + statusField.innerText = `Includes ${Products[gameId]?.Renewal?.PlanLength} of app updates. Additional years cost ${formatCurrency(Products[gameId]?.Renewal?.Price)} each.`; + basePrice = Products[gameId]?.Base?.Price + (Products[gameId]?.Renewal?.Price * additionalYears); + } } - this.minimalGamesPriceField.innerText = formatCurrency(minimalGamesPrice); + priceField.innerText = formatCurrency(basePrice); - if (this.minimalGamesCheck.disabled === false && this.minimalGamesCheck.checked === true) { - total = total + minimalGamesPrice; + if (checkbox.disabled === false && checkbox.checked === true) { + total = total + basePrice; } } @@ -1179,32 +1292,7 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { this.update(); }, update: function() { - if (arkOnlyMode) { - this.emailField.innerText = cart.email; - this.changeEmailButton.disabled = Boolean(checkoutProperties.forceEmail); - this.changeEmailButton.innerText = cart.email ? 'Change Email' : 'Set Email'; - this.changeEmailButton.classList.remove('hidden'); - this.addMoreButton.classList.add('hidden'); - - if (cart.arkLicense) { - this.wizard.arkOnlyOwnedField.classList.remove('hidden'); - this.wizard.arkOnlyCheck.parentElement.classList.add('hidden'); - } else { - this.wizard.arkOnlyOwnedField.classList.add('hidden'); - this.wizard.arkOnlyCheck.parentElement.classList.remove('hidden'); - } - - const personalCartItem = cart.personalCartItem; - this.wizard.arkOnlyCheck.checked = personalCartItem && personalCartItem.hasArk; - - if (document.activeElement !== this.wizard.arkOnlyGiftField) { - const giftItems = cart.items.filter((cartItem) => { - return cartItem.isGift === true && cartItem.hasArk; - }); - - this.wizard.arkOnlyGiftField.value = giftItems.length; - } - } else if (cart.count > 0) { + if (cart.count > 0) { this.emailField.innerText = cart.email; this.changeEmailButton.disabled = Boolean(checkoutProperties.forceEmail); this.changeEmailButton.innerText = cart.email ? 'Change Email' : 'Set Email'; @@ -1356,15 +1444,13 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { const setViewMode = (animated = true) => { const pageName = window.location.hash.substring(1); if (gamesPanel && gamesPanel.hasPage(pageName)) { - if (storeViewManager.currentView !== 'page-landing') { - storeViewManager.back(animated); - } + storeViewManager.switchView('page-landing', animated); gamesPanel.switchPage(pageName); return; } window.scrollTo(window.scrollX, 0); - if (window.location.hash === '#checkout') { + if (pageName === 'checkout') { storeViewManager.switchView('page-cart', animated); } else { storeViewManager.back(animated); @@ -1374,7 +1460,7 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { buyButton.addEventListener('click', (ev) => { ev.preventDefault(); - if (arkOnlyMode || cart.count > 0) { + if (cart.count > 0) { goToCart(); return; } @@ -1384,6 +1470,28 @@ document.addEventListener('beaconRunCheckout', ({checkoutProperties}) => { }); }); + for (const game of GamesList) { + const gameId = game.gameId; + const gameBuyButton = document.getElementById(`checkout-buy-${gameId.toLowerCase()}-button`); + if (!gameBuyButton) { + continue; + } + + gameBuyButton.addEventListener('click', (ev) => { + ev.preventDefault(); + + const wizardFunction = () => { + wizard.present(null, [gameId], gameId); + }; + + if (cart.count > 0) { + wizardFunction(); + } else { + emailDialog.present(true, wizardFunction); + } + }); + } + landingButton.addEventListener('click', () => { goToLanding(); }); diff --git a/Website/src/scss/_theme.scss b/Website/src/scss/_theme.scss index b69ba709b..fe9053223 100644 --- a/Website/src/scss/_theme.scss +++ b/Website/src/scss/_theme.scss @@ -2080,6 +2080,10 @@ ul.no-markings, ol.no-markings { text-align: center; padding: 16px; + &+& { + margin-top: 1rem; + } + &.notice-warning { border-color: color.mix($text-red, $background-color, 35%); color: $text-red; @@ -2461,12 +2465,14 @@ input.no-stepper { /* !Store */ #checkout-wizard-list { - & > div { + & > .checkout-wizard-list-game { display: flex; align-items: center; - &+div { + &.separated { margin-top: 20px; + padding-top: 20px; + border-top: 1px solid $separator-color; } .checkout-wizard-checkbox-cell { @@ -2722,6 +2728,24 @@ input.no-stepper { animation: shake-keyframes 0.4s linear 1; } +.omni-game-header { + display: flex; + align-items: center; + margin-bottom: 1.5rem; + + .omni-game-header-title { + font-weight: 600; + font-size: 1.5rem; + margin-right: 1.5rem; + flex: 1 1 auto; + } + + .omni-game-header-button { + flex: 0 0 auto; + align-self: flex-start; + } +} + @keyframes shake-keyframes { 0% { transform: translate(10px); diff --git a/Website/src/scss/omni.scss b/Website/src/scss/omni.scss index 336615933..9db2935e9 100644 --- a/Website/src/scss/omni.scss +++ b/Website/src/scss/omni.scss @@ -330,6 +330,14 @@ td.bullet-column { } } +#panel-games { + margin-top: 2rem; +} + +.omni-feature-table { + margin-top: 1rem; +} + @media (prefers-color-scheme: dark) { #checkout_currency_cell a { color: #3486FE; diff --git a/Website/www/assets/css/omni.css b/Website/www/assets/css/omni.css index 3c0392f5c..45f046e23 100644 --- a/Website/www/assets/css/omni.css +++ b/Website/www/assets/css/omni.css @@ -1 +1 @@ -#img_signin_auth{background-image:url(/omni/welcome/auth.png);width:150px;height:118px}#img_signin_import{background-image:url(/omni/welcome/import.png);width:150px;height:59px}#img_signin_password{background-image:url(/omni/welcome/password.png);width:150px;height:59px;clear:left;margin-top:6px}.omni-section{width:95%;margin-left:auto;margin-right:auto;margin-top:3em;margin-bottom:3em;box-sizing:border-box}.action-link+.action-link{margin-left:12px}.signin_step+.signin_step{margin-top:1rem;border-top-width:1px;border-top-style:solid;padding-top:1rem}.signin_text{padding-left:170px}.img_signin{border-width:1px;border-style:solid;background-size:100%;float:left;background-color:rgba(255,255,255,.05)}.img_signin img{display:block}#img_signin_enable{clear:left;margin-top:6px}#img_signin_fields{clear:left;margin-top:6px}.signin_flex{display:flex}.signin_flex+.signin_flex{margin-top:1rem}.signin_flex .signin_flex-images{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - .5rem)}.signin_flex .signin_flex-images img{display:block;border-width:.5px;border-style:solid;box-sizing:border-box;width:100%;height:auto}.signin_flex .signin_flex-text{padding-left:1rem}.signin_flex .signin_flex-text *:first-child{margin-top:0}.signin_flex .signin_flex-text *:last-child{margin-bottom:0}.signin_flex .signin_flex-text h4{margin-top:1.5rem;margin-bottom:.15rem}.signin_flex .signin_flex-text h4+p{margin-top:.15rem}.signin_flex .signin_flex-text p{margin-top:1rem;margin-bottom:1rem}@media only screen and (min-width: 544px){.signin_flex .signin_flex-images{flex-basis:0;width:unset}.signin_flex .signin_flex-images img{width:unset;height:unset}}#checking_container{background-color:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.1);padding:12px;border-radius:6px;text-align:center}@media(prefers-color-scheme: dark){#checking_container{background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1)}}#checking_spinner{vertical-align:middle;margin-right:12px}#checking_text{line-height:1.5em;font-weight:bold}#checking_subtext{font-size:smaller;color:rgba(0,0,0,.8)}@media(prefers-color-scheme: dark){#checking_subtext{color:rgba(255,255,255,.8)}}#purchase_confirmed{display:none}#purchase_unknown{display:none}#purchase_delayed{margin-top:30px;display:none}#signin_instructions{display:none;margin-top:30px}.welcome_content{width:100%;margin-left:auto;margin-right:auto;max-width:500px;box-sizing:border-box}.push{clear:both;overflow:hidden;height:0px}table.generic .bullet-column{width:0px;white-space:nowrap}@media(min-width: 635px){table.generic .bullet-column{width:100px}}table.generic .storefront-quantity-column{min-width:125px;max-width:150px}td.bullet-column{color:green}#cart_back_paragraph{float:left}.price_column{width:115px;text-align:right}.quantity_column{width:75px;text-align:center}#email_section{border-width:1px;border-style:solid;clear:both;padding:20px;margin:20px auto;border-radius:6px;max-width:400px}#checkout_methods_cell{display:flex;flex-wrap:wrap;margin-top:15px;margin-bottom:5px;justify-content:center}#checkout_methods_cell img{margin:5px;float:left;display:block;height:22px}#checkout_methods_cell.usd .usd{display:block}#checkout_methods_cell.usd .eur{display:none}#checkout_methods_cell.usd .gbp{display:none}#checkout_methods_cell.eur .usd{display:none}#checkout_methods_cell.eur .eur{display:block}#checkout_methods_cell.eur .gbp{display:none}#checkout_methods_cell.gbp .usd{display:none}#checkout_methods_cell.gbp .eur{display:none}#checkout_methods_cell.gbp .gbp{display:block}#checkout_button_cell{text-align:center}#checkout_currency_cell{text-align:center;font-size:small}#checkout_currency_cell a{display:inline-block;padding:2px 6px;border-radius:4px;text-decoration:none;margin-left:.2em;margin-right:.2em;color:#084fd1}#checkout_currency_cell a.chosen{background-color:#084fd1;color:#fff}.omni-hero{margin-bottom:1.5rem}.omni-hero img{width:auto;height:auto;max-width:100%;max-height:140px;margin-left:auto;margin-right:auto;display:block}@media(prefers-color-scheme: dark){#checkout_currency_cell a{color:#3486fe}#checkout_currency_cell a.chosen{background-color:#3486fe}} +#img_signin_auth{background-image:url(/omni/welcome/auth.png);width:150px;height:118px}#img_signin_import{background-image:url(/omni/welcome/import.png);width:150px;height:59px}#img_signin_password{background-image:url(/omni/welcome/password.png);width:150px;height:59px;clear:left;margin-top:6px}.omni-section{width:95%;margin-left:auto;margin-right:auto;margin-top:3em;margin-bottom:3em;box-sizing:border-box}.action-link+.action-link{margin-left:12px}.signin_step+.signin_step{margin-top:1rem;border-top-width:1px;border-top-style:solid;padding-top:1rem}.signin_text{padding-left:170px}.img_signin{border-width:1px;border-style:solid;background-size:100%;float:left;background-color:rgba(255,255,255,.05)}.img_signin img{display:block}#img_signin_enable{clear:left;margin-top:6px}#img_signin_fields{clear:left;margin-top:6px}.signin_flex{display:flex}.signin_flex+.signin_flex{margin-top:1rem}.signin_flex .signin_flex-images{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - .5rem)}.signin_flex .signin_flex-images img{display:block;border-width:.5px;border-style:solid;box-sizing:border-box;width:100%;height:auto}.signin_flex .signin_flex-text{padding-left:1rem}.signin_flex .signin_flex-text *:first-child{margin-top:0}.signin_flex .signin_flex-text *:last-child{margin-bottom:0}.signin_flex .signin_flex-text h4{margin-top:1.5rem;margin-bottom:.15rem}.signin_flex .signin_flex-text h4+p{margin-top:.15rem}.signin_flex .signin_flex-text p{margin-top:1rem;margin-bottom:1rem}@media only screen and (min-width: 544px){.signin_flex .signin_flex-images{flex-basis:0;width:unset}.signin_flex .signin_flex-images img{width:unset;height:unset}}#checking_container{background-color:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.1);padding:12px;border-radius:6px;text-align:center}@media(prefers-color-scheme: dark){#checking_container{background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1)}}#checking_spinner{vertical-align:middle;margin-right:12px}#checking_text{line-height:1.5em;font-weight:bold}#checking_subtext{font-size:smaller;color:rgba(0,0,0,.8)}@media(prefers-color-scheme: dark){#checking_subtext{color:rgba(255,255,255,.8)}}#purchase_confirmed{display:none}#purchase_unknown{display:none}#purchase_delayed{margin-top:30px;display:none}#signin_instructions{display:none;margin-top:30px}.welcome_content{width:100%;margin-left:auto;margin-right:auto;max-width:500px;box-sizing:border-box}.push{clear:both;overflow:hidden;height:0px}table.generic .bullet-column{width:0px;white-space:nowrap}@media(min-width: 635px){table.generic .bullet-column{width:100px}}table.generic .storefront-quantity-column{min-width:125px;max-width:150px}td.bullet-column{color:green}#cart_back_paragraph{float:left}.price_column{width:115px;text-align:right}.quantity_column{width:75px;text-align:center}#email_section{border-width:1px;border-style:solid;clear:both;padding:20px;margin:20px auto;border-radius:6px;max-width:400px}#checkout_methods_cell{display:flex;flex-wrap:wrap;margin-top:15px;margin-bottom:5px;justify-content:center}#checkout_methods_cell img{margin:5px;float:left;display:block;height:22px}#checkout_methods_cell.usd .usd{display:block}#checkout_methods_cell.usd .eur{display:none}#checkout_methods_cell.usd .gbp{display:none}#checkout_methods_cell.eur .usd{display:none}#checkout_methods_cell.eur .eur{display:block}#checkout_methods_cell.eur .gbp{display:none}#checkout_methods_cell.gbp .usd{display:none}#checkout_methods_cell.gbp .eur{display:none}#checkout_methods_cell.gbp .gbp{display:block}#checkout_button_cell{text-align:center}#checkout_currency_cell{text-align:center;font-size:small}#checkout_currency_cell a{display:inline-block;padding:2px 6px;border-radius:4px;text-decoration:none;margin-left:.2em;margin-right:.2em;color:#084fd1}#checkout_currency_cell a.chosen{background-color:#084fd1;color:#fff}.omni-hero{margin-bottom:1.5rem}.omni-hero img{width:auto;height:auto;max-width:100%;max-height:140px;margin-left:auto;margin-right:auto;display:block}#panel-games{margin-top:2rem}.omni-feature-table{margin-top:1rem}@media(prefers-color-scheme: dark){#checkout_currency_cell a{color:#3486fe}#checkout_currency_cell a.chosen{background-color:#3486fe}} diff --git a/Website/www/assets/css/theme-beacon-dark.css b/Website/www/assets/css/theme-beacon-dark.css index 21f744f27..44bffee78 100644 --- a/Website/www/assets/css/theme-beacon-dark.css +++ b/Website/www/assets/css/theme-beacon-dark.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#262626;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#599ae2}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#16a916;color:#262626}.platform_tag.playstation,.tag.playstation{background-color:#458bff;color:#262626}.platform_tag.pc,.tag.pc{background-color:#da8b10;color:#333}.platform_tag.nintendo,.tag.nintendo{background-color:#ff4d5b;color:#262626}.platform_tag.red,.tag.red{background-color:#e77681;color:#262626}.platform_tag.grey,.tag.grey{background-color:#868e96;color:#262626}.platform_tag.blue,.tag.blue{background-color:#408cfd;color:#262626}.platform_tag.green,.tag.green{background-color:#21b26f;color:#333}.platform_tag.yellow,.tag.yellow{background-color:#ffc107;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#0dcaf0;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ff534a}.text-green{color:#28cd41}.text-blue{color:#3395ff}.text-purple{color:#c37de6}.text-yellow{color:#fc0}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#939393}.text-lighter{color:#939393}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#474747}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#6c6c6c;color:#d5d5d5;background-color:#2d2d2d}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#313131}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#2b252c}table.generic tbody>tr:nth-child(odd){background-color:#262626}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#474747}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#d9d9d9}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#474747;color:#939393}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#262626;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#474747}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#d9d9d9}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#d9d9d9 rgba(0,0,0,0) #d9d9d9 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#6d6d6d rgba(0,0,0,0) #6d6d6d rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #7d7d7d;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#262626;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ff534a}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #7d7d7d;background-color:#2d2d2d;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#171717;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #7d7d7d;box-sizing:border-box;border-radius:.25rem;background-color:#2d2d2d}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#bebebe}label.invalid,span.invalid,p.invalid,div.invalid{color:#ff534a}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#a6a6a6}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#d9d9d9}label.checkbox :active+span{background-color:#000;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #939393;background-color:#262626;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#d9d9d9}div.select select:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}div.select span:after{color:#d9d9d9}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#262626;border-color:#474747}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#d9d9d9;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#d9d9d9}#explore_popover ul li a:hover .result_type{color:#d9d9d9;border-color:#d9d9d9}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#474747;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#262626}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#262626}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #474747;border-bottom:1px solid #474747}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#d9d9d9}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#373737}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#2a2a2a;text-shadow:0px 1px 0px #262626;border-top-color:#343434}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#474747}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#939393}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#676767}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#303030}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#474747}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#723633;color:#ff534a;background-color:#2d2727}.notice-block.notice-caution{border-color:#726019;color:#fc0;background-color:#2d2b25}.notice-block.notice-info{border-color:#2b4d72;color:#3395ff;background-color:#26292d}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#474747}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#dc4ff0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#d9d9d9}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#313131;background-color:#2a2a2a;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#599ae2;color:#d9d9d9;border-color:#599ae2}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#3c3c3c}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#313131}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#28cd41;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #474747;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #474747;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#30373a;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:skyblue}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #474747;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#2a2a2a;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a6a6a' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#dc4ff0}.game-name{color:#3395ff}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #474747}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #474747}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark{filter:brightness(0) invert(1)}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:unset}.light-only{display:none} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#262626;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#599ae2}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#16a916;color:#262626}.platform_tag.playstation,.tag.playstation{background-color:#458bff;color:#262626}.platform_tag.pc,.tag.pc{background-color:#da8b10;color:#333}.platform_tag.nintendo,.tag.nintendo{background-color:#ff4d5b;color:#262626}.platform_tag.red,.tag.red{background-color:#e77681;color:#262626}.platform_tag.grey,.tag.grey{background-color:#868e96;color:#262626}.platform_tag.blue,.tag.blue{background-color:#408cfd;color:#262626}.platform_tag.green,.tag.green{background-color:#21b26f;color:#333}.platform_tag.yellow,.tag.yellow{background-color:#ffc107;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#0dcaf0;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ff534a}.text-green{color:#28cd41}.text-blue{color:#3395ff}.text-purple{color:#c37de6}.text-yellow{color:#fc0}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#939393}.text-lighter{color:#939393}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#474747}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#6c6c6c;color:#d5d5d5;background-color:#2d2d2d}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#313131}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#2b252c}table.generic tbody>tr:nth-child(odd){background-color:#262626}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#474747}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#d9d9d9}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#474747;color:#939393}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#262626;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#474747}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#d9d9d9}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#d9d9d9 rgba(0,0,0,0) #d9d9d9 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#6d6d6d rgba(0,0,0,0) #6d6d6d rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #7d7d7d;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#262626;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ff534a}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #7d7d7d;background-color:#2d2d2d;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#171717;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #7d7d7d;box-sizing:border-box;border-radius:.25rem;background-color:#2d2d2d}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#bebebe}label.invalid,span.invalid,p.invalid,div.invalid{color:#ff534a}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#a6a6a6}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#d9d9d9}label.checkbox :active+span{background-color:#000;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #939393;background-color:#262626;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#d9d9d9}div.select select:not(:disabled):active{background-color:#4e0858;color:#6d6d6d}div.select span:after{color:#d9d9d9}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#262626;border-color:#474747}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#d9d9d9;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#d9d9d9}#explore_popover ul li a:hover .result_type{color:#d9d9d9;border-color:#d9d9d9}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#474747;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#262626}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#262626}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #474747;border-bottom:1px solid #474747}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#d9d9d9}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#373737}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#2a2a2a;text-shadow:0px 1px 0px #262626;border-top-color:#343434}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#474747}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#939393}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#676767}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#303030}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#474747}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block+.notice-block{margin-top:1rem}.notice-block.notice-warning{border-color:#723633;color:#ff534a;background-color:#2d2727}.notice-block.notice-caution{border-color:#726019;color:#fc0;background-color:#2d2b25}.notice-block.notice-info{border-color:#2b4d72;color:#3395ff;background-color:#26292d}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#474747}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#dc4ff0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#d9d9d9}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#313131;background-color:#2a2a2a;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#d9d9d9;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#599ae2;color:#d9d9d9;border-color:#599ae2}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#3c3c3c}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#313131}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>.checkout-wizard-list-game{display:flex;align-items:center}#checkout-wizard-list>.checkout-wizard-list-game.separated{margin-top:20px;padding-top:20px;border-top:1px solid #474747}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#28cd41;font-size:.9em}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #474747;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #474747;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#30373a;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:skyblue}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #474747;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}.omni-game-header{display:flex;align-items:center;margin-bottom:1.5rem}.omni-game-header .omni-game-header-title{font-weight:600;font-size:1.5rem;margin-right:1.5rem;flex:1 1 auto}.omni-game-header .omni-game-header-button{flex:0 0 auto;align-self:flex-start}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#2a2a2a;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a6a6a' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#dc4ff0}.game-name{color:#3395ff}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #474747}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #474747}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark{filter:brightness(0) invert(1)}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:unset}.light-only{display:none} diff --git a/Website/www/assets/css/theme-beacon.css b/Website/www/assets/css/theme-beacon.css index 796123416..a14ae5942 100644 --- a/Website/www/assets/css/theme-beacon.css +++ b/Website/www/assets/css/theme-beacon.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#414141;background-color:#fff;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#2472cb}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#107c10;color:#fff}.platform_tag.playstation,.tag.playstation{background-color:#003791;color:#fff}.platform_tag.pc,.tag.pc{background-color:#925e0b;color:#fff}.platform_tag.nintendo,.tag.nintendo{background-color:#e60012;color:#fff}.platform_tag.red,.tag.red{background-color:#dc3545;color:#fff}.platform_tag.grey,.tag.grey{background-color:#6c757d;color:#fff}.platform_tag.blue,.tag.blue{background-color:#0d6efd;color:#fff}.platform_tag.green,.tag.green{background-color:#198754;color:#fff}.platform_tag.yellow,.tag.yellow{background-color:#876500;color:#eff1f3}.platform_tag.cyan,.tag.cyan{background-color:#08798f;color:#fefefe}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#e30c00}.text-green{color:#177826}.text-blue{color:#006ee6}.text-purple{color:#a53dda}.text-yellow{color:#806600}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#a0a0a0}.text-lighter{color:#a0a0a0}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(65,65,65,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#e3e3e3}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#c2c2c2;color:#666;background-color:#f9f9f9}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#f6f6f6}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#fbf5fc}table.generic tbody>tr:nth-child(odd){background-color:#fff}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#e3e3e3}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#fff}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#e3e3e3;color:#a0a0a0}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#fff;border-color:rgba(65,65,65,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(65,65,65,.6)}#header_links_cell ul li a:hover{border-color:rgba(65,65,65,.4)}#header_links_cell ul li a:active{background-color:rgba(65,65,65,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#e3e3e3}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#fff}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:gray}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #b3b3b3;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#fff;color:#414141}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#414141;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#e30c00}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #b3b3b3;background-color:#f9f9f9;color:#414141}.input-group button .spinner:after{border-color:#414141 rgba(0,0,0,0) #414141 rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#7d7d7d;color:#212121}.input-group button:not(:disabled):active .spinner:after{border-color:#212121 rgba(0,0,0,0) #212121 rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #b3b3b3;box-sizing:border-box;border-radius:.25rem;background-color:#f9f9f9}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#7a7a7a}label.invalid,span.invalid,p.invalid,div.invalid{color:#e30c00}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#ccc}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#fff}label.checkbox :active+span{background-color:#ccc;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #a0a0a0;background-color:#fff;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#fff}div.select select:not(:disabled):active{background-color:#4e0858;color:gray}div.select span:after{color:#fff}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-color:#e3e3e3}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#414141}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(65,65,65,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(65,65,65,.4);border-color:rgba(65,65,65,.2)}#explore_popover ul li a:hover{color:#fff;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#fff}#explore_popover ul li a:hover .result_type{color:#fff;border-color:#fff}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#e3e3e3;color:#414141}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(65,65,65,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(65,65,65,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(65,65,65,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#fff}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#fff}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#fff}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#f1f1f1}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#fbfbfb;text-shadow:0px 1px 0px #fff;border-top-color:#f3f3f3}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#e3e3e3}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#a0a0a0}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#c6c6c6}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#f7f7f7}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#e3e3e3}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#f5aaa6;color:#e30c00;background-color:#fef8f7}.notice-block.notice-caution{border-color:#d3c9a6;color:#806600;background-color:#fbfaf7}.notice-block.notice-info{border-color:#a6ccf6;color:#006ee6;background-color:#f7fbfe}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(65,65,65,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#e3e3e3}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#9c0fb0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#fff}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#f6f6f6;background-color:#fbfbfb;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#2472cb;color:#fff;border-color:#2472cb}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(65,65,65,.02);border-color:rgba(65,65,65,.1);color:rgba(65,65,65,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#ececec}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#f6f6f6}#browse_results div.properties-text{color:rgba(65,65,65,.5);border-color:rgba(65,65,65,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#177826;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #e3e3e3;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #e3e3e3;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#f3fafd;color:#506c77}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#186c8e}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #e3e3e3;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(65,65,65,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#fbfbfb;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c3c3c3' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#9c0fb0}.game-name{color:#006ee6}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #e3e3e3}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #e3e3e3}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:none}.light-only{display:unset} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#414141;background-color:#fff;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(65,65,65,.05);border-color:rgba(65,65,65,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#2472cb}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#107c10;color:#fff}.platform_tag.playstation,.tag.playstation{background-color:#003791;color:#fff}.platform_tag.pc,.tag.pc{background-color:#925e0b;color:#fff}.platform_tag.nintendo,.tag.nintendo{background-color:#e60012;color:#fff}.platform_tag.red,.tag.red{background-color:#dc3545;color:#fff}.platform_tag.grey,.tag.grey{background-color:#6c757d;color:#fff}.platform_tag.blue,.tag.blue{background-color:#0d6efd;color:#fff}.platform_tag.green,.tag.green{background-color:#198754;color:#fff}.platform_tag.yellow,.tag.yellow{background-color:#876500;color:#eff1f3}.platform_tag.cyan,.tag.cyan{background-color:#08798f;color:#fefefe}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#e30c00}.text-green{color:#177826}.text-blue{color:#006ee6}.text-purple{color:#a53dda}.text-yellow{color:#806600}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#a0a0a0}.text-lighter{color:#a0a0a0}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(65,65,65,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#e3e3e3}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#c2c2c2;color:#666;background-color:#f9f9f9}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#f6f6f6}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#fbf5fc}table.generic tbody>tr:nth-child(odd){background-color:#fff}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#e3e3e3}table.generic thead,table.generic tr.header{background-color:#9c0fb0;color:#fff}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#9c0fb0;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#e3e3e3;color:#a0a0a0}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#fff;border-color:rgba(65,65,65,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(65,65,65,.6)}#header_links_cell ul li a:hover{border-color:rgba(65,65,65,.4)}#header_links_cell ul li a:active{background-color:rgba(65,65,65,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#9c0fb0;fill:#9c0fb0}.separator-color{border-color:#e3e3e3}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#5c636a;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#2e3235;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#bb2d3b;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#5e171e;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#9c0fb0;color:#fff}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:#4e0858;color:gray}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #b3b3b3;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#fff;color:#414141}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#414141;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#e30c00}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #b3b3b3;background-color:#f9f9f9;color:#414141}.input-group button .spinner:after{border-color:#414141 rgba(0,0,0,0) #414141 rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#7d7d7d;color:#212121}.input-group button:not(:disabled):active .spinner:after{border-color:#212121 rgba(0,0,0,0) #212121 rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #b3b3b3;box-sizing:border-box;border-radius:.25rem;background-color:#f9f9f9}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#7a7a7a}label.invalid,span.invalid,p.invalid,div.invalid{color:#e30c00}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(156,15,176,0);border-color:#9c0fb0}label.checkbox span:after{background-color:#9c0fb0}label.checkbox :checked:active+span{background-color:#490752;border-color:#490752}label.checkbox :checked:active+span:after{background-color:#ccc}label.checkbox :checked+span{background-color:#9c0fb0}label.checkbox :checked+span:after{background-color:#fff}label.checkbox :active+span{background-color:#ccc;border-color:#490752}label.checkbox :active:after{background-color:#490752}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #a0a0a0;background-color:#fff;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#9c0fb0}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#9c0fb0;color:#fff}div.select select:not(:disabled):active{background-color:#4e0858;color:gray}div.select span:after{color:#fff}div.select.gray select{background-color:#5c636a;color:#fff}div.select.gray select:not(:disabled):active{background-color:#2e3235;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#bb2d3b;color:#fff}div.select.red select:not(:disabled):active{background-color:#5e171e;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-color:#e3e3e3}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#414141}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(65,65,65,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(65,65,65,.4);border-color:rgba(65,65,65,.2)}#explore_popover ul li a:hover{color:#fff;background-color:#9c0fb0}#explore_popover ul li a:hover .result_preview{color:#fff}#explore_popover ul li a:hover .result_type{color:#fff;border-color:#fff}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#e3e3e3;color:#414141}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(65,65,65,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(65,65,65,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(65,65,65,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#fff}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#fff}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#9c0fb0;background-color:none}#account_toolbar_menu div.active{background-color:#9c0fb0}#account_toolbar_menu div.active a{color:#fff}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#f1f1f1}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#fbfbfb;text-shadow:0px 1px 0px #fff;border-top-color:#f3f3f3}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#e3e3e3}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#a0a0a0}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#9c0fb0;border-left-color:#9c0fb0}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#c6c6c6}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#f7f7f7}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#e3e3e3}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block+.notice-block{margin-top:1rem}.notice-block.notice-warning{border-color:#f5aaa6;color:#e30c00;background-color:#fef8f7}.notice-block.notice-caution{border-color:#d3c9a6;color:#806600;background-color:#fbfaf7}.notice-block.notice-info{border-color:#a6ccf6;color:#006ee6;background-color:#f7fbfe}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(65,65,65,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#e3e3e3}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#9c0fb0;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#9c0fb0;color:#fff}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#f6f6f6;background-color:#fbfbfb;text-decoration:none}.pagination-controls .pagination-current{background-color:#9c0fb0;color:#fff;border-color:#9c0fb0}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#2472cb;color:#fff;border-color:#2472cb}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(65,65,65,.02);border-color:rgba(65,65,65,.1);color:rgba(65,65,65,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#ececec}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#f6f6f6}#browse_results div.properties-text{color:rgba(65,65,65,.5);border-color:rgba(65,65,65,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>.checkout-wizard-list-game{display:flex;align-items:center}#checkout-wizard-list>.checkout-wizard-list-game.separated{margin-top:20px;padding-top:20px;border-top:1px solid #e3e3e3}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#177826;font-size:.9em}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #e3e3e3;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #e3e3e3;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#f3fafd;color:#506c77}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#186c8e}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #e3e3e3;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}.omni-game-header{display:flex;align-items:center;margin-bottom:1.5rem}.omni-game-header .omni-game-header-title{font-weight:600;font-size:1.5rem;margin-right:1.5rem;flex:1 1 auto}.omni-game-header .omni-game-header-button{flex:0 0 auto;align-self:flex-start}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(65,65,65,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#fbfbfb;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c3c3c3' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#9c0fb0}.game-name{color:#006ee6}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #e3e3e3}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #e3e3e3}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}.accented-foreground{filter:invert(22%) sepia(68%) saturate(2401%) hue-rotate(271deg) brightness(88%) contrast(105%)}.dark-only{display:none}.light-only{display:unset} diff --git a/Website/www/assets/css/theme-purple.css b/Website/www/assets/css/theme-purple.css index 9fea31286..8f69bf600 100644 --- a/Website/www/assets/css/theme-purple.css +++ b/Website/www/assets/css/theme-purple.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#9c0fb0;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#c6dcf5}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#83ef83;color:#595959}.platform_tag.playstation,.tag.playstation{background-color:#c4daff;color:#595959}.platform_tag.pc,.tag.pc{background-color:#f7cd8c;color:#595959}.platform_tag.nintendo,.tag.nintendo{background-color:#ffcdd0;color:#595959}.platform_tag.red,.tag.red{background-color:#f6cdd1;color:#595959}.platform_tag.grey,.tag.grey{background-color:#d8dbdd;color:#595959}.platform_tag.blue,.tag.blue{background-color:#bed8fe;color:#595959}.platform_tag.green,.tag.green{background-color:#84e8ba;color:#595959}.platform_tag.yellow,.tag.yellow{background-color:#ffce3a;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#84e5f8;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ffccc9}.text-green{color:#8ce99a}.text-blue{color:#b3d7ff}.text-purple{color:#ead2f7}.text-yellow{color:#ffd11a}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#ce87d8}.text-lighter{color:#ce87d8}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#ab33bc}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#bc5cc9;color:#ecd0f0;background-color:#9f16b2}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#a11bb4}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#a019b3}table.generic tbody>tr:nth-child(odd){background-color:#9c0fb0}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#ab33bc}table.generic thead,table.generic tr.header{background-color:#fff;color:#9c0fb0}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#fff;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#ab33bc;color:#ce87d8}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#9c0fb0;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#fff;fill:#fff}.separator-color{border-color:#ab33bc}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#ab33bc;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#561a5e;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#eb142a;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#760a15;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#fff;color:#9c0fb0}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:gray;color:#4e0858}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#4e0858 rgba(0,0,0,0) #4e0858 rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #c46fd0;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#9c0fb0;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ffccc9}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #c46fd0;background-color:#9f16b2;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#500b59;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #c46fd0;box-sizing:border-box;border-radius:.25rem;background-color:#9f16b2}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#e1b7e7}label.invalid,span.invalid,p.invalid,div.invalid{color:#ffccc9}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(255,255,255,0);border-color:#fff}label.checkbox span:after{background-color:#fff}label.checkbox :checked:active+span{background-color:#ccc;border-color:#ccc}label.checkbox :checked:active+span:after{background-color:#490752}label.checkbox :checked+span{background-color:#fff}label.checkbox :checked+span:after{background-color:#9c0fb0}label.checkbox :active+span{background-color:#490752;border-color:#ccc}label.checkbox :active:after{background-color:#ccc}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #ce87d8;background-color:#9c0fb0;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#fff}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#fff;color:#9c0fb0}div.select select:not(:disabled):active{background-color:gray;color:#4e0858}div.select span:after{color:#9c0fb0}div.select.gray select{background-color:#ab33bc;color:#fff}div.select.gray select:not(:disabled):active{background-color:#561a5e;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#eb142a;color:#fff}div.select.red select:not(:disabled):active{background-color:#760a15;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#9c0fb0;border-color:#ab33bc}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#9c0fb0;background-color:#fff}#explore_popover ul li a:hover .result_preview{color:#9c0fb0}#explore_popover ul li a:hover .result_type{color:#9c0fb0;border-color:#9c0fb0}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#ab33bc;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#9c0fb0}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#9c0fb0}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #ab33bc;border-bottom:1px solid #ab33bc}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#fff;background-color:none}#account_toolbar_menu div.active{background-color:#fff}#account_toolbar_menu div.active a{color:#9c0fb0}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#a421b6}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#9e14b2;text-shadow:0px 1px 0px #9c0fb0;border-top-color:#a31fb6}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#ab33bc}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#ce87d8}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#fff;border-left-color:#fff}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#ba57c8}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#a11ab4}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#ab33bc}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block.notice-warning{border-color:#bf51b9;color:#ffccc9;background-color:#9f15b1}.notice-block.notice-caution{border-color:#bf537c;color:#ffd11a;background-color:#9f15ac}.notice-block.notice-info{border-color:#a455cc;color:#b3d7ff;background-color:#9d15b2}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#ab33bc}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#fff;color:#9c0fb0;border-color:#fff}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#fff;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#fff;color:#9c0fb0}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#a11bb4;background-color:#9e14b2;text-decoration:none}.pagination-controls .pagination-current{background-color:#fff;color:#9c0fb0;border-color:#fff}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#c6dcf5;color:#9c0fb0;border-color:#c6dcf5}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#a627b8}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#a11bb4}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>div{display:flex;align-items:center}#checkout-wizard-list>div+div{margin-top:20px}#checkout-wizard-list>div .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>div .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>div .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#8ce99a;font-size:.9em}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>div .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>div .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>div .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #ab33bc;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #ab33bc;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#9a22b6;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#b3e0f2}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #ab33bc;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#9e14b2;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23bb5bc9' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#fff}.game-name{color:#b3d7ff}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #ab33bc}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #ab33bc}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark,.accented-foreground{filter:brightness(0) invert(1)}.dark-only{display:unset}.light-only{display:none} +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/4c416e66-c769-51a5-a337-ad832ad2e74a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/0842acdd-1516-53e8-a07d-ded3b64aba16.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/7c7d8d1f-3387-5d0f-9110-4b3a57111e3a.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/f13cc6a0-67e3-5260-b676-7f411573d880.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/8a252637-447c-5992-bbab-0f6d8488e53e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/6e6237d0-47c2-532a-8c66-b8a1f411afbb.woff) format("woff");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcecodepro/fb7509bc-2466-5fd4-a06a-4e9769262bed.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/cd80694f-b33d-508d-907e-7544db677936.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/78f748da-0e7b-5feb-aeae-a6b3b7a72fbb.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/0f3938f3-e96b-588f-af3a-ba8b244f5c62.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b95003c5-6216-5e4c-a68b-40a22643520d.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/83549da6-17a0-5f7e-afb7-bfd2913cebc8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/bae9ad58-d401-5d8d-8885-e653187e8945.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/56c68f48-8586-5f86-a831-5341d8f8893e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/049831a8-098c-5e17-b9b7-3d4d147220b8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/099262aa-4d57-59f2-95f5-89baa13aeb31.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/b4c545b6-4511-5a9f-8754-22b7acf2d1cf.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/90df22a0-015c-52a7-9cbf-ddd09ade4fbd.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/2134ded7-88ee-5959-bb8d-8be588893e60.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba0a93ec-d1e4-5657-808d-e3c06cac07d3.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sourcesanspro/611734bb-b7fa-5cd8-be7e-0185b98d7968.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/03db3c69-1325-596b-a3e5-1ab821511b04.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/36c309c3-ea5a-583d-808b-4001bca13238.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/b6fd8ba7-a279-5d7d-9bcb-f85971b2980f.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/7c2623bd-f50f-5fc6-b037-d2cf4948a4a4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/a8b3a121-1cae-5965-8e16-0aa443bda51d.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/16115b0a-c537-59b3-b8af-70ec055da4b2.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourcesanspro/9a0511ad-4231-545f-8ef4-f35d35fbb60c.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/bdde82bb-f944-551f-836a-4c05e0f1573f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/d26025f7-d2e5-54d4-aa4d-2e25b1c8c4cf.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/15f136cb-e12c-5694-887e-1dc9ed9259a4.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/87121b63-28d6-5847-8a68-1218b8ba3738.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/ba62d068-2dab-5fb6-9e0e-b2ce6830c777.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/a1fa33d8-a2d4-5fdb-988a-69860d54fcef.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourcesanspro/fdc908e0-7ba0-5e1b-be7c-7b60913a7e89.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6921b0ca-4eb6-5888-896b-f5e043beb61e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/9b3d0111-ea94-5ed8-85ee-c4f8c0838f54.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6bcf4d01-711e-5b49-a4ae-4b72c5a950c6.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/1eafcd61-b347-5326-aa01-28314ba55db8.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/6c0dcb70-dff7-591a-a43d-3d94def35579.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/eb85d155-2a94-58f6-b344-3c0a4747ee4d.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourcesanspro/b58ffa91-9940-5088-8866-d6f8bce9c45d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.w-0{width:0%}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.m-0{margin:0px !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.my-0{margin-top:0px !important;margin-bottom:0px !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mx-0{margin-left:0px !important;margin-right:0px !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mt-0{margin-top:0px !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.ml-0{margin-left:0px !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.mr-0{margin-right:0px !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mb-0{margin-bottom:0px !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.p-0{padding:0px !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.py-0{padding-top:0px !important;padding-bottom:0px !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.px-0{padding-left:0px !important;padding-right:0px !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:1rem !important;padding-right:1rem !important}.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}.pt-0{padding-top:0px !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pl-0{padding-left:0px !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.pr-0{padding-right:0px !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0px !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}html{font-family:"Source Sans Pro",sans-serif;font-weight:400;font-style:normal;font-size:14px;color:#fff;background-color:#9c0fb0;font-kerning:normal}*:first-child{margin-top:0px}*:last-child{margin-bottom:0px}b,strong,.bold{font-weight:700}i,em,.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}p,h1,h2,h3{margin-bottom:15px;margin-top:15px}code,.code{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal;border-width:1px;border-style:solid;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;line-height:2rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre{border-width:1px;border-style:solid;padding:.6rem;border-radius:.4rem;overflow:auto;margin:10px;display:block;font-size:.8rem;background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}pre code,pre .code{background:none;padding:0px;border-radius:0px;border:none}a{word-break:break-word;color:#c6dcf5}a.username-suggestion{font-style:italic}.source-code-font{font-family:"Source Code Pro",monospace;font-weight:400;font-style:normal}.break-code{word-break:break-word}.break-code code{display:revert;word-break:break-all;border:none;padding:0px;background:none}.platform_tag,.tag{border-radius:.25em;line-height:1;font-weight:700;display:inline-block;padding:.35em .65em;font-size:.75em}.platform_tag+.platform_tag,.platform_tag+.tag,.tag+.platform_tag,.tag+.tag{margin-left:6px}.platform_tag.left-space,.tag.left-space{margin-left:1em}.platform_tag.right-space,.tag.right-space{margin-right:1em}.platform_tag.xbox,.tag.xbox{background-color:#83ef83;color:#595959}.platform_tag.playstation,.tag.playstation{background-color:#c4daff;color:#595959}.platform_tag.pc,.tag.pc{background-color:#f7cd8c;color:#595959}.platform_tag.nintendo,.tag.nintendo{background-color:#ffcdd0;color:#595959}.platform_tag.red,.tag.red{background-color:#f6cdd1;color:#595959}.platform_tag.grey,.tag.grey{background-color:#d8dbdd;color:#595959}.platform_tag.blue,.tag.blue{background-color:#bed8fe;color:#595959}.platform_tag.green,.tag.green{background-color:#84e8ba;color:#595959}.platform_tag.yellow,.tag.yellow{background-color:#ffce3a;color:#212529}.platform_tag.cyan,.tag.cyan{background-color:#84e5f8;color:#212529}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-red{color:#ffccc9}.text-green{color:#8ce99a}.text-blue{color:#b3d7ff}.text-purple{color:#ead2f7}.text-yellow{color:#ffd11a}.larger{font-size:larger}.smaller{font-size:smaller}.mini{font-size:small}.redacted{text-decoration:line-through}.nowrap{white-space:nowrap}.push{clear:both;height:0px;max-height:0px;overflow:hidden}.pagebody{min-width:320px;width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left, 20px));padding-right:max(20px,env(safe-area-inset-right, 20px));box-sizing:border-box}.reduced-width{max-width:800px;margin-left:auto;margin-right:auto}.indent{margin-left:40px}.hidden{display:none !important}.invisible{opacity:0}div.small_section{max-width:400px;margin-left:auto;margin-right:auto}div.medium_section{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.option_group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1rem}.button-group *{margin:0px}.double-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.double-group div{margin:0px}.double-group div:nth-child(1){flex:1 1 auto;text-align:left}.double-group div:nth-child(2){flex:1 1 auto;text-align:right}.tripe-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.tripe-group div{margin:0px}.tripe-group div:nth-child(1){flex:0 1 auto;text-align:left}.tripe-group div:nth-child(2){flex:1 1 auto;text-align:center}.tripe-group div:nth-child(3){flex:0 1 auto;text-align:right}h1{font-size:16.8px}h2{font-size:15.4px}h3{font-size:14px}h1,h2,h3{font-weight:600}h1 .subtitle,h2 .subtitle,h3 .subtitle{font-weight:300;font-size:.8rem;line-height:.8rem}.user-suffix{font-weight:300;color:#ce87d8}.text-lighter{color:#ce87d8}span.object_type{font-weight:300;font-size:smaller;float:right;color:rgba(255,255,255,.35)}.inset-note{border-width:1px;border-style:solid;margin-left:30px;margin-right:30px;padding:15px;border-color:#ab33bc}blockquote{border-left-width:3px;border-left-style:solid;margin-left:0px;margin-right:0px;padding-left:30px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-left-color:#bc5cc9;color:#ecd0f0;background-color:#9f16b2}blockquote p:first-child{margin-top:0px !important}blockquote p:last-child{margin-bottom:0px !important}div.visual-group{padding:20px;border-radius:10px;box-shadow:0px 2px 4px rgba(0,0,0,.15);background-color:#a11bb4}div.visual-group h1,div.visual-group h2,div.visual-group h3{margin-bottom:20px}div.visual-group+div.visual-group{margin-top:20px}table.generic{border-collapse:collapse;width:100%;border-width:1px;border-style:solid}table.generic tbody>tr:nth-child(even){background-color:#a019b3}table.generic tbody>tr:nth-child(odd){background-color:#9c0fb0}table.generic.no-row-colors tbody tr{background-color:rgba(0,0,0,0)}table.generic td,table.generic th{border-width:1px;border-style:solid;padding:6pt;border-color:#ab33bc}table.generic thead,table.generic tr.header{background-color:#fff;color:#9c0fb0}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{text-align:left;font-weight:400;border-color:#fff;color:inherit}table.generic ul{list-style:none;padding-left:0px}table.generic ul span.crafting_quantity{display:inline-block;min-width:40px;text-align:right}table.generic ul ul{padding-left:40px}table.generic div.row-details{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:start;font-size:10pt;border-top-style:solid;border-top-width:1px;margin-top:8pt;margin-bottom:-2pt;padding-top:2pt;word-break:break-word;border-color:#ab33bc;color:#ce87d8}table.generic div.row-details span.detail{margin:4pt}table.generic div.row-details a{word-break:normal}table.generic .low-priority{display:none}table.generic .min-width{width:1px;white-space:nowrap}table.generic.auto-width{width:auto}#header_wrapper{border-bottom-width:1px;border-bottom-style:solid;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky;top:0px;left:0px;right:0px;z-index:99;padding-top:max(10px,env(safe-area-inset-top, 10px));padding-bottom:10px;background-color:#9c0fb0;border-color:rgba(255,255,255,.1)}#header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#header_logo_cell{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}#header_logo{height:60px;vertical-align:top}#header_links_cell{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;overflow:hidden}#header_links_cell ul{list-style-type:none;margin:10px 0px 0px 0px;padding:0;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#header_links_cell ul li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0;text-align:center;white-space:nowrap;vertical-align:center}#header_links_cell ul li+li{margin-left:2px}#header_links_cell ul li a{display:block;text-align:center;text-decoration:none;padding:.2em .5em;border-radius:1em;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-property:border-color,color,background-color,border-radius;-o-transition-property:border-color,color,background-color,border-radius;transition-property:border-color,color,background-color,border-radius;color:rgba(255,255,255,.6)}#header_links_cell ul li a:hover{border-color:rgba(255,255,255,.4)}#header_links_cell ul li a:active{background-color:rgba(255,255,255,.2)}@media(min-width: 340px){#header_links_cell ul li a{padding-left:.75em;padding-right:.75em}}.accent-color{color:#fff;fill:#fff}.separator-color{border-color:#ab33bc}:target:before{content:"";display:block;height:150px;margin:-150px 0 0}#content_wrapper{margin-top:20px;line-height:1.7rem}#footer{font-size:.8em;text-align:center;margin-top:40px;margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}#footer a.external_logo{margin-left:6px;margin-right:6px}#footer a.external_logo img{border:none}button,input[type=button],input[type=submit],input[type=reset],a.button{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.375rem .75rem;text-align:center;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,opacity;-o-transition-property:background-color,color,opacity;transition-property:background-color,color,opacity;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;line-height:1.5em;font-weight:400;background-color:#ab33bc;color:#fff}button.small,input[type=button].small,input[type=submit].small,input[type=reset].small,a.button.small{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}button.large,input[type=button].large,input[type=submit].large,input[type=reset].large,a.button.large{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}button+button,button+input[type=button],button+input[type=submit],button+input[type=reset],button+a.button,input[type=button]+button,input[type=button]+input[type=button],input[type=button]+input[type=submit],input[type=button]+input[type=reset],input[type=button]+a.button,input[type=submit]+button,input[type=submit]+input[type=button],input[type=submit]+input[type=submit],input[type=submit]+input[type=reset],input[type=submit]+a.button,input[type=reset]+button,input[type=reset]+input[type=button],input[type=reset]+input[type=submit],input[type=reset]+input[type=reset],input[type=reset]+a.button,a.button+button,a.button+input[type=button],a.button+input[type=submit],a.button+input[type=reset],a.button+a.button{margin-left:12px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,a.button:disabled{cursor:default;opacity:.4}button .spinner:after,input[type=button] .spinner:after,input[type=submit] .spinner:after,input[type=reset] .spinner:after,a.button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button:not(:disabled):active,input[type=button]:not(:disabled):active,input[type=submit]:not(:disabled):active,input[type=reset]:not(:disabled):active,a.button:not(:disabled):active{background-color:#561a5e;color:gray}button:not(:disabled):active .spinner:after,input[type=button]:not(:disabled):active .spinner:after,input[type=submit]:not(:disabled):active .spinner:after,input[type=reset]:not(:disabled):active .spinner:after,a.button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.blue,input[type=button].blue,input[type=submit].blue,input[type=reset].blue,a.button.blue{background-color:#0d6efd;color:#fff}button.blue .spinner:after,input[type=button].blue .spinner:after,input[type=submit].blue .spinner:after,input[type=reset].blue .spinner:after,a.button.blue .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.blue:not(:disabled):active,input[type=button].blue:not(:disabled):active,input[type=submit].blue:not(:disabled):active,input[type=reset].blue:not(:disabled):active,a.button.blue:not(:disabled):active{background-color:#07377f;color:gray}button.blue:not(:disabled):active .spinner:after,input[type=button].blue:not(:disabled):active .spinner:after,input[type=submit].blue:not(:disabled):active .spinner:after,input[type=reset].blue:not(:disabled):active .spinner:after,a.button.blue:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.green,input[type=button].green,input[type=submit].green,input[type=reset].green,a.button.green{background-color:#157347;color:#fff}button.green .spinner:after,input[type=button].green .spinner:after,input[type=submit].green .spinner:after,input[type=reset].green .spinner:after,a.button.green .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.green:not(:disabled):active,input[type=button].green:not(:disabled):active,input[type=submit].green:not(:disabled):active,input[type=reset].green:not(:disabled):active,a.button.green:not(:disabled):active{background-color:#0b3a24;color:gray}button.green:not(:disabled):active .spinner:after,input[type=button].green:not(:disabled):active .spinner:after,input[type=submit].green:not(:disabled):active .spinner:after,input[type=reset].green:not(:disabled):active .spinner:after,a.button.green:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.red,input[type=button].red,input[type=submit].red,input[type=reset].red,a.button.red{background-color:#eb142a;color:#fff}button.red .spinner:after,input[type=button].red .spinner:after,input[type=submit].red .spinner:after,input[type=reset].red .spinner:after,a.button.red .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}button.red:not(:disabled):active,input[type=button].red:not(:disabled):active,input[type=submit].red:not(:disabled):active,input[type=reset].red:not(:disabled):active,a.button.red:not(:disabled):active{background-color:#760a15;color:gray}button.red:not(:disabled):active .spinner:after,input[type=button].red:not(:disabled):active .spinner:after,input[type=submit].red:not(:disabled):active .spinner:after,input[type=reset].red:not(:disabled):active .spinner:after,a.button.red:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}button.yellow,input[type=button].yellow,input[type=submit].yellow,input[type=reset].yellow,a.button.yellow{background-color:#ffc107;color:#000}button.yellow .spinner:after,input[type=button].yellow .spinner:after,input[type=submit].yellow .spinner:after,input[type=reset].yellow .spinner:after,a.button.yellow .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button.yellow:not(:disabled):active,input[type=button].yellow:not(:disabled):active,input[type=submit].yellow:not(:disabled):active,input[type=reset].yellow:not(:disabled):active,a.button.yellow:not(:disabled):active{background-color:#806104;color:#000}button.yellow:not(:disabled):active .spinner:after,input[type=button].yellow:not(:disabled):active .spinner:after,input[type=submit].yellow:not(:disabled):active .spinner:after,input[type=reset].yellow:not(:disabled):active .spinner:after,a.button.yellow:not(:disabled):active .spinner:after{border-color:#000 rgba(0,0,0,0) #000 rgba(0,0,0,0)}button .spinner,input[type=button] .spinner,input[type=submit] .spinner,input[type=reset] .spinner,a.button .spinner{display:none}button.working .caption,input[type=button].working .caption,input[type=submit].working .caption,input[type=reset].working .caption,a.button.working .caption{display:none}button.working .spinner,input[type=button].working .spinner,input[type=submit].working .spinner,input[type=reset].working .spinner,a.button.working .spinner{display:revert}input[type=submit],button.default,a.button.default{background-color:#fff;color:#9c0fb0}input[type=submit] .spinner:after,button.default .spinner:after,a.button.default .spinner:after{border-color:#9c0fb0 rgba(0,0,0,0) #9c0fb0 rgba(0,0,0,0)}input[type=submit]:not(:disabled):active,button.default:not(:disabled):active,a.button.default:not(:disabled):active{background-color:gray;color:#4e0858}input[type=submit]:not(:disabled):active .spinner:after,button.default:not(:disabled):active .spinner:after,a.button.default:not(:disabled):active .spinner:after{border-color:#4e0858 rgba(0,0,0,0) #4e0858 rgba(0,0,0,0)}.text-field,input[type=text],input[type=password],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=number],textarea{-webkit-appearance:none;appearance:none;border-radius:.25rem;border:1px solid #c46fd0;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:0px;padding:.375rem .75rem;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color,color,border-color,box-shadow;-o-transition-property:background-color,color,border-color,box-shadow;transition-property:background-color,color,border-color,box-shadow;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;width:100%;line-height:1rem;background-clip:padding-box;background-color:#9c0fb0;color:#fff}.text-field::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder,textarea::placeholder{line-height:1rem;vertical-align:bottom;padding-top:.3rem;color:#fff;opacity:.6}.text-field:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.text-field.invalid,input[type=text].invalid,input[type=password].invalid,input[type=email].invalid,input[type=url].invalid,input[type=tel].invalid,input[type=search].invalid,input[type=number].invalid,textarea.invalid{border-color:#ffccc9}textarea{line-height:1.5}textarea::placeholder{padding-top:0px;line-height:1.5}.floating-label{position:relative;margin-top:16px;margin-bottom:16px}.floating-label>.text-field{padding:1rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>.text-field::placeholder{color:rgba(0,0,0,0) !important}.floating-label>.text-field:focus,.floating-label>.text-field:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:focus~label,.floating-label>.text-field:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>.text-field:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.floating-label>.text-field:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.floating-label>div.select>select{padding:1.625rem 2.5rem .625rem .75rem;height:calc(3.5rem + 2px);line-height:1.25rem;box-sizing:border-box}.floating-label>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;box-sizing:border-box;opacity:.6}@media(prefers-reduced-motion: reduce){.floating-label>label{transition:none}}.floating-label>div.select+label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem);color:#fff}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;margin-top:16px;margin-bottom:16px}.input-group>.text-field{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.text-field:focus{z-index:3}.input-group button{border:1px solid #c46fd0;background-color:#9f16b2;color:#fff}.input-group button .spinner:after{border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.input-group button:not(:disabled):active{background-color:#500b59;color:gray}.input-group button:not(:disabled):active .spinner:after{border-color:gray rgba(0,0,0,0) gray rgba(0,0,0,0)}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap;border:1px solid #c46fd0;box-sizing:border-box;border-radius:.25rem;background-color:#9f16b2}.input-group-sm{margin-top:12px;margin-bottom:12px}.input-group-sm>.text-field,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg{margin-top:20px;margin-bottom:20px}.input-group-lg>.text-field,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.field-pair label{padding-left:6px;line-height:1.6rem;color:#e1b7e7}label.invalid,span.invalid,p.invalid,div.invalid{color:#ffccc9}label.checkbox input[type=checkbox]{display:none}label.checkbox span{display:inline-block;vertical-align:middle;margin:6px;position:relative;border-radius:1rem;-webkit-transition-property:background-color,border-color;-o-transition-property:background-color,border-color;transition-property:background-color,border-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;border-width:2px;border-style:solid;background-color:rgba(255,255,255,0);border-color:#fff}label.checkbox span:after{background-color:#fff}label.checkbox :checked:active+span{background-color:#ccc;border-color:#ccc}label.checkbox :checked:active+span:after{background-color:#490752}label.checkbox :checked+span{background-color:#fff}label.checkbox :checked+span:after{background-color:#9c0fb0}label.checkbox :active+span{background-color:#490752;border-color:#ccc}label.checkbox :active:after{background-color:#ccc}label.checkbox :disabled+span{opacity:.4}label.checkbox span{width:42px;height:20px}label.checkbox span:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:14px;display:block;content:"";-webkit-transition-property:left,background-color;-o-transition-property:left,background-color;transition-property:left,background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}label.checkbox :checked+span:after{left:26px}.input-radio{display:block;min-height:1.5rem;padding-left:1.4em;box-sizing:border-box;margin:0px}.input-radio input{-webkit-appearance:none;appearance:none;border:1px solid #ce87d8;background-color:#9c0fb0;width:1em;height:1em;border-radius:50%;vertical-align:top;transition-duration:.15s;transition-property:border-color,border-width;transition-timing-function:ease-in-out;margin-top:.25em;margin-left:-1.4em;float:left;box-sizing:border-box;color-adjust:exact}.input-radio input:checked{border-width:.3em;border-color:#fff}.input-radio label{display:inline-block;box-sizing:border-box}.input-radio+.input-radio{margin-left:16px}div.select{position:relative;display:inline-block}div.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px;border:none;border-radius:.25rem;display:inline-block;font-family:inherit;font-size:1rem;text-decoration:none;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;vertical-align:middle;white-space:nowrap;padding:.375rem 2.5rem .375rem .75rem;line-height:1.5em}div.select select:focus{font-size:1rem}div.select span:after{position:absolute;top:calc(50% - .5em);right:.75rem;content:"▾";font-size:1rem;pointer-events:none;line-height:.9em}div.select select{background-color:#fff;color:#9c0fb0}div.select select:not(:disabled):active{background-color:gray;color:#4e0858}div.select span:after{color:#9c0fb0}div.select.gray select{background-color:#ab33bc;color:#fff}div.select.gray select:not(:disabled):active{background-color:#561a5e;color:gray}div.select.gray span:after{color:#fff}div.select.blue select{background-color:#0d6efd;color:#fff}div.select.blue select:not(:disabled):active{background-color:#07377f;color:gray}div.select.blue span:after{color:#fff}div.select.green select{background-color:#157347;color:#fff}div.select.green select:not(:disabled):active{background-color:#0b3a24;color:gray}div.select.green span:after{color:#fff}div.select.red select{background-color:#eb142a;color:#fff}div.select.red select:not(:disabled):active{background-color:#760a15;color:gray}div.select.red span:after{color:#fff}div.select.yellow select{background-color:#ffc107;color:#000}div.select.yellow select:not(:disabled):active{background-color:#806104;color:#000}div.select.yellow span:after{color:#000}div.select.small select{border-radius:.2rem;font-size:.875rem;padding:.25rem 1.875rem .25rem .5rem}div.select.small span:after{top:.25rem;right:.5rem;font-size:.875rem}div.select.large select{border-radius:.3rem;font-size:1.25rem;padding:.5rem 3.25rem .5rem 1rem}div.select.large span:after{top:.25rem;right:1rem;font-size:1.25rem}#explore_container{display:none;z-index:1000;position:fixed;top:0px;bottom:0px;left:0px;right:0px;-webkit-tap-highlight-color:rgba(0,0,0,0)}#explore_popover{position:absolute;width:260px;top:20px;left:20px;box-shadow:0px 5px 5px rgba(0,0,0,.05);border-radius:4px;padding:9px;border:1px solid #8f8f8f;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#9c0fb0;border-color:#ab33bc}@media(min-width: 350px){#explore_popover{width:310px}}#explore_popover #explore_search_field{margin-bottom:9px}#explore_popover #explore_results{display:none}#explore_popover #explore_results ul{max-height:250px;overflow-y:auto}#explore_popover #explore_results_empty{display:none;text-align:center}#explore_popover #explore_results_buttons{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:9px;width:100%}#explore_popover #explore_results_buttons #explore_results_left_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}#explore_popover #explore_results_buttons #explore_results_right_button{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}#explore_popover ul{list-style-type:none;margin:0px;padding:0px;overflow:hidden}#explore_popover ul li a{text-decoration:none;border-radius:4px;padding:4px 6px;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;display:block;color:#fff}#explore_popover ul li a .result_preview{font-size:10pt;color:rgba(255,255,255,.5)}#explore_popover ul li a .result_type{font-size:9pt;margin-left:12px;float:right;border-width:1px;border-style:solid;padding:2px 4px;border-radius:4px;color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.2)}#explore_popover ul li a:hover{color:#9c0fb0;background-color:#fff}#explore_popover ul li a:hover .result_preview{color:#9c0fb0}#explore_popover ul li a:hover .result_type{color:#9c0fb0;border-color:#9c0fb0}#explore_popover ul li+li{margin-top:4px}#menu_explore_link.expanded{border-radius:4px 4px 0px 0px;background-color:#ab33bc;color:#fff}div.double_column,div.triple_column{display:table;width:100%;border-spacing:30px;border-collapse:separate}div.double_column div.column,div.triple_column div.column{display:table-row;width:100%;vertical-align:top}div.results span.result_type{font-weight:500;margin:.8em;color:rgba(255,255,255,.35)}div.results div.result{border:1px solid #e4e4e4;padding:.8em;border-radius:.5em;border-color:rgba(255,255,255,.15)}div.results div.result+div.result{margin-top:.8em}div.results div.result span.summary{font-size:.9em;color:rgba(255,255,255,.65)}#overlay{display:none;position:fixed;top:0px;bottom:0px;left:0px;right:0px;transition-duration:.25s;transition-timing-function:ease-out;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter;z-index:2000;background-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}@supports(-webkit-backdrop-filter: blur(0px)){#overlay{-webkit-backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}@supports(backdrop-filter: blur(0px)){#overlay{backdrop-filter:blur(0px);background-color:rgba(0,0,0,0)}}#overlay.exist{display:block}#overlay.visible{background-color:rgba(0,0,0,.8)}@supports(-webkit-backdrop-filter: blur(15px)){#overlay.visible{-webkit-backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}@supports(backdrop-filter: blur(15px)){#overlay.visible{backdrop-filter:blur(15px);background-color:rgba(0,0,0,.3)}}#dialog{display:none;position:fixed;top:30%;left:0px;right:0px;z-index:2001;opacity:0;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,filter;filter:blur(30px);background-color:#9c0fb0}#dialog.exist{display:block}#dialog.visible{opacity:1;filter:none}#dialog p{margin:20px}#dialog_inner{width:300px;margin-left:auto;margin-right:auto}#dialog_message{font-weight:600;text-align:left}#dialog_explanation{text-align:left;font-size:smaller}#dialog_buttons{text-align:center}.modal{display:none;opacity:1;transition-duration:.25s;transition-timing-function:ease-out;transition-property:opacity,top;z-index:2001;position:fixed;top:100%;left:0px;width:100%;min-width:320px;height:100%;padding:0px;box-shadow:0px 4px 16px rgba(0,0,0,.45);box-sizing:border-box;line-height:1.5rem;background-color:#9c0fb0}.modal.exist{display:block}.modal.visible{top:0%}.modal .modal-content{display:flex;flex-direction:column;box-sizing:border-box;max-height:100vh}.modal .modal-content .title-bar{font-weight:600;flex:0 0 auto;box-sizing:border-box;margin-top:max(env(safe-area-inset-top, 20px),20px);margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:20px}.modal .modal-content .content{flex:1 1 auto;overflow:auto;box-sizing:border-box;padding-top:20px;padding-left:max(env(safe-area-inset-left, 20px),20px);padding-right:max(env(safe-area-inset-right, 20px),20px);padding-bottom:20px;border-top:1px solid #ab33bc;border-bottom:1px solid #ab33bc}.modal .modal-content .button-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;flex:0 0 auto;box-sizing:border-box;margin-top:20px;margin-left:max(env(safe-area-inset-left, 20px),20px);margin-right:max(env(safe-area-inset-right, 20px),20px);margin-bottom:max(env(safe-area-inset-bottom, 20px),20px)}.modal .modal-content .button-bar .left{text-align:left;flex:1 1 auto}.modal .modal-content .button-bar .middle{text-align:center;flex:1 1 auto}.modal .modal-content .button-bar .right{text-align:right;flex:1 1 auto}.spinner{display:inline-block;width:30px;height:30px}.spinner.large{width:65px;height:65px}.spinner.large:after{width:52px;height:52px;border-width:4.875px}.spinner:after{width:24px;height:24px;border-width:2.25px}.spinner.small{width:20px;height:20px}.spinner.small:after{width:16px;height:16px;border-width:1.5px}.spinner:after{content:" ";display:block;border-radius:50%;border-style:solid;animation:spinner-keyframes 1.2s linear infinite;border-color:#fff rgba(0,0,0,0) #fff rgba(0,0,0,0)}.spinner.hidden{display:none}@keyframes spinner-keyframes{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#account_toolbar_menu div a{color:#fff;background-color:none}#account_toolbar_menu div.active{background-color:#fff}#account_toolbar_menu div.active a{color:#9c0fb0}#knowledge_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#knowledge_wrapper #knowledge_main>*{margin-top:.5rem;margin-bottom:.5rem}#knowledge_wrapper #knowledge_main>*:first-child{margin-top:0px}#knowledge_wrapper #knowledge_main>*:last-child{margin-bottom:0px}#knowledge_wrapper #knowledge_main h2,#knowledge_wrapper #knowledge_main h3{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:.3rem;border-color:#a421b6}#knowledge_wrapper #knowledge_main code{padding:0px 5px;border-radius:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_main pre code{padding:0px}#knowledge_wrapper #knowledge_main .affected_ini_keys{border-top-width:1px;border-top-style:solid;font-size:.8em;padding:15px;margin-top:20px;font-weight:300;background-color:#9e14b2;text-shadow:0px 1px 0px #9c0fb0;border-top-color:#a31fb6}#knowledge_wrapper #knowledge_contents{border-top-width:1px;border-top-style:solid;margin-top:30px;padding-top:30px;font-size:.9em;border-color:#ab33bc}#knowledge_wrapper #knowledge_contents #knowledge_search_block{text-align:center;margin-bottom:30px}#knowledge_wrapper #knowledge_contents #knowledge_version{text-align:center;margin-bottom:20px;font-size:11pt;font-weight:600;color:#ce87d8}#knowledge_wrapper #knowledge_contents p{margin-top:0px;margin-bottom:0px;padding-left:1em;text-indent:-1em;font-size:1.1em;font-weight:500}#knowledge_wrapper #knowledge_contents ul{margin-top:4px;list-style:none;padding-left:0px}#knowledge_wrapper #knowledge_contents ul+p{margin-top:12px}#knowledge_wrapper #knowledge_contents ul li{padding-left:10px;padding-top:4px;padding-bottom:4px;line-height:1.4rem}#knowledge_wrapper #knowledge_contents ul li.current{padding-left:7px;border-left-width:3px;border-left-style:solid;color:#fff;border-left-color:#fff}#knowledge_wrapper #knowledge_contents ul li.current::before{color:#ba57c8}#knowledge_wrapper #knowledge_contents ul li+li{border-top-width:1px;border-top-style:solid;border-top-color:#a11ab4}#knowledge_wrapper #knowledge_contents ul li:first-child{padding-top:0px}#knowledge_wrapper #knowledge_contents ul li:last-child{padding-bottom:0px}#knowledge_wrapper #knowledge_contents ul li a{text-decoration:none}#knowledge_wrapper #knowledge_contents ul li a:hover{text-decoration:underline}p.help-summary{border-bottom-width:1px;border-bottom-style:dotted;font-size:1.1em;padding:0px 0px 10px 0px;border-bottom-color:#ab33bc}ul.object_list{list-style:none;padding-left:15px}ul.object_list li+li{margin-top:10px}ul.no-markings,ol.no-markings{list-style:none}.notice-block{border-width:1px;border-style:solid;text-align:center;padding:16px}.notice-block+.notice-block{margin-top:1rem}.notice-block.notice-warning{border-color:#bf51b9;color:#ffccc9;background-color:#9f15b1}.notice-block.notice-caution{border-color:#bf537c;color:#ffd11a;background-color:#9f15ac}.notice-block.notice-info{border-color:#a455cc;color:#b3d7ff;background-color:#9d15b2}.subsection{border-width:1px;border-style:solid;padding:16px;border-color:rgba(255,255,255,.1)}.downloads-table .row{padding:10px;display:flex;align-items:center;border-width:1px;border-style:solid;border-top-width:0px;border-color:#ab33bc}.downloads-table .row:first-child{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:1px;background-color:#fff;color:#9c0fb0;border-color:#fff}.downloads-table .row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.downloads-table .row .label{flex:1 1}.downloads-table .row .button{flex:0 0 80px;margin-left:10px}.downloads-table .row .header{line-height:1rem}.downloads-table .row .games{opacity:.7;font-size:small}.downloads-table+.downloads-table{margin-top:20px}.mini-only{display:revert}.mobile-only{display:none}.desktop-only{display:none}.small-only{display:revert}.not-mini{display:none}.large-only{display:none}.embedded_youtube_video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.embedded_youtube_video iframe,.embedded_youtube_video object,.embedded_youtube_video embed{position:absolute;top:0;left:0;width:100%;height:100%}div.page-panel{display:flex;flex-direction:column;gap:20px}@supports not (selector(:first-child)){div.page-panel>*{margin:10px}}div.page-panel div.page-panel-nav ul{display:flex;flex-direction:row;margin:0px;padding:0px;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}@supports not (selector(:first-child)){div.page-panel div.page-panel-nav ul>*{margin:5px}}div.page-panel div.page-panel-nav ul li{list-style:none}div.page-panel div.page-panel-nav ul li a{text-decoration:none;display:inline-block;padding:.375rem .75rem;border-radius:.25rem;white-space:nowrap;background-color:none;color:#fff;line-height:1.5em;font-size:1rem}div.page-panel div.page-panel-nav ul li.page-panel-active a{background-color:#fff;color:#9c0fb0}div.page-panel div.page-panel-page{display:none}div.page-panel div.page-panel-visible{display:block}div.page-panel div.page-panel-footer{display:none}div.flex-grid{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-items:flex-start;align-content:flex-start}div.flex-grid div.flex-grid-item{flex:0 0 auto}img.avatar{border-radius:10px;box-shadow:0px 2px 4px 0px rgba(0,0,0,.25);display:block}.pagination-controls{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination-controls .pagination-button{display:block;padding:3px 6px;border:1px solid #000;border-radius:6px;text-align:center;white-space:nowrap;border-color:#a11bb4;background-color:#9e14b2;text-decoration:none}.pagination-controls .pagination-current{background-color:#fff;color:#9c0fb0;border-color:#fff}.pagination-controls .pagination-placeholder{display:block}.pagination-controls .pagination-text,.pagination-controls .pagination-placeholder{min-width:50px}.pagination-controls a.pagination-button:hover{background-color:#c6dcf5;color:#9c0fb0;border-color:#c6dcf5}@media(min-width: 400px){#header_logo{height:80px}}@media(min-width: 635px){html{font-size:16px}h1{font-size:19.2px}h2{font-size:17.6px}h3{font-size:16px}#header_wrapper{padding-top:20px;padding-bottom:20px}#header{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#header_logo_cell{-ms-flex-preferred-size:80px;flex-basis:80px}#header_links_cell{height:auto}#header_links_cell ul{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0px}#header_links_cell li{-webkit-box-flex:0;-ms-flex:0 0 0px;flex:0 0 0}:target:before{height:140px;margin:-140px 0 0}.mini-only{display:none}.mobile-only{display:revert}.not-mini{display:revert}}div.comment-block{text-align:center;font-size:small;margin:20px auto;max-width:400px;border-width:1px;border-style:solid;border-radius:4pt;padding:10pt;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}div.comment-block div.icon{margin-right:10pt}div.comment-block div.icon img{margin:0px;display:block}#mode_tabs div.selected,#mode_view,#mode_customizations{background-color:#a627b8}#mode_tabs_new,#mode_tabs_paste,#mode_tabs_upload{background-color:#a11bb4}#browse_results div.properties-text{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}input.no-stepper::-webkit-outer-spin-button,input.no-stepper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-stepper[type=number]{-moz-appearance:textfield}#checkout-wizard-list>.checkout-wizard-list-game{display:flex;align-items:center}#checkout-wizard-list>.checkout-wizard-list-game.separated{margin-top:20px;padding-top:20px;border-top:1px solid #ab33bc}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-checkbox-cell{flex:0 1 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell{flex:1 1 auto;padding-left:10px;padding-right:10px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell>div>label{font-weight:bold}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell .checkout-wizard-status{font-size:.8em;opacity:.8}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell .checkout-wizard-promo{font-weight:bold;color:#8ce99a;font-size:.9em}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label{display:inline-flex;align-items:center;gap:12px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(1){flex:0 0 auto;text-align:right}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(2){flex:0 0 60px}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-description-cell div.field-with-label>div:nth-child(3){flex:0 0 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-price-cell{flex:0 1 auto}#checkout-wizard-list>.checkout-wizard-list-game .checkout-wizard-price-cell .checkout-wizard-discounted{text-decoration:line-through}#storefront .storefront-cart-section{box-sizing:border-box;max-width:800px;margin-left:auto;margin-right:auto}#storefront #storefront-cart-asanotice{margin-bottom:1rem}#storefront #storefront-cart-header{display:flex;align-items:center;border-bottom:1px solid #ab33bc;padding-bottom:1rem;margin-bottom:1rem}#storefront #storefront-cart-header div:nth-child(1){text-align:left;flex:0 1 auto}#storefront #storefront-cart-header div:nth-child(2){text-align:right;margin-left:1rem;margin-right:1rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#storefront #storefront-cart-header div:nth-child(3){text-align:right;flex:0 1 auto}#storefront>div{webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}#storefront #storefront-cart{margin-top:1rem;margin-bottom:1rem}#storefront #storefront-cart.empty{display:flex;flex-direction:column;min-height:300px}#storefront #storefront-cart.empty div:nth-child(1){flex:1 1 30%}#storefront #storefront-cart.empty div:nth-child(2){flex:0 0 auto;text-align:center}#storefront #storefront-cart.empty div:nth-child(3){flex:1 1 70%}#storefront #storefront-cart .bundle{border:1px solid #ab33bc;border-radius:.25rem;margin:1rem;padding:1rem}#storefront #storefront-cart .bundle.gift{border-color:skyblue;background-color:#9a22b6;color:#c3e7f5}#storefront #storefront-cart .bundle .bundle-product{display:flex;align-items:center;gap:1rem}#storefront #storefront-cart .bundle .bundle-product div:nth-child(1){flex:0 0 5%;text-align:center}#storefront #storefront-cart .bundle .bundle-product div:nth-child(2){flex:1 1 auto}#storefront #storefront-cart .bundle .bundle-product div:nth-child(3){flex:0 0 20%;text-align:right}#storefront #storefront-cart .bundle>div:not(:last-child){margin-bottom:.25rem}#storefront #storefront-cart .bundle .gift{font-size:.75em;font-weight:600;color:#b3e0f2}#storefront #storefront-cart .bundle .actions{margin-top:1rem}#storefront #storefront-cart-footer{padding-top:1rem;border-top:1px solid #ab33bc;margin-top:1rem}#storefront #storefront-cart-footer .storefront-cart-totals{margin-bottom:1rem}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row{display:flex;flex-wrap:wrap;justify-content:flex-end}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(1){text-align:right;flex:0 0 auto}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row div:nth-child(2){text-align:right;flex:0 0 120px}#storefront #storefront-cart-footer .storefront-cart-totals .storefront-cart-total-row+.storefront-cart-total-row{margin-top:.5rem}#storefront #storefront-cart-footer .storefront-cart-paymethods{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:2rem;flex-wrap:wrap}#storefront #storefront-cart-footer .storefront-cart-paymethods img{width:2.5rem;margin:0px;display:block}#storefront #storefront-cart-footer .storefront-cart-notice{text-align:center;margin-top:2rem;font-size:.8rem}#storefront #storefront-cart-footer .storefront-button-row{margin-top:2rem}#storefront #storefront-cart-footer .storefront-refund-notice{max-width:600px;font-size:.8rem;margin-top:2rem;margin-left:auto;margin-right:auto}.shake{animation:shake-keyframes .4s linear 1}.omni-game-header{display:flex;align-items:center;margin-bottom:1.5rem}.omni-game-header .omni-game-header-title{font-weight:600;font-size:1.5rem;margin-right:1.5rem;flex:1 1 auto}.omni-game-header .omni-game-header-button{flex:0 0 auto;align-self:flex-start}@keyframes shake-keyframes{0%{transform:translate(10px)}20%{transform:translate(-10px)}40%{transform:translate(5px)}80%{transform:translate(-5px)}100%{transform:translate(0px)}}.header-with-subtitle{margin-bottom:1rem}.header-with-subtitle h1,.header-with-subtitle h2,.header-with-subtitle h3,.header-with-subtitle h4,.header-with-subtitle h5,.header-with-subtitle h6{margin-bottom:0px;margin-top:0px}.header-with-subtitle .subtitle{font-size:.8rem;line-height:1rem;display:block}.beacon-engram-mod-name{font-size:14px;color:rgba(255,255,255,.5)}body.no-navigation #header_wrapper,body.no-navigation #footer{display:none}body.no-navigation #content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}.breadcrumbs{border-radius:.2rem;display:flex;gap:.5rem;background-color:#9e14b2;font-size:14px;padding:.25rem .5rem;flex-wrap:wrap}.breadcrumbs .breadcrumb{display:inline-block;white-space:nowrap}.breadcrumbs .divider{display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23bb5bc9' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:16px 16px;width:8px}.license-name{color:#fff}.game-name{color:#b3d7ff}@media(min-width: 840px){div.double_column div.column{display:table-cell;width:50%}div.triple_column div.column{display:table-cell;width:33%}#knowledge_wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}#knowledge_wrapper #knowledge_main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-left:20px;width:980px}#knowledge_wrapper #knowledge_contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:220px;border-right-width:1px;border-right-style:solid;border-top:none;padding-right:20px;padding-top:0px;margin-top:0px}table.generic div.row-details{display:none}table.generic .low-priority{display:table-cell}.mini-only{display:none}.desktop-only{display:revert}.small-only{display:none}.large-only{display:revert}div.page-panel{flex-direction:row}div.page-panel div.page-panel-nav{flex:1 1 0}div.page-panel div.page-panel-nav ul{flex-direction:column}div.page-panel div.page-panel-nav ul li{text-align:right}div.page-panel div.page-panel-pages{flex:2 2 600px}div.page-panel div.page-panel-footer{flex:1 1 0;display:block}.modal{opacity:0;top:35%;left:50%;width:600px;margin-left:-300px;margin-right:auto;transform:translateY(-50%);border-radius:.25rem;margin-left:-300px;margin-right:auto;height:auto}.modal.visible{top:40%;opacity:1}.modal.centered{top:45%}.modal.centered.visible{top:50%}.modal .modal-content .title-bar{margin:0px;padding:22px 22px 0px 22px}.modal .modal-content .content{border:none;padding:22px}.modal .modal-content .button-bar{margin:0px;padding:0px 22px 22px 22px}.modal.scrolled{border-radius:0px}.modal.scrolled .modal-content .title-bar{padding:15px 22px 15px 22px;border-bottom:1px solid #ab33bc}.modal.scrolled .modal-content .content{padding:14px 22px}.modal.scrolled .modal-content .button-bar{padding:15px 22px 15px 22px;border-top:1px solid #ab33bc}}@media(min-width: 840px)and (max-width: 640px){.modal{left:20px;width:auto;right:20px;margin:0px;top:45%}.modal.visible{top:50%}}@media print{#header,#header_wrapper,#footer{display:none}#content_wrapper{margin-top:max(20px,env(safe-area-inset-top, 20px));margin-bottom:max(20px,env(safe-area-inset-bottom, 20px))}table.generic{border-color:#d9d9d9}table.generic td,table.generic th{border-color:inherit;background-color:#fff}table.generic thead,table.generic tr.header{background-color:#fff;color:#000}table.generic thead td,table.generic thead th,table.generic tr.header td,table.generic tr.header th{border-color:#000;color:inherit;font-weight:600}}#header_logo,.white-on-dark,.accented-foreground{filter:brightness(0) invert(1)}.dark-only{display:unset}.light-only{display:none} diff --git a/Website/www/assets/scripts/checkout.js b/Website/www/assets/scripts/checkout.js index 6a974df40..ca8c1f5e0 100644 --- a/Website/www/assets/scripts/checkout.js +++ b/Website/www/assets/scripts/checkout.js @@ -1 +1 @@ -(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok";return this.confirm(e,t,n,null)}},{key:"confirm",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Cancel";return new Promise((function(r,o){var c=document.getElementById("overlay"),l=document.getElementById("dialog"),s=document.getElementById("dialog_message"),u=document.getElementById("dialog_explanation"),d=document.getElementById("dialog_action_button"),h=document.getElementById("dialog_cancel_button");c&&l&&s&&u&&d&&h?(c.className="exist",l.className="exist",setTimeout((function(){c.className="exist visible",l.className="exist visible"}),10),s.innerText=e,u.innerText=n||"",d.clickHandler&&d.removeEventListener("click",d.clickHandler),h.clickHandler&&h.removeEventListener("click",h.clickHandler),d.clickHandler=function(){t.hide(),setTimeout((function(){r()}),300)},d.addEventListener("click",d.clickHandler),d.innerText=i,a?(h.clickHandler=function(){t.hide(),setTimeout((function(){o()}),300)},h.addEventListener("click",h.clickHandler),h.innerText=a):h.className="hidden"):o()}))}},{key:"hide",value:function(){var e=document.getElementById("overlay"),t=document.getElementById("dialog");e&&t&&(e.className="exist",t.className="exist",setTimeout((function(){e.className="",t.className=""}),300))}},{key:"showModal",value:function(e){var t=this;if(!this.activeModal){var n=document.getElementById("overlay"),i=document.getElementById(e);n&&i&&(n.classList.add("exist"),i.classList.add("exist"),this.activeModal=e,setTimeout((function(){n.classList.add("visible"),i.classList.add("visible")}),10),this.viewportWatcher=setInterval((function(){if(t.activeModal){document.querySelectorAll("#".concat(t.activeModal," .modal-content .content")).forEach((function(e){i.classList.toggle("scrolled",e.scrollHeight>e.clientHeight)}));var e=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);i.classList.toggle("centered",i.clientHeight>.75*e)}}),100))}}},{key:"hideModal",value:function(){var e=this;return new Promise((function(t,n){if(e.activeModal){var i=document.getElementById("overlay"),a=document.getElementById(e.activeModal);i&&a?(e.viewportWatcher&&(clearInterval(e.viewportWatcher),e.viewportWatcher=null),i.classList.remove("visible"),a.classList.remove("visible"),setTimeout((function(){i.classList.remove("exist"),a.classList.remove("exist"),e.activeModal=null,t()}),300)):n()}else n()}))}}],null&&t(n.prototype,null),i&&t(n,i),Object.defineProperty(n,"prototype",{writable:!1}),e}();function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n=200&&e.status<300||304===e.status}}},{key:"start",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,c){var l=new XMLHttpRequest;if(l.open(e,t,!0),"object"===r(a)&&null!==a&&!1===Array.isArray(a))for(var s=0,u=Object.keys(a);s1&&void 0!==arguments[1]?arguments[1]:{};return e.start("GET",t,null,n)}},{key:"post",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n instanceof URLSearchParams?(i["Content-Type"]="application/x-www-form-urlencoded",e.start("POST",t,n.toString(),i)):"object"===r(n)&&null!==n||Array.isArray(n)?(i["Content-Type"]="application/json",e.start("POST",t,JSON.stringify(n),i)):e.start("POST",t,n,i)}},{key:"delete",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.start("DELETE",t,null,n)}}],null&&o(t.prototype,null),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Intl.DateTimeFormat().resolvedOptions(),a={dateStyle:"medium"};t&&(a.timeStyle="short");var r=Intl.DateTimeFormat(i.locale,a).format(e);return n&&(r="".concat(r," ").concat(i.timeZone)),r};function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function b(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function S(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n>e/4).toString(16)})))}return I(e,[{key:"id",get:function(){return G(this,l)}},{key:"isGift",get:function(){return G(this,u)},set:function(e){M(this,u,e)}},{key:"productIds",get:function(){return Object.keys(G(this,s))}},{key:"count",get:function(){return Object.keys(G(this,s)).length}},{key:"reset",value:function(){M(this,s,{})}},{key:"add",value:function(e,t){this.setQuantity(e,this.getQuantity(e)+t)}},{key:"remove",value:function(e,t){this.setQuantity(e,this.getQuantity(e)-t)}},{key:"getQuantity",value:function(e){var t;return null!==(t=G(this,s)[e])&&void 0!==t?t:0}},{key:"setQuantity",value:function(e,t){t<=0?Object.prototype.hasOwnProperty.call(G(this,s),e)&&delete G(this,s)[e]:G(this,s)[e]=t}},{key:"toJSON",value:function(){return{id:G(this,l),products:G(this,s),isGift:G(this,u)}}},{key:"fingerprint",get:function(){var e=this,t=Object.keys(G(this,s)).sort().reduce((function(t,n){return t[n]=G(e,s)[n],t}),{});return btoa(JSON.stringify({id:G(this,l),products:t,isGift:G(this,u)}))}},{key:"hasArk",get:function(){var e;return this.getQuantity(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0}},{key:"hasArkSA",get:function(){var e,t,i;return this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)>0||this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId)>0}},{key:"arkSAYears",get:function(){var e,t,i;return Math.min(this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)+this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId),10)}},{key:"hasMinimalGames",get:function(){var e,t;return this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId)>0}},{key:"minimalGamesYears",get:function(){var e,t;return Math.min(this.getQuantity(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.BeaconMinimal)||void 0===t||null===(t=t.Renewal)||void 0===t?void 0:t.ProductId),10)}},{key:"build",value:function(e,t,i,a,r){this.reset(),this.isGift=t,i&&(t||null===e.arkLicense)&&this.setQuantity(n.Ark.Base.ProductId,1),a>0&&(a=Math.min(a,5),t?(i?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1)):null!==e.arkSALicense?this.setQuantity(n.ArkSA.Renewal.ProductId,a):(i||null!==e.arkLicense?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1))),r>0&&(r=Math.min(r,5),t?(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)):null!==e.minimalGamesLicense?this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r):(this.setQuantity(n.BeaconMinimal.Base.ProductId,1),r>1&&this.setQuantity(n.BeaconMinimal.Renewal.ProductId,r-1)))}},{key:"rebuild",value:function(e){var t=this.fingerprint;return this.build(e,this.isGift,this.hasArk,this.arkSAYears,this.minimalGamesYears),this.fingerprint!==t}},{key:"consume",value:function(e,t){if(t){if(this.isGift!==t.isGift)throw new Error("Cannot merge a gift item with a non-gift item.");var n=this.hasArk||t.hasArk,i=this.arkSAYears+t.arkSAYears,a=this.hasMinimalGames||t.hasMinimalGames;this.build(e,this.isGift,n,i,a)}}},{key:"total",get:function(){var e,t=0,n=A(this.productIds);try{for(n.s();!(e=n.n()).done;){var a=e.value;t+=i[a].Price*this.getQuantity(a)}}catch(e){n.e(e)}finally{n.f()}return t}}]),e}(),h=new WeakMap,m=new WeakMap,y=new WeakMap,g=new WeakMap,w=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(B(this,e),L(this,h,{writable:!0,value:[]}),L(this,m,{writable:!0,value:null}),L(this,y,{writable:!0,value:!1}),L(this,g,{writable:!0,value:[]}),t)try{var n=JSON.parse(t);M(this,m,n.email),M(this,h,n.items.reduce((function(e,t){var n=new d(t);return n.count>0&&e.push(n),e}),[])),M(this,g,n.licenses)}catch(e){console.log("Failed to load saved cart")}}return I(e,[{key:"reset",value:function(){M(this,h,[]),M(this,m,null),M(this,y,!1),M(this,g,[]),this.save()}},{key:"toJSON",value:function(){return{email:G(this,m),items:G(this,h).reduce((function(e,t){return t.count>0&&e.push(t),e}),[]),licenses:G(this,g)}}},{key:"save",value:function(){localStorage.setItem("beaconCart",JSON.stringify(this))}},{key:"add",value:function(e){G(this,h).push(e),this.save()}},{key:"remove",value:function(e){M(this,h,G(this,h).filter((function(t){return t.id!==e.id}))),this.save()}},{key:"hasProduct",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=A(G(this,h));try{for(i.s();!(t=i.n()).done;){var a=t.value;if(a.getQuantity(e)>0&&a.isGift===n)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"email",get:function(){return G(this,m)}},{key:"setEmail",value:function(e){var t=this;return new Promise((function(i,a){var r=function(){var e,i=t.personalCartItem;return!!i&&(i.hasArk&&t.arkLicense?(i.setQuantity(null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId,0),0===i.count&&t.remove(i),!0):i.rebuild(t))};if(null===e){M(t,m,null),M(t,y,!1),M(t,g,[]);var o=r();return t.save(),void i({newEmail:null,cartChanged:o})}if(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(e).trim().toLowerCase())){var l=new URLSearchParams;l.append("email",e),c.get("/omni/lookup?".concat(l.toString())).then((function(n){var a=JSON.parse(n.body);M(t,m,a.email),M(t,y,a.verified),M(t,g,a.purchases);var o=r();t.save(),i({newEmail:e,cartChanged:o})})).catch((function(e){M(t,m,null),M(t,y,!1),M(t,g,[]),r(),t.save(),a(e.statusText)}))}else a("Address is not valid")}))}},{key:"emailVerified",get:function(){return G(this,y)}},{key:"checkingEmail",get:function(){return!1}},{key:"items",get:function(){return function(e){if(Array.isArray(e))return E(e)}(e=G(this,h))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var e}},{key:"count",get:function(){return G(this,h).reduce((function(e,t){return t.count>0&&e++,e}),0)}},{key:"findLicense",value:function(e){var t,n=A(G(this,g));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(i.productId===e)return i}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"arkLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"arkSALicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"minimalGamesLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.BeaconMinimal)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"ark2License",get:function(){return null}},{key:"personalCartItem",get:function(){var e,t=A(G(this,h));try{for(t.s();!(e=t.n()).done;){var n=e.value;if(!1===n.isGift)return n}}catch(e){t.e(e)}finally{t.f()}return null}},{key:"total",get:function(){var e,t=0,n=A(G(this,h));try{for(n.s();!(e=n.n()).done;)t+=e.value.total}catch(e){n.e(e)}finally{n.f()}return t}}],[{key:"load",value:function(){return new this(localStorage.getItem("beaconCart"))}}]),e}(),C=w.load(),P=new WeakMap,T=new WeakMap,j=function(){function e(t){B(this,e),L(this,P,{writable:!0,value:[]}),L(this,T,{writable:!0,value:null}),G(this,P).push(t)}return I(e,[{key:"currentView",get:function(){return G(this,P).slice(-1)}},{key:"back",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!(G(this,P).length<=1||(this.switchView(G(this,P)[G(this,P).length-2],e),M(this,P,G(this,P).slice(0,G(this,P).length-2)),0))}},{key:"clearHistory",value:function(){G(this,P).length<=1||M(this,P,G(this,P).slice(-1))}},{key:"switchView",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.currentView!==e){G(this,T)&&(clearTimeout(G(this,T)),M(this,T,null));var i=document.getElementById(this.currentView),a=document.getElementById(e);G(this,P).push(e),n?(i.classList.add("invisible"),M(this,T,setTimeout((function(){i.classList.add("hidden"),a.classList.remove("hidden"),M(t,T,setTimeout((function(){a.classList.remove("invisible"),M(t,T,null)}),150))}),150))):(i.classList.add("hidden"),i.classList.add("invisible"),a.classList.remove("invisible"),a.classList.remove("hidden"))}}}]),e}();new j("checkout-wizard-start");var N=new j("page-landing"),z=document.getElementById("buy-button"),R=document.getElementById("cart-back-button"),Q=1===Object.keys(i).length,U=function(){document.title="Buy Beacon Omni",history.pushState({},"","/omni#checkout"),dispatchEvent(new PopStateEvent("popstate",{}))},H={cancelButton:document.getElementById("checkout-email-cancel"),actionButton:document.getElementById("checkout-email-action"),emailField:document.getElementById("checkout-email-field"),errorField:document.getElementById("checkout-email-error"),allowsSkipping:!1,successFunction:function(e){},init:function(){var e=this,t=function(t){e.actionButton.disabled=!0,e.cancelButton.disabled=!0,e.errorField.classList.add("hidden"),C.setEmail(t).then((function(t){t.newEmail;var n=t.cartChanged;a.hideModal(),setTimeout((function(){e.successFunction(n)}),310)})).catch((function(t){e.errorField.innerText=t,e.errorField.classList.remove("hidden")})).finally((function(){e.actionButton.disabled=!1,e.cancelButton.disabled=!1}))};this.actionButton.addEventListener("click",(function(n){n.preventDefault(),t(e.emailField.value)})),this.cancelButton.addEventListener("click",(function(n){n.preventDefault(),e.allowsSkipping?t(null):a.hideModal()}))},present:function(e,n){t.forceEmail?C.setEmail(t.forceEmail).then((function(e){e.newEmail;var t=e.cartChanged;n(t)})):(this.allowsSkipping=e,this.successFunction=n,C.email?this.emailField.value=C.email:this.emailField.value=sessionStorage.getItem("email")||localStorage.getItem("email")||"",this.cancelButton.innerText=e?"Skip For Now":"Cancel",a.showModal("checkout-email"))}};H.init();var V={cartView:null,editCartItem:null,actionButton:document.getElementById("checkout-wizard-action"),arkCheck:document.getElementById("checkout-wizard-ark-check"),arkOnlyCheck:document.getElementById("storefront-ark-check"),arkOnlyGiftDownButton:document.getElementById("storefront-ark-gift-decrease"),arkOnlyGiftField:document.getElementById("storefront-ark-gift-field"),arkOnlyGiftQuantityGroup:document.getElementById("storefront-ark-gift-group"),arkOnlyGiftUpButton:document.getElementById("storefront-ark-gift-increase"),arkOnlyOwnedField:document.getElementById("storefront-ark-owned"),arkPriceField:document.getElementById("checkout-wizard-ark-price"),arkSACheck:document.getElementById("checkout-wizard-arksa-check"),arkSADurationDownButton:document.getElementById("checkout-wizard-arksa-yeardown-button"),arkSADurationField:document.getElementById("checkout-wizard-arksa-duration-field"),arkSADurationGroup:document.getElementById("checkout-wizard-arksa-duration-group"),arkSADurationUpButton:document.getElementById("checkout-wizard-arksa-yearup-button"),arkSAPriceField:document.getElementById("checkout-wizard-arksa-full-price"),arkSAPromoField:document.getElementById("checkout-wizard-promo-arksa"),arkSAStatusField:document.getElementById("checkout-wizard-status-arksa"),arkSAUpgradePriceField:document.getElementById("checkout-wizard-arksa-discount-price"),arkStatusField:document.getElementById("checkout-wizard-status-ark"),giftCheck:document.getElementById("checkout-wizard-gift-check"),minimalGamesCheck:document.getElementById("checkout-wizard-beaconminimal-check"),minimalGamesDurationDownButton:document.getElementById("checkout-wizard-beaconminimal-yeardown-button"),minimalGamesDurationField:document.getElementById("checkout-wizard-beaconminimal-duration-field"),minimalGamesDurationGroup:document.getElementById("checkout-wizard-beaconminimal-duration-group"),minimalGamesDurationUpButton:document.getElementById("checkout-wizard-beaconminimal-yearup-button"),minimalGamesPriceField:document.getElementById("checkout-wizard-beaconminimal-price"),minimalGamesStatusField:document.getElementById("checkout-wizard-status-beaconminimal"),cancelButton:document.getElementById("checkout-wizard-cancel"),init:function(e){var t=this;if(this.cartView=e,this.cancelButton&&this.cancelButton.addEventListener("click",(function(e){e.preventDefault(),a.hideModal()})),this.actionButton&&this.actionButton.addEventListener("click",(function(e){e.preventDefault();var n=t.giftCheck.checked,i=t.arkCheck&&!1===t.arkCheck.disabled&&t.arkCheck.checked,r=t.arkSACheck&&!1===t.arkSACheck.disabled&&t.arkSACheck.checked,o=t.minimalGamesCheck&&!1===t.minimalGamesCheck.disabled&&t.minimalGamesCheck.checked;if(!1!==(i||r||o)){var c,l=r?parseInt(t.arkSADurationField.value)||1:0,s=o?parseInt(t.minimalGamesDurationField.value)||1:0;if(t.editCartItem?c=t.editCartItem:(c=new d).isGift=n,c.build(C,n,i,l,s),!1===Boolean(t.editCartItem)){var u=C.personalCartItem;!1===n&&!0===Boolean(u)?u.consume(C,c):C.add(c)}C.save(),t.cartView.update(),U(),a.hideModal()}})),this.giftCheck&&this.giftCheck.addEventListener("change",(function(){t.update()})),this.arkCheck&&this.arkCheck.addEventListener("change",(function(){t.update()})),this.arkSACheck&&this.arkSADurationField&&this.arkSADurationUpButton&&this.arkSADurationDownButton&&this.arkSADurationGroup){this.arkSACheck.addEventListener("change",(function(){t.update()})),this.arkSADurationField.addEventListener("input",(function(){t.update()}));var n=function(e){var n=parseInt(t.arkSADurationField.value),i=n+e;(i>5||i<1)&&(t.arkSADurationGroup.classList.add("shake"),setTimeout((function(){t.arkSADurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.arkSADurationField.value=i,t.arkSACheck.checked=!0,t.update())};this.arkSADurationUpButton.addEventListener("click",(function(e){e.preventDefault(),n(1)})),this.arkSADurationDownButton.addEventListener("click",(function(e){e.preventDefault(),n(-1)}))}if(this.minimalGamesCheck&&this.minimalGamesDurationField&&this.minimalGamesDurationUpButton&&this.minimalGamesDurationDownButton&&this.minimalGamesDurationGroup){this.minimalGamesCheck.addEventListener("change",(function(){t.update()})),this.minimalGamesDurationField.addEventListener("input",(function(){t.update()}));var i=function(e){var n=parseInt(t.minimalGamesDurationField.value),i=n+e;(i>5||i<1)&&(t.minimalGamesDurationGroup.classList.add("shake"),setTimeout((function(){t.minimalGamesDurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.minimalGamesDurationField.value=i,t.minimalGamesCheck.checked=!0,t.update())};this.minimalGamesDurationUpButton.addEventListener("click",(function(e){e.preventDefault(),i(1)})),this.minimalGamesDurationDownButton.addEventListener("click",(function(e){e.preventDefault(),i(-1)}))}if(this.arkOnlyCheck&&this.arkOnlyCheck.addEventListener("change",(function(e){if(e.preventDefault(),e.currentTarget.checked){var n=C.personalCartItem;n||(n=new d,C.add(n)),n.build(C,!1,!0,0),C.save()}else{var i=C.personalCartItem;i&&C.remove(i)}t.cartView.update()})),this.arkOnlyGiftField){var r=function(e){var n=C.items.filter((function(e){return!0===e.isGift&&e.hasArk}));if(n.length!==e){if(n.length>e)for(var i=e;i<=n.length-1;i++)C.remove(n[i]);else if(n.length5||i<0)&&(t.arkOnlyGiftQuantityGroup.classList.add("shake"),setTimeout((function(){t.arkOnlyGiftQuantityGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),0)),n!==i&&(t.arkOnlyGiftField.value=i,r(i))};this.arkOnlyGiftUpButton.addEventListener("click",(function(e){e.preventDefault(),o(1)})),this.arkOnlyGiftDownButton.addEventListener("click",(function(e){e.preventDefault(),o(-1)}))}},present:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.editCartItem=e,this.arkCheck.disabled=!1,this.arkSACheck&&(this.arkSACheck.disabled=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.disabled=!1),e?(this.giftCheck.checked=e.isGift,this.giftCheck.disabled=!0,this.arkCheck.checked=e.hasArk,this.arkSACheck&&(this.arkSACheck.checked=e.hasArkSA),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=e.hasMinimalGames)):(this.giftCheck.checked=!1,this.giftCheck.disabled=!1,this.arkCheck.checked=!1,this.arkSACheck&&(this.arkSACheck.checked=!1),this.minimalGamesCheck&&(this.minimalGamesCheck.checked=!1)),this.arkSADurationField&&(this.arkSADurationField.value=e?e.arkSAYears:"1"),this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=e?e.minimalGamesYears:"1"),this.cancelButton.innerText="Cancel",this.update(),a.showModal("checkout-wizard")},getGameStatus:function(){var e={Ark:D,ArkSA:D,BeaconMinimal:D},t=C.personalCartItem,n=Boolean(this.editCartItem);return this.giftCheck&&this.giftCheck.checked?(e.Ark=this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?O:D,e.ArkSA=this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?O:D,e.BeaconMinimal=this.minimalGamesCheck=!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?O:D):(C.arkLicense?e.Ark=x:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArk?e.Ark=F:this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?e.Ark=O:e.Ark=D,C.arkSALicense?e.ArkSA=x:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasArkSA?e.ArkSA=F:this.arkSACheck&&this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?e.ArkSA=O:e.ArkSA=D,C.minimalGamesLicense?e.BeaconMinimal=x:t&&(!1===n||t.id!==this.editCartItem.id)&&t.hasMinimalGames()?e.BeaconMinimal=F:this.minimalGamesCheck&&this.minimalGamesCheck&&!1===this.minimalGamesCheck.disabled&&this.minimalGamesCheck.checked?e.BeaconMinimal=O:e.BeaconMinimal=D),e},update:function(){var e=this.getGameStatus(),t=0;if(this.arkCheck&&!1===this.arkCheck.disabled&&!0===this.arkCheck.checked&&(t+=n.Ark.Base.Price),this.arkSACheck){var i=n.ArkSA.Base.Price,a=n.ArkSA.Base.Price,o=Math.min(Math.max(parseInt(this.arkSADurationField.value)||1,1),5);parseInt(this.arkSADurationField.value)!==o&&document.activeElement!==this.arkSADurationField&&(this.arkSADurationField.value=o);var c=Math.max(o-1,0),l=Math.round((n.ArkSA.Base.Price-n.ArkSA.Upgrade.Price)/n.ArkSA.Base.Price*100);if(this.arkSAPromoField.innerText="".concat(l,"% off first year when bundled with ").concat(n.Ark.Base.Name),e.ArkSA===x){var s,u=C.arkSALicense,d=Math.floor(Date.now()/1e3),h=u.expiresEpoch,m=p(v(h),!1),f=(d>h?86400*Math.floor(d/86400)+86400:h)+n.ArkSA.Renewal.PlanLengthSeconds*o,k=p(v(f),!1);s=d>h?'Renew your update plan
Expired on '.concat(m,'
New expiration: ').concat(k,""):'Extend your update plan
Expires on '.concat(m,'
New expiration: ').concat(k,""),this.arkSAStatusField.innerHTML=s,a=i=n.ArkSA.Renewal.Price*o,this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden")}else if(e.ArkSA===F)a=i=n.ArkSA.Renewal.Price*o,this.arkSAStatusField.innerText="Additional renewal years for ".concat(n.ArkSA.Base.Name," in your cart."),this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden");else if(e.Ark!==D){i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c,a=n.ArkSA.Upgrade.Price+n.ArkSA.Renewal.Price*c;var y=e.Ark===x?"because you own":"when bundled with";this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(l,"% off first year ").concat(y," ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden")}else this.arkSAStatusField.innerText="Includes first year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(l,"% off first year when bundled with ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden"),a=i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c;this.arkSAPriceField.classList.toggle("checkout-wizard-discounted",i!==a),this.arkSAPriceField.innerText=r(i),this.arkSAUpgradePriceField.classList.toggle("hidden",i===a),this.arkSAUpgradePriceField.innerText=r(a),!1===this.arkSACheck.disabled&&!0===this.arkSACheck.checked&&(t+=a)}if(e.Ark===x?(this.arkStatusField.innerText="You already own ".concat(n.Ark.Base.Name,"."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):e.Ark===F?(this.arkStatusField.innerText="".concat(n.Ark.Base.Name," is already in your cart."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):(this.arkStatusField.innerText="Includes lifetime app updates.",this.arkCheck.disabled=!1),this.minimalGamesCheck){var g=n.BeaconMinimal.Base.Price,b=Math.min(Math.max(parseInt(this.minimalGamesDurationField.value)||1,1),5);parseInt(this.minimalGamesDurationField.value)!==b&&document.activeElement!==this.minimalGamesDurationField&&(this.minimalGamesDurationField.value=b);var w=Math.max(b-1,0);if(e.BeaconMinimal===x){var A,S=C.minimalGamesLicense,E=Math.floor(Date.now()/1e3),B=S.expiresEpoch,I=p(v(B),!1),P=(E>B?86400*Math.floor(E/86400)+86400:B)+n.BeaconMinimal.Renewal.PlanLengthSeconds*b,L=p(v(P),!1);A=E>B?'Renew your update plan
Expired on '.concat(I,'
New expiration: ').concat(L,""):'Extend your update plan
Expires on '.concat(I,'
New expiration: ').concat(L,""),this.minimalGamesStatusField.innerHTML=A,g=n.BeaconMinimal.Renewal.Price*b}else e.BeaconMinimal===F?(g=n.BeaconMinimal.Renewal.Price*b,this.minimalGamesStatusField.innerText="Additional renewal years for ".concat(n.BeaconMinimal.Base.Name," in your cart.")):(this.minimalGamesStatusField.innerText="For games with only a few options, such as Palworld. Includes first year of app updates. Additional years cost ".concat(r(n.BeaconMinimal.Renewal.Price)," each."),g=n.BeaconMinimal.Base.Price+n.BeaconMinimal.Renewal.Price*w);this.minimalGamesPriceField.innerText=r(g),!1===this.minimalGamesCheck.disabled&&!0===this.minimalGamesCheck.checked&&(t+=g)}var G=this.editCartItem?"Edit":"Add to Cart";t>0?(this.actionButton.disabled=!1,this.actionButton.innerText="".concat(G,": ").concat(r(t))):(this.actionButton.disabled=!0,this.actionButton.innerText=G)}},Y={wizard:null,emailField:document.getElementById("storefront-cart-header-email-field"),changeEmailButton:document.getElementById("storefront-cart-header-email-button"),currencyMenu:document.getElementById("storefront-cart-currency-menu"),addMoreButton:document.getElementById("storefront-cart-more-button"),checkoutButton:document.getElementById("storefront-cart-checkout-button"),refundCheckbox:document.getElementById("storefront-refund-checkbox"),footer:document.getElementById("storefront-cart-footer"),body:document.getElementById("storefront-cart"),totalField:document.getElementById("storefront-cart-total"),init:function(e){var t=this;this.wizard=e,this.currencyMenu.addEventListener("change",(function(e){e.preventDefault(),c.get("/omni/currency?currency=".concat(e.target.value)).then((function(){window.location.reload()})).catch((function(e){console.log(JSON.stringify(e)),a.show("Currency was not changed",e.statusText)}))})),this.addMoreButton.addEventListener("click",(function(e){e.preventDefault(),t.wizard.present()})),this.checkoutButton.addEventListener("click",(function(e){e.preventDefault();var n=t.refundCheckbox.checked,i=function(e){t.update(),e?C.count>0?a.show("Your cart contents have changed.","The items in your cart have changed based on your e-mail address. Please review before continuing checkout."):a.show("Your cart is now empty.","You already own everything in your cart. There is no need to purchase again."):(t.checkoutButton.disabled=!0,c.post("/omni/begin",b(b({},C.toJSON()),{},{refundPolicyAgreed:n})).then((function(e){try{var t=JSON.parse(e.body),n=t.url;sessionStorage.setItem("clientReferenceId",t.client_reference_id),window.location=n}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).catch((function(e){try{var t=JSON.parse(e.body).message;a.show("Checkout Error",t)}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).finally((function(){t.checkoutButton.disabled=!1})))};C.email?n?i(!1):a.show("Hang on","Please agree to the refund policy."):H.present(!1,i)})),this.changeEmailButton.addEventListener("click",(function(e){e.preventDefault(),H.present(!1,(function(){t.update()}))})),this.update()},update:function(){var e,n=this;if(Q){this.emailField.innerText=C.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=C.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.addMoreButton.classList.add("hidden"),C.arkLicense?(this.wizard.arkOnlyOwnedField.classList.remove("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.add("hidden")):(this.wizard.arkOnlyOwnedField.classList.add("hidden"),this.wizard.arkOnlyCheck.parentElement.classList.remove("hidden"));var i=C.personalCartItem;if(this.wizard.arkOnlyCheck.checked=i&&i.hasArk,document.activeElement!==this.wizard.arkOnlyGiftField){var a=C.items.filter((function(e){return!0===e.isGift&&e.hasArk}));this.wizard.arkOnlyGiftField.value=a.length}}else if(C.count>0)this.emailField.innerText=C.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=C.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.body.innerText="",this.body.classList.remove("empty"),this.footer.classList.remove("hidden"),C.items.forEach((function(e){var t=n.createCartItemRow(e);t&&n.body.appendChild(t)})),z.innerText="Go to Cart";else{this.emailField.innerText="",this.changeEmailButton.classList.add("hidden"),this.body.innerText="",this.body.classList.add("empty"),this.footer.classList.add("hidden"),this.body.appendChild(document.createElement("div"));var r=document.createElement("div"),o=document.createElement("p");o.appendChild(document.createTextNode("Your cart is empty.")),r.appendChild(o),this.buyMoreButton=document.createElement("button"),this.buyMoreButton.addEventListener("click",(function(){H.present(!0,(function(){n.wizard.present()}))})),this.buyMoreButton.classList.add("default"),this.buyMoreButton.appendChild(document.createTextNode("Buy Omni"));var c=document.createElement("p");c.appendChild(this.buyMoreButton),r.appendChild(c),this.body.appendChild(r),this.body.appendChild(document.createElement("div")),z.innerText="Buy Omni"}this.totalField.setAttribute("beacon-price",C.total),e=t.currencyCode,document.querySelectorAll(".formatted-price").forEach((function(t){var n,i=parseFloat(null!==(n=t.getAttribute("beacon-price"))&&void 0!==n?n:t.innerText),a=t.getAttribute("beacon-currency"),r=k(null!=a?a:e);r&&(t.innerText=r(i))})),this.checkoutButton.disabled=0===C.total},createProductRow:function(e,t){var n=e.getQuantity(t);if(n<=0)return null;var a=i[t].Name,r=i[t].Price,o=document.createElement("div");o.appendChild(document.createTextNode(n));var c=document.createElement("div");c.appendChild(document.createTextNode(a));var l=document.createElement("div");l.classList.add("formatted-price"),l.appendChild(document.createTextNode(r*n));var s=document.createElement("div");return s.classList.add("bundle-product"),s.appendChild(o),s.appendChild(c),s.appendChild(l),s},createCartItemRow:function(e){var t=this,n=e.productIds;if(n.length<=0)return null;var i=document.createElement("div");i.classList.add("bundle"),n.forEach((function(n){var a=t.createProductRow(e,n);a&&i.appendChild(a)}));var a=document.createElement("div");e.isGift&&(i.classList.add("gift"),a.classList.add("gift"),n.length>1?a.appendChild(document.createTextNode("These products are a gift. You will receive a gift code for them.")):a.appendChild(document.createTextNode("This product is a gift. You will receive a gift code for it.")));var r=document.createElement("button");r.appendChild(document.createTextNode("Edit")),r.classList.add("small"),r.addEventListener("click",(function(n){n.preventDefault(),t.wizard.present(e)}));var o=document.createElement("button");o.appendChild(document.createTextNode("Remove")),o.classList.add("red"),o.classList.add("small"),o.addEventListener("click",(function(n){n.preventDefault(),C.remove(e),t.update()}));var c=document.createElement("div");c.classList.add("button-group"),c.appendChild(r),c.appendChild(o);var l=document.createElement("div");l.appendChild(c);var s=document.createElement("div");return s.classList.add("actions"),s.classList.add("double-group"),s.appendChild(a),s.appendChild(l),i.appendChild(s),i}};V.init(Y),Y.init(V);var W=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=window.location.hash.substring(1);if(o&&o.hasPage(t))return"page-landing"!==N.currentView&&N.back(e),void o.switchPage(t);window.scrollTo(window.scrollX,0),"#checkout"===window.location.hash?N.switchView("page-cart",e):N.back(e)};z.addEventListener("click",(function(e){e.preventDefault(),Q||C.count>0?U():H.present(!0,(function(){V.present()}))})),R.addEventListener("click",(function(){o?(o.currentPageTitle?document.title="Beacon Omni for ".concat(o.currentPageTitle):document.title="Beacon Omni",history.pushState({},"","/omni#".concat(o.currentPageName))):(document.title="Beacon Omni",history.pushState({},"","/omni")),dispatchEvent(new PopStateEvent("popstate",{}))})),window.addEventListener("popstate",(function(){W(!0)})),W(!1),t.forceEmail&&(C.email!==t.forceEmail&&C.reset(),0===C.count?H.present(!0,(function(){V.present()})):U())}))})(); \ No newline at end of file +(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok";return this.confirm(e,t,n,null)}},{key:"confirm",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ok",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Cancel";return new Promise((function(r,o){var c=document.getElementById("overlay"),l=document.getElementById("dialog"),s=document.getElementById("dialog_message"),u=document.getElementById("dialog_explanation"),d=document.getElementById("dialog_action_button"),h=document.getElementById("dialog_cancel_button");c&&l&&s&&u&&d&&h?(c.className="exist",l.className="exist",setTimeout((function(){c.className="exist visible",l.className="exist visible"}),10),s.innerText=e,u.innerText=n||"",d.clickHandler&&d.removeEventListener("click",d.clickHandler),h.clickHandler&&h.removeEventListener("click",h.clickHandler),d.clickHandler=function(){t.hide(),setTimeout((function(){r()}),300)},d.addEventListener("click",d.clickHandler),d.innerText=i,a?(h.clickHandler=function(){t.hide(),setTimeout((function(){o()}),300)},h.addEventListener("click",h.clickHandler),h.innerText=a):h.className="hidden"):o()}))}},{key:"hide",value:function(){var e=document.getElementById("overlay"),t=document.getElementById("dialog");e&&t&&(e.className="exist",t.className="exist",setTimeout((function(){e.className="",t.className=""}),300))}},{key:"showModal",value:function(e){var t=this;if(!this.activeModal){var n=document.getElementById("overlay"),i=document.getElementById(e);n&&i&&(n.classList.add("exist"),i.classList.add("exist"),this.activeModal=e,setTimeout((function(){n.classList.add("visible"),i.classList.add("visible")}),10),this.viewportWatcher=setInterval((function(){if(t.activeModal){document.querySelectorAll("#".concat(t.activeModal," .modal-content .content")).forEach((function(e){i.classList.toggle("scrolled",e.scrollHeight>e.clientHeight)}));var e=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);i.classList.toggle("centered",i.clientHeight>.75*e)}}),100))}}},{key:"hideModal",value:function(){var e=this;return new Promise((function(t,n){if(e.activeModal){var i=document.getElementById("overlay"),a=document.getElementById(e.activeModal);i&&a?(e.viewportWatcher&&(clearInterval(e.viewportWatcher),e.viewportWatcher=null),i.classList.remove("visible"),a.classList.remove("visible"),setTimeout((function(){i.classList.remove("exist"),a.classList.remove("exist"),e.activeModal=null,t()}),300)):n()}else n()}))}}],null&&t(n.prototype,null),i&&t(n,i),Object.defineProperty(n,"prototype",{writable:!1}),e}();function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n=200&&e.status<300||304===e.status}}},{key:"start",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,c){var l=new XMLHttpRequest;if(l.open(e,t,!0),"object"===r(a)&&null!==a&&!1===Array.isArray(a))for(var s=0,u=Object.keys(a);s1&&void 0!==arguments[1]?arguments[1]:{};return e.start("GET",t,null,n)}},{key:"post",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n instanceof URLSearchParams?(i["Content-Type"]="application/x-www-form-urlencoded",e.start("POST",t,n.toString(),i)):"object"===r(n)&&null!==n||Array.isArray(n)?(i["Content-Type"]="application/json",e.start("POST",t,JSON.stringify(n),i)):e.start("POST",t,n,i)}},{key:"delete",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.start("DELETE",t,null,n)}}],null&&o(t.prototype,null),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Intl.DateTimeFormat().resolvedOptions(),a={dateStyle:"medium"};t&&(a.timeStyle="short");var r=Intl.DateTimeFormat(i.locale,a).format(e);return n&&(r="".concat(r," ").concat(i.timeZone)),r};function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function b(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw r}}}}function S(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n>e/4).toString(16)})))}return B(e,[{key:"id",get:function(){return T(this,u)}},{key:"isGift",get:function(){return T(this,h)},set:function(e){x(this,h,e)}},{key:"productIds",get:function(){return Object.keys(T(this,d))}},{key:"count",get:function(){return Object.keys(T(this,d)).length}},{key:"reset",value:function(){x(this,d,{})}},{key:"add",value:function(e,t){this.setQuantity(e,this.getQuantity(e)+t)}},{key:"remove",value:function(e,t){this.setQuantity(e,this.getQuantity(e)-t)}},{key:"getQuantity",value:function(e){var t;return null!==(t=T(this,d)[e])&&void 0!==t?t:0}},{key:"setQuantity",value:function(e,t){t<=0?Object.prototype.hasOwnProperty.call(T(this,d),e)&&delete T(this,d)[e]:T(this,d)[e]=t}},{key:"toJSON",value:function(){return{id:T(this,u),products:T(this,d),isGift:T(this,h)}}},{key:"fingerprint",get:function(){var e=this,t=Object.keys(T(this,d)).sort().reduce((function(t,n){return t[n]=T(e,d)[n],t}),{});return btoa(JSON.stringify({id:T(this,u),products:t,isGift:T(this,h)}))}},{key:"hasArk",get:function(){var e;return this.getQuantity(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0}},{key:"hasArkSA",get:function(){var e,t,i;return this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)>0||this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)>0||this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId)>0}},{key:"arkSAYears",get:function(){var e,t,i;return Math.min(this.getQuantity(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)+this.getQuantity(null==n||null===(t=n.ArkSA)||void 0===t||null===(t=t.Upgrade)||void 0===t?void 0:t.ProductId)+this.getQuantity(null==n||null===(i=n.ArkSA)||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId),5)}},{key:"hasGame",value:function(e){var t,i;return"ArkSA"===e?this.hasArkSA:this.getQuantity(null==n||null===(t=n[e])||void 0===t||null===(t=t.Base)||void 0===t?void 0:t.ProductId)>0||this.getQuantity(null==n||null===(i=n[e])||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId)>0}},{key:"yearsForGame",value:function(e){var t,i;return"ArkSA"===e?this.arkSAYears:Math.min(this.getQuantity(null==n||null===(t=n[e])||void 0===t||null===(t=t.Base)||void 0===t?void 0:t.ProductId)+this.getQuantity(null==n||null===(i=n[e])||void 0===i||null===(i=i.Renewal)||void 0===i?void 0:i.ProductId),5)}},{key:"yearsForOtherGames",value:function(){var e,t={},n=A(l);try{for(n.s();!(e=n.n()).done;){var i=e.value;this.yearsForGame(i.gameId)>0&&(t[i.gameId]=this.yearsForGame(i.gameId))}}catch(e){n.e(e)}finally{n.f()}return t}},{key:"build",value:function(e,t,i,a,r){if(this.reset(),this.isGift=t,i&&(t||null===e.arkLicense)&&this.setQuantity(n.Ark.Base.ProductId,1),a>0&&(a=Math.min(a,5),t?(i?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1)):null!==e.arkSALicense?this.setQuantity(n.ArkSA.Renewal.ProductId,a):(i||null!==e.arkLicense?this.setQuantity(n.ArkSA.Upgrade.ProductId,1):this.setQuantity(n.ArkSA.Base.ProductId,1),a>1&&this.setQuantity(n.ArkSA.Renewal.ProductId,a-1))),r){var o,c=A(l);try{for(c.s();!(o=c.n()).done;){var s,u=o.value,d=Math.min(null!==(s=r[u.gameId])&&void 0!==s?s:0,5);0!==d&&(!1===t&&null!==e.findLicense(n[u.gameId].Base.ProductId)?this.setQuantity(n[u.gameId].Renewal.ProductId,d):(this.setQuantity(n[u.gameId].Base.ProductId,1),d>1&&this.setQuantity(n[u.gameId].Renewal.ProductId,d-1)))}}catch(e){c.e(e)}finally{c.f()}}}},{key:"rebuild",value:function(e){var t=this.fingerprint;return this.build(e,this.isGift,this.hasArk,this.arkSAYears,this.yearsForOtherGames()),this.fingerprint!==t}},{key:"consume",value:function(e,t){if(t){if(this.isGift!==t.isGift)throw new Error("Cannot merge a gift item with a non-gift item.");for(var n=this.hasArk||t.hasArk,i=this.arkSAYears+t.arkSAYears,a=this.yearsForOtherGames(),r=t.yearsForOtherGames(),o=0,c=Object.entries(r);o0&&void 0!==arguments[0]?arguments[0]:null;if(I(this,e),L(this,y,{writable:!0,value:[]}),L(this,g,{writable:!0,value:null}),L(this,w,{writable:!0,value:!1}),L(this,C,{writable:!0,value:[]}),t)try{var n=JSON.parse(t);x(this,g,n.email),x(this,y,n.items.reduce((function(e,t){var n=new f(t);return n.count>0&&e.push(n),e}),[])),x(this,C,n.licenses)}catch(e){console.log("Failed to load saved cart")}}return B(e,[{key:"reset",value:function(){x(this,y,[]),x(this,g,null),x(this,w,!1),x(this,C,[]),this.save()}},{key:"toJSON",value:function(){return{email:T(this,g),items:T(this,y).reduce((function(e,t){return t.count>0&&e.push(t),e}),[]),licenses:T(this,C)}}},{key:"save",value:function(){localStorage.setItem("beaconCart",JSON.stringify(this))}},{key:"add",value:function(e){T(this,y).push(e),this.save()}},{key:"remove",value:function(e){x(this,y,T(this,y).filter((function(t){return t.id!==e.id}))),this.save()}},{key:"hasProduct",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=A(T(this,y));try{for(i.s();!(t=i.n()).done;){var a=t.value;if(a.getQuantity(e)>0&&a.isGift===n)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"email",get:function(){return T(this,g)}},{key:"setEmail",value:function(e){var t=this;return new Promise((function(i,a){var r=function(){var e,i=t.personalCartItem;return!!i&&(i.hasArk&&t.arkLicense?(i.setQuantity(null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId,0),0===i.count&&t.remove(i),!0):i.rebuild(t))};if(null===e){x(t,g,null),x(t,w,!1),x(t,C,[]);var o=r();return t.save(),void i({newEmail:null,cartChanged:o})}if(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(e).trim().toLowerCase())){var l=new URLSearchParams;l.append("email",e),c.get("/omni/lookup?".concat(l.toString())).then((function(n){var a=JSON.parse(n.body);x(t,g,a.email),x(t,w,a.verified),x(t,C,a.purchases);var o=r();t.save(),i({newEmail:e,cartChanged:o})})).catch((function(e){x(t,g,null),x(t,w,!1),x(t,C,[]),r(),t.save(),a(e.statusText)}))}else a("Address is not valid")}))}},{key:"emailVerified",get:function(){return T(this,w)}},{key:"checkingEmail",get:function(){return!1}},{key:"items",get:function(){return function(e){if(Array.isArray(e))return E(e)}(e=T(this,y))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var e}},{key:"count",get:function(){return T(this,y).reduce((function(e,t){return t.count>0&&e++,e}),0)}},{key:"findLicense",value:function(e){var t,n=A(T(this,C));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(i.productId===e)return i}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"arkLicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.Ark)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"arkSALicense",get:function(){var e;return this.findLicense(null==n||null===(e=n.ArkSA)||void 0===e||null===(e=e.Base)||void 0===e?void 0:e.ProductId)}},{key:"ark2License",get:function(){return null}},{key:"personalCartItem",get:function(){var e,t=A(T(this,y));try{for(t.s();!(e=t.n()).done;){var n=e.value;if(!1===n.isGift)return n}}catch(e){t.e(e)}finally{t.f()}return null}},{key:"total",get:function(){var e,t=0,n=A(T(this,y));try{for(n.s();!(e=n.n()).done;)t+=e.value.total}catch(e){n.e(e)}finally{n.f()}return t}}],[{key:"load",value:function(){return new this(localStorage.getItem("beaconCart"))}}]),e}(),O=P.load(),G=new WeakMap,N=new WeakMap,R=function(){function e(t){I(this,e),L(this,G,{writable:!0,value:[]}),L(this,N,{writable:!0,value:null}),T(this,G).push(t)}return B(e,[{key:"currentView",get:function(){return T(this,G).slice(-1)}},{key:"back",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return!(T(this,G).length<=1||(this.switchView(T(this,G)[T(this,G).length-2],e),x(this,G,T(this,G).slice(0,T(this,G).length-2)),0))}},{key:"clearHistory",value:function(){T(this,G).length<=1||x(this,G,T(this,G).slice(-1))}},{key:"switchView",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.currentView!==e){T(this,N)&&(clearTimeout(T(this,N)),x(this,N,null));var i=document.getElementById(this.currentView),a=document.getElementById(e);T(this,G).push(e),n?(i.classList.add("invisible"),x(this,N,setTimeout((function(){i.classList.add("hidden"),a.classList.remove("hidden"),x(t,N,setTimeout((function(){a.classList.remove("invisible"),x(t,N,null)}),150))}),150))):(i.classList.add("hidden"),i.classList.add("invisible"),a.classList.remove("invisible"),a.classList.remove("hidden"))}}}]),e}();new R("checkout-wizard-start");var Q=new R("page-landing"),z=document.getElementById("buy-button"),U=document.getElementById("cart-back-button"),H=function(){document.title="Buy Beacon Omni",history.pushState({},"","/omni#checkout"),dispatchEvent(new PopStateEvent("popstate",{}))},V={cancelButton:document.getElementById("checkout-email-cancel"),actionButton:document.getElementById("checkout-email-action"),emailField:document.getElementById("checkout-email-field"),errorField:document.getElementById("checkout-email-error"),allowsSkipping:!1,successFunction:function(e){},init:function(){var e=this,t=function(t){e.actionButton.disabled=!0,e.cancelButton.disabled=!0,e.errorField.classList.add("hidden"),O.setEmail(t).then((function(t){t.newEmail;var n=t.cartChanged;a.hideModal(),setTimeout((function(){e.successFunction(n)}),310)})).catch((function(t){e.errorField.innerText=t,e.errorField.classList.remove("hidden")})).finally((function(){e.actionButton.disabled=!1,e.cancelButton.disabled=!1}))};this.actionButton.addEventListener("click",(function(n){n.preventDefault(),t(e.emailField.value)})),this.cancelButton.addEventListener("click",(function(n){n.preventDefault(),e.allowsSkipping?t(null):a.hideModal()}))},present:function(e,n){t.forceEmail?O.setEmail(t.forceEmail).then((function(e){e.newEmail;var t=e.cartChanged;n(t)})):(this.allowsSkipping=e,this.successFunction=n,O.email?this.emailField.value=O.email:this.emailField.value=sessionStorage.getItem("email")||localStorage.getItem("email")||"",this.cancelButton.innerText=e?"Skip For Now":"Cancel",a.showModal("checkout-email"))}};V.init();var W={cartView:null,editCartItem:null,actionButton:document.getElementById("checkout-wizard-action"),arkCheck:document.getElementById("checkout-wizard-ark-check"),arkOnlyCheck:document.getElementById("storefront-ark-check"),arkOnlyGiftDownButton:document.getElementById("storefront-ark-gift-decrease"),arkOnlyGiftField:document.getElementById("storefront-ark-gift-field"),arkOnlyGiftQuantityGroup:document.getElementById("storefront-ark-gift-group"),arkOnlyGiftUpButton:document.getElementById("storefront-ark-gift-increase"),arkOnlyOwnedField:document.getElementById("storefront-ark-owned"),arkPriceField:document.getElementById("checkout-wizard-ark-price"),arkSACheck:document.getElementById("checkout-wizard-arksa-check"),arkSADurationDownButton:document.getElementById("checkout-wizard-arksa-yeardown-button"),arkSADurationField:document.getElementById("checkout-wizard-arksa-duration-field"),arkSADurationGroup:document.getElementById("checkout-wizard-arksa-duration-group"),arkSADurationUpButton:document.getElementById("checkout-wizard-arksa-yearup-button"),arkSAPriceField:document.getElementById("checkout-wizard-arksa-full-price"),arkSAPromoField:document.getElementById("checkout-wizard-promo-arksa"),arkSAStatusField:document.getElementById("checkout-wizard-status-arksa"),arkSAUpgradePriceField:document.getElementById("checkout-wizard-arksa-discount-price"),arkStatusField:document.getElementById("checkout-wizard-status-ark"),giftCheck:document.getElementById("checkout-wizard-gift-check"),cancelButton:document.getElementById("checkout-wizard-cancel"),init:function(e){var t=this;this.cartView=e;var n,i=A(l);try{for(i.s();!(n=i.n()).done;){var r=n.value.gameId.toLowerCase();this["".concat(r,"Check")]=document.getElementById("checkout-wizard-".concat(r,"-check")),this["".concat(r,"DurationDownButton")]=document.getElementById("checkout-wizard-".concat(r,"-yeardown-button")),this["".concat(r,"DurationField")]=document.getElementById("checkout-wizard-".concat(r,"-duration-field")),this["".concat(r,"DurationGroup")]=document.getElementById("checkout-wizard-".concat(r,"-duration-group")),this["".concat(r,"DurationUpButton")]=document.getElementById("checkout-wizard-".concat(r,"-yearup-button")),this["".concat(r,"PriceField")]=document.getElementById("checkout-wizard-".concat(r,"-price")),this["".concat(r,"StatusField")]=document.getElementById("checkout-wizard-status-".concat(r))}}catch(e){i.e(e)}finally{i.f()}if(this.cancelButton&&this.cancelButton.addEventListener("click",(function(e){e.preventDefault(),a.hideModal()})),this.actionButton&&this.actionButton.addEventListener("click",(function(e){e.preventDefault();var n,i=t.giftCheck.checked,r=t.arkCheck&&!1===t.arkCheck.disabled&&t.arkCheck.checked,o=t.arkSACheck&&!1===t.arkSACheck.disabled&&t.arkSACheck.checked,c=!1,s={},u=A(l);try{for(u.s();!(n=u.n()).done;){var d=n.value.gameId,h=d.toLowerCase();t["".concat(h,"Check")]&&!1===t["".concat(h,"Check")].disabled&&t["".concat(h,"Check")].checked&&(c=!0,s[d]=parseInt(t["".concat(h,"DurationField")].value)||1)}}catch(e){u.e(e)}finally{u.f()}if(!1!==(r||o||c)){var v,m=o?parseInt(t.arkSADurationField.value)||1:0;if(t.editCartItem?v=t.editCartItem:(v=new f).isGift=i,v.build(O,i,r,m,s),!1===Boolean(t.editCartItem)){var k=O.personalCartItem;!1===i&&!0===Boolean(k)?k.consume(O,v):O.add(v)}O.save(),t.cartView.update(),H(),a.hideModal()}})),this.giftCheck&&this.giftCheck.addEventListener("change",(function(){t.update()})),this.arkCheck&&this.arkCheck.addEventListener("change",(function(){t.update()})),this.arkSACheck&&this.arkSADurationField&&this.arkSADurationUpButton&&this.arkSADurationDownButton&&this.arkSADurationGroup){this.arkSACheck.addEventListener("change",(function(){t.update()})),this.arkSADurationField.addEventListener("input",(function(){t.update()}));var o=function(e){var n=parseInt(t.arkSADurationField.value),i=n+e;(i>5||i<1)&&(t.arkSADurationGroup.classList.add("shake"),setTimeout((function(){t.arkSADurationGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),1)),n!==i&&(t.arkSADurationField.value=i,t.arkSACheck.checked=!0,t.update())};this.arkSADurationUpButton.addEventListener("click",(function(e){e.preventDefault(),o(1)})),this.arkSADurationDownButton.addEventListener("click",(function(e){e.preventDefault(),o(-1)}))}var c,s=A(l);try{var u=function(){var e=c.value.gameId.toLowerCase(),n=t["".concat(e,"Check")],i=t["".concat(e,"DurationField")],a=t["".concat(e,"DurationUpButton")],r=t["".concat(e,"DurationDownButton")],o=t["".concat(e,"DurationGroup")];if(n&&i&&a&&r&&o){n.addEventListener("change",(function(){t.update()})),i.addEventListener("input",(function(){t.update()}));var l=function(e){var a=parseInt(i.value),r=a+e;(r>5||r<1)&&(o.classList.add("shake"),setTimeout((function(){o.classList.remove("shake")}),400),r=Math.max(Math.min(r,5),1)),a!==r&&(i.value=r,n.checked=!0,t.update())};a.addEventListener("click",(function(e){e.preventDefault(),l(1)})),r.addEventListener("click",(function(e){e.preventDefault(),l(-1)}))}};for(s.s();!(c=s.n()).done;)u()}catch(e){s.e(e)}finally{s.f()}if(this.arkOnlyCheck&&this.arkOnlyCheck.addEventListener("change",(function(e){if(e.preventDefault(),e.currentTarget.checked){var n=O.personalCartItem;n||(n=new f,O.add(n)),n.build(O,!1,!0,0),O.save()}else{var i=O.personalCartItem;i&&O.remove(i)}t.cartView.update()})),this.arkOnlyGiftField){var d=function(e){var n=O.items.filter((function(e){return!0===e.isGift&&e.hasArk}));if(n.length!==e){if(n.length>e)for(var i=e;i<=n.length-1;i++)O.remove(n[i]);else if(n.length5||i<0)&&(t.arkOnlyGiftQuantityGroup.classList.add("shake"),setTimeout((function(){t.arkOnlyGiftQuantityGroup.classList.remove("shake")}),400),i=Math.max(Math.min(i,5),0)),n!==i&&(t.arkOnlyGiftField.value=i,d(i))};this.arkOnlyGiftUpButton.addEventListener("click",(function(e){e.preventDefault(),h(1)})),this.arkOnlyGiftDownButton.addEventListener("click",(function(e){e.preventDefault(),h(-1)}))}},filter:function(e){var t,n=!0,i=A(document.querySelectorAll(".checkout-wizard-list-game"));try{for(i.s();!(t=i.n()).done;){var a=t.value,r=a.getAttribute("beacon-game-id");0===e.length||e.includes(r)||("Ark"===r||"ArkSA"===r)&&(e.includes("Ark")||e.includes("ArkSA"))?(a.classList.remove("hidden"),n?(n=!1,a.classList.remove("separated")):a.classList.add("separated")):a.classList.add("hidden")}}catch(e){i.e(e)}finally{i.f()}},present:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.filter(t),t.length>0&&!1===t.includes(n)&&(n=null),this.editCartItem=e,this.arkCheck.disabled=!1,this.arkSACheck&&(this.arkSACheck.disabled=!1);var i,r=A(l);try{for(r.s();!(i=r.n()).done;){var o=i.value.gameId.toLowerCase();this["".concat(o,"Check")]&&(this["".concat(o,"Check")].disabled=!1)}}catch(e){r.e(e)}finally{r.f()}if(e){this.giftCheck.checked=e.isGift,this.giftCheck.disabled=!0,this.arkCheck.checked=e.hasArk,this.arkSACheck&&(this.arkSACheck.checked=e.hasArkSA);var c,s=A(l);try{for(s.s();!(c=s.n()).done;){var u=c.value.gameId,d=u.toLowerCase();this["".concat(d,"Check")]&&(this["".concat(d,"Check")].checked=e.hasGame(u))}}catch(e){s.e(e)}finally{s.f()}}else{this.giftCheck.checked=!1,this.giftCheck.disabled=!1,this.arkCheck.checked="Ark"===n,this.arkSACheck&&(this.arkSACheck.checked="ArkSA"===n);var h,f=A(l);try{for(f.s();!(h=f.n()).done;){var v=h.value.gameId,m=v.toLowerCase();this["".concat(m,"Check")]&&(this["".concat(m,"Check")].checked=n===v)}}catch(e){f.e(e)}finally{f.f()}}this.arkSADurationField&&(this.arkSADurationField.value=e?e.arkSAYears:"1");var k,p=A(l);try{for(p.s();!(k=p.n()).done;){var y=k.value.gameId,g=y.toLowerCase();this["".concat(g,"DurationField")].value=e?e.yearsForGame(y):"1"}}catch(e){p.e(e)}finally{p.f()}this.cancelButton.innerText="Cancel",this.update(),a.showModal("checkout-wizard")},getGameStatus:function(){var e,t={Ark:j,ArkSA:j},i=A(l);try{for(i.s();!(e=i.n()).done;)t[e.value.gameId]=j}catch(e){i.e(e)}finally{i.f()}var a=O.personalCartItem,r=Boolean(this.editCartItem);if(this.giftCheck&&this.giftCheck.checked){t.Ark=this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?M:j,t.ArkSA=this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?M:j;var o,c=A(l);try{for(c.s();!(o=c.n()).done;){var s=o.value.gameId.toLowerCase();t[gameId]=this["".concat(s,"Check")]&&!1===this["".concat(s,"Check")].disabled&&this["".concat(s,"Check")].checked?M:j}}catch(e){c.e(e)}finally{c.f()}}else{O.arkLicense?t.Ark=F:a&&(!1===r||a.id!==this.editCartItem.id)&&a.hasArk?t.Ark=D:this.arkCheck&&!1===this.arkCheck.disabled&&this.arkCheck.checked?t.Ark=M:t.Ark=j,O.arkSALicense?t.ArkSA=F:a&&(!1===r||a.id!==this.editCartItem.id)&&a.hasArkSA?t.ArkSA=D:this.arkSACheck&&this.arkSACheck&&!1===this.arkSACheck.disabled&&this.arkSACheck.checked?t.ArkSA=M:t.ArkSA=j;var u,d=A(l);try{for(d.s();!(u=d.n()).done;){var h,f=u.value.gameId,v=f.toLowerCase();O.findLicense(null===(h=n[f])||void 0===h||null===(h=h.Base)||void 0===h?void 0:h.ProductId)?t[f]=F:a&&(!1===r||a.id!==this.editCartItem.id)&&a.hasGame(f)?t[f]=D:this["".concat(v,"Check")]&&!1===this["".concat(v,"Check")].disabled&&this["".concat(v,"Check")].checked?t[f]=M:t[f]=j}}catch(e){d.e(e)}finally{d.f()}}return t},update:function(){var e=this.getGameStatus(),t=0;if(this.arkCheck&&!1===this.arkCheck.disabled&&!0===this.arkCheck.checked&&(t+=n.Ark.Base.Price),this.arkSACheck){var i=n.ArkSA.Base.Price,a=n.ArkSA.Base.Price,o=Math.min(Math.max(parseInt(this.arkSADurationField.value)||1,1),5);parseInt(this.arkSADurationField.value)!==o&&document.activeElement!==this.arkSADurationField&&(this.arkSADurationField.value=o);var c=Math.max(o-1,0),s=Math.round((n.ArkSA.Base.Price-n.ArkSA.Upgrade.Price)/n.ArkSA.Base.Price*100);if(this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),e.ArkSA===F){var u,d=O.arkSALicense,h=Math.floor(Date.now()/1e3),f=d.expiresEpoch,v=p(k(f),!1),m=(h>f?86400*Math.floor(h/86400)+86400:f)+n.ArkSA.Renewal.PlanLengthSeconds*o,y=p(k(m),!1);u=h>f?'Renew your update plan
Expired on '.concat(v,'
New expiration: ').concat(y,""):'Extend your update plan
Expires on '.concat(v,'
New expiration: ').concat(y,""),this.arkSAStatusField.innerHTML=u,a=i=n.ArkSA.Renewal.Price*o,this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden")}else if(e.ArkSA===D)a=i=n.ArkSA.Renewal.Price*o,this.arkSAStatusField.innerText="Additional renewal years for ".concat(n.ArkSA.Base.Name," in your cart."),this.arkSAPromoField.innerText="",this.arkSAPromoField.classList.add("hidden");else if(e.Ark!==j){i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c,a=n.ArkSA.Upgrade.Price+n.ArkSA.Renewal.Price*c;var g=e.Ark===F?"because you own":"when bundled with";this.arkSAStatusField.innerText="Includes 1 year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year ").concat(g," ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden")}else this.arkSAStatusField.innerText="Includes 1 year of app updates. Additional years cost ".concat(r(n.ArkSA.Renewal.Price)," each."),this.arkSAPromoField.innerText="".concat(s,"% off first year when bundled with ").concat(n.Ark.Base.Name),this.arkSAPromoField.classList.remove("hidden"),a=i=n.ArkSA.Base.Price+n.ArkSA.Renewal.Price*c;this.arkSAPriceField.classList.toggle("checkout-wizard-discounted",i!==a),this.arkSAPriceField.innerText=r(i),this.arkSAUpgradePriceField.classList.toggle("hidden",i===a),this.arkSAUpgradePriceField.innerText=r(a),!1===this.arkSACheck.disabled&&!0===this.arkSACheck.checked&&(t+=a)}e.Ark===F?(this.arkStatusField.innerText="You already own ".concat(n.Ark.Base.Name,"."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):e.Ark===D?(this.arkStatusField.innerText="".concat(n.Ark.Base.Name," is already in your cart."),this.arkCheck.disabled=!0,this.arkCheck.checked=!1):(this.arkStatusField.innerText="Includes lifetime app updates.",this.arkCheck.disabled=!1);var b,w=A(l);try{for(w.s();!(b=w.n()).done;){var S,E,I=b.value.gameId,C=I.toLowerCase(),B=this["".concat(C,"Check")],P=this["".concat(C,"DurationField")],L=this["".concat(C,"StatusField")],T=this["".concat(C,"PriceField")];if(B){var x=null===(S=n[I])||void 0===S||null===(S=S.Base)||void 0===S?void 0:S.Price,M=null===(null===(E=n[I])||void 0===E||null===(E=E.Base)||void 0===E?void 0:E.PlanLengthSeconds),G=Math.min(Math.max(parseInt(P.value)||1,1),5);parseInt(P.value)!==G&&document.activeElement!==P&&(P.value=G);var N,R=Math.max(G-1,0);if(M)if(e[I]===F)L.innerHTML="You already own ".concat(null===(N=n[I])||void 0===N||null===(N=N.Base)||void 0===N?void 0:N.Name,"."),B.disabled=!0,B.checked=!1;else if(e[I]===D){var Q;L.innerText="".concat(null===(Q=n[I])||void 0===Q||null===(Q=Q.Base)||void 0===Q?void 0:Q.Name," is already in your cart."),B.disabled=!0,B.checked=!1}else L.innerText="Includes lifetime app updates.",B.disabled=!1;else if(e[I]===F){var z,U,H,V=O.findLicense(null===(z=n[I])||void 0===z||null===(z=z.Base)||void 0===z?void 0:z.ProductId),W=Math.floor(Date.now()/1e3),Y=V.expiresEpoch,J=p(k(Y),!1),q=(W>Y?86400*Math.floor(W/86400)+86400:Y)+(null===(U=n[I])||void 0===U||null===(U=U.Renewal)||void 0===U?void 0:U.PlanLengthSeconds)*G,_=p(k(q),!1);H=W>Y?'Renew your update plan
Expired on '.concat(J,'
New expiration: ').concat(_,""):'Extend your update plan
Expires on '.concat(J,'
New expiration: ').concat(_,""),L.innerHTML=H}else if(e[I]===D){var Z,$;x=(null===(Z=n[I])||void 0===Z||null===(Z=Z.Renewal)||void 0===Z?void 0:Z.Price)*G,L.innerText="Additional renewal years for ".concat(null===($=n[I])||void 0===$||null===($=$.Base)||void 0===$?void 0:$.Name," in your cart.")}else{var X,K,ee,te;L.innerText="Includes ".concat(null===(X=n[I])||void 0===X||null===(X=X.Renewal)||void 0===X?void 0:X.PlanLength," of app updates. Additional years cost ").concat(r(null===(K=n[I])||void 0===K||null===(K=K.Renewal)||void 0===K?void 0:K.Price)," each."),x=(null===(ee=n[I])||void 0===ee||null===(ee=ee.Base)||void 0===ee?void 0:ee.Price)+(null===(te=n[I])||void 0===te||null===(te=te.Renewal)||void 0===te?void 0:te.Price)*R}T.innerText=r(x),!1===B.disabled&&!0===B.checked&&(t+=x)}}}catch(e){w.e(e)}finally{w.f()}var ne=this.editCartItem?"Edit":"Add to Cart";t>0?(this.actionButton.disabled=!1,this.actionButton.innerText="".concat(ne,": ").concat(r(t))):(this.actionButton.disabled=!0,this.actionButton.innerText=ne)}},Y={wizard:null,emailField:document.getElementById("storefront-cart-header-email-field"),changeEmailButton:document.getElementById("storefront-cart-header-email-button"),currencyMenu:document.getElementById("storefront-cart-currency-menu"),addMoreButton:document.getElementById("storefront-cart-more-button"),checkoutButton:document.getElementById("storefront-cart-checkout-button"),refundCheckbox:document.getElementById("storefront-refund-checkbox"),footer:document.getElementById("storefront-cart-footer"),body:document.getElementById("storefront-cart"),totalField:document.getElementById("storefront-cart-total"),init:function(e){var t=this;this.wizard=e,this.currencyMenu.addEventListener("change",(function(e){e.preventDefault(),c.get("/omni/currency?currency=".concat(e.target.value)).then((function(){window.location.reload()})).catch((function(e){console.log(JSON.stringify(e)),a.show("Currency was not changed",e.statusText)}))})),this.addMoreButton.addEventListener("click",(function(e){e.preventDefault(),t.wizard.present()})),this.checkoutButton.addEventListener("click",(function(e){e.preventDefault();var n=t.refundCheckbox.checked,i=function(e){t.update(),e?O.count>0?a.show("Your cart contents have changed.","The items in your cart have changed based on your e-mail address. Please review before continuing checkout."):a.show("Your cart is now empty.","You already own everything in your cart. There is no need to purchase again."):(t.checkoutButton.disabled=!0,c.post("/omni/begin",b(b({},O.toJSON()),{},{refundPolicyAgreed:n})).then((function(e){try{var t=JSON.parse(e.body),n=t.url;sessionStorage.setItem("clientReferenceId",t.client_reference_id),window.location=n}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).catch((function(e){try{var t=JSON.parse(e.body).message;a.show("Checkout Error",t)}catch(t){console.log(e.body),a.show("Unknown Error","There was an unknown error while starting the checkout process.")}})).finally((function(){t.checkoutButton.disabled=!1})))};O.email?n?i(!1):a.show("Hang on","Please agree to the refund policy."):V.present(!1,i)})),this.changeEmailButton.addEventListener("click",(function(e){e.preventDefault(),V.present(!1,(function(){t.update()}))})),this.update()},update:function(){var e,n=this;if(O.count>0)this.emailField.innerText=O.email,this.changeEmailButton.disabled=Boolean(t.forceEmail),this.changeEmailButton.innerText=O.email?"Change Email":"Set Email",this.changeEmailButton.classList.remove("hidden"),this.body.innerText="",this.body.classList.remove("empty"),this.footer.classList.remove("hidden"),O.items.forEach((function(e){var t=n.createCartItemRow(e);t&&n.body.appendChild(t)})),z.innerText="Go to Cart";else{this.emailField.innerText="",this.changeEmailButton.classList.add("hidden"),this.body.innerText="",this.body.classList.add("empty"),this.footer.classList.add("hidden"),this.body.appendChild(document.createElement("div"));var i=document.createElement("div"),a=document.createElement("p");a.appendChild(document.createTextNode("Your cart is empty.")),i.appendChild(a),this.buyMoreButton=document.createElement("button"),this.buyMoreButton.addEventListener("click",(function(){V.present(!0,(function(){n.wizard.present()}))})),this.buyMoreButton.classList.add("default"),this.buyMoreButton.appendChild(document.createTextNode("Buy Omni"));var r=document.createElement("p");r.appendChild(this.buyMoreButton),i.appendChild(r),this.body.appendChild(i),this.body.appendChild(document.createElement("div")),z.innerText="Buy Omni"}this.totalField.setAttribute("beacon-price",O.total),e=t.currencyCode,document.querySelectorAll(".formatted-price").forEach((function(t){var n,i=parseFloat(null!==(n=t.getAttribute("beacon-price"))&&void 0!==n?n:t.innerText),a=t.getAttribute("beacon-currency"),r=m(null!=a?a:e);r&&(t.innerText=r(i))})),this.checkoutButton.disabled=0===O.total},createProductRow:function(e,t){var n=e.getQuantity(t);if(n<=0)return null;var a=i[t].Name,r=i[t].Price,o=document.createElement("div");o.appendChild(document.createTextNode(n));var c=document.createElement("div");c.appendChild(document.createTextNode(a));var l=document.createElement("div");l.classList.add("formatted-price"),l.appendChild(document.createTextNode(r*n));var s=document.createElement("div");return s.classList.add("bundle-product"),s.appendChild(o),s.appendChild(c),s.appendChild(l),s},createCartItemRow:function(e){var t=this,n=e.productIds;if(n.length<=0)return null;var i=document.createElement("div");i.classList.add("bundle"),n.forEach((function(n){var a=t.createProductRow(e,n);a&&i.appendChild(a)}));var a=document.createElement("div");e.isGift&&(i.classList.add("gift"),a.classList.add("gift"),n.length>1?a.appendChild(document.createTextNode("These products are a gift. You will receive a gift code for them.")):a.appendChild(document.createTextNode("This product is a gift. You will receive a gift code for it.")));var r=document.createElement("button");r.appendChild(document.createTextNode("Edit")),r.classList.add("small"),r.addEventListener("click",(function(n){n.preventDefault(),t.wizard.present(e)}));var o=document.createElement("button");o.appendChild(document.createTextNode("Remove")),o.classList.add("red"),o.classList.add("small"),o.addEventListener("click",(function(n){n.preventDefault(),O.remove(e),t.update()}));var c=document.createElement("div");c.classList.add("button-group"),c.appendChild(r),c.appendChild(o);var l=document.createElement("div");l.appendChild(c);var s=document.createElement("div");return s.classList.add("actions"),s.classList.add("double-group"),s.appendChild(a),s.appendChild(l),i.appendChild(s),i}};W.init(Y),Y.init(W);var J=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=window.location.hash.substring(1);if(s&&s.hasPage(t))return Q.switchView("page-landing",e),void s.switchPage(t);window.scrollTo(window.scrollX,0),"checkout"===t?Q.switchView("page-cart",e):Q.back(e)};z.addEventListener("click",(function(e){e.preventDefault(),O.count>0?H():V.present(!0,(function(){W.present()}))}));var q,_=A(o);try{var Z=function(){var e=q.value.gameId,t=document.getElementById("checkout-buy-".concat(e.toLowerCase(),"-button"));if(!t)return"continue";t.addEventListener("click",(function(t){t.preventDefault();var n=function(){W.present(null,[e],e)};O.count>0?n():V.present(!0,n)}))};for(_.s();!(q=_.n()).done;)Z()}catch(e){_.e(e)}finally{_.f()}U.addEventListener("click",(function(){s?(s.currentPageTitle?document.title="Beacon Omni for ".concat(s.currentPageTitle):document.title="Beacon Omni",history.pushState({},"","/omni#".concat(s.currentPageName))):(document.title="Beacon Omni",history.pushState({},"","/omni")),dispatchEvent(new PopStateEvent("popstate",{}))})),window.addEventListener("popstate",(function(){J(!0)})),J(!1),t.forceEmail&&(O.email!==t.forceEmail&&O.reset(),0===O.count?V.present(!0,(function(){W.present()})):H())}))})(); \ No newline at end of file diff --git a/Website/www/download/index.php b/Website/www/download/index.php index fa2c85d61..154d83e62 100644 --- a/Website/www/download/index.php +++ b/Website/www/download/index.php @@ -53,6 +53,12 @@ } $database = BeaconCommon::Database(); +$gameRows = $database->Query('SELECT game_id, game_name FROM public.games WHERE public = TRUE;'); +$gameNames = []; +while (!$gameRows->EOF()) { + $gameNames[$gameRows->Field('game_id')] = $gameRows->Field('game_name'); + $gameRows->MoveNext(); +} $download_links = [ 'current' => BuildLinks($stable) ]; @@ -75,25 +81,16 @@ BeaconTemplate::FinishScript(); function BuildLinks(array $update): array { + global $gameNames; + $build = $update['build_number']; $delta_version = $update['delta_version']; $stage = $update['stage']; $games = []; foreach ($update['supported_games'] as $gameId) { - switch ($gameId) { - case 'Ark': - $games[] = 'Ark: Survival Evolved'; - break; - case 'ArkSA': - $games[] = 'Ark: Survival Ascended'; - break; - case 'SDTD': - $games[] = '7 Days to Die'; - break; - case 'Palworld': - $games[] = 'Palworld'; - break; + if (isset($gameNames[$gameId])) { + $games[] = $gameNames[$gameId]; } } sort($games); diff --git a/Website/www/omni/index.php b/Website/www/omni/index.php index cb471f355..3b9ce5824 100644 --- a/Website/www/omni/index.php +++ b/Website/www/omni/index.php @@ -6,51 +6,67 @@ $database = BeaconCommon::Database(); -$stable_version = BeaconCommon::NewestVersionForStage(3); +$stableVersion = BeaconCommon::NewestVersionForStage(3); $currency = BeaconShop::GetCurrency(); -$supported_currencies = BeaconShop::GetCurrencyOptions(); +$supportedCurrencies = BeaconShop::GetCurrencyOptions(); BeaconTemplate::SetTitle('Buy Beacon Omni'); BeaconTemplate::SetCanonicalPath('/omni', str_starts_with($_SERVER['REQUEST_URI'], '/omni/license/') === false); -$results = $database->Query('SELECT products.game_id, products.tag, products.product_id, products.product_name, product_prices.price, EXTRACT(epoch FROM products.updates_length) AS plan_length_seconds FROM public.products INNER JOIN public.product_prices ON (product_prices.product_id = products.product_id) WHERE product_prices.currency = $1 AND products.active = TRUE;', $currency); -$product_details = []; -$product_ids = []; +$gameRows = $database->Query('SELECT game_id, game_name, early_access, beacon_major_version, beacon_minor_version FROM public.games WHERE public = TRUE ORDER BY game_name;'); +$gamesList = []; +$gameInfo = []; +while (!$gameRows->EOF()) { + $game = [ + 'gameId' => $gameRows->Field('game_id'), + 'name' => $gameRows->Field('game_name'), + 'earlyAccess' => $gameRows->Field('early_access'), + 'majorVersion' => $gameRows->Field('beacon_major_version'), + 'minorVersion' => $gameRows->Field('beacon_minor_version') + ]; + $gamesList[] = $game; + $gameInfo[$game['gameId']] = $game; + $gameRows->MoveNext(); +} + +$results = $database->Query('SELECT products.game_id, products.tag, products.product_id, products.product_name, product_prices.price, EXTRACT(epoch FROM products.updates_length) AS plan_length_seconds, products.updates_length::TEXT AS plan_length FROM public.products INNER JOIN public.product_prices ON (product_prices.product_id = products.product_id) WHERE product_prices.currency = $1 AND products.active = TRUE AND products.hidden = FALSE;', $currency); +$productDetails = []; +$productIds = []; while (!$results->EOF()) { - $product_id = $results->Field('product_id'); - $product_name = $results->Field('product_name'); - $product_price = $results->Field('price'); - $game_id = $results->Field('game_id'); + $productId = $results->Field('product_id'); + $productName = $results->Field('product_name'); + $productPrice = $results->Field('price'); + $gameId = $results->Field('game_id'); $tag = $results->Field('tag'); - $plan_length_seconds = $results->Field('plan_length_seconds'); + $planLengthSeconds = $results->Field('plan_length_seconds'); + $planLength = $results->Field('plan_length'); $product = [ - 'ProductId' => $product_id, - 'Name' => $product_name, - 'Price' => floatval($product_price), - 'GameId' => $game_id, + 'ProductId' => $productId, + 'Name' => $productName, + 'Price' => floatval($productPrice), + 'GameId' => $gameId, 'Tag' => $tag, - 'PlanLengthSeconds' => $plan_length_seconds + 'PlanLengthSeconds' => $planLengthSeconds, + 'PlanLength' => $planLength, ]; - $product_details[$game_id][$tag] = $product; - $product_ids[$product_id] = $product; + $productDetails[$gameId][$tag] = $product; + $productIds[$productId] = $product; $results->MoveNext(); } -$ark2Enabled = isset($product_details['Ark2']); -$arkSAEnabled = isset($product_details['ArkSA']); -$minimalGamesEnabled = isset($product_details['BeaconMinimal']); -$palworldEnabled = true; -$arkOnlyMode = false; +$ark2Enabled = isset($productDetails['Ark2']); +$arkSAEnabled = isset($productDetails['ArkSA']); +$palworldEnabled = isset($productDetails['Palworld']); -$payment_methods = [ +$paymentMethods = [ 'Universal' => ['apple', 'google', 'mastercard', 'visa', 'amex', 'discover', 'dinersclub', 'jcb'], 'USD' => ['cashapp'], 'EUR' => ['bancontact', 'eps', 'giropay', 'ideal', 'p24'], 'PLN' => ['p24'] ]; -$payment_labels = [ +$paymentLabels = [ 'apple' => 'Apple Pay', 'google' => 'Google Pay', 'mastercard' => 'Mastercard', @@ -67,15 +83,15 @@ 'cashapp' => 'Cash App Pay' ]; -$supported_payment_methods = $payment_methods['Universal']; -if (array_key_exists($currency, $payment_methods)) { - $supported_payment_methods = array_merge($supported_payment_methods, $payment_methods[$currency]); +$supportedPaymentMethods = $paymentMethods['Universal']; +if (array_key_exists($currency, $paymentMethods)) { + $supportedPaymentMethods = array_merge($supportedPaymentMethods, $paymentMethods[$currency]); } -$payment_method_info = []; -foreach ($supported_payment_methods as $payment_method) { - $payment_method_info[] = [ +$paymentMethodInfo = []; +foreach ($supportedPaymentMethods as $payment_method) { + $paymentMethodInfo[] = [ 'key' => $payment_method, - 'label' => $payment_labels[$payment_method], + 'label' => $paymentLabels[$payment_method], 'iconUrl' => BeaconCommon::AssetURI('paymethod_' . $payment_method . '.svg') ]; } @@ -117,10 +133,11 @@ event.checkoutProperties = $currency, 'currencies' => $_SESSION['store_currency_options'], - 'paymentMethods' => $payment_method_info, - 'products' => $product_details, - 'productIds' => $product_ids, + 'paymentMethods' => $paymentMethodInfo, + 'products' => $productDetails, + 'productIds' => $productIds, 'forceEmail' => $forceEmail, + 'games' => $gamesList, ]); ?>; document.dispatchEvent(event); }); @@ -138,25 +155,34 @@

Already purchased? See your account control panel for more details.
-

Supported Games

-
- -
-
- -
-
- -
+ '; + include('modules/' . strtolower($gameId) . '.php'); + echo '
'; + $firstGame = false; + } + ?>
@@ -166,29 +192,7 @@
 
-
- - - - - - - - - -

Purchase a copy of for your account. All software updates are included for life.
-

- -
-
(Giftable)
Same option as above, except you will be sent a gift code that can be given away however you'd like.
-

-
- - - -
-
-
+
- +

These are one time payments. Beacon Omni is not subscription software. Learn More

@@ -321,8 +344,7 @@
' . $titleHtml . '
' . "\n"; } ?> diff --git a/Website/www/omni/modules/ark.php b/Website/www/omni/modules/ark.php index f7066d449..5b827b852 100644 --- a/Website/www/omni/modules/ark.php +++ b/Website/www/omni/modules/ark.php @@ -1,12 +1,12 @@ -

The free version of Beacon supports most Ark: Survival Evolved features, with a 'Beacon Omni for Ark: Survival Evolved' license required to unlock all features.

+Ark: Survival Evolved features, with a \'Beacon Omni for Ark: Survival Evolved\' license available to unlock all features.', 'Ark'); ?>

Beacon does a lot for free. Loot drops, server control, file sharing, and more. But when it's time to get into more advanced configuration like crafting costs and player experience, then it's time to upgrade to Beacon Omni.

All users of Beacon can use all features, however Omni-only config types will not be included in generated Game.ini and GameUserSettings.ini files.

- +
- - + + @@ -50,13 +50,11 @@ - = 10502300) { ?> - + - diff --git a/Website/www/omni/modules/arksa.php b/Website/www/omni/modules/arksa.php index 6d914c15e..9b8194cea 100644 --- a/Website/www/omni/modules/arksa.php +++ b/Website/www/omni/modules/arksa.php @@ -1,12 +1,12 @@ -

The free version of Beacon supports most Ark: Survival Ascended features, with a 'Beacon Omni for Ark: Survival Ascended' license required to unlock all features.

+Ark: Survival Ascended features, with a \'Beacon Omni for Ark: Survival Ascended\' license available to unlock all features.', 'ArkSA'); ?>

Beacon does a lot for free. Loot drops, server control, file sharing, and more. But when it's time to get into more advanced configuration like crafting costs and player experience, then it's time to upgrade to Beacon Omni.

All users of Beacon can use all features, however Omni-only config types will not be included in generated Game.ini and GameUserSettings.ini files.

-
FeatureBeaconOmniBeacon FreeBeacon Omni
General SettingsNew in Beacon 1.5.2
Beacon has support for nearly every setting available to Ark servers.
General Settings
Beacon has support for nearly every setting available to Ark servers.
Item Stat Limits
Globally limit item stats to precise admin-defined amounts, just like official servers.
+
- - + + @@ -50,13 +50,11 @@ - = 10502300) { ?> - + - diff --git a/Website/www/omni/modules/minimal.php b/Website/www/omni/modules/minimal.php deleted file mode 100644 index fab11a4ba..000000000 --- a/Website/www/omni/modules/minimal.php +++ /dev/null @@ -1,7 +0,0 @@ -

Beacon supports with a 'Beacon Omni for Minimal Games' license.

-

The free version of Beacon does not support this game.

-

A 'Beacon Omni for Minimal Games' license supports the following games:

-
    -
  • Palworld
  • -
  • More games coming in the future
  • -
diff --git a/Website/www/omni/modules/palworld.php b/Website/www/omni/modules/palworld.php new file mode 100644 index 000000000..7afb0eadb --- /dev/null +++ b/Website/www/omni/modules/palworld.php @@ -0,0 +1,56 @@ +Palworld requires a \'Beacon Omni for Palworld\' license.', 'Palworld'); + +if ($palworld['earlyAccess']) { + echo '
Palworld is currently Early Access. This game is very new and its future is uncertain. It could grow to support hundreds of config options, die from legal issues, or somewhere in between. Features and pricing subject to change. Beacon\'s refund policy remains in effect for Palworld.
'; +} + +$palworldStableBuild = ($palworld['majorVersion'] * 10000000) + ($palworld['minorVersion'] * 100000) + 300; +if ($stableVersion < $palworldStableBuild) { + echo '
Beacon\'s Palworld support requires Beacon version ' . $palworld['majorVersion'] . '.' . $palworld['minorVersion'] . ', which can be downloaded from the Preview Release section of the downloads page.
'; +} + +?> +

Palworld has a small number of options that are not yet complex, so Beacon has just one Palworld editor: General Settings. This is an Omni-exclusive editor in Palworld.

+
FeatureBeaconOmniBeacon FreeBeacon Omni
General SettingsNew in Beacon 1.5.2
Beacon has support for nearly every setting available to Ark servers.
General Settings
Beacon has support for nearly every setting available to Ark servers.
Item Stat Limits
Globally limit item stats to precise admin-defined amounts, just like official servers.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureBeacon FreeBeacon Omni
Nitrado Server Control
Nitrado server owners can allow Beacon to directly control their server, including proper restart timing, config editing, and server settings changes.
GameServerApp.com Support
Import and update GameServerApp.com config templates with only a few clicks.
FTP Upload and Download
Beacon can use FTP edit your PalWorldSettings.ini file right on the server.
Download Community Beacon Files
Download Beacon files created by other users to make getting started easier.
Create Community Beacon Files
Share your creation with the world to serve as a starting point for others.
General Settings
Beacon has support for nearly every setting available to Palworld servers.
 
From 4a0dba3bbe421fba786d69cf680c88a08c52f76d Mon Sep 17 00:00:00 2001 From: Thom McGrath Date: Mon, 29 Jan 2024 06:16:38 +0000 Subject: [PATCH 5/7] More clear version status on Palworld page. --- Website/www/omni/modules/palworld.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Website/www/omni/modules/palworld.php b/Website/www/omni/modules/palworld.php index 7afb0eadb..a091a03f6 100644 --- a/Website/www/omni/modules/palworld.php +++ b/Website/www/omni/modules/palworld.php @@ -6,9 +6,23 @@ echo '
Palworld is currently Early Access. This game is very new and its future is uncertain. It could grow to support hundreds of config options, die from legal issues, or somewhere in between. Features and pricing subject to change. Beacon\'s refund policy remains in effect for Palworld.
'; } -$palworldStableBuild = ($palworld['majorVersion'] * 10000000) + ($palworld['minorVersion'] * 100000) + 300; +$palworldBuild = ($palworld['majorVersion'] * 10000000) + ($palworld['minorVersion'] * 100000); +$palworldStableBuild = $palworldBuild + 300; if ($stableVersion < $palworldStableBuild) { - echo '
Beacon\'s Palworld support requires Beacon version ' . $palworld['majorVersion'] . '.' . $palworld['minorVersion'] . ', which can be downloaded from the Preview Release section of the downloads page.
'; + $buildRows = $database->Query('SELECT stage FROM public.updates WHERE build_number >= $1 ORDER BY build_number DESC LIMIT 1;', $palworldBuild); + if ($buildRows->RecordCount() === 1) { + switch ($buildRows->Field('stage')) { + case 1: + $previewLabel = 'Alpha Preview'; + break; + case 2: + $previewLabel = 'Beta Preview'; + break; + } + echo '
Beacon\'s Palworld support requires Beacon version ' . $palworld['majorVersion'] . '.' . $palworld['minorVersion'] . ', which can be downloaded from the ' . $previewLabel . ' section of the downloads page.
'; + } else { + echo '
Beacon\'s Palworld support requires Beacon version ' . $palworld['majorVersion'] . '.' . $palworld['minorVersion'] . ', which is not ready yet. Sit tight, a new version is coming soon.
'; + } } ?> From 14aca7fff09a02de4a8c445f3559a22a3db4062c Mon Sep 17 00:00:00 2001 From: Thom McGrath Date: Tue, 30 Jan 2024 22:25:54 +0000 Subject: [PATCH 6/7] License lookup is by email instead of user. --- Website/api/v4/classes/License.php | 14 ++--- Website/api/v4/classes/User.php | 2 +- Website/www/omni/begin.php | 77 ++++++++++++++++++++++----- Website/www/omni/lookup.php | 8 ++- Website/www/omni/modules/ark.php | 5 ++ Website/www/omni/modules/arksa.php | 5 ++ Website/www/omni/modules/palworld.php | 5 ++ 7 files changed, 88 insertions(+), 28 deletions(-) diff --git a/Website/api/v4/classes/License.php b/Website/api/v4/classes/License.php index 0af459bb5..aa3533a5e 100644 --- a/Website/api/v4/classes/License.php +++ b/Website/api/v4/classes/License.php @@ -5,7 +5,6 @@ class License extends DatabaseObject implements JsonSerializable { protected string $licenseId; - protected string $userId; protected string $emailId; protected string $purchaseId; protected string $productId; @@ -17,7 +16,6 @@ class License extends DatabaseObject implements JsonSerializable { public function __construct(BeaconRecordSet $row) { $this->licenseId = $row->Field('license_id'); - $this->userId = $row->Field('user_id'); $this->emailId = $row->Field('email_id'); $this->purchaseId = $row->Field('purchase_id'); $this->productId = $row->Field('product_id'); @@ -31,8 +29,7 @@ public function __construct(BeaconRecordSet $row) { public static function BuildDatabaseSchema(): DatabaseSchema { return new DatabaseSchema('public', 'licenses', [ new DatabaseObjectProperty('licenseId', ['primaryKey' => true, 'columnName' => 'license_id']), - new DatabaseObjectProperty('userId', ['columnName' => 'user_id', 'accessor' => 'users.user_id']), - new DatabaseObjectProperty('emailId', ['columnName' => 'email_id', 'accessor' => 'users.email_id']), + new DatabaseObjectProperty('emailId', ['columnName' => 'email_id', 'accessor' => 'purchases.purchaser_email']), new DatabaseObjectProperty('purchaseId', ['columnName' => 'purchase_id']), new DatabaseObjectProperty('productId', ['columnName' => 'product_id']), new DatabaseObjectProperty('productName', ['columnName' => 'product_name', 'accessor' => 'products.product_name']), @@ -42,15 +39,14 @@ public static function BuildDatabaseSchema(): DatabaseSchema { new DatabaseObjectProperty('firstUsed', ['columnName' => 'first_used', 'accessor' => "DATE_TRUNC('second', purchases.first_used)"]), ], [ "INNER JOIN public.products ON (licenses.product_id = products.product_id)", - "INNER JOIN public.purchases ON (licenses.purchase_id = purchases.purchase_id)", - "INNER JOIN public.users ON (purchases.purchaser_email = users.email_id)" + "INNER JOIN public.purchases ON (licenses.purchase_id = purchases.purchase_id)" ]); } protected static function BuildSearchParameters(DatabaseSearchParameters $parameters, array $filters, bool $isNested): void { $schema = static::DatabaseSchema(); $parameters->AddFromFilter($schema, $filters, 'purchaseId'); - $parameters->AddFromFilter($schema, $filters, 'userId'); + $parameters->AddFromFilter($schema, $filters, 'emailId'); $parameters->orderBy = $schema->Accessor('expiration') . ' DESC'; } @@ -58,10 +54,6 @@ public function LicenseId(): string { return $this->licenseId; } - public function UserId(): string { - return $this->userId; - } - public function EmailId(): string { return $this->emailId; } diff --git a/Website/api/v4/classes/User.php b/Website/api/v4/classes/User.php index 4184fe656..a23cb021a 100644 --- a/Website/api/v4/classes/User.php +++ b/Website/api/v4/classes/User.php @@ -559,7 +559,7 @@ public function LoadLicenses(): void { return; } - $this->licenses = License::Search(['userId' => $this->userId], true); + $this->licenses = License::Search(['emailId' => $this->emailId], true); $this->licensesLoaded = true; } diff --git a/Website/www/omni/begin.php b/Website/www/omni/begin.php index 9898fb181..a098eb48c 100644 --- a/Website/www/omni/begin.php +++ b/Website/www/omni/begin.php @@ -32,6 +32,11 @@ } $email = strtolower(trim($cart['email'])); +if (BeaconEmail::IsEmailValid($email) === false) { + http_response_code(400); + echo json_encode(['error' => true, 'message' => 'Email is not valid.'], JSON_PRETTY_PRINT); + exit; +} $refundAgreed = filter_var($cart['refundPolicyAgreed'], FILTER_VALIDATE_BOOLEAN); $bundles = $cart['items']; $currency = BeaconShop::GetCurrency(); @@ -91,10 +96,13 @@ $user = null; $licenses = []; try { + $rows = $database->Query('SELECT uuid_for_email($1) AS email_id;', $email); + $emailId = $rows->Field('email_id'); + $licenses = License::Search(['emailId' => $emailId], true); + $user = User::Fetch($email); if (is_null($user) === false) { $payment['metadata']['Beacon User UUID'] = $user->UserID(); - $licenses = $user->Licenses(); } } catch (Exception $err) { } @@ -161,7 +169,13 @@ $includeArk = isset($products['Ark']['Base']); $includeArkSA = isset($products['ArkSA']['Base']); -$includeMinimalGames = isset($products['BeaconMinimal']['Base']); + +$gameIds = []; +$gameRows = $database->Query('SELECT game_id FROM public.games WHERE public = TRUE AND game_id NOT IN (\'Ark\', \'ArkSA\') ORDER BY game_id;'); +while (!$gameRows->EOF()) { + $gameIds[] = $gameRows->Field('game_id'); + $gameRows->MoveNext(); +} $lines = []; foreach ($bundles as $bundle) { @@ -169,7 +183,6 @@ $wantsArk = $includeArk ? $bundle->getQuantity($products['Ark']['Base']['ProductId']) > 0 : false; $wantsArkSAYears = $includeArkSA ? $bundle->getQuantity($products['ArkSA']['Base']['ProductId']) + $bundle->getQuantity($products['ArkSA']['Upgrade']['ProductId']) + $bundle->getQuantity($products['ArkSA']['Renewal']['ProductId']) : 0; - $wantsMinimalGamesYears = $includeMinimalGames ? $bundle->getQuantity($products['BeaconMinimal']['Base']['ProductId']) + $bundle->getQuantity($products['BeaconMinimal']['Renewal']['ProductId']) : 0; if ($bundle->isGift()) { if ($wantsArk) { @@ -187,16 +200,33 @@ } } - if ($wantsMinimalGamesYears > 0) { - $lines[$products['BeaconMinimal']['Base']['PriceId']] = ($lines[$products['BeaconMinimal']['Base']['PriceId']] ?? 0) + 1; - if ($wantsMinimalGamesYears > 1) { - $lines[$products['BeaconMinimal']['Renewal']['PriceId']] = ($lines[$products['BeaconMinimal']['Renewal']['PriceId']] ?? 0) + ($wantsMinimalGamesYears - 1); + foreach ($gameIds as $gameId) { + if (isset($products[$gameId]['Base']) === false) { + continue; + } + + $renewable = isset($products[$gameId]['Renewal']); + $baseProduct = $products[$gameId]['Base']; + + if ($renewable) { + $renewalProduct = $products[$gameId]['Renewal']; + $years = $bundle->getQuantity($baseProduct['ProductId']) + $bundle->getQuantity($renewalProduct['ProductId']); + if ($years < 1) { + continue; + } + $lines[$baseProduct['PriceId']] = ($lines[$baseProduct['PriceId']] ?? 0) + 1; + if ($years > 1) { + $lines[$renewalProduct['PriceId']] = ($lines[$renewalProduct['PriceId']] ?? 0) + ($years - 1); + } + } else { + if ($bundle->getQuantity($baseProduct['ProductId']) > 0) { + $lines[$baseProduct['PriceId']] = 1; + } } } } else { $ownsArk = $includeArk && findLicense($licenses, $products['Ark']['Base']['ProductId']) !== null; $ownsArkSA = $includeArkSA && findLicense($licenses, $products['ArkSA']['Base']['ProductId']) !== null; - $ownsMinimalGames = $includeMinimalGames && findLicense($licenses, $products['BeaconMinimal']['Base']['ProductId']) !== null; if ($wantsArk && !$ownsArk) { $lines[$products['Ark']['Base']['PriceId']] = ($lines[$products['Ark']['Base']['PriceId']] ?? 0) + 1; @@ -217,13 +247,32 @@ } } - if ($wantsMinimalGamesYears > 0) { - if ($ownsMinimalGames) { - $lines[$products['BeaconMinimal']['Renewal']['PriceId']] = ($lines[$products['BeaconMinimal']['Renewal']['PriceId']] ?? 0) + $wantsMinimalGamesYears; + foreach ($gameIds as $gameId) { + if (isset($products[$gameId]['Base']) === false) { + continue; + } + + $renewable = isset($products[$gameId]['Renewal']); + $baseProduct = $products[$gameId]['Base']; + + if ($renewable) { + $renewalProduct = $products[$gameId]['Renewal']; + $years = $bundle->getQuantity($baseProduct['ProductId']) + $bundle->getQuantity($renewalProduct['ProductId']); + if ($years < 1) { + continue; + } + $isOwned = findLicense($licenses, $baseProduct['ProductId']) !== null; + if ($isOwned) { + $lines[$renewalProduct['PriceId']] = ($lines[$renewalProduct['PriceId']] ?? 0) + $years; + } else { + $lines[$baseProduct['PriceId']] = ($lines[$baseProduct['PriceId']] ?? 0) + 1; + if ($years > 1) { + $lines[$renewalProduct['PriceId']] = ($lines[$renewalProduct['PriceId']] ?? 0) + ($years - 1); + } + } } else { - $lines[$products['BeaconMinimal']['Base']['PriceId']] = ($lines[$products['BeaconMinimal']['Base']['PriceId']] ?? 0) + 1; - if ($wantsMinimalGamesYears > 1) { - $lines[$products['BeaconMinimal']['Renewal']['PriceId']] = ($lines[$products['BeaconMinimal']['Renewal']['PriceId']] ?? 0) + ($wantsMinimalGamesYears - 1); + if ($bundle->getQuantity($baseProduct['ProductId']) > 0 && findLicense($licenses, $baseProduct['ProductId']) === null) { + $lines[$baseProduct['PriceId']] = 1; } } } diff --git a/Website/www/omni/lookup.php b/Website/www/omni/lookup.php index 418ad448b..45ec3692e 100644 --- a/Website/www/omni/lookup.php +++ b/Website/www/omni/lookup.php @@ -8,7 +8,7 @@ require(dirname(__FILE__, 3) . '/framework/loader.php'); -use BeaconAPI\v4\User; +use BeaconAPI\v4\{License, User}; $email = isset($_GET['email']) ? $_GET['email'] : ''; $response = [ @@ -44,7 +44,11 @@ function lookupEmail($email, &$response) { $response['purchases'] = $user->Licenses(); return; } else { - $response['debug'] = 'null user'; + $database = BeaconCommon::Database(); + $rows = $database->Query('SELECT uuid_for_email($1) AS email_id;', $email); + $emailId = $rows->Field('email_id'); + $licenses = License::Search(['emailId' => $emailId], true); + $response['purchases'] = $licenses; } } catch (Exception $e) { $response['debug'] = 'exception'; diff --git a/Website/www/omni/modules/ark.php b/Website/www/omni/modules/ark.php index 5b827b852..e91536413 100644 --- a/Website/www/omni/modules/ark.php +++ b/Website/www/omni/modules/ark.php @@ -40,6 +40,11 @@ ✓ ✓ + + Custom Config
Add settings to your ini files that Beacon doesn't support, such as mod configs. + ✓ + ✓ + Day and Night Cycle
Change the length of Ark's days and nights using minutes instead of multipliers. ✓ diff --git a/Website/www/omni/modules/arksa.php b/Website/www/omni/modules/arksa.php index 9b8194cea..83fd455ed 100644 --- a/Website/www/omni/modules/arksa.php +++ b/Website/www/omni/modules/arksa.php @@ -40,6 +40,11 @@ ✓ ✓ + + Custom Config
Add settings to your ini files that Beacon doesn't support, such as mod configs. + ✓ + ✓ + Day and Night Cycle
Change the length of Ark's days and nights using minutes instead of multipliers. ✓ diff --git a/Website/www/omni/modules/palworld.php b/Website/www/omni/modules/palworld.php index a091a03f6..abebc9ea1 100644 --- a/Website/www/omni/modules/palworld.php +++ b/Website/www/omni/modules/palworld.php @@ -61,6 +61,11 @@ ✓ ✓ + + Custom Config
Add settings to your ini file that Beacon doesn't support. + ✓ + ✓ + General Settings
Beacon has support for nearly every setting available to Palworld servers.   From 9c47756d1a612f8233d2f6a43e54d874677fb3a8 Mon Sep 17 00:00:00 2001 From: Thom McGrath Date: Tue, 30 Jan 2024 22:36:47 +0000 Subject: [PATCH 7/7] Minor website cleanup --- Website/api/slack/commands/createcodes.php | 3 +-- Website/api/slack/commands/grant.php | 3 +-- Website/framework/classes/BeaconCommon.php | 14 -------------- 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/Website/api/slack/commands/createcodes.php b/Website/api/slack/commands/createcodes.php index b3fe61e87..f1a928cab 100644 --- a/Website/api/slack/commands/createcodes.php +++ b/Website/api/slack/commands/createcodes.php @@ -34,8 +34,7 @@ $productId = BeaconShop::GetProductByTag('USD', 'ArkSA', 'Base'); break; case 'palworld': -case 'minimal': - $productId = BeaconShop::GetProductByTag('USD', 'BeaconMinimal', 'Base'); + $productId = BeaconShop::GetProductByTag('USD', 'Palworld', 'Base'); break; default: PostReply('Unknown game_id value.'); diff --git a/Website/api/slack/commands/grant.php b/Website/api/slack/commands/grant.php index 8dfcc0f09..60bab6a2b 100644 --- a/Website/api/slack/commands/grant.php +++ b/Website/api/slack/commands/grant.php @@ -30,9 +30,8 @@ case 'curator': $product = BeaconShop::GetProductByTag('USD', 'Curator', 'Base'); break; -case 'minimal': case 'palworld': - $product = BeaconShop::GetProductByTag('USD', 'BeaconMinimal', 'Base'); + $product = BeaconShop::GetProductByTag('USD', 'Palworld', 'Base'); break; default: PostReply('Unknown game_id value.'); diff --git a/Website/framework/classes/BeaconCommon.php b/Website/framework/classes/BeaconCommon.php index d1c540887..c8dc6b048 100644 --- a/Website/framework/classes/BeaconCommon.php +++ b/Website/framework/classes/BeaconCommon.php @@ -1045,20 +1045,6 @@ public static function StandardizeGameId(string $gameId): string { } return ''; } - - public static function GameIdToName(string $gameId): string { - switch (strtolower(trim($gameId))) { - case 'ark': - return 'Ark: Survival Evolved'; - case 'arksa': - return 'Ark: Survival Ascended'; - case 'sdtd': - return '7 Days To Die'; - case 'palworld': - return 'Palworld (Early Access)'; - } - return $gameId; - } } ?>