/* ==========================================================
   UMW SONG ASSETS
   PUBLISHING SERVICES AGREEMENT
   UMW CORE / LEGAL CENTER
   ========================================================== */

html,
body,
.sections,
.privacy-section {
  background:#ffffff !important;
}

.privacy-section {
  width:100% !important;
  padding:42px 20px 64px !important;

  color:#141414 !important;
  font-family:Poppins,Arial,Helvetica,sans-serif !important;
}

.privacy-section >
.w-layout-blockcontainer.container {
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
}


/* ==========================================================
   OUTER WRAPPER — NEVER A LARGE CARD
   ========================================================== */

html body
.privacy-section
.privacy-content-wrapper
.privacy-section-content {
  width:100% !important;
  max-width:none !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;
  border-radius:0 !important;

  background:#ffffff !important;
  background-image:none !important;

  box-shadow:none !important;
  overflow:visible !important;

  text-align:left !important;
}

html body
.privacy-section
.privacy-content-wrapper
.privacy-section-content::before,
html body
.privacy-section
.privacy-content-wrapper
.privacy-section-content::after {
  content:none !important;
  display:none !important;
}


/* ==========================================================
   HERO
   ========================================================== */

.umw-agreement-hero {
  position:relative !important;

  width:100% !important;

  margin:0 0 18px !important;
  padding:34px 28px 28px !important;

  border:1px solid rgba(20,20,20,.055) !important;
  border-radius:18px !important;

  background:#ffffff !important;

  box-shadow:
    0 5px 16px rgba(20,20,20,.05) !important;

  text-align:left !important;
}

.umw-agreement-hero::before {
  content:"" !important;

  position:absolute !important;
  top:12px !important;
  left:50% !important;

  width:44px !important;
  height:4px !important;

  transform:translateX(-50%) !important;

  border-radius:999px !important;
  background:#eeeeee !important;
}

.umw-agreement-hero .heading-1-center {
  width:100% !important;

  margin:0 !important;

  color:#141414 !important;

  font-size:clamp(30px,4vw,44px) !important;
  line-height:1.15 !important;
  font-weight:700 !important;

  letter-spacing:normal !important;
  text-align:left !important;

  opacity:1 !important;
  transform:none !important;
}

.umw-agreement-hero .body-text-18-center {
  width:100% !important;

  margin:9px 0 0 !important;

  color:#737373 !important;

  font-size:11px !important;
  line-height:1.5 !important;
  font-weight:500 !important;

  text-align:left !important;

  opacity:1 !important;
  transform:none !important;
}


/* ==========================================================
   AGREEMENT OVERVIEW
   ========================================================== */

.umw-agreement-overview {
  position:relative;

  width:100%;

  margin:0 0 18px;
  padding:28px 26px 24px;

  border:1px solid rgba(20,20,20,.055);
  border-radius:18px;

  background:#ffffff;

  box-shadow:
    0 5px 16px rgba(20,20,20,.05);
}

.umw-agreement-overview::before {
  content:"";

  position:absolute;
  top:12px;
  left:50%;

  width:44px;
  height:4px;

  transform:translateX(-50%);

  border-radius:999px;
  background:#eeeeee;
}

.umw-agreement-overview-head {
  display:grid;

  grid-template-columns:
    minmax(0,1fr) auto;

  align-items:start;
  gap:20px;

  padding:4px 0 16px;

  border-bottom:1px solid #eeeeee;

  text-align:left !important;
}

.umw-agreement-overview-title {
  width:100% !important;

  margin:0 !important;
  padding:0 !important;

  color:#141414 !important;

  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:700 !important;

  text-align:left !important;
}

.umw-agreement-overview-description {
  width:100% !important;
  max-width:760px;

  margin:6px 0 0 !important;

  color:#141414;

  font-size:12px;
  line-height:1.65;
  font-weight:400;

  text-align:left !important;
}

.umw-agreement-overview-badge {
  min-height:26px;

  padding:0 10px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  justify-self:end;

  border-radius:999px;

  background:#0047ff;
  color:#ffffff;

  font-size:10px;
  line-height:1;
  font-weight:600;

  white-space:nowrap;
}

.umw-agreement-overview-grid {
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:12px;

  margin-top:18px;
}

.umw-agreement-overview-card {
  min-width:0;

  padding:15px;

  border:1px solid #eeeeee;
  border-radius:14px;

  background:#ffffff;
}

.umw-agreement-overview-label {
  display:block;

  margin-bottom:6px;

  color:#737373;

  font-size:9px;
  line-height:1.3;
  font-weight:600;

  text-transform:uppercase;
}

.umw-agreement-overview-value {
  display:block;

  color:#141414;

  font-size:11px;
  line-height:1.55;
  font-weight:600;
}

.umw-agreement-links {
  display:flex;
  flex-wrap:wrap;

  gap:7px;

  margin-top:16px;
}

.umw-agreement-link {
  min-height:34px;

  padding:0 12px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border:1px solid #dddddd;
  border-radius:999px;

  background:#ffffff;
  color:#141414 !important;

  font-size:10px;
  line-height:1;
  font-weight:600;

  text-decoration:none !important;
}

.umw-agreement-note {
  margin:16px 0 0;
  padding:13px 14px;

  border:1px solid #eeeeee;
  border-radius:12px;

  background:#ffffff;

  color:#141414;

  font-size:10px;
  line-height:1.6;
}


/* ==========================================================
   DOCUMENT LAYOUT
   ========================================================== */

.umw-agreement-body-shell {
  width:100% !important;
  max-width:none !important;

  margin:0 !important;
  padding:0 !important;
}

.umw-agreement-layout {
  width:100%;

  display:grid;

  grid-template-columns:
    260px minmax(0,1fr);

  align-items:start;

  gap:18px;
}


