html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

/* disable animations based on user preference (OS setting) */
@media (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

:any-link {
  color: var(--mainTextColor);
  text-decoration: none;
  outline: 0;
}

:any-link:hover {
  color: var(--linkColor);
  text-decoration: none;
}

.dm-textOffscreen {
  font-size: 0.0625rem;
  text-indent: -1000px;
}

::selection {
  background: var(--brandColor);
  color: var(--white);
  text-shadow: none;
}

button {
  appearance: none;
  border: none;
  background: inherit;
  margin: 0;
  overflow: visible;
  text-transform: none;
  -webkit-appearance: button;
  font: inherit;
  padding: 0;
}

button[disabled] {
  color: var(--lightGrey);
}


[hidden] {
  visibility: hidden;
}

.dm-mural.dm-paint {
  filter: blur(5px);
  pointer-events: none;
  user-select: none;
}

.dm-mural.dm-paint .dm-figure  {
  filter: blur(20px) brightness(1.5);
}


.noDisplayJS {
  display: none !important;
}

/* prevent animations from playing on page load  */
body.dm-body--preloadJS * {
  animation-duration: 0s !important;
  transition: all 0s !important;
}

.dm-body {
  padding-top: var(--burgerBarHeight);
}

.dm-body--scrollDisabledJS {
  overflow: hidden;
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overscroll-behavior: none;
}

/* TCs get --teaserMarginBottom from their last teasers AND --clusterMarginBottom */
.dm-content > .dm-teaserCluster,
.dm-content > .dm-superCluster {
  margin-bottom: var(--clusterMarginBottom);
}

.dm-content {
  background: var(--contentBGColor);
  padding-bottom: 2rem;
  padding-top: 1rem;
}

.dm-stretcher {
  max-width: 100%;
}

.dm-content__description {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}

@media (max-width: 767px) {
  .dm-content__description {
    margin-left: var(--mobileMargin);
    margin-right: var(--mobileMargin);
  }
}

.dm-content.dm-content--revenue {
  border: 1px solid var(--grey);
  position: relative;
  margin-top: 2rem;
}

.dm-content.dm-content--revenue:before {
  content: attr(data-issoldcontent_flag_text);
  position: absolute;
  top: -.5rem;
  left: 1rem;
  background: var(--white);
  display: block;
  padding: 0 .5rem;
  font-size: .8rem;
  color: var(--darkGrey);
}

@media (min-width: 768px) {
  .dm-body {
    padding-top: var(--burgerBarHeightDesktop);
  }

  .dm-siteWidth {
    max-width: calc(1000px + 4rem);
    margin-inline: auto;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* site left aligned to show skyscraper */
@media (min-width: 768px) and (max-width: 1699px) {
  .dm-siteWidth {
    margin-left: 0;
  }

  .dm-content__description {
    width: 70%;
  }
}

@media (max-width: 767px) {
  .dm-mobileMargin {
    padding-left: var(--mobileMargin);
    padding-right: var(--mobileMargin);
  }
}

/* adjusting spacing of descroption in tag page */
@media (max-width: 767px) {
  .dm-pageType--channel .dm-content > .dm-content__description {
    margin-bottom: 1.8rem;
  }
}
