@charset "UTF-8";
.full-post-listing .posts {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: calc(100% - 3rem);
  max-width: 280px;
  margin: 15px auto;
}

@media (min-width: 768px) {
  .full-post-listing .posts {
    justify-content: flex-start;
    max-width: 1160px;
    width: 100%;
    margin: 30px auto;
  }
}

.full-post-listing .posts .post {
  position: relative;
  flex: 1 1 100%;
  text-align: left;
  box-sizing: border-box;
  padding: 0 0 15px;
}

@media (min-width: 768px) {
  .full-post-listing .posts .post {
    flex: 0 0 33.333333%;
    padding: 0 15px 30px;
  }
}

.full-post-listing .posts .post .no-image,
.full-post-listing .posts .post .has-image,
.full-post-listing .posts .post .title,
.full-post-listing .posts .post .content {
  margin-bottom: 15px;
}

.full-post-listing .posts .post .no-image,
.full-post-listing .posts .post .has-image {
  display: block;
  overflow: hidden;
  width: 100%;
  position: relative;
  opacity: .85;
  transition: opacity .5s ease;
  box-shadow: 0 0 1rem rgba(22, 98, 204, 0.125);
}

.full-post-listing .posts .post .no-image:before,
.full-post-listing .posts .post .has-image:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: calc((37 / 57) * 100%);
}

.full-post-listing .posts .post .no-image {
  background: linear-gradient(45deg, rgba(31, 45, 234, 0.92) 0%, rgba(47, 200, 223, 0.92) 65%);
}

.full-post-listing .posts .post:nth-child(3n) .no-image {
  background: linear-gradient(45deg, rgba(47, 200, 223, 0.92) 0%, rgba(31, 45, 234, 0.92) 65%);
}

.full-post-listing .posts .post:nth-child(6n) .no-image {
  background: linear-gradient(45deg, rgba(31, 45, 234, 0.92) 0%, rgba(47, 200, 223, 0.92) 20%, rgba(31, 45, 234, 0.92) 50%);
}

.full-post-listing .posts .post .has-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  height: auto;
  width: auto;
}

.full-post-listing .posts .post .title {
  font-family: "Lato", sans-serif;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.5rem;
  margin-top: 15px;
  color: #1662cc;
  text-decoration: none;
  transition: color .5s ease;
}

@media (min-width: 768px) {
  .full-post-listing .posts .post .title {
    font-size: 1.15rem;
  }
}

.full-post-listing .posts .post .content {
  font-size: .9rem;
}

.full-post-listing .posts .post a {
  text-decoration: none;
}

.full-post-listing .posts .post a:hover .no-image,
.full-post-listing .posts .post a:hover .has-image {
  opacity: 1;
}

.full-post-listing .posts .post a:hover .title {
  color: #114793;
}

.full-post-listing .paging {
  margin-top: 2.5rem;
  text-align: center;
}

.full-post-listing .paging .controls {
  display: inline-block;
  vertical-align: middle;
  padding: 0;
}

.full-post-listing .paging .page {
  display: inline-block;
  vertical-align: middle;
  border: 2px solid #1662cc;
  border-radius: 100%;
  text-align: center;
  line-height: 1;
}

.full-post-listing .paging .page a, .full-post-listing .paging .page span {
  display: block;
  color: #1662cc;
  font-weight: 400;
  text-decoration: none;
  font-size: .9rem;
  width: 33px;
  padding: 9px 0;
}

.full-post-listing .paging .page:hover, .full-post-listing .paging .page.current {
  background-color: #1662cc;
}

.full-post-listing .paging .page:hover a, .full-post-listing .paging .page:hover span, .full-post-listing .paging .page.current a, .full-post-listing .paging .page.current span {
  color: #fff;
}

.full-post-listing .paging .side-control .control {
  display: inline-block;
  margin: 10px 5px;
}

.full-post-listing .paging .side-control .control.first a:before {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-right: 3px;
}

.full-post-listing .paging .side-control .control.prev a:before {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-right: 3px;
}

.full-post-listing .paging .side-control .control.next a:after {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-left: 3px;
}

.full-post-listing .paging .side-control .control.last a:after {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-left: 3px;
}

.full-post-listing .paging .side-control .control.first a::before, .full-post-listing .paging .side-control .control.prev a::before {
  margin-right: 3px;
  margin-top: -2px;
}

