.listing {
  padding-bottom: 89px;
}
.listing .row [class*="col-"], .related-posts .row [class*="col-"] {
  margin-bottom: 24px;
}
.list-item {
  background-color: #FFFFFF;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.list-item > a {
  display: block;
  overflow: hidden;
}
.list-item img {
  height: 210px;
  object-fit: cover;
  transition: all 0.5s ease;
}
.list-item > a:hover > img {
  transform: scale(1.2);
}
.list-info {
  padding: 15px;
}
.list-title {
  font-family: 'Montserrat SemiBold';
  font-size: 18px;
  line-height: 1.2;
}
.list-title a:hover {
  color: #2b3987;
  text-decoration: none;
}
.list-title a:focus {
  text-decoration: none;
}
.list-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 3px;
}
.list-bottom-bar span {
  font-family: 'Montserrat Medium';
  font-size: 14px;
  color: #999;
}
.download-btn {
  display: flex;
}
.download-btn svg {
  width: 18px;
}
.download-btn:hover svg path {
  fill: #2C3987;
}
.cs-text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.cs-text span {
  font-family: 'Mulish-Bold';
  font-size: 18px;
  text-transform: uppercase;
}

.image-gallery {
  padding: 109px 0 100px;
}
.image-gallery .row {
  margin: 0 -7.5px;
}
.image-gallery [class*="col-"] {
  padding: 0 7.5px 34px;
}
.gallery-title {
  display: block;
  width: 100%;
  font-family: 'Mulish-Regular';
  color: #515151;
  font-size: 16px;
  padding-top: 10px;
}
.gallery-item:hover .gallery-title {
  color: #2C3987;
}
.gallery-item {
  text-align: center;
}
.gallery-item-image {
  display: block;
  overflow: hidden;
}
.gallery-item-image img {
  display: block;
  object-fit: cover;
  height: 256px;
  width: 100%;
  transition: all 0.5s ease;
}
.gallery-item:hover .gallery-item-image img {
  transform: scale(1.2);
}
.gallery-item:hover, .gallery-item:focus {
  text-decoration: none;
}
.fancybox-image {
  object-fit: cover;
}
.fancybox-caption {
  display: flex;
  justify-content: center;
  font-family: 'Montserrat SemiBold';
  color: #000000;
  background: none;
}
.fancybox-caption .fancybox-caption__body {
  padding: 10px 15px;
  background-color: #fff;
}
.fancybox-navigation .fancybox-button--arrow_left {
  padding-left: 12px;
  padding-right: 20px;
}
.fancybox-navigation .fancybox-button--arrow_right {
  padding-right: 12px;
  padding-left: 20px;
}

.media-inquiries {
  padding: 155px 0 160px;
}
.media-inquiries p, .post-detail .content p {
  font-family: 'Mulish-Regular';
}
.related-posts .ccm-block-page-list-no-pages {
  text-align: center;
}

.ccm-pagination-wrapper {
  display: flex;
  justify-content: center;
  padding-top: 20px;
}
.ccm-pagination-wrapper .page-link {
  min-width: 40px;
  height: 40px;
  color: #2C3987;
  text-align: center;
}
.ccm-pagination-wrapper .active > .page-link, .ccm-pagination-wrapper .page-link.active {
  font-family: 'Montserrat Medium';
  color: #fff;
  background-color: #2C3987;
  border-color: #2C3987;
}
.ccm-pagination-wrapper .page-link:focus {
  box-shadow: none;
  text-decoration: none;
}
.ccm-pagination-wrapper .prev .page-link, .ccm-pagination-wrapper .next .page-link {
  font-size: 28px;
  line-height: 22px;
}

/* Blog Detail CSS */
.post-detail {
  padding: 106px 0;
}
.post-detail .heading {
  padding-bottom: 22px;
}
.post-date, .post-date p {
  font-family: 'Mulish-Bold';
  font-size: 16px;
  color: #000000;
}
.post-date p {
  margin: 0;
}
.post-detail .heading .title, .post-detail .heading .ccm-block-page-title {
  font-family: 'Montserrat-Bold';
  font-size: 62px;
  color: #2C3987;
  letter-spacing: 0.3px;
}
.post-detail .heading .post-date + .title, .post-detail .heading .post-date + .ccm-block-page-title {
  padding-top: 22px;
}
.post-detail .content h2, .post-detail .content h3, .post-detail .content h4, .post-detail .content h5, .post-detail .content h6 {
  margin: 47px 0;
  font-family: 'Mulish-Bold';
  font-size: 24px;
  color: #515151;
}
.post-detail .content p {
  font-size: 16px;
  color: #515151;
}
.post-detail .content p a {
  color: #515151;
}
.post-detail .content p a:hover {
  color: #2C3987;
}
.single-image {
  display: block;
  padding: 35px 0 19px;
}

