diff --git a/src/assets/i18n/cs.json5 b/src/assets/i18n/cs.json5
index a340360dfc2..473ab7d1f37 100644
--- a/src/assets/i18n/cs.json5
+++ b/src/assets/i18n/cs.json5
@@ -10980,8 +10980,5 @@
// "contact-us.email": "Email: ",
"contact-us.email": "Email: ",
- // "footer.theme.by.message": "Theme by",
- "footer.theme.by.message": "Theme by",
-
}
diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5
index adf1a1d2352..50d5ec15cc6 100644
--- a/src/assets/i18n/en.json5
+++ b/src/assets/i18n/en.json5
@@ -7281,6 +7281,4 @@
"contact-us.feedback": "Feedback",
"contact-us.email": "Email: ",
-
- "footer.theme.by.message": "Theme by",
}
diff --git a/src/themes/custom/app/footer/footer.component.html b/src/themes/custom/app/footer/footer.component.html
index c28660d64e9..284279d72f4 100644
--- a/src/themes/custom/app/footer/footer.component.html
+++ b/src/themes/custom/app/footer/footer.component.html
@@ -104,14 +104,11 @@
Footer Content
-
+ @if ((themedByCompanyName$ | async)?.payload?.values?.[0]; as companyName) {
+
+ }
diff --git a/src/themes/custom/app/footer/footer.component.scss b/src/themes/custom/app/footer/footer.component.scss
index 1f9da8098aa..e0d9c127dac 100644
--- a/src/themes/custom/app/footer/footer.component.scss
+++ b/src/themes/custom/app/footer/footer.component.scss
@@ -75,6 +75,46 @@
.btn {
box-shadow: none;
}
+
+ // Vendor credit at the right end of the bar. White to match the nav links
+ // beside it — note that #fff on this green measures 2.29:1 and is below the
+ // WCAG AA threshold, same as those links already are. Kept on a single
+ // non-breaking line so the © can never strand itself above the name.
+ .footer-sign {
+ font-size: 1.0625rem;
+ font-weight: 500;
+ line-height: 1.2;
+ letter-spacing: 0.012em;
+ white-space: nowrap;
+ color: #fff;
+
+ // The © is set as a superscript of the company name, the way a trademark
+ // mark rides a wordmark. line-height: 0 keeps it from adding to the line box.
+ &__mark {
+ font-size: 0.68em;
+ font-weight: 400;
+ vertical-align: super;
+ line-height: 0;
+ margin-left: 0.12em;
+ }
+
+ .dtq-sign {
+ color: inherit;
+ text-decoration: none;
+
+ &:hover,
+ &:focus-visible {
+ text-decoration: underline;
+ text-underline-offset: 0.18em;
+ }
+
+ &:focus-visible {
+ outline: 2px solid #fff;
+ outline-offset: 3px;
+ border-radius: 2px;
+ }
+ }
+ }
}
.footer-logo {
diff --git a/src/themes/custom/app/footer/footer.component.ts b/src/themes/custom/app/footer/footer.component.ts
index 00bd49f83fb..e861f72d006 100644
--- a/src/themes/custom/app/footer/footer.component.ts
+++ b/src/themes/custom/app/footer/footer.component.ts
@@ -4,7 +4,6 @@ import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { FooterComponent as BaseComponent } from '../../../../app/footer/footer.component';
-import { VarDirective } from '../../../../app/shared/utils/var.directive';
@Component({
selector: 'ds-themed-footer',
@@ -17,7 +16,6 @@ import { VarDirective } from '../../../../app/shared/utils/var.directive';
AsyncPipe,
RouterLink,
TranslateModule,
- VarDirective,
],
})
export class FooterComponent extends BaseComponent {