$selector: '.entry-content p > a', '.entry-content h1 > a', '.entry-content h2 > a', '.entry-content h3 > a', '.entry-content h4 > a', '.entry-content h5 > a', '.entry-content h6 > a', '.entry-content em > a', '.entry-content strong > a', '.entry-content > ul a', '.entry-content > ol a', '.wp-block-column > ul a', '.wp-block-column > ol a', '[class*="_inner-container"] > ul a', '[class*="_inner-container"] > ol a', '.gdpr-confirm-policy a'; a { color: var(--linkInitialColor); text-decoration: var(--has-link-decoration, var(--textDecoration, none)); &:hover { color: var(--linkHoverColor); } } // type 2 [data-link='type-2'] { #{$selector} { --textDecoration: underline; } } // type 3 [data-link='type-3'] { #{$selector} { background-position: var(--has-link-decoration, 0% 100%); background-repeat: var(--has-link-decoration, no-repeat); background-size: var(--has-link-decoration, 0% 2px); background-image: var( --has-link-decoration, linear-gradient(currentColor, currentColor) ); &:hover { background-size: var(--has-link-decoration, 100% 2px); } } } // type 4 [data-link='type-4'] { #{$selector} { background-position: var(--has-link-decoration, 0% 100%); background-repeat: var(--has-link-decoration, no-repeat); background-size: var(--has-link-decoration, 100% 2px); background-image: var( --has-link-decoration, linear-gradient(currentColor, currentColor) ); &:hover { color: var(--has-link-decoration, #fff); background-size: var(--has-link-decoration, 100% 100%); background-image: var( --has-link-decoration, linear-gradient(var(--linkHoverColor), var(--linkHoverColor)) ); } } } // type 5 [data-link='type-5'] { #{$selector} { background-repeat: var(--has-link-decoration, no-repeat); background-size: var(--has-link-decoration, 0% 100%); background-image: var( --has-link-decoration, linear-gradient(var(--linkHoverColor), var(--linkHoverColor)) ); &:hover { color: var(--has-link-decoration, #fff); background-size: var(--has-link-decoration, 100% 100%); } } } // anchor links + sticky state // not working in Safari :target { // 1. No sticky -- 0px scroll-margin-top: calc( var(--admin-bar, 0px) + var(--frame-size, 0px) + var(--scroll-margin-top-offset, 0px) ); } [data-header*='sticky'] { // 3. Sticky present and init -- --headerStickyHeight --scroll-margin-top-offset: calc( ( var(--headerStickyHeight, var(--headerHeight, 0px)) * var(--has-transparent-header) * (var(--stickyShrink, 100) / 100) ) + var(--headerStickyHeight, var(--headerHeight, 0px)) * (1 - var(--has-transparent-header)) ); } [data-header*='sticky:shrink'] { // 3. Sticky present and init -- --headerStickyHeight --scroll-margin-top-offset: calc( var(--headerStickyHeight, var(--headerHeight, 0px)) * (var(--stickyShrink, 100) / 100) ); }