@import url(https://fonts.googleapis.com/css?family=Fira+Sans:300,400,500&display=swap);
#maincontent {
  background: #fff;
  font-size: 1rem;
  font-weight: 300;
  font-family: "Fira Sans", sans-serif;
  padding: 2.25rem 0 3.25rem;
  @media (min-width: 1200px) {
    padding: 2.75rem 0 4.75rem;
  }
  h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    line-height: 1.4;
    margin-bottom: .5rem;
    color: #212529;
    font-weight: 400;
  }
  h1, .h1 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 500;
    @media (min-width: 1200px) {
      font-size: 2.5rem;
    }
  }
  h2, .h2 {
    font-size: calc(1.325rem + .9vw);
    @media (min-width: 1200px) {
      font-size: 2rem;
    }
  }
  h3, .h3 {
    font-size: calc(1.275rem + .3vw);
    @media (min-width: 1200px) {
      font-size: 1.5rem;
    }
  }
  h4, .h4 {
    font-size: 1.25rem;
  }
  h5, .h5 {
    font-size: 1rem;
  }
  h6, .h6 {
    font-size: .875rem;
  }
  article {
    color: #424549;
    font-weight: 300;
    .entry-title {
      color: #0d1a6b;
      font-size: calc(1.475rem + 2.7vw);
      line-height: 1.25;
      text-align: center;
      margin-top: 0;
      font-weight: 500;
      @media (min-width: 1200px) {
        font-size: 3.25rem;
        margin-bottom: 1.25rem;
      }
    }
    small {
      font-size: 1rem;
      text-align: center ;
      display: block;
      a {
        text-decoration: underline;
        font-weight: 400;
      }
    }
    a:not(:has(img,div)) {
      text-decoration: underline;
    }
    p, ul, ol {
      font-size: 1.125rem;
      @media (min-width: 1200px) {
        font-size: 1.25rem;
      }
    }
  }
  .content, figure, .quotation {
    margin: 2.5rem auto;
  }
  .quotation {
    background: #f4f4f4;
    padding: 2.375rem;
    border-radius: 1rem;
    -webkit-border-radius: 1rem;
    position: relative;
    .quote {
      position: absolute;
      top: 2.375rem;
      left: 2.375rem;
      fill: #0d1a6b;
      height: 48px;
      width: 48px;
    }
    blockquote {
      padding-left: 4.75rem;
      font-size: 1.5rem;
      font-weight: 400;
    }
    cite {
      padding-left: 4.75rem;
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      &:before {
          content: "";
          display: inline-block;
          width: 2rem;
          position: relative;
          height: 1px;
          top: -5px;
          margin-right: .75rem;
          content: "";
          background-color: #424549;
      }

    }
  }
  .btn.btn-lg {
    font-size: 1.25rem;
    line-height: 1.375rem;
    background: #0d1a6b;
    border: 1px solid #0d1a6b;
    padding: .75rem 1.125rem;
    border-radius: .375rem;
    display: table;
    margin-left: auto;
    margin-right: auto;
    text-decoration: none;
    &:hover {
        background: #11238e;
        border: 1px solid #11238e;
    }
    &:focus {
        box-shadow: none
    }
    &:focus-visible {
        border-radius: .375rem;
        outline: #ffa300 solid 3px;
        outline-offset: 3px
    }
  }
  .featured-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
    -webkit-border-radius: 1rem;
    margin: 1.25rem auto;
    @media (min-width: 1200px) {
      margin: 2.75rem auto;
    }
  }
  .img-fluid {
    border-radius: 1rem;
    -webkit-border-radius: 1rem;
    margin-bottom: 1rem;
    width: 100%;
    max-width: 100%;
    height: auto;
    @media (min-width: 992px) {
      margin-bottom: 0;
    }
  }
  #author-info {
    border: 1px solid #ced4da;
    border-radius: 1rem;
    margin: 0;
    padding: 1.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    @media (min-width: 768px) {
      padding: 2rem 2rem 2rem 10.75rem;
      
    }
    h2 {
      margin-top: 0;
      line-height: 1;
    }
    p {
      color: #424549;
      &:last-of-type {
        margin-bottom: 0;
      }
    }
    .author-img {
      position: relative;
      width: 72px;
      height: 72px;
      border-radius: 50%;
      margin-bottom: .5rem;
      -webkit-border-radius: 50%;
      @media (min-width: 768px) {
        width: 120px;
        height: 120px;
        position:absolute;
        top: 2rem;
        left: 2rem;
        margin-bottom: 0;
      }
    }
  }
  .pagination {
    display: table;
    margin: 2rem auto 0;
    ul {
      display: inline-block;
      border-radius: none;
      margin: 0;
      padding: 0;
    }
    li {
      display: inline-block;  
    }
    a {
      color: #0d1a6b;
    }
    .page-item.active {
      .page-link {
        color: #0d1a6b;
        background-color: transparent;
        position: relative;
        font-weight: 400;
      }
    }
    .page-link {
      border: none;
      text-decoration: none!important;
      font-weight: 300;
    }
    .prev.page-link, .next.page-link {
      font-weight: 300;
    }
  }
}
.post-type-archive-news {
  h1 {
    color: #0d1a6b!important;
    font-size: calc(1.475rem + 2.7vw);
    line-height: 1.25;
    text-align: center;
    margin-top: 0;
    font-weight: 500;
    @media (min-width: 1200px) {
      font-size: 3.25rem;
      margin-bottom: 1.25rem;
    }
  }
  .post-list {
    list-style-type: none!important;
    padding: 0;
    li {
      margin: 2.75rem auto;
    }
    h2 {
      font-size: 1.5rem!important;
      font-weight: 400;
    }
  }
  .block-link {
    display: block;
    text-decoration: none!important;
    width: 100%;
    height: auto;
    color: #424549;
    position: relative;
    -webkit-appearance: none;
    background: transparent;
    padding: 0;
    border: none;
    &:hover, &:focus {
      color: #424549;
      h1, h2, h3, .read-more {
        color: #0d1a6b;
      }
      img {
        opacity: .75;
      }
    }
    &:focus-visible {
      outline: 2px solid #0d1a6b;
      outline-offset: .25rem;
        border-radius: 0;
      }
    .read-more {
      color: #0d1a6b;
      font-weight:400;
    }
  }
  .date-time, .author {
    &:after {
      content: "";
      display: inline-block;
      height: .875rem;
      width: 1px;
      background: #878787;
      margin: 0 .5rem;
      @media (min-width: 1200px) {
        margin: 0 1rem;
      }
    }
  }
  .type {
    font-size: .875rem;
    padding: .25rem .5rem;
    border: 1px solid #878787;
    border-radius: 1rem;
    -webkit-border-radius: 1rem;
    font-weight: 400;
    color: #0d1a6b;
    display: inline-block;
    margin-top: .5rem;
    @media (min-width: 576px) {
      margin-top: 0;
    }
  }
}