/*
 * Content that should be not be displayed until after obtaining
 * premium access can be marked with this class.
 */
.is-premium-content {
  display: none !important;
}

/*
 * Content that should only be displayed before obtaining premium access can
 * be marked with this class.
 */
.is-premium-teaser {
  transition: 1s all;
}

/*
 * Once premium access has been obtained - and a class is set on the body -
 * we can reveal elements tagged with the `.is-premium-content` class, and
 * hide elements with `.is-premium-teaser` class.
 *
 * Ensure TabID-authenticated users who have tableauUserRole=developer
 * cookie see premium content without submitting the
 * gate form when they are in the Dev Portal (/developer/*).
 */
.has-premium-access .is-premium-content,
.context-dev-portal-section[data-user-role="developer"] .is-premium-content {
  display: inherit !important;
}
.has-premium-access .is-premium-teaser,
.context-dev-portal-section[data-user-role="developer"] .is-premium-teaser {
  display: none !important;
}

/** Developer Portal Specific Premium Access Rules **/

/*
 * For users who do not have tableauUserRole=developer cookie
 * (ie. not dev program members):
 *
 * #1. Show premium teasers in the developer portal
 * #2. Hide premium content in the developer portal
 */

/** #1 **/
.has-premium-access.context-dev-portal-section:not([data-user-role="developer"]) .is-premium-teaser {
  display: inherit !important;
}

/** #2 **/
.has-premium-access.context-dev-portal-section:not([data-user-role="developer"]) .is-premium-content {
  display: none !important;
}
