/* Consolidated inline styles from the Webflow book export (deduped). */

/* The Webflow export only shipped Merriweather Light (300) and Bold (700), but
   the book design uses Regular (400) for body copy and links (e.g.
   `.rtb-book-page p` inherits the body's normal weight and `.rtb-book-page a`
   asks for 400 explicitly). With no 400 face loaded those all fell back to
   Light (300), making the prose look too thin. Register the real Merriweather
   Regular (the same self-hosted woff2 used across the rest of the site) so book
   body text renders at 400. The Light face stays loaded, so anything using
   `.text-weight-light` is unaffected. */
@font-face {
  font-family: Merriweather;
  src: url('/ds/fonts/Merriweather-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
    scroll-behavior: smooth;
  }

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}
/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}
/* 
Make the following elements inherit typography styles from the parent and not have hardcoded values. 
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/
/* Prevent all click and hover interaction with an element */
.pointer-events-off {
	pointer-events: none;
}
/* Enables all click and hover interaction with an element */
.pointer-events-on {
  pointer-events: auto;
}
/* Snippet enables you to add class of div-square which creates and maintains a 1:1 dimension of a div.*/
.div-square::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
/*Hide focus outline for main content element*/
    main:focus-visible {
    outline: -webkit-focus-ring-color auto 0px;
}
/* Make sure containers never lose their center alignment*/
.container-medium, .container-small, .container-large {
  margin-right: auto !important;
  margin-left: auto !important;
}
/*Reset selects, buttons, and links styles*/
.w-input, .w-select, a {
color: inherit;
text-decoration: inherit;
font-size: inherit;
}
/*Apply "..." after 3 lines of text */
.text-style-3lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
/* Apply "..." after 2 lines of text */
.text-style-2lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
/* Apply "..." at 100% width */
.truncate-width { 
		width: 100%; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}
/* Removes native scrollbar */
.no-scrollbar {
    -ms-overflow-style: none;  // IE 10+
    overflow: -moz-scrollbars-none;  // Firefox
}
.no-scrollbar::-webkit-scrollbar {
    display: none; // Safari and Chrome
}
/* Adds inline flex display */
.display-inlineflex {
  display: inline-flex;
}
/* These classes are never overwritten */
.hide {
  display: none !important;
}
@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}
  @media screen and (max-width: 767px) {
    .hide-mobile-landscape{
      display: none !important;
    }
}
  @media screen and (max-width: 479px) {
    .hide-mobile{
      display: none !important;
    }
}
.margin-0 {
  margin: 0rem !important;
}
.padding-0 {
  padding: 0rem !important;
}
.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}
.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}
.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}
.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}
.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}
.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}
.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}
.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}
.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}
.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}
.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}
.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}
.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}
.dp_itemlink_arrow :after {content: ' ›';}
.dp_itemlink_arrow.smaller :after {content: '';}
.rtb-book-page{
overflow-wrap: break-word;
}
.rtb-book-citations p, .rtb-book-citations a {
overflow-wrap: break-word;
word-break: break-word;
}
.dp-book-contents-chapter-nav-prevnext {
text-wrap: balance;
}
/* This allows for anchors to be at the top of the page */
/* https://perishablepress.com/margin-offset-anchor-targets/ */
html {
   scroll-padding-top: 88px;
}
.rtb-book-citations p {
  /*scroll-margin: 100px 0 0 100px;*/
}
.rtb-book-page a {
text-decoration: none;
}
/*
padding: 25px 50px 75px 100px;
top padding is 25px
right padding is 50px
bottom padding is 75px
left padding is 100px
*/
.dp-book-contents-page-rtb h1 {
text-wrap: balance;
}
.rtb-book-page a sup {
padding: 0px 4px 8px 4px;
}
.rtb-book-page a sup:before{
content: '[';
}
.rtb-book-page a sup:after{
content: ']';
}
blockquote + p {
margin-top:1.5rem;
}
.search-input {
color: black !important;
font-size: 0.875rem !important;
}
/* Override max width */
.section_content--book .container-large{
max-width: 1920px;
}
.section_content--book .padding-global {
padding-left:0;
padding-right:0;
}
.dp-book-contents-page {
justify-self: center !important;
}
.section_content--book .padding-section-large {
padding: 0;
}