/* Grid
-------------------------------------------------- */
* {
  border: 0 none;
  margin: 0;
  outline: 0 none;
  padding: 0;
  box-sizing: border-box;
}

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

*[data-align="center"] {
  text-align: center;
}

*[data-align="right"] {
  text-align: right;
}

html,
body {
  min-height: 100vh;
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  position: relative;
}

body > main {
  flex-grow: 2;
}

article h4,
.ck-article h4 {
  margin-bottom: 10px;
}

article p,
.ck-article p,
blockquote,
.responsive-content-embedded {
  margin-bottom: 2rem;
}

.entry-detail-alert p {
  margin-bottom: 1rem;
}

article ul li,
article ol li,
.ck-article ul li,
.ck-article ol li {
  margin-bottom: 1rem;
}

article ul li:last-child,
article ol li:last-child,
.ck-article ul li:last-child,
.ck-article ol li:last-child {
  margin-bottom: 2rem;
}

article ul,
article ol,
.ck-article ul,
.ck-article ol {
  padding-left: 50px;
}

.subscribe-container #id_recurrence {
  padding-left: 0;
}

.article-subtitle {
  margin: 1rem 0;
}

.article-subtitle > p {
  margin-bottom: unset;
}

article#intro .tc {
  margin-top: 20px;
  margin-bottom: 20px;
}

.faq-container,
article h1 + div,
article .highlighted > div,
section.container .highlighted > div,
article .flourish-embed,
blockquote,
article figure figcaption,
article > i,
article#intro h1,
article#intro h2,
article#intro p,
.pagination {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.default-horizontal-container {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.default-vertical-container {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.default-container {
  padding: 2.5rem 0.5rem 0;
}

.default-content,
.secondary-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 80rem;
  width: 100%;
}

.secondary-content {
  max-width: 45rem;
}

.back-to-top {
  display: block;
  position: fixed;
  width: 3.25rem;
  padding: 0.75rem 0.25rem 0.5rem;
  bottom: -4rem;
  right: 0.75rem;
}

.back-to-top.active {
  bottom: 0.75rem;
}

.arrow-icon::before {
  --size: 0.75rem;
  display: block;
  margin: 0 auto;
  width: var(--size);
  height: var(--size);
}

.highlighted > div h4 {
  padding: 0;
}

.highlighted li a {
  display: inline-block;
  padding: 25px 0 25px 56px;
}

.social.web {
  margin: 2.5em 2.5em 0;
  float: left;
}

.social.web ul.share {
  flex-direction: column;
}

.social.web ul.share li {
  margin-bottom: 1rem;
}

.social.mobile {
  display: none;
}

.social.mobile ul.share {
  justify-content: center;
}

ul.share {
  --share-icon-size: 3rem;
  display: flex;
  padding-left: 0;
}

ul.share li a {
  width: var(--share-icon-size);
  height: var(--share-icon-size);
  display: block;
}

ul.share svg {
  width: 100%;
  height: 100%;
}

ul.share li:not(:last-child) {
  margin-right: 1em;
}

.home-item-container {
  margin: 0 auto 2em auto;
}

.home-item-content {
  max-width: 80em;
  width: 100%;
  margin: 0 0.5em;
}

@media (max-width: 80em) {
  .home-item-content {
    width: 100%;
  }
}

.entry-item-card-list {
  display: flex;
  flex-wrap: wrap;
}

.entry-item-card .entry-item-card-image {
  position: relative;
}

.entry-item-card .entry-item-card-image::before {
  position: absolute;
  opacity: 0;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

section.container .entry-list {
  margin: 2.5em auto 0;
}

.entry-item-card {
  margin-bottom: 1.75em;
}

.entry-item-card-image {
  height: 14em;
}

.entry-item-card-image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.entry-item-card-wrap .entry-item-card-category {
  margin: 0.5em 0 0.25em 0;
}

.entry-item-card-list .entry-item-card-list-empty {
  margin: 3em auto 4.5em;
}

.align-middle {
  vertical-align: middle;
}

.entry-disclaimer hr {
  margin-bottom: 1.5rem;
}

.me-1 {
  margin-right: 0.25rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.me--2 {
  margin-left: -0.5rem;
}

@media screen and (min-width: 768px) {
  .entry-item-card-list .entry-item-card {
    width: 30%;
    margin-right: 5%;
  }

  .entry-item-card-list .entry-item-card:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .hide-on-mobile {
    display: none;
  }

  .entry-item-card-list > .entry-item-card {
    width: 100%;
  }

  article p,
  .ck-article p,
  .responsive-content-embedded {
    margin-bottom: 1rem;
  }

  article ul,
  article ol,
  .ck-article ul,
  .ck-article ol {
    padding-left: 30px;
  }

  ul.share {
    padding-left: 0;
  }

  .article-subtitle > p {
    margin-bottom: 0;
  }

  .social {
    display: none;
  }

  .social.mobile {
    display: block;
  }

  .social-mobile-wrap {
    margin: 2em;
  }

  .social-mobile-wrap.first {
    margin-top: 1em;
  }
}

p + p {
  margin-top: unset !important;
}

article figure img,
.ck-article figure img,
article img,
.ck-article img {
  max-width: 100%;
}

.updated-home section.container {
  padding: 0;
}

.home-item-container {
  display: flex;
  justify-content: center;
}

.error-page article {
  max-width: 50em;
  margin: auto;
}

body.search-page div.search-line-container.mobile {
  display: block;
}

section.bg {
  padding: 0;
}

section.bg img {
  width: 100%;
  height: auto;
  display: block;
}

article h1 + p,
.ck-article h1 + p {
  padding: 30px 0 0;
}

article h1 + div {
  position: relative;
  display: block;
}

article h1 + div > div:first-child {
  display: inline-block;
  width: 100%;
  max-width: 470px;
}

article.special h1,
.ck-article .special h1 {
  max-width: 820px;
}

article.special h1 + p,
.ck-article .special h1 + p {
  max-width: 820px;
}

article > i,
.ck-article > i {
  display: block;
}

article .social-special {
  display: none;
  padding-right: -20px;
  position: relative;
  margin: 0 auto 10px !important;
  float: none !important;
  clear: both;
}

blockquote img {
  float: left;
  margin: 13px 15px 0 0;
}

hr {
  height: 1px;
  margin: 2.5em auto 2.25em;
}

.container {
  clear: both;
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
}

@media screen and (max-width: 800px) {
  article .social-mobile-wrap ul li,
  .ck-article .social-mobile-wrap ul li {
    margin: 0 0.25em;
  }

  blockquote {
    width: 100%;
  }

  section.bg {
    padding: 0;
  }
}

.grid-special {
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.box-grid-special {
  display: inline-block;
  margin-bottom: 20px;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: top;
  width: 100%;
}

@media (min-width: 720px) {
  .box-grid-special {
    width: 50%;
  }
}

@media (min-width: 960px) {
  .box-grid-special {
    width: 25%;
  }
}