.full-post-listing .paging .side-control .control.next a::after, .full-post-listing .paging .side-control .control.last a::after {
  margin-left: 3px;
  margin-top: -2px;
}

.full-post-listing .paging .side-control .control a {
  padding: 9px 20px;
  border: 2px solid #1662cc;
  border-radius: 50px;
  display: block;
  color: #1662cc;
  font-weight: 400;
  text-decoration: none;
  font-size: .9rem;
  line-height: 1;
}

.full-post-listing .paging .side-control .control a::before {
  vertical-align: middle;
  margin-top: -3px;
}

.full-post-listing .paging .side-control .control a:hover {
  background-color: #1662cc;
  color: #fff;
}

.blog-posts.listing .post {
  padding: 1rem 0;
}

.blog-posts.listing .post .teaser-image {
  display: none;
}

.blog-posts.listing .post .title a {
  color: #4f5362;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.15;
  text-decoration: none;
}

.blog-posts.listing .post .title a:hover {
  text-decoration: underline;
}

.blog-posts.listing .post .date {
  visibility: collapse;
  height: 0;
  color: #a7acbd;
  font-style: italic;
  display: block;
}

.blog-posts.listing .post .meta {
  display: none;
}

.blog-posts.listing .post a.readmore {
  display: inline-block;
  text-decoration: none;
  font-size: .8rem;
  letter-spacing: .15rem;
  line-height: 1.2;
  text-transform: uppercase;
  border: 2px solid #1662cc;
  border-radius: 2.25rem;
  color: #fff;
  padding: .45rem 1rem;
  background: #1662cc;
  transition: all .5s ease-in-out;
  font-weight: 400;
  margin-top: .5rem;
}

.blog-posts.listing .post a.readmore:hover {
  background: #1250a7;
  color: #fff;
  transition: all .5s ease-in-out;
}

.blog-posts.listing .post + .post {
  margin-top: .5rem;
  border-top: 1px solid #cbd1e1;
}

@media (min-width: 768px) {
  .blog-posts.listing .post + .post {
    margin-top: 1rem;
  }
}

.blog-posts.listing .paging {
  margin-top: 2.5rem;
  text-align: center;
}

.blog-posts.listing .paging .controls {
  display: inline-block;
  vertical-align: middle;
  padding: 0;
}

.blog-posts.listing .paging .page {
  display: inline-block;
  vertical-align: middle;
  border: 2px solid #1662cc;
  border-radius: 100%;
  text-align: center;
  line-height: 1;
}

.blog-posts.listing .paging .page a, .blog-posts.listing .paging .page span {
  display: block;
  color: #1662cc;
  font-weight: 400;
  text-decoration: none;
  font-size: .9rem;
  width: 33px;
  padding: 9px 0;
}

.blog-posts.listing .paging .page:hover, .blog-posts.listing .paging .page.current {
  background-color: #1662cc;
}

.blog-posts.listing .paging .page:hover a, .blog-posts.listing .paging .page:hover span, .blog-posts.listing .paging .page.current a, .blog-posts.listing .paging .page.current span {
  color: #fff;
}

.blog-posts.listing .paging .side-control .control {
  display: inline-block;
  margin: 10px 5px;
}

.blog-posts.listing .paging .side-control .control.first a:before {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-right: 3px;
}

.blog-posts.listing .paging .side-control .control.prev a:before {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-right: 3px;
}

.blog-posts.listing .paging .side-control .control.next a:after {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-left: 3px;
}

.blog-posts.listing .paging .side-control .control.last a:after {
  font-family: FontAwesome;
  content: "";
  font-size: 1rem;
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .5s ease-in-out;
  margin-left: 3px;
}

.blog-posts.listing .paging .side-control .control.first a::before, .blog-posts.listing .paging .side-control .control.prev a::before {
  margin-right: 3px;
  margin-top: -2px;
}

.blog-posts.listing .paging .side-control .control.next a::after, .blog-posts.listing .paging .side-control .control.last a::after {
  margin-left: 3px;
  margin-top: -2px;
}

.blog-posts.listing .paging .side-control .control a {
  padding: 9px 20px;
  border: 2px solid #1662cc;
  border-radius: 50px;
  display: block;
  color: #1662cc;
  font-weight: 400;
  text-decoration: none;
  font-size: .9rem;
  line-height: 1;
}

