.app-body { -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; } .animated-number { display: inline-flex; flex-direction: column; align-items: stretch; overflow: hidden; position: relative; } .link-button { display: block; font-size: 15px; line-height: 20px; color: $highlight-text-color; border: 0; background: transparent; padding: 0; cursor: pointer; text-decoration: none; &--destructive { color: $error-value-color; } &:hover, &:active { text-decoration: underline; } &:disabled { color: $ui-primary-color; cursor: default; } } .button { background-color: $ui-button-background-color; border: 10px none; border-radius: 4px; box-sizing: border-box; color: $ui-button-color; cursor: pointer; display: inline-block; font-family: inherit; font-size: 15px; font-weight: 500; letter-spacing: 0; line-height: 22px; overflow: hidden; padding: 7px 18px; position: relative; text-align: center; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; width: auto; &:active, &:focus, &:hover { background-color: $ui-button-focus-background-color; } &--destructive { &:active, &:focus, &:hover { background-color: $ui-button-destructive-focus-background-color; transition: none; } } &:disabled { background-color: $ui-primary-color; cursor: default; } &.button-secondary { color: $ui-button-secondary-color; background: transparent; padding: 6px 17px; border: 1px solid $ui-button-secondary-border-color; &:active, &:focus, &:hover { border-color: $ui-button-secondary-focus-background-color; color: $ui-button-secondary-focus-color; background-color: $ui-button-secondary-focus-background-color; text-decoration: none; } &:disabled { opacity: 0.5; } } &.button-tertiary { background: transparent; padding: 6px 17px; color: $ui-button-tertiary-color; border: 1px solid $ui-button-tertiary-border-color; &:active, &:focus, &:hover { background-color: $ui-button-tertiary-focus-background-color; color: $ui-button-tertiary-focus-color; border: 0; padding: 7px 18px; } &:disabled { opacity: 0.5; } &.button--confirmation { color: $valid-value-color; border-color: $valid-value-color; &:active, &:focus, &:hover { background: $valid-value-color; color: $primary-text-color; } } &.button--destructive { color: $error-value-color; border-color: $error-value-color; &:active, &:focus, &:hover { background: $error-value-color; color: $primary-text-color; } } } &.button--block { display: block; width: 100%; } } .icon-button { display: inline-block; padding: 0; color: $action-button-color; border: 0; border-radius: 4px; background: transparent; cursor: pointer; transition: all 100ms ease-in; transition-property: background-color, color; text-decoration: none; a { color: inherit; text-decoration: none; } &:hover, &:active, &:focus { color: lighten($action-button-color, 7%); background-color: rgba($action-button-color, 0.15); transition: all 200ms ease-out; transition-property: background-color, color; } &:focus { background-color: rgba($action-button-color, 0.3); } &.disabled { color: darken($action-button-color, 13%); background-color: transparent; cursor: default; } &.active { color: $highlight-text-color; } &.copyable { transition: background 300ms linear; } &.copied { background: $valid-value-color; transition: none; } &::-moz-focus-inner { border: 0; } &::-moz-focus-inner, &:focus, &:active { outline: 0 !important; } &.inverted { color: $lighter-text-color; &:hover, &:active, &:focus { color: darken($lighter-text-color, 7%); background-color: rgba($lighter-text-color, 0.15); } &:focus { background-color: rgba($lighter-text-color, 0.3); } &.disabled { color: lighten($lighter-text-color, 7%); background-color: transparent; } &.active { color: $highlight-text-color; &.disabled { color: lighten($highlight-text-color, 13%); } } } &.overlayed { box-sizing: content-box; background: rgba($base-overlay-background, 0.6); color: rgba($primary-text-color, 0.7); border-radius: 4px; padding: 2px; &:hover { background: rgba($base-overlay-background, 0.9); } } &--with-counter { display: inline-flex; align-items: center; width: auto !important; padding: 0; padding-inline-end: 4px; padding-inline-start: 2px; } &__counter { display: inline-block; width: auto; margin-inline-start: 4px; font-size: 12px; font-weight: 500; } } .text-icon, .text-icon-button { font-weight: 600; font-size: 11px; line-height: 27px; cursor: default; } .text-icon-button { color: $lighter-text-color; border: 0; border-radius: 4px; background: transparent; cursor: pointer; padding: 0 3px; white-space: nowrap; outline: 0; transition: all 100ms ease-in; transition-property: background-color, color; &:hover, &:active, &:focus { color: darken($lighter-text-color, 7%); background-color: rgba($lighter-text-color, 0.15); transition: all 200ms ease-out; transition-property: background-color, color; } &:focus { background-color: rgba($lighter-text-color, 0.3); } &.disabled { color: lighten($lighter-text-color, 20%); background-color: transparent; cursor: default; } &.active { color: $highlight-text-color; } &::-moz-focus-inner { border: 0; } &::-moz-focus-inner, &:focus, &:active { outline: 0 !important; } } body > [data-popper-placement] { z-index: 3; } .invisible { font-size: 0; line-height: 0; display: inline-block; width: 0; height: 0; position: absolute; img, svg { margin: 0 !important; border: 0 !important; padding: 0 !important; width: 0 !important; height: 0 !important; } } .ellipsis { &::after { content: '…'; } } .notification__favourite-icon-wrapper { inset-inline-start: 0; position: absolute; .fa.star-icon { color: $gold-star; } } .icon-button.star-icon.active { color: $gold-star; } .icon-button.bookmark-icon.active { color: $red-bookmark; } .no-reduce-motion .icon-button.star-icon { &.activate { & > .fa-star { animation: spring-rotate-in 1s linear; } } &.deactivate { & > .fa-star { animation: spring-rotate-out 1s linear; } } } .notification__display-name { color: inherit; font-weight: 500; text-decoration: none; &:hover { color: $primary-text-color; text-decoration: underline; } } .display-name { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; a { color: inherit; text-decoration: inherit; } strong { display: block; } > a:hover { strong { text-decoration: underline; } } &.inline { padding: 0; height: 18px; font-size: 15px; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; strong { display: inline; height: auto; font-size: inherit; line-height: inherit; } span { display: inline; height: auto; font-size: inherit; line-height: inherit; } } } .display-name__html { font-weight: 500; } .display-name__account { font-size: 14px; } .image-loader { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE 10+ */ * { scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE 10+ */ } &::-webkit-scrollbar, *::-webkit-scrollbar { width: 0; height: 0; background: transparent; /* Chrome/Safari/Webkit */ } .image-loader__preview-canvas { max-width: $media-modal-media-max-width; max-height: $media-modal-media-max-height; background: url('~images/void.png') repeat; object-fit: contain; } .loading-bar__container { position: relative; } .loading-bar { position: absolute; } &.image-loader--amorphous .image-loader__preview-canvas { display: none; } } .zoomable-image { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; img { max-width: $media-modal-media-max-width; max-height: $media-modal-media-max-height; width: auto; height: auto; object-fit: contain; } } .dropdown-animation { animation: dropdown 150ms cubic-bezier(0.1, 0.7, 0.1, 1); @keyframes dropdown { from { opacity: 0; } to { opacity: 1; } } .reduce-motion & { animation: none; } } .dropdown { display: inline-block; } .dropdown__content { display: none; position: absolute; } .dropdown-menu__separator { border-bottom: 1px solid var(--dropdown-border-color); margin: 2px 0; height: 0; } .dropdown-menu { background: var(--dropdown-background-color); border: 1px solid var(--dropdown-border-color); padding: 2px; border-radius: 4px; box-shadow: var(--dropdown-shadow); z-index: 9999; &__text-button { display: inline; color: inherit; background: transparent; border: 0; margin: 0; padding: 0; font-family: inherit; font-size: inherit; line-height: inherit; &:focus { outline: 1px dotted; } } &__container { &__header { border-bottom: 1px solid var(--dropdown-border-color); padding: 6px 14px; padding-bottom: 12px; margin-bottom: 4px; font-size: 13px; line-height: 18px; color: $darker-text-color; } &__list { list-style: none; &--scrollable { max-height: 300px; overflow-y: scroll; } } &--loading { display: flex; align-items: center; justify-content: center; padding: 30px 45px; } } } .dropdown-menu__item { font-size: 13px; line-height: 18px; font-weight: 500; display: block; &--dangerous { color: $error-value-color; } a, button { font: inherit; display: block; width: 100%; padding: 6px 14px; border: 0; margin: 0; background: transparent; box-sizing: border-box; text-decoration: none; color: inherit; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: inherit; border-radius: 4px; &:focus, &:hover, &:active { background: var(--dropdown-border-color); outline: 0; } } } .inline-account { display: inline-flex; align-items: center; vertical-align: top; .account__avatar { margin-inline-end: 5px; border-radius: 50%; } strong { font-weight: 600; } } .static-content { padding: 10px; padding-top: 20px; color: $dark-text-color; h1 { font-size: 16px; font-weight: 500; margin-bottom: 40px; text-align: center; } p { font-size: 13px; margin-bottom: 20px; } } .column, .drawer { flex: 1 1 100%; overflow: hidden; } @media screen and (width >= 631px) { .columns-area { padding: 0; } .column, .drawer { flex: 0 0 auto; padding: 10px; padding-inline-start: 5px; padding-inline-end: 5px; &:first-child { padding-inline-start: 10px; } &:last-child { padding-inline-end: 10px; } } .columns-area > div { .column, .drawer { padding-inline-start: 5px; padding-inline-end: 5px; } } } .tabs-bar { box-sizing: border-box; display: flex; background: lighten($ui-base-color, 8%); flex: 0 0 auto; overflow-y: auto; } .tabs-bar__link { display: block; flex: 1 1 auto; padding: 15px 10px; padding-bottom: 13px; color: $primary-text-color; text-decoration: none; text-align: center; font-size: 14px; font-weight: 500; border-bottom: 2px solid lighten($ui-base-color, 8%); transition: all 50ms linear; transition-property: border-bottom, background, color; .fa { font-weight: 400; font-size: 16px; } &:hover, &:focus, &:active { @include multi-columns('screen and (min-width: 631px)') { background: lighten($ui-base-color, 14%); border-bottom-color: lighten($ui-base-color, 14%); } } &.active { border-bottom: 2px solid $ui-highlight-color; color: $highlight-text-color; } span { margin-inline-start: 5px; display: none; } span.icon { margin-inline-start: 0; display: inline; } } .icon-with-badge { position: relative; &__badge { position: absolute; inset-inline-start: 9px; top: -13px; background: $ui-highlight-color; border: 2px solid lighten($ui-base-color, 8%); padding: 1px 6px; border-radius: 6px; font-size: 10px; font-weight: 500; line-height: 14px; color: $primary-text-color; } &__issue-badge { position: absolute; inset-inline-start: 11px; bottom: 1px; display: block; background: $error-red; border-radius: 50%; width: 0.625rem; height: 0.625rem; } } .column-link--transparent .icon-with-badge__badge { border-color: darken($ui-base-color, 8%); } .scrollable { overflow-y: scroll; overflow-x: hidden; flex: 1 1 auto; -webkit-overflow-scrolling: touch; &.optionally-scrollable { overflow-y: auto; } @supports (display: grid) { // hack to fix Chrome <57 contain: strict; } &--flex { display: flex; flex-direction: column; } &__append { flex: 1 1 auto; position: relative; min-height: 120px; } .scrollable { flex: 1 1 auto; } } .scrollable.fullscreen { @supports (display: grid) { // hack to fix Chrome <57 contain: none; } } .react-toggle { display: inline-block; position: relative; cursor: pointer; background-color: transparent; border: 0; padding: 0; user-select: none; -webkit-tap-highlight-color: rgba($base-overlay-background, 0); -webkit-tap-highlight-color: transparent; } .react-toggle-screenreader-only { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .react-toggle--disabled { cursor: not-allowed; opacity: 0.5; transition: opacity 0.25s; } .react-toggle-track { width: 50px; height: 24px; padding: 0; border-radius: 30px; background-color: $ui-base-color; transition: background-color 0.2s ease; } .react-toggle:is(:hover, :focus-within):not(.react-toggle--disabled) .react-toggle-track { background-color: darken($ui-base-color, 10%); } .react-toggle--checked .react-toggle-track { background-color: darken($ui-highlight-color, 2%); } .react-toggle--checked:is(:hover, :focus-within):not(.react-toggle--disabled) .react-toggle-track { background-color: $ui-highlight-color; } .react-toggle-track-check { position: absolute; width: 14px; height: 10px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; line-height: 0; inset-inline-start: 8px; opacity: 0; transition: opacity 0.25s ease; } .react-toggle--checked .react-toggle-track-check { opacity: 1; transition: opacity 0.25s ease; } .react-toggle-track-x { position: absolute; width: 10px; height: 10px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; line-height: 0; inset-inline-end: 10px; opacity: 1; transition: opacity 0.25s ease; } .react-toggle--checked .react-toggle-track-x { opacity: 0; } .react-toggle-thumb { position: absolute; top: 1px; inset-inline-start: 1px; width: 22px; height: 22px; border: 1px solid $ui-base-color; border-radius: 50%; background-color: darken($simple-background-color, 2%); box-sizing: border-box; transition: all 0.25s ease; transition-property: border-color, left; } .react-toggle--checked .react-toggle-thumb { inset-inline-start: 27px; border-color: $ui-highlight-color; } .getting-started__wrapper, .getting_started, .flex-spacer { background: $ui-base-color; } .getting-started__wrapper { position: relative; overflow-y: auto; } .flex-spacer { flex: 1 1 auto; } .getting-started { background: $ui-base-color; flex: 1 0 auto; p { color: $secondary-text-color; } a { color: $dark-text-color; } &__trends { flex: 0 1 auto; opacity: 1; animation: fade 150ms linear; margin-top: 10px; h4 { border-bottom: 1px solid lighten($ui-base-color, 8%); padding: 10px; font-size: 12px; text-transform: uppercase; font-weight: 500; a { color: $darker-text-color; text-decoration: none; } } @media screen and (height <= 810px) { .trends__item:nth-of-type(3) { display: none; } } @media screen and (height <= 720px) { .trends__item:nth-of-type(2) { display: none; } } @media screen and (height <= 670px) { display: none; } .trends__item { border-bottom: 0; padding: 10px; &__current { color: $darker-text-color; } } } } .column-link__badge { display: inline-block; border-radius: 4px; font-size: 12px; line-height: 19px; font-weight: 500; background: $ui-base-color; padding: 4px 8px; margin: -6px 10px; } .keyboard-shortcuts { padding: 8px 0 0; overflow: hidden; thead { position: absolute; inset-inline-start: -9999px; } td { padding: 0 10px 8px; } kbd { display: inline-block; padding: 3px 5px; background-color: lighten($ui-base-color, 8%); border: 1px solid darken($ui-base-color, 4%); } } .setting-text { color: $darker-text-color; background: transparent; border: 0; border-bottom: 2px solid $ui-primary-color; outline: 0; box-sizing: border-box; display: block; font-family: inherit; margin-bottom: 10px; padding: 7px 0; width: 100%; &:focus, &:active { color: $primary-text-color; border-bottom-color: $ui-highlight-color; } @include limited-single-column('screen and (max-width: 600px)') { font-size: 16px; } &.light { color: $inverted-text-color; border-bottom: 2px solid lighten($ui-base-color, 27%); &:focus, &:active { color: $inverted-text-color; border-bottom-color: $ui-highlight-color; } } } button.icon-button i.fa-retweet { background-position: 0 0; height: 19px; transition: background-position 0.9s steps(10); transition-duration: 0s; vertical-align: middle; width: 22px; &::before { display: none !important; } } button.icon-button.active i.fa-retweet { transition-duration: 0.9s; background-position: 0 100%; } .reduce-motion button.icon-button i.fa-retweet, .reduce-motion button.icon-button.active i.fa-retweet { transition: none; } .reduce-motion button.icon-button.disabled i.fa-retweet { color: darken($action-button-color, 13%); } .load-more { display: block; color: $dark-text-color; background-color: transparent; border: 0; font-size: inherit; text-align: center; line-height: inherit; margin: 0; padding: 15px; box-sizing: border-box; width: 100%; clear: both; text-decoration: none; &:hover { background: lighten($ui-base-color, 2%); } } .load-gap { border-bottom: 1px solid lighten($ui-base-color, 8%); } .timeline-hint { text-align: center; color: $darker-text-color; padding: 15px; box-sizing: border-box; width: 100%; cursor: default; strong { font-weight: 500; } a { color: $highlight-text-color; text-decoration: none; &:hover, &:focus, &:active { text-decoration: underline; color: lighten($highlight-text-color, 4%); } } } .missing-indicator { padding-top: 20px + 48px; .regeneration-indicator__figure { background-image: url('~flavours/glitch/images/elephant_ui_disappointed.svg'); } } .scrollable > div > :first-child .notification__dismiss-overlay > .wrappy { border-top: 1px solid $ui-base-color; } .notification__dismiss-overlay { overflow: hidden; position: absolute; top: 0; inset-inline-end: 0; bottom: -1px; padding-inline-start: 15px; // space for the box shadow to be visible z-index: 999; align-items: center; justify-content: flex-end; cursor: pointer; display: flex; .wrappy { width: $dismiss-overlay-width; align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; background: lighten($ui-base-color, 8%); border-inline-start: 1px solid lighten($ui-base-color, 20%); box-shadow: 0 0 5px black; border-bottom: 1px solid $ui-base-color; } .ckbox { border: 2px solid $ui-primary-color; border-radius: 2px; width: 30px; height: 30px; font-size: 20px; color: $darker-text-color; text-shadow: 0 0 5px black; display: flex; justify-content: center; align-items: center; } &:focus { outline: 0 !important; .ckbox { box-shadow: 0 0 1px 1px $ui-highlight-color; } } } .text-btn { display: inline-block; padding: 0; font-family: inherit; font-size: inherit; color: inherit; border: 0; background: transparent; cursor: pointer; } .loading-indicator { color: $dark-text-color; font-size: 12px; font-weight: 400; text-transform: uppercase; overflow: visible; position: absolute; top: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; } .circular-progress { color: lighten($ui-base-color, 26%); animation: 1.4s linear 0s infinite normal none running simple-rotate; circle { stroke: currentColor; stroke-dasharray: 80px, 200px; stroke-dashoffset: 0; animation: circular-progress 1.4s ease-in-out infinite; } } @keyframes circular-progress { 0% { stroke-dasharray: 1px, 200px; stroke-dashoffset: 0; } 50% { stroke-dasharray: 100px, 200px; stroke-dashoffset: -15px; } 100% { stroke-dasharray: 100px, 200px; stroke-dashoffset: -125px; } } @keyframes simple-rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes spring-rotate-in { 0% { transform: rotate(0deg); } 30% { transform: rotate(-484.8deg); } 60% { transform: rotate(-316.7deg); } 90% { transform: rotate(-375deg); } 100% { transform: rotate(-360deg); } } @keyframes spring-rotate-out { 0% { transform: rotate(-360deg); } 30% { transform: rotate(124.8deg); } 60% { transform: rotate(-43.27deg); } 90% { transform: rotate(15deg); } 100% { transform: rotate(0deg); } } .spoiler-button { top: 0; inset-inline-start: 0; width: 100%; height: 100%; position: absolute; z-index: 100; &--minified { display: flex; inset-inline-start: 4px; top: 4px; width: auto; height: auto; align-items: center; } &--click-thru { pointer-events: none; } &--hidden { display: none; } &__overlay { display: flex; align-items: center; justify-content: center; background: transparent; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; color: $white; &__label { background-color: rgba($black, 0.45); backdrop-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%); border-radius: 6px; padding: 10px 15px; display: flex; align-items: center; justify-content: center; gap: 8px; flex-direction: column; font-weight: 500; font-size: 14px; } &__action { font-weight: 400; font-size: 13px; } &:hover, &:focus { .spoiler-button__overlay__label { background-color: rgba($black, 0.9); } } } } .setting-toggle { display: block; line-height: 24px; } .setting-toggle__label, .setting-meta__label { color: $darker-text-color; display: inline-block; margin-bottom: 14px; margin-inline-start: 8px; vertical-align: middle; } .column-settings__row .radio-button { display: block; } .setting-meta__label { float: right; } @keyframes heartbeat { 0% { transform: scale(1); transform-origin: center center; animation-timing-function: ease-out; } 10% { transform: scale(0.91); animation-timing-function: ease-in; } 17% { transform: scale(0.98); animation-timing-function: ease-out; } 33% { transform: scale(0.87); animation-timing-function: ease-in; } 45% { transform: scale(1); animation-timing-function: ease-out; } } .pulse-loading { animation: heartbeat 1.5s ease-in-out infinite both; } .upload-area { align-items: center; background: rgba($base-overlay-background, 0.8); display: flex; height: 100vh; justify-content: center; inset-inline-start: 0; opacity: 0; position: fixed; top: 0; visibility: hidden; width: 100vw; z-index: 2000; * { pointer-events: none; } } .upload-area__drop { width: 320px; height: 160px; display: flex; box-sizing: border-box; position: relative; padding: 8px; } .upload-area__background { position: absolute; top: 0; inset-inline-end: 0; bottom: 0; inset-inline-start: 0; z-index: -1; border-radius: 4px; background: $ui-base-color; box-shadow: 0 0 5px rgba($base-shadow-color, 0.2); } .upload-area__content { flex: 1; display: flex; align-items: center; justify-content: center; text-align: center; color: $secondary-text-color; font-size: 18px; font-weight: 500; border: 2px dashed $ui-base-lighter-color; border-radius: 4px; } .dropdown--active .emoji-button img { opacity: 1; filter: none; } .loading-bar { background-color: $ui-highlight-color; height: 3px; position: fixed; top: 0; inset-inline-start: 0; z-index: 9999; } .icon-badge-wrapper { position: relative; } .icon-badge { position: absolute; display: block; inset-inline-end: -0.25em; top: -0.25em; background-color: $ui-highlight-color; border-radius: 50%; font-size: 75%; width: 1em; height: 1em; } .conversation { display: flex; border-bottom: 1px solid lighten($ui-base-color, 8%); padding: 5px; padding-bottom: 0; &:focus { background: lighten($ui-base-color, 2%); outline: 0; } &__avatar { flex: 0 0 auto; padding: 10px; padding-top: 12px; position: relative; cursor: pointer; } &__unread { display: inline-block; background: $highlight-text-color; border-radius: 50%; width: 0.625rem; height: 0.625rem; margin: -0.1ex 0.15em 0.1ex; } &__content { flex: 1 1 auto; padding: 10px 5px; padding-inline-end: 15px; overflow: hidden; &__info { overflow: hidden; display: flex; flex-direction: row-reverse; justify-content: space-between; } &__relative-time { font-size: 15px; color: $darker-text-color; padding-inline-start: 15px; } &__names { color: $darker-text-color; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; flex-basis: 90px; flex-grow: 1; a { color: $primary-text-color; text-decoration: none; &:hover, &:focus, &:active { text-decoration: underline; } } } .status__content { margin: 0; } } &--unread { background: lighten($ui-base-color, 2%); &:focus { background: lighten($ui-base-color, 4%); } .conversation__content__info { font-weight: 700; } .conversation__content__relative-time { color: $primary-text-color; } } } .ui .flash-message { margin-top: 10px; margin-inline-start: auto; margin-inline-end: auto; margin-bottom: 0; min-width: 75%; } ::-webkit-scrollbar-thumb { border-radius: 0; } noscript { text-align: center; img { width: 200px; opacity: 0.5; animation: flicker 4s infinite; } div { font-size: 14px; margin: 30px auto; color: $secondary-text-color; max-width: 400px; a { color: $highlight-text-color; text-decoration: underline; &:hover { text-decoration: none; } } a { word-break: break-word; } } } @keyframes flicker { 0% { opacity: 1; } 30% { opacity: 0.75; } 100% { opacity: 1; } }