
.footer__link .link {
    --font-family: inherit;
    --font-size: 1em; /* Mobile 16px / > Mobile 18px */
    --font-style: normal;
    --font-weight: var(--root-font-weight--normal);
    --line-height: inherit;
    --color: var(--root-color--white);
    --color-background: transparent;
}

.footer__link-text {
    --font-family: inherit;
    --font-size: 0.889em;
    --font-style: normal;
    --font-weight: var(--root-font-weight--normal);
    --line-height: inherit;
    --color: var(--root-color--white);
}

.footer__link .link:active,
.footer__link .link:focus,
.footer__link .link:hover {
    --color: var(--root-color--white-dark);
}

.footer__link .link .icon {
    --color-icon: currentColor;
}

/* Only icons (columns) */
.page-footer__columns .footer__element--icons .footer__link .link {
    --color-background: transparent;
    --color-border: var(--root-color--white);
    --has-border: 1;
    --shape-round: 1;
    --width-border: var(--root-border-width);
}

.page-footer__columns .footer__element--icons .footer__link .link:active,
.page-footer__columns .footer__element--icons .footer__link .link:focus,
.page-footer__columns .footer__element--icons .footer__link .link:hover {
    --color-background: var(--root-color--primary-dark);
    --color-border: var(--root-color--white);
}

.footer__link {
    list-style: none;
}

.footer__link .link__label {
    font-size: 0.889em;
}

.footer__link:not(:first-child) {
    margin-top: 0.5em;
}

.footer__link-text {
    display: block;
    margin-left: 1.5rem;
    margin-bottom: 0.5em;
}

/* Only icons (columns) */
.page-footer__columns .footer__element--icons .footer__link:not(:first-child) {
    margin-top: 0;
}

.page-footer__columns .footer__element--icons .link {
    align-items: center;
    border-style: solid;
    display: flex;
    height: 2.5em;
    justify-content: center;
    width: 2.5em;
}

.page-footer__rows .footer__element--icons .link {
    height: 100%;
}

.page-footer__columns .footer__element--icons .icon {
    margin-right: 0;
    width: 50%;
}

/* Only icons, hide label (columns & rows) */
.footer__element--icons .link__label {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 0.063rem;
    margin: -0.063rem;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 0.063rem;
}

@media (min-width: 48rem) {
    /* Rows */
    .page-footer__rows .footer__link:not(:first-child) {
       margin-top: 0;
   }
}

.footer__link .link {
    background-color: var(--color-background, transparent);
    border-color: var(--color-border, transparent);
    border-radius: calc(var(--has-border, 0) * var(--shape-round, 0) * 50%);
    border-width: var(--width-border, 0);
    font-family: var(--font-family, inherit);
    font-size: var(--font-size, 1em);
    font-style: var(--font-style, normal);
    font-weight: var(--font-weight, normal);
    line-height: var(--line-height, inherit);
    color: var(--color, black);
}

.footer__link .icon {
    fill: var(--color-icon, black);
}

.footer__link-text {
    font-family: var(--font-family, inherit);
    font-size: var(--font-size, 1em);
    font-style: var(--font-style, normal);
    font-weight: var(--font-weight, normal);
    line-height: var(--line-height, inherit);
    color: var(--color, black);
}

/* Only icons (horizontal) */
.page-footer__columns .footer__element--icons .footer__link .link {
    background-color: var(--color-background, transparent);
    border-color: var(--color-border, black);
    border-radius: calc(var(--has-border, 1) * var(--shape-round, 1) * 50%);
    border-width: var(--width-border, 0.063em);
}

