/* Advertising remains measurable while a request is pending.  Nothing from an
   empty slot occupies the page; a settled empty slot is display:none. */
.ad,
.ms-ad-managed {
  box-sizing: border-box;
  max-width: 100%;
  text-align: center;
}
.ad:not([data-ad-visibility="filled"]),
.ms-ad-managed:not([data-ad-visibility="filled"]) {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.ad[data-ad-visibility="empty"],
.ms-ad-managed[data-ad-visibility="empty"] {
  display: none !important;
}
/* A synchronous measurement never paints: it is still clipped to zero height.
   Keeping visibility visible here lets JS distinguish vendor-hidden media from
   content hidden only by our pending-slot rule. */
.ad[data-ad-visibility="measuring"],
.ms-ad-managed[data-ad-visibility="measuring"] {
  display: block !important;
  visibility: visible !important;
}
.ad[data-ad-visibility="filled"] {
  margin: 12px auto;
  overflow: hidden;
  visibility: visible;
}
.ad .ad-label {
  display: none;
  margin-bottom: 2px;
  color: var(--muted, #748395);
  font-size: 11px;
  text-align: left;
}
.ad[data-ad-visibility="filled"] .ad-label {
  display: block;
}
.ad > :not(.ad-label) {
  max-width: 100% !important;
  margin-right: auto;
  margin-left: auto;
}
.ad img,
.ms-ad-managed img {
  max-width: 100%;
}
.ad-pc {
  display: block;
}
.ad-sp {
  display: none;
}
ins.adsbygoogle[data-ad-status="unfilled"],
ins.adsbygoogle[data-ad-status="unfill-optimized"] {
  display: none !important;
}
@media (max-width: 760px) {
  .ad-pc,
  .ad.ad-pc[data-ad-visibility="filled"] {
    display: none !important;
  }
  .ad-sp {
    display: block;
  }
}
