/* =========================================================
   Text written in the admin rich-text editor.
   Tailwind resets headings and paragraphs, so these classes
   give that HTML the same look as the original design.
   ========================================================= */

/* Who We Are: introduction description */
.intro-copy p { color: #7B8084; line-height: 1.625; margin-bottom: 1rem; max-width: 36rem; }
.intro-copy p:last-child { margin-bottom: 2rem; }
.intro-copy a { color: #0B7F77; text-decoration: underline; }
.intro-copy ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 1rem; color: #7B8084; }
.intro-copy ol { list-style: decimal; padding-left: 1.25rem; margin-bottom: 1rem; color: #7B8084; }

/* Message from the chairman / founder */
.message-copy { color: #7B8084; font-size: 15px; line-height: 1.625; }
.message-copy > * + * { margin-top: 1.25rem; }
.message-copy h1, .message-copy h2, .message-copy h3, .message-copy h4 { color: #142329; font-weight: 700; line-height: 1.25; }
.message-copy h2, .message-copy h3 { font-size: 1.5rem; }
.message-copy h4 { font-size: 1.25rem; }
/* Greeting right after the heading ("Dear friends and well-wishers,") */
.message-copy :is(h1, h2, h3) + p { margin-top: .75rem; font-size: .875rem; font-weight: 500; color: #0B7F77; }
.message-copy :is(h1, h2, h3) + p b, .message-copy :is(h1, h2, h3) + p strong { font-weight: 500; }
/* Opening paragraph with a drop cap */
.message-copy :is(h1, h2, h3) + p + p { margin-top: 1.5rem; font-size: 1rem; font-weight: 500; color: #1E2E35; }
.message-copy :is(h1, h2, h3) + p + p::first-letter { float: left; margin-right: .75rem; margin-top: .25rem; font-size: 3rem; font-weight: 700; line-height: .8; color: #0B7F77; }
.message-copy blockquote { margin: 2rem 0; border-left: 4px solid #F3B81F; background: rgba(255, 247, 224, .6); padding: 1.25rem 1rem 1.25rem 1.25rem; font-size: 1.125rem; font-weight: 600; line-height: 1.375; color: #142329; }
.message-copy blockquote p { margin: 0; }
.message-copy a { color: #0B7F77; text-decoration: underline; }
.message-copy ul { list-style: disc; padding-left: 1.25rem; }
.message-copy ol { list-style: decimal; padding-left: 1.25rem; }
@media (min-width: 640px) {
  .message-copy { font-size: 1rem; line-height: 2rem; }
  .message-copy h2, .message-copy h3 { font-size: 1.875rem; line-height: 2.25rem; }
  .message-copy :is(h1, h2, h3) + p { font-size: 1rem; line-height: 1.5rem; }
  .message-copy :is(h1, h2, h3) + p + p { font-size: 1.125rem; line-height: 1.75rem; }
  .message-copy :is(h1, h2, h3) + p + p::first-letter { font-size: 3.75rem; }
  .message-copy blockquote { padding-left: 1.5rem; font-size: 1.25rem; }
}

/* Privacy Policy and Terms of Use */
.policy-copy { color: #4b5559; font-size: 15px; line-height: 1.8; }
.policy-copy > * + * { margin-top: 1rem; }
.policy-copy h2, .policy-copy h3, .policy-copy h4 { color: #142329; font-weight: 700; line-height: 1.3; margin-top: 2rem; }
.policy-copy h2 { font-size: 1.5rem; } .policy-copy h3 { font-size: 1.25rem; } .policy-copy h4 { font-size: 1.1rem; }
.policy-copy ul { list-style: disc; padding-left: 1.25rem; } .policy-copy ol { list-style: decimal; padding-left: 1.25rem; }
.policy-copy a { color: #0B7F77; text-decoration: underline; }
.policy-copy blockquote { border-left: 4px solid #F3B81F; background: #FFF7E0; padding: 1rem 1.25rem; }

/* Blog and News posts: the design's .blog-body styles cover h2 and p;
   these give the rest of the editor's HTML the same look. */
.article-copy h3, .article-copy h4 { color: #142329; font-weight: 600; line-height: 1.35; margin: 1.5rem 0 .6rem; }
.article-copy h3 { font-size: 1.15rem; } .article-copy h4 { font-size: 1.05rem; }
.article-copy ul { list-style: none; padding: 0; margin: 0 0 1rem; }
.article-copy ul li { position: relative; padding-left: 1.5rem; margin-bottom: .45rem; }
.article-copy ul li::before { content: ""; position: absolute; left: .3rem; top: .7rem; width: .45rem; height: .45rem; border-radius: 50%; background: #F3B81F; }
.article-copy ol { list-style: decimal; padding-left: 1.5rem; margin: 0 0 1rem; }
.article-copy ol li { margin-bottom: .45rem; padding-left: .25rem; }
.article-copy ol li::marker { color: #0B7F77; font-weight: 600; }
.article-copy a { color: #0B7F77; text-decoration: underline; }
.article-copy strong, .article-copy b { color: #142329; font-weight: 600; }
.article-copy blockquote { display: block; background: #E8F5F3; border-left: 4px solid #0B7F77; border-radius: .75rem; padding: 1rem 1.25rem; margin: 1.25rem 0; color: #142329; }
.article-copy blockquote p:last-child { margin-bottom: 0; }
.article-copy img { max-width: 100%; height: auto; border-radius: .75rem; margin: 1rem 0; }
.article-copy table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: 15px; display: block; overflow-x: auto; }
.article-copy th { background: #0B7F77; color: #fff; font-weight: 600; text-align: left; padding: .75rem 1rem; }
.article-copy td { border-top: 1px solid #E8F5F3; padding: .75rem 1rem; }
.article-copy iframe { max-width: 100%; border-radius: .75rem; }

/* Management profile popup: the description written in the admin editor */
.profile-copy { color: #4b5559; font-size: 15px; line-height: 1.8; }
.profile-copy > * + * { margin-top: .9rem; }
.profile-copy h2, .profile-copy h3, .profile-copy h4 { color: #142329; font-weight: 700; line-height: 1.3; }
.profile-copy h2 { font-size: 1.3rem; margin-top: 1.6rem; } .profile-copy h3 { font-size: 1.15rem; margin-top: 1.4rem; } .profile-copy h4 { font-size: 1.05rem; margin-top: 1.2rem; }
.profile-copy > :first-child { margin-top: 0; }
.profile-copy h2::after, .profile-copy h3::after { content: ""; display: block; width: 2.5rem; height: 3px; margin-top: .45rem; border-radius: 9999px; background: #F3B81F; }
.profile-copy h2[style*="center"]::after, .profile-copy h3[style*="center"]::after { margin-inline: auto; }
.profile-copy strong, .profile-copy b { color: #142329; font-weight: 600; }
.profile-copy a { color: #0B7F77; text-decoration: underline; }
.profile-copy ul { list-style: none; padding: 0; }
.profile-copy ul li { position: relative; padding-left: 1.5rem; margin-bottom: .4rem; }
.profile-copy ul li::before { content: ""; position: absolute; left: .3rem; top: .7rem; width: .45rem; height: .45rem; border-radius: 50%; background: #0B7F77; }
.profile-copy ol { list-style: decimal; padding-left: 1.4rem; }
.profile-copy ol li { margin-bottom: .4rem; } .profile-copy ol li::marker { color: #0B7F77; font-weight: 600; }
.profile-copy blockquote { border-left: 4px solid #F3B81F; background: #FFF7E0; border-radius: .75rem; padding: .9rem 1.1rem; color: #142329; font-style: italic; }
.profile-copy blockquote p { margin: 0; }
.profile-copy hr { border: 0; border-top: 1px dashed rgba(11,127,119,.3); margin: 1.4rem 0; }
.profile-copy table { width: 100%; border-collapse: collapse; font-size: 14px; display: block; overflow-x: auto; }
.profile-copy th { background: #0B7F77; color: #fff; text-align: left; padding: .6rem .85rem; font-weight: 600; }
.profile-copy td { border-top: 1px solid #E8F5F3; padding: .6rem .85rem; }
@media (min-width: 640px) { .profile-copy { font-size: 16px; } }

/* Who We Are story: about 17 lines, then "See more" (see partials/who-intro). */
.intro-clamp { --intro-lines: 12; max-height: calc(var(--intro-lines) * 1.625rem); -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 4.5rem), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 4.5rem), transparent); transition: max-height .4s ease; }
.intro-clamp.is-open { max-height: none; -webkit-mask-image: none; mask-image: none; }
.intro-clamp p:last-child { margin-bottom: 1rem; }
.intro-toggle { margin-bottom: 2rem; }