.related-posts {
  padding: 103px 0;
}

p:empty {
  display: none;
}

.fancybox-slide--image {
  padding-left: 12px;
  padding-right: 12px;
}
  
  @media screen and (max-width: 1399px) {
    .listing {
      padding-bottom: 70px;
    }
    .image-gallery {
      padding: 100px 0 65px;
    }
    .media-inquiries {
      padding: 100px 0 85px;
    }
  
    .post-detail {
      padding: 100px 0 85px;
    }
    .post-detail .heading .title, .post-detail .heading .ccm-block-page-title {
      font-size: 50px;
    }
    .post-detail .content h2, .post-detail .content h3, .post-detail .content h4, .post-detail .content h5, .post-detail .content h6 {
      margin: 27px 0;
      font-size: 22px;
    }
    .single-image {
      padding: 25px 0 9px;
    }
  }
  
  @media screen and (max-width: 1199px) {
    .post-detail .heading .title, .post-detail .heading .ccm-block-page-title {
      font-size: 36px;
      line-height: 36px;
    }
    .post-detail .content h2, .post-detail .content h3, .post-detail .content h4, .post-detail .content h5, .post-detail .content h6 {
      font-size: 20px;
    }
  }
  
  @media screen and (max-width: 991px) {
    .listing {
      padding-bottom: 56px;
    }
    .image-gallery {
      padding: 80px 0 45px;
    }
    .media-inquiries {
      padding: 80px 0 65px;
    }
  
    .post-detail {
      padding: 80px 0 65px;
    }
    .post-detail .heading .title, .post-detail .heading .ccm-block-page-title {
      font-size: 30px;
      line-height: 30px;
    }
    .post-detail .heading .post-date + .title, .post-detail .heading .post-date + .ccm-block-page-title {
      padding-top: 18px;
    }
  
    .related-posts {
      padding: 80px 0;
    }
  }
  
  @media screen and (max-width: 767px) {
    .listing {
      padding-bottom: 26px;
    }
    .image-gallery {
      padding: 50px 0 26px;
    }
    .image-gallery [class*="col-"] {
      padding-bottom: 24px;
    }
    .media-inquiries {
      padding: 50px 0 35px;
    }
  
    .post-detail {
      padding: 50px 0 35px;
    }
    .post-detail .heading {
      padding-bottom: 5px;
    }
    .post-detail .heading .title, .post-detail .heading .ccm-block-page-title {
      font-size: 24px;
      line-height: normal;
    }
    .post-detail .heading .post-date + .title, .post-detail .heading .post-date + .ccm-block-page-title {
      padding-top: 15px;
    }
    .post-detail .content h2, .post-detail .content h3, .post-detail .content h4, .post-detail .content h5, .post-detail .content h6 {
      margin: 20px 0;
      font-size: 18px;
    }
    .single-image {
      padding: 15px 0 0;
    }
  
    .related-posts {
      padding: 50px 0;
    }
    .ccm-pagination-wrapper {
      padding-top: 5px;
    }
  }

  @media screen and (max-width: 575px) {
    .list-item img {
      height: auto;
    }
  }
  
  @media screen and (max-width: 479px) {
    .list-title {
      font-size: 16px;
    }
    .list-bottom-bar span {
      font-size: 13px;
    }
    .download-btn svg {
      width: 15px;
    }
  
    .gallery-title {
      padding-top: 8px;
      font-size: 14px;
    }
  
    .post-detail .heading .title, .post-detail .heading .ccm-block-page-title {
      font-size: 20px;
    }
    .post-detail .heading .post-date + .title, .post-detail .heading .post-date + .ccm-block-page-title {
      padding-top: 8px;
    }
    .post-date {
      font-size: 14px;
    }
    .post-detail .heading {
      padding-bottom: 0;
    }
    .post-detail .content h2, .post-detail .content h3, .post-detail .content h4, .post-detail .content h5, .post-detail .content h6 {
      margin-bottom: 15px;
      font-size: 16px;
    }
    .post-detail .content p {
      font-size: 14px;
    }
  }