.blog-listing {
  padding: 0;
  margin: 0;
  list-style-type: none; }
  .blog-listing .blog-item {
    position: relative; }
    .blog-listing .blog-item .blog-item-thumbnail {
      width: 45%;
      height: 320px; }
      .blog-listing .blog-item .blog-item-thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 50%; }
    .blog-listing .blog-item .blog-item-info {
      position: relative;
      width: 55%;
      height: 100%;
      padding: 0 0 0 20px; }
      .blog-listing .blog-item .blog-item-info .blog-item-title {
        line-height: 1.1em;
        margin: 0 0 10px 0;
        font-size: 24px;
        font-size: 2.4rem; }
      .blog-listing .blog-item .blog-item-info .blog-item-excerpt {
        line-height: 1.2em;
        margin: 0 0 20px 0; }
      .blog-listing .blog-item .blog-item-info .blog-item-link {
        position: absolute;
        left: 20px;
        bottom: 0;
        line-height: 1em; }
        .blog-listing .blog-item .blog-item-info .blog-item-link a {
          color: #2cabe2;
          font-size: 48px;
          font-size: 4.8rem; }
    .blog-listing .blog-item.first-post .blog-item-thumbnail {
      width: 100%;
      height: 400px;
      margin: 0 0 15px 0; }
    .blog-listing .blog-item.first-post .blog-item-info {
      width: 100%;
      height: auto;
      padding: 0 0 20px 0;
      border-bottom: 1px dotted #eaeaea; }

@media only screen and (max-width: 1199.98px) {
  .blog-listing .blog-item .blog-item-info {
    padding: 0 0 0 20px; }
    .blog-listing .blog-item .blog-item-info .blog-item-title {
      font-size: 20px;
      font-size: 2rem; }
    .blog-listing .blog-item .blog-item-info .blog-item-excerpt {
      font-size: 15px;
      font-size: 1.5rem; }
    .blog-listing .blog-item .blog-item-info .blog-item-link a {
      font-size: 42px;
      font-size: 4.2rem; }
  .blog-listing .blog-item.first-post .blog-item-thumbnail {
    height: 350px; } }
@media only screen and (max-width: 991.98px) {
  .blog-listing .blog-item .blog-item-info .blog-item-link a {
    font-size: 38px;
    font-size: 3.8rem; }
  .blog-listing .blog-item.first-post .blog-item-thumbnail {
    height: 250px; }
  .blog-listing .blog-item.first-post .blog-item-info {
    padding: 0; } }
@media only screen and (max-width: 767.98px) {
  .blog-listing .blog-item {
    margin: 0 0 30px 0; }
    .blog-listing .blog-item .blog-item-thumbnail {
      width: 40%;
      height: 240px; }
    .blog-listing .blog-item .blog-item-info {
      width: 60%; }
      .blog-listing .blog-item .blog-item-info .blog-item-title {
        font-size: 25px;
        font-size: 2.5rem; }
      .blog-listing .blog-item .blog-item-info .blog-item-excerpt {
        font-size: 16px;
        font-size: 1.6rem; }
    .blog-listing .blog-item.first-post .blog-item-thumbnail {
      height: 300px; } }
@media only screen and (max-width: 575.98px) {
  .blog-listing .blog-item:last-child {
    margin: 0 0 15px 0; }
  .blog-listing .blog-item .blog-item-thumbnail {
    width: 100%;
    height: 200px;
    margin: 0 0 15px 0; }
  .blog-listing .blog-item .blog-item-info {
    width: 100%;
    height: auto;
    padding: 0; }
    .blog-listing .blog-item .blog-item-info .blog-item-title {
      font-size: 22px;
      font-size: 2.2rem; }
    .blog-listing .blog-item .blog-item-info .blog-item-excerpt {
      margin: 0 0 10px 0;
      font-size: 16px;
      font-size: 1.6rem; }
    .blog-listing .blog-item .blog-item-info .blog-item-link {
      position: relative;
      left: auto;
      bottom: auto;
      text-align: right; }
  .blog-listing .blog-item.first-post .blog-item-thumbnail {
    height: 200px; } }
.latest-posts-container .latest-posts-list {
  padding: 0;
  margin: 0;
  list-style-type: none; }
  .latest-posts-container .latest-posts-list .latest-post-item {
    position: relative;
    min-height: 80px;
    padding: 0 0 0 90px;
    margin: 0 0 15px 0; }
    .latest-posts-container .latest-posts-list .latest-post-item:last-child {
      margin: 0; }
    .latest-posts-container .latest-posts-list .latest-post-item img {
      position: absolute;
      top: 0;
      left: 0;
      width: 80px;
      height: 80px;
      object-fit: cover;
      object-position: 50% 50%; }
    .latest-posts-container .latest-posts-list .latest-post-item .latest-post-item-title {
      margin: 0;
      font-size: 18px;
      font-size: 1.8rem; }

@media only screen and (max-width: 1199.98px) {
  .latest-posts-container .latest-posts-list .latest-post-item .latest-post-item-title {
    font-size: 16px;
    font-size: 1.6rem; } }
@media only screen and (max-width: 991.98px) {
  .latest-posts-container .latest-posts-list .latest-post-item {
    min-height: 60px;
    padding: 0 0 0 70px; }
    .latest-posts-container .latest-posts-list .latest-post-item img {
      width: 60px;
      height: 60px; }
    .latest-posts-container .latest-posts-list .latest-post-item .latest-post-item-title {
      font-size: 15px;
      font-size: 1.5rem; } }
@media only screen and (max-width: 767.98px) {
  .latest-posts-container .latest-posts-list .latest-post-item {
    min-height: 70px;
    padding: 0 0 0 85px; }
    .latest-posts-container .latest-posts-list .latest-post-item img {
      width: 70px;
      height: 70px; }
    .latest-posts-container .latest-posts-list .latest-post-item .latest-post-item-title {
      font-size: 18px;
      font-size: 1.8rem; } }
@media only screen and (max-width: 575.98px) {
  .latest-posts-container .latest-posts-list .latest-post-item .latest-post-item-title {
    font-size: 16px;
    font-size: 1.6rem; } }
#blog {
  padding: 50px 0;
  background: #ffffff; }
  #blog .blog-content .blog-listing .blog-item {
    margin: 0 0 50px 0; }
  #blog .blog-content .blog-pagination {
    float: left;
    position: relative;
    width: 100%;
    height: 45px; }
  #blog .blog-content .post-container .post-title {
    margin: 0 0 30px 0;
    color: #333333;
    font-size: 36px;
    font-size: 3.6rem; }
  #blog .blog-content .post-container .post-meta {
    margin: 0 0 10px 0; }
    #blog .blog-content .post-container .post-meta span {
      position: relative;
      height: 20px;
      line-height: 20px;
      padding: 0 0 0 22px;
      font-size: 16px;
      font-size: 1.6rem; }
      #blog .blog-content .post-container .post-meta span i {
        position: absolute;
        top: 0;
        left: 0;
        color: #2cabe2;
        font-size: 20px;
        font-size: 2rem; }
      #blog .blog-content .post-container .post-meta span.post-date {
        margin-right: 15px; }
  #blog .blog-content .post-container .post-thumbnail {
    margin: 0 0 15px 0; }
  #blog .blog-content .post-container .post-body {
    margin: 0 0 50px 0; }
    #blog .blog-content .post-container .post-body img {
      max-width: 100%;
      height: auto; }
    #blog .blog-content .post-container .post-body a {
      color: #2cabe2; }
  #blog .blog-content .post-container .post-topics a {
    padding: 8px 12px;
    margin: 0 10px 10px 0;
    color: #ffffff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 600;
    border-radius: 10px;
    background: #2cabe2; }
  #blog .blog-sidebar .blog-widget {
    float: left;
    width: 100%;
    padding: 20px;
    margin: 0 0 30px 0;
    border: 1px dotted #eaeaea;
    background: #ffffff; }
    #blog .blog-sidebar .blog-widget h3 {
      float: left;
      width: 100%;
      margin: 0 0 20px 0;
      font-size: 22px;
      font-size: 2.2rem; }
    #blog .blog-sidebar .blog-widget .widget-module {
      float: left;
      width: 100%; }
      #blog .blog-sidebar .blog-widget .widget-module ul {
        float: left;
        width: 100%;
        padding: 0;
        margin: 0;
        list-style-type: none; }
        #blog .blog-sidebar .blog-widget .widget-module ul li {
          float: left;
          position: relative;
          width: 100%;
          margin: 0 0 10px 0; }
          #blog .blog-sidebar .blog-widget .widget-module ul li.hs-postlisting-item {
            padding: 0 0 10px 0;
            border-bottom: 1px dotted #eaeaea; }
            #blog .blog-sidebar .blog-widget .widget-module ul li.hs-postlisting-item a {
              font-weight: 600; }
          #blog .blog-sidebar .blog-widget .widget-module ul li:last-child {
            padding: 0;
            margin: 0;
            border: 0; }
      #blog .blog-sidebar .blog-widget .widget-module .filter-expand-link {
        float: left;
        color: #2cabe2;
        font-weight: 600; }
    #blog .blog-sidebar .blog-widget.widget-type-post_filter .widget-module ul li a {
      font-weight: 600; }