.blog-posts.listing .paging .side-control .control a::before {
  vertical-align: middle;
  margin-top: -3px;
}

.blog-posts.listing .paging .side-control .control a:hover {
  background-color: #1662cc;
  color: #fff;
}

.news-listing .posts {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .news-listing .posts {
    flex-flow: row wrap;
  }
}

.news-listing .posts .post {
  flex: 1 0 auto;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  padding: 1rem;
  margin: 0;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .news-listing .posts .post {
    flex: 1 1 33.33%;
    padding: .5rem 1rem;
    margin: 1rem 0;
    border-right: 1px solid #cbd1e1;
  }
}

.news-listing .posts .post .title {
  text-align: center;
}

.news-listing .posts .post .title a {
  font-size: 1rem;
  line-height: 1;
}

.news-listing .posts .post + .post {
  border-top: 1px solid #cbd1e1;
  margin-top: .5rem;
}

@media (min-width: 768px) {
  .news-listing .posts .post + .post {
    border-top: none;
    margin-top: 1em;
  }
}

.news-listing .posts .post:nth-of-type(3n) {
  border-right: none;
}

.news-listing .posts .post .content {
  display: none;
}

.news-listing .posts .post a.readmore {
  flex: 0 0 auto;
  align-self: center;
  margin-top: .75rem;
}

.events-listing .posts .post {
  padding: 1rem;
  box-sizing: border-box;
  background: #e5e8f0;
  border: 1px solid #cbd1e1;
}

.events-listing .posts .post + .post {
  border-top: 1px solid #cbd1e1;
}

.events-listing .posts .post .content {
  display: none;
}

.blog-cta-con {
  padding: 1rem 1rem 1.5rem;
  box-sizing: border-box;
  background: #ebeef4;
  border: 1px solid #cbd1e1;
  margin-bottom: 2.5rem;
}

.blog-cta-con .blog-cta + .blog-cta {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid #dbdfea;
}

.blog-cta-con h2 {
  font-size: 1.25rem;
  text-transform: none;
  font-weight: 400;
  text-align: center;
  margin: 0 0 .5rem;
}

.blog-cta-con .cta {
  display: block;
  text-align: center;
}

.blog-cta-con .cta + .cta {
  margin-top: .5rem;
}

.blog-cta-con .btn {
  display: inline-block;
  text-decoration: none;
  font-size: .8rem;
  letter-spacing: .15rem;
  line-height: 1.2;
  text-transform: uppercase;
  border: 2px solid #1662cc;
  border-radius: 2.25rem;
  color: #fff;
  padding: .45rem 1rem;
  background: #1662cc;
  transition: all .5s ease-in-out;
  font-weight: 400;
}

.blog-cta-con .btn:hover {
  background: #1250a7;
  color: #fff;
  transition: all .5s ease-in-out;
}

.blog-nav.authors h2 {
  margin-top: 0;
}

.blog-nav h2 {
  font-size: 1.15rem;
  font-weight: 400;
  margin-bottom: 0;
}

.blog-nav ul {
  margin: .35rem 0 1rem;
  padding: 0;
}

.blog-nav ul li {
  list-style: none;
}

.blog-nav ul a {
  text-decoration: none;
  color: #1662cc;
}

.blog-nav ul a:hover {
  text-decoration: underline;
}

.post.detail h1 {
  margin-bottom: .5rem;
}

.post.detail .date {
  visibility: collapse;
  height: 0;
  display: block;
  color: #4f5362;
  font-size: .8rem;
}

.post.detail img {
  max-width: 100%;
  height: auto;
}

.post.detail .meta {
  font-size: .8rem;
  margin-bottom: 1rem;
}

.post.detail .social {
  display: inline-block;
}

.post.detail .content {
  border-top: 1px solid #cbd1e1;
  padding: 1.5rem 0;
  margin: 1rem 0;
}

.post.detail .author-info {
  border: 2px solid #cbd1e1;
  padding: .75rem 1rem;
  margin-bottom: 2rem;
}

.post.detail .author-info::after {
  content: '';
  display: table;
  clear: both;
}

.post.detail .author-info .photo {
  float: left;
  padding-right: 1rem;
  padding-top: .45rem;
}

.post.detail a {
  color: #1662cc;
}

.post.detail a:hover {
  text-decoration: none;
}
