+
+-
++
+
+ form:nth-child(1) > div:nth-child(3) {
++ @extend %vw-hide;
++}
++
++/* Hide organization plans */
++app-organization-plans > form > div.form-check {
++ @extend %vw-hide;
++}
++app-organization-plans > form > h2.mt-5 {
++ @extend %vw-hide;
++}
++
++/* Hide the `This account is owned by a business` checkbox and label */
++#ownedBusiness,
++label[for^="ownedBusiness"] {
++ @extend %vw-hide;
++}
++
++/* Hide the radio button and label for the `Custom` org user type */
++#userTypeCustom,
++label[for^="userTypeCustom"] {
++ @extend %vw-hide;
++}
++
++/* Hide Business Name */
++app-org-account form div bit-form-field.tw-block:nth-child(3) {
++ @extend %vw-hide;
++}
++
++/* Hide Tax Info and Form in Organization settings */
++app-org-account > div.secondary-header:nth-child(3) {
++ @extend %vw-hide;
++}
++app-org-account > div.secondary-header:nth-child(3) + p {
++ @extend %vw-hide;
++}
++app-org-account > div.secondary-header:nth-child(3) + p + form {
++ @extend %vw-hide;
++}
++
++/* Hide Device Verification form at the Two Step Login screen */
++app-security > app-two-factor-setup > form {
++ @extend %vw-hide;
++}
++
++/* Replace the Bitwarden Shield at the top left with a Vaultwarden icon */
++.bwi-shield:before {
++ content: "" !important;
++ width: 32px !important;
++ height: 40px !important;
++ display: block !important;
++ background-image: url(../images/icon-white.png) !important;
++ background-repeat: no-repeat;
++ background-position-y: bottom;
++}
++/**** END Vaultwarden CHANGES ****/
+diff --git a/apps/web/webpack.config.js b/apps/web/webpack.config.js
+index 0254636895..9a2ea1e8fb 100644
+--- a/apps/web/webpack.config.js
++++ b/apps/web/webpack.config.js
+@@ -136,8 +136,6 @@ const plugins = [
+ { from: "./src/favicon.ico" },
+ { from: "./src/browserconfig.xml" },
+ { from: "./src/app-id.json" },
+- { from: "./src/404.html" },
+- { from: "./src/404", to: "404" },
+ { from: "./src/images", to: "images" },
+ { from: "./src/locales", to: "locales" },
+ { from: "../../node_modules/qrious/dist/qrious.min.js", to: "scripts" },
+diff --git a/libs/angular/src/auth/components/register.component.ts b/libs/angular/src/auth/components/register.component.ts
+index f7c0a76509..d80a46efa9 100644
+--- a/libs/angular/src/auth/components/register.component.ts
++++ b/libs/angular/src/auth/components/register.component.ts
+@@ -38,7 +38,7 @@ export class RegisterComponent extends CaptchaProtectedComponent implements OnIn
+ showPassword = false;
+ formPromise: Promise;
+ referenceData: ReferenceEventRequest;
+- showTerms = true;
++ showTerms = false;
+ showErrorSummary = false;
+ passwordStrengthResult: any;
+ characterMinimumMessage: string;
+@@ -96,7 +96,7 @@ export class RegisterComponent extends CaptchaProtectedComponent implements OnIn
+ protected dialogService: DialogService,
+ ) {
+ super(environmentService, i18nService, platformUtilsService);
+- this.showTerms = !platformUtilsService.isSelfHost();
++ this.showTerms = false;
+ this.characterMinimumMessage = this.i18nService.t("characterMinimum", this.minimumLength);
+ }
+
+@@ -105,6 +105,14 @@ export class RegisterComponent extends CaptchaProtectedComponent implements OnIn
+ }
+
+ async submit(showToast = true) {
++ if (typeof crypto.subtle === "undefined") {
++ this.platformUtilsService.showToast(
++ "error",
++ "This browser requires HTTPS to use the web vault",
++ "Check the Vaultwarden wiki for details on how to enable it",
++ );
++ return;
++ }
+ let email = this.formGroup.value.email;
+ email = email.trim().toLowerCase();
+ let name = this.formGroup.value.name;
+diff --git a/libs/angular/src/auth/components/two-factor-options.component.ts b/libs/angular/src/auth/components/two-factor-options.component.ts
+index 4293eb9966..7a8e861e8d 100644
+--- a/libs/angular/src/auth/components/two-factor-options.component.ts
++++ b/libs/angular/src/auth/components/two-factor-options.component.ts
+@@ -30,7 +30,9 @@ export class TwoFactorOptionsComponent implements OnInit {
+ }
+
+ recover() {
+- this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/recover-2fa");
++ this.platformUtilsService.launchUri(
++ "https://bitwarden.com/help/two-step-recovery-code/#use-your-recovery-code",
++ );
+ this.onRecoverSelected.emit();
+ }
+ }
+diff --git a/libs/components/src/menu/menu.component.html b/libs/components/src/menu/menu.component.html
+index d175a3fe3b..ca3c420b73 100644
+--- a/libs/components/src/menu/menu.component.html
++++ b/libs/components/src/menu/menu.component.html
+@@ -1,7 +1,7 @@
+
+