@media only screen and (max-width: 991.98px) {
  #blog {
    padding: 30px 0; }
    #blog .blog-content {
      float: left;
      width: 60%;
      padding: 0 30px 0 0; }
      #blog .blog-content .blog-listing .blog-item {
        margin: 0 0 30px 0; }
      #blog .blog-content .blog-pagination {
        margin: 20px 0 0 0; }
      #blog .blog-content .post-container .post-title {
        font-size: 30px;
        font-size: 3rem; }
      #blog .blog-content .post-container .post-meta span {
        padding: 0 0 0 20px;
        font-size: 14px;
        font-size: 1.4rem; }
        #blog .blog-content .post-container .post-meta span i {
          font-size: 18px;
          font-size: 1.8rem; }
      #blog .blog-content .post-container .post-body {
        margin: 0 0 30px 0; }
      #blog .blog-content .post-container .post-topics a {
        padding: 8px 12px;
        margin: 0 10px 10px 0;
        color: #ffffff;
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 600;
        border-radius: 10px;
        background: #2cabe2; }
    #blog .blog-sidebar {
      float: left;
      width: 40%;
      margin: 0; } }
@media only screen and (max-width: 767.98px) {
  #blog {
    padding: 30px 0 0 0; }
    #blog .blog-content {
      width: 100%;
      padding: 0; }
      #blog .blog-content .post-container .post-title {
        font-size: 28px;
        font-size: 2.8rem; }
    #blog .blog-sidebar {
      width: 100%;
      margin: 50px 0 0 0; } }
@media only screen and (max-width: 575.98px) {
  #blog {
    padding: 20px 0 0 0; }
    #blog .blog-content .blog-listing .blog-item {
      margin: 0 0 20px 0; }
    #blog .blog-content .blog-pagination {
      height: auto;
      margin: 10px 0 0 0; }
    #blog .blog-content .post-container .post-title {
      margin: 0 0 20px 0;
      font-size: 25px;
      font-size: 2.5rem; }
    #blog .blog-content .post-container .post-body {
      margin: 0 0 20px 0; }
    #blog .blog-content .post-container .post-topics a {
      padding: 8px 10px;
      font-size: 12px;
      font-size: 1.2rem; }
    #blog .blog-sidebar {
      width: 100%;
      margin: 30px 0 0 0; }
      #blog .blog-sidebar .blog-widget {
        margin: 0 0 20px 0; } }