/* ==========================================================
   TABLE OF CONTENTS
   ========================================================== */

.umw-agreement-toc {
  position:sticky;

  top:20px;

  max-height:calc(100vh - 40px);
  overflow:auto;

  padding:24px 15px 16px;

  border:1px solid rgba(20,20,20,.055);
  border-radius:18px;

  background:#ffffff;

  box-shadow:
    0 5px 16px rgba(20,20,20,.05);

  scrollbar-width:thin;
}

.umw-agreement-toc::before {
  content:"";

  position:absolute;

  top:10px;
  left:50%;

  width:42px;
  height:4px;

  transform:translateX(-50%);

  border-radius:999px;
  background:#eeeeee;
}

.umw-agreement-toc-title {
  margin:0 0 12px;

  color:#141414;

  font-size:12px;
  font-weight:700;
  line-height:1.4;
}

.umw-agreement-toc-list {
  display:flex;
  flex-direction:column;

  gap:2px;

  margin:0;
  padding:0;

  list-style:none;
}

.umw-agreement-toc-link {
  display:block;

  width:100%;

  padding:7px 8px;

  border-radius:8px;

  color:#555555 !important;

  font-size:9px;
  line-height:1.45;
  font-weight:500;

  text-decoration:none !important;
}

.umw-agreement-toc-link:hover,
.umw-agreement-toc-link.is-active {
  background:#f7f7f7;

  color:#141414 !important;
}


/* ==========================================================
   DOCUMENT — NO GIANT FRAME
   ========================================================== */

.rich-text-block.w-richtext {
  width:100% !important;
  max-width:none !important;

  margin:0 !important;
  padding:4px 0 0 !important;

  border:0 !important;
  border-radius:0 !important;

  background:#ffffff !important;
  background-image:none !important;

  box-shadow:none !important;

  overflow:visible !important;

  color:#141414 !important;
}

.rich-text-block.w-richtext p,
.rich-text-block.w-richtext li {
  color:#141414 !important;

  font-size:12px !important;
  line-height:1.8 !important;
  font-weight:400 !important;
}

.rich-text-block.w-richtext p {
  margin-top:0 !important;
  margin-bottom:14px !important;
}

.rich-text-block.w-richtext ul,
.rich-text-block.w-richtext ol {
  margin:0 0 18px 20px !important;

  padding-left:14px !important;
}

.rich-text-block.w-richtext li {
  margin-bottom:5px !important;
}

.rich-text-block.w-richtext strong {
  color:#141414 !important;
  font-weight:700 !important;
}

.rich-text-block.w-richtext a {
  color:#0047ff !important;

  text-decoration:none !important;
}


/* ==========================================================
   MAIN AGREEMENT HEADINGS
   COMPACT + 30PX + NO BLUE STRIPE
   ========================================================== */

html body
.privacy-section
.rich-text-block.w-richtext
p.umw-agreement-heading {
  position:relative !important;

  display:flex !important;
  align-items:center !important;

  width:100% !important;

  height:auto !important;
  min-height:0 !important;

  box-sizing:border-box !important;

  scroll-margin-top:24px;

  margin:22px 0 14px !important;

  padding:10px 20px !important;

  border:1px solid #eeeeee !important;
  border-left:1px solid #eeeeee !important;

  border-radius:30px !important;

  background:#ffffff !important;
  background-image:none !important;

  box-shadow:none !important;

  overflow:hidden !important;

  line-height:1.35 !important;
}

html body
.privacy-section
.rich-text-block.w-richtext
p.umw-agreement-heading::before,
html body
.privacy-section
.rich-text-block.w-richtext
p.umw-agreement-heading::after {
  content:none !important;
  display:none !important;

  width:0 !important;
  height:0 !important;

  border:0 !important;
  background:transparent !important;

  box-shadow:none !important;
}

html body
.privacy-section
.rich-text-block.w-richtext
p.umw-agreement-heading > strong {
  display:block !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;

  background:transparent !important;

  color:#141414 !important;

  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}


/* THE PARTIES / RECITALS */

.umw-agreement-special {
  margin-top:0 !important;
}


/* SUBSECTIONS 13.1 / 42.1 ETC */

.umw-agreement-subheading {
  margin:23px 0 9px !important;

  color:#141414 !important;

  font-size:12px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
}


/* IMPORTANT ECONOMIC TERMS */

.umw-agreement-economic {
  margin:16px 0 !important;

  padding:14px 15px !important;

  border:1px solid rgba(0,71,255,.16) !important;
  border-radius:14px !important;

  background:rgba(0,71,255,.035) !important;
}


/* MANDATORY ORDER */

.umw-agreement-order {
  margin-top:30px !important;
}


/* OLD COPYRIGHT */

.privacy-section > .section-9 {
  display:none !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:991px) {

  .umw-agreement-layout {
    grid-template-columns:
      220px minmax(0,1fr);
  }

  .umw-agreement-overview-grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px) {

  .privacy-section {
    padding:28px 10px 40px !important;
  }

  .umw-agreement-hero {
    padding:28px 16px 18px !important;

    border-radius:16px !important;
  }

  .umw-agreement-hero .heading-1-center {
    font-size:28px !important;
  }

  .umw-agreement-overview {
    padding:28px 16px 18px;

    border-radius:16px;
  }

  .umw-agreement-overview-head {
    grid-template-columns:1fr;
  }

  .umw-agreement-overview-badge {
    width:fit-content;

    justify-self:start;
  }

  .umw-agreement-overview-grid {
    grid-template-columns:1fr;
  }

  .umw-agreement-layout {
    grid-template-columns:1fr;
  }

  .umw-agreement-toc {
    position:relative;

    top:auto;

    max-height:310px;

    border-radius:16px;
  }
}
