@-webkit-keyframes dot-keyframes {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  25% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  75% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
@keyframes dot-keyframes {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  25% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  75% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* --- Blog post styles --- */
.post {
  position: relative;
  margin-bottom: 1.25rem;
}
.post .post-thumbnail {
  position: relative;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 576px) {
  .post .post-thumbnail {
    margin-bottom: 1.25rem;
  }
}
.post .post-thumbnail .post-category {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  z-index: 1;
}
.post .post-body .entry-title {
  line-height: 1.3;
}
.post .post-body .entry-title a {
  color: currentColor;
  text-decoration-color: transparent;
  text-underline-offset: 0.1875rem;
  -webkit-transition: all 0.1s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 0.1s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.post .post-body .entry-title a:hover {
  text-decoration-color: currentColor;
}
.post .post-body .entry-excerpt {
  font-size: 0.8125rem;
  color: var(--color-gray-600);
}
.post .entry-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.625rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--color-gray-200);
}
.post .entry-tags {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.1875rem;
}
.post .entry-tags > span {
  font-size: 0.75rem;
  margin-right: 0.625rem;
  color: var(--color-gray-500);
}
@media screen and (max-width: 575.98px) {
  .post .entry-tags > span {
    display: block;
    width: 100%;
  }
}
.post .entry-tags ul {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.1875rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.post .entry-tags ul li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.post .entry-tags ul li a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  height: 1.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border: 1px solid var(--color-gray-300);
  border-radius: 0.25rem;
  color: currentColor;
  -webkit-transition: all 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.post .entry-tags ul li a:hover {
  background-color: var(--color-gray-100);
}
.post .post-author-bio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-top: 1px solid var(--color-gray-200);
  padding-top: 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 576px) {
  .post .post-author-bio {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.post .post-author-bio .author-avatar {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 3.5rem;
  margin-right: 1.25rem;
}
@media screen and (min-width: 576px) {
  .post .post-author-bio .author-avatar {
    width: 5.375rem;
  }
}
.post .post-author-bio .author-avatar a {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 50%;
}
.post .post-author-bio .author-detail {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
          flex: 1 0 0%;
}
.post .post-author-bio .author-detail > span {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-gray-400);
}
.post .post-author-bio .author-detail .author-name {
  font-size: 0.9375rem;
}
.post .post-author-bio .author-detail p {
  font-size: 0.8125rem;
  color: var(--color-gray-600);
}

/* --- Blog post category styles --- */
.post-category a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.5rem;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--theme-primary-color);
  background-color: var(--color-white);
  height: 1.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-radius: var(--theme-site-border-radius);
  -webkit-transition: all 0.15s var(--theme-transition);
  transition: all 0.15s var(--theme-transition);
}
.post-category a:hover {
  color: var(--color-white);
  background-color: var(--theme-primary-color);
}

