/*
 * Grid Functions
 * Version: 2.1.0
 */
/* CSS Variables */
:root {
  --tablet_width: 1024px;
  --mobile_width: 768px;
  --tiny_width: 432px;
  --big_admin_bar_width: 782px;
  --non_fixed_header_width: 600px;
  --max_content_width: 1200px;
  --pad_small: 10px;
  --pad_medium: 20px;
  --pad_large: 40px;
  --pad_xlarge: 80px;
  --transition_property: none;
  --transition_timing_function: ease;
  --transition_duration: 250ms;
  --default_transition: var(--transition_duration);
}
/*
 * Grid Functions
 * Version: 2.1.0
 */
/*
 * Flex Containers
 * Version: 1.0.0
 */
:root {
  --wp_blue: #0085ba;
}
.blue-bordered {
  border: solid 2px var(--wp_blue);
}
.gray-bordered {
  border: solid 2px #d3d3d3;
}
.bg-white {
  background-color: #fff;
}
.bg-gray {
  background-color: #d3d3d3;
}
*.align-start[class] {
  align-items: flex-start;
}
*.align-self-center[class] {
  align-self: center;
}
*.align-self-end[class] {
  align-self: flex-end;
}
*.align-self-start[class] {
  align-self: flex-start;
}
*.align-self-stretch[class] {
  align-self: stretch;
}
*.justify-self-center[class] {
  justify-self: center;
}
*.justify-self-end[class] {
  justify-self: flex-end;
}
*.justify-self-start[class] {
  justify-self: flex-start;
}
*.no-padding[class] {
  padding: 0;
}
*.no-padding-left[class] {
  padding-left: 0;
}
*.no-padding-bottom[class] {
  padding-bottom: 0;
}
*.no-margin[class] {
  margin: 0;
}
*.no-margin-bottom[class] {
  margin-bottom: 0;
}
*.margin-left-auto[class] {
  margin-left: auto;
}
*.margin-top-auto[class] {
  margin-top: auto;
}
*.grow[class] {
  flex-grow: 1;
}
:root {
  --blog_cols_desktop: 3;
}
@media (max-width: 1024px) {
  :root {
    --blog_cols_tablet: 2;
  }
}
@media (max-width: 768px) {
  :root {
    --blog_cols_mobile: 1;
  }
}
.vs-blog {
  --blog_gap: 20px;
  --gap: var(--blog_gap);
  display: grid;
  gap: var(--gap);
  --top_gap: var(--gap);
  --side_gap: var(--gap);
  --bottom_gap: var(--gap);
  padding: var(--top_gap) var(--side_gap) var(--bottom_gap);
  --side_gap: 0px;
}
.vs-blog.align-start {
  align-items: start;
}
.vs-blog.align-center {
  align-items: center;
}
.vs-blog.align-stretch {
  align-items: stretch;
}
.cat-nav-links {
  --blog_nav_border_color: var(--link_color);
  --blog_nav_border_width: 2px;
}
.cat-nav-links {
  --align: center;
  --justify: center;
  --gap: 10px;
  --outer_top_gap: var(--gap);
  --outer_side_gap: var(--gap);
  --inner_side_gap: var(--gap);
  --inner_bottom_gap: var(--gap);
  --padding: var(--outer_top_gap) 0 0 var(--outer_side_gap);
  display: flex;
  flex-wrap: wrap;
  align-items: var(--align);
  justify-content: var(--justify);
  padding: var(--padding);
}
.cat-nav-links > *,
.cat-nav-links > *:not([class*="margin"]),
.cat-nav-links > button:not([class*="margin"]) {
  margin: 0 var(--inner_side_gap) var(--inner_bottom_gap) 0;
}
.cat-nav-links.align-start {
  align-items: start;
}
.cat-nav-links.align-center {
  align-items: center;
}
.cat-nav-links.align-stretch {
  align-items: stretch;
}
.cat-nav-links[class] {
  --inner_side_gap: var(--blog_nav_gap, 20px);
}
.cat-nav-links .cat-nav {
  position: relative;
}
.cat-nav-links .cat-nav:not(.wrapped)::before {
  content: '';
  width: var(--blog_nav_border_width);
  background-color: var(--blog_nav_border_color);
  top: 0;
  bottom: 0;
  position: absolute;
  left: calc((-1 * var(--inner_side_gap) / 2) - calc(var(--blog_nav_border_width) / 2));
}
.cat-nav-links .cat-nav.active {
  color: var(--link_color_hover);
}
.posts {
  --animation_duration: 250ms;
  display: grid;
  gap: var(--blog_gap);
  grid-template-columns: repeat(var(--blog_cols_mobile, var(--blog_cols_tablet, var(--blog_cols_desktop))), 1fr);
  perspective: 800px;
}
.posts .post {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
.posts .no-results {
  grid-column: 1/-1;
  text-align: center;
}
@media (max-width: 768px) {
  .posts svg {
    display: none;
  }
}
.posts .thumbnail,
.posts .overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.posts .thumbnail {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.posts .thumbnail[data-default_archive_image] {
  object-fit: var(--vs_blog_default_archive_image_object_fit, cover);
}
.posts .overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-grow: 1;
  padding: var(--pad_small);
  z-index: 1;
}
@media (max-width: 768px) {
  .posts .overlay {
    padding: calc(var(--blog_gap) * 2) calc(var(--blog_gap) * 2) var(--blog_gap);
    position: relative;
  }
}
.page-links {
  display: flex;
  flex-direction: row;
}
@media (max-width: 432px) {
  .page-links {
    display: flex;
    flex-direction: column;
  }
}
.page-links .button {
  padding: 1rem 1.5rem;
  flex-basis: 50%;
}
.page-links .button[disabled] {
  pointer-events: none;
  opacity: 0.5;
}
.page-links .button + .button {
  margin-left: var(--blog_gap);
}
@media (max-width: 432px) {
  .page-links .button + .button {
    margin-left: 0;
    margin-top: var(--blog_gap);
  }
}
.page-links .button:hover,
.page-links .button:focus {
  color: #fff;
}
.featured-image {
  width: 100%;
}