/* --- Blog post meta styles --- */
.entry-post-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem;
  font-size: 0.75rem;
}
.entry-post-meta .meta-item {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.entry-post-meta .meta-item + .meta-item::before {
  content: "";
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0.1;
  margin-right: 0.5rem;
}
.entry-post-meta .meta-item a {
  color: var(--color-gray-700);
  text-decoration: none;
}
.entry-post-meta .meta-item.meta-author span {
  font-style: italic;
  color: var(--color-gray-500);
  margin-right: 0.25rem;
}
.entry-post-meta .meta-item.meta-author a {
  font-weight: 600;
}

/* --- Blog post module styles --- */
.blog-posts .post {
  margin-bottom: 1.875rem;
}
@media screen and (min-width: 992px) {
  .blog-posts .post {
    margin-bottom: 3.75rem;
  }
}

/* --- Blog pagination styles --- */
.site-pagination {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 576px) {
  .site-pagination {
    margin-top: 1.875rem;
  }
}
.site-pagination ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.125rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-pagination ul li a {
  text-decoration: none;
  color: currentColor;
  -webkit-transition: all 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.site-pagination ul li > * {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 0.8125rem;
  width: 1.75rem;
  height: 1.75rem;
  background-color: var(--color-gray-100);
  border-radius: var(--theme-site-border-radius);
}
@media screen and (min-width: 576px) {
  .site-pagination ul li > * {
    font-size: 0.875rem;
    width: 2.125rem;
    height: 2.125rem;
  }
}
.site-pagination ul li > *:not(.current):hover, .site-pagination ul li > *:not(.prev):hover, .site-pagination ul li > *:not(.next):hover, .site-pagination ul li > *:not(.dots):hover {
  background-color: var(--color-gray-200);
}
.site-pagination ul li > *.dots {
  font-size: 1rem;
  line-height: 1rem;
  background-color: transparent !important;
}
.site-pagination ul li > *.prev, .site-pagination ul li > *.next {
  font-size: 1.25rem;
  background-color: transparent !important;
}
@media screen and (min-width: 576px) {
  .site-pagination ul li > *.prev, .site-pagination ul li > *.next {
    font-size: 1.5rem;
  }
}
.site-pagination ul li > *.current {
  color: var(--color-white);
  background-color: var(--theme-primary-color) !important;
}

/* --- Blog post coments styles --- */
.post-comments {
  border-top: 1px solid var(--color-gray-200);
  padding-top: 1.25rem;
  margin-top: 1.25rem;
}
.post-comments > .entry-title {
  font-size: 0.875rem;
  margin-bottom: 1.875rem;
}
@media screen and (min-width: 576px) {
  .post-comments > .entry-title {
    font-size: 1rem;
    margin-bottom: 2.5rem;
  }
}
.post-comments .comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.post-comments .comment-list .comment .comment-body {
  padding: 0.0625rem;
  margin-bottom: 0.9375rem;
}
@media screen and (min-width: 576px) {
  .post-comments .comment-list .comment .comment-body {
    margin-bottom: 1.875rem;
  }
}
.post-comments .comment-list .comment .comment-body .comment-meta {
  margin-bottom: 1rem;
}
.post-comments .comment-list .comment .comment-body .comment-meta .avatar {
  position: relative;
  float: left;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  margin-right: 1.25rem;
}
@media screen and (min-width: 576px) {
  .post-comments .comment-list .comment .comment-body .comment-meta .avatar {
    width: 4.75rem;
    height: 4.75rem;
    margin-right: 2.5rem;
  }
}
.post-comments .comment-list .comment .comment-body .comment-meta .comment-author b {
  float: left;
  font-size: 0.875rem;
  font-weight: 600;
}
.post-comments .comment-list .comment .comment-body .comment-meta .comment-author b a {
  color: currentColor;
  text-decoration: none;
}
.post-comments .comment-list .comment .comment-body .comment-meta .comment-author .comment-metadata {
  float: left;
  line-height: 1.2;
}
.post-comments .comment-list .comment .comment-body .comment-meta .comment-author .comment-metadata a {
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-gray-500);
  margin-left: 0.9375rem;
}
.post-comments .comment-list .comment .comment-body .comment-content {
  margin-top: 1.875rem;
  padding-left: 7.25rem;
}
.post-comments .comment-list .comment .comment-body .comment-content p {
  font-size: 0.8125rem;
  color: var(--color-gray-600);
}
.post-comments .comment-list .comment .comment-body .reply {
  padding-left: 7.25rem;
}
.post-comments .comment-list .comment .comment-body .reply a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  color: currentColor;
}
.post-comments .comment-list .comment .comment-body .reply a i {
  font-size: 1.125rem;
  line-height: 1;
  margin-right: 0.375rem;
}
.post-comments .comment-list + .comment-respond {
  border-top: 1px solid var(--color-gray-200);
  padding-top: 1.25rem;
  margin-top: 1.25rem;
}
.post-comments .comment-respond > .entry-title {
  font-size: 1rem;
}
@media screen and (min-width: 576px) {
  .post-comments .comment-respond > .entry-title {
    font-size: 1.25rem;
  }
}
.post-comments .comment-respond .comment-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}
.post-comments .comment-respond .comment-form > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.post-comments .comment-respond .comment-form > *.comment-form-author, .post-comments .comment-respond .comment-form > *.comment-form-email {
  width: 50%;
}
.post-comments .comment-respond .comment-form > *.comment-notes {
  font-size: 0.8125rem;
  color: var(--color-gray-500);
}
.post-comments .comment-respond .comment-form > *.form-submit .btn {
  border: 0 !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.post-comments .comment-respond .comment-form > * label {
  display: block;
  font-size: 0.8125rem;
  margin-bottom: 0.3125rem;
}
.post-comments .comment-respond .comment-form > * input {
  border: 1px solid var(--color-gray-300);
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.post-comments .comment-respond .comment-form > * textarea {
  min-height: 5.625rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}