@import url("https://fonts.googleapis.com/css?family=Raleway:400,400i,700,700i&display=swap");
html,
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden; }

body {
  position: relative; }

* {
  box-sizing: border-box;
  font-family: 'Raleway', sans-serif; }

img {
  max-width: 100%; }

a {
  color: #154776;
  text-decoration: none; }
  a:hover {
    color: #57718c; }

.more {
  text-align: right; }

.gform_button {
  border: 0.25rem solid #fff;
  padding: 1rem;
  background-color: #154776;
  display: block;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  cursor: pointer; }
  .gform_button:hover {
    background-color: #57718c; }

.container {
  max-width: 1200px;
  margin: auto;
  position: relative;
  height: 100%;
  padding: 1.5rem 0; }
  @media (max-width: 1200px) {
    .container {
      max-width: 90%; } }

header {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0; }
  @media (max-width: 1200px) {
    header {
      max-width: 90%; } }
  header.front {
    border-bottom: 1px solid #154776; }
  header .logo a {
    display: block; }
    header .logo a img {
      display: block;
      max-width: 275px; }
  header nav .close {
    display: none; }
  header nav ul {
    display: inline;
    margin: 0;
    list-style: none;
    padding: 0; }
    header nav ul li {
      display: inline-block;
      margin: 0 1rem;
      position: relative; }
      header nav ul li a {
        color: #154776;
        text-decoration: none;
        text-transform: uppercase;
        font-weight: 700; }
      header nav ul li > ul {
        position: absolute;
        display: none;
        left: 0;
        width: auto;
        border: 1px solid #154776;
        background: #fff;
        z-index: 2; }
        @media (max-width: 992px) {
          header nav ul li > ul {
            position: relative;
            display: block;
            background: none; } }
        header nav ul li > ul li {
          display: block;
          margin: .5rem; }
          header nav ul li > ul li a {
            white-space: nowrap; }
        header nav ul li > ul:hover {
          display: block; }
      header nav ul li:hover > ul {
        display: block; }
    header nav ul.social li a {
      color: #00aced; }
  @media (max-width: 992px) {
    header nav {
      position: absolute;
      top: 0;
      right: -50%;
      width: 50%;
      padding: 2rem;
      background-color: #154776;
      z-index: 9;
      height: 100%;
      transition: .5s right ease-in-out; }
      header nav.open {
        right: 0; }
      header nav .close {
        display: block;
        font-size: 1.5rem;
        color: #fff;
        text-align: right; }
      header nav ul li {
        z-index: 10;
        display: block;
        margin: 1rem 0;
        font-size: 1.5rem; }
        header nav ul li a {
          color: #fff; } }
  header .mobile-menu {
    display: none;
    color: #154776; }
    @media (max-width: 992px) {
      header .mobile-menu {
        display: block; } }

main section.header {
  position: relative; }
  main section.header h2 {
    font-size: 3rem; }
    @media (max-width: 992px) {
      main section.header h2 {
        font-size: 1.5rem; } }
  main section.header .feature-image {
    position: relative;
    margin-bottom: 1.5rem; }
    main section.header .feature-image img {
      display: block;
      z-index: 1;
      object-fit: cover;
      max-height: 300px;
      width: 100%;
      height: 100%; }
  main section.header.issue h1 {
    font-size: 3rem;
    margin: 0; }
  main section.header.issue .feature-image {
    margin: 1rem 0 0 0; }
  main section.header.issue .intro {
    font-size: 1.25rem;
    line-height: 1.5; }
  main section.header.news h1 {
    font-size: 3rem;
    margin: 0; }
  main section.header.home {
    margin: 1.5rem 0;
    height: 500px; }
    main section.header.home .container {
      padding: 0;
      display: flex;
      justify-content: flex-end; }
      main section.header.home .container .shadow {
        justify-content: space-between;
        align-content: flex-end;
        flex-direction: column;
        display: flex;
        padding: 1.5rem;
        background-color: rgba(0, 0, 0, 0.45);
        width: 35%;
        height: 100%; }
        @media (max-width: 1200px) {
          main section.header.home .container .shadow {
            width: 45%; } }
        @media (max-width: 992px) {
          main section.header.home .container .shadow {
            width: 100%; } }
        main section.header.home .container .shadow h2 {
          display: inline-block;
          text-align: right;
          font-size: 2.1rem;
          z-index: 2;
          position: relative;
          margin: 0;
          color: #fff; }
        main section.header.home .container .shadow .button {
          align-self: flex-end;
          position: relative;
          z-index: 2;
          text-align: right;
          font-size: .75rem; }
          @media (max-width: 1200px) {
            main section.header.home .container .shadow .button {
              font-size: 1rem; } }
          main section.header.home .container .shadow .button a {
            border: 0.1rem solid #fff;
            padding: 1rem;
            background-color: #154776;
            display: inline-block;
            text-transform: uppercase;
            text-decoration: none;
            color: #fff;
            font-weight: 700; }
            main section.header.home .container .shadow .button a:hover {
              background-color: #57718c; }
      main section.header.home .container .feature-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        max-height: 500px;
        z-index: -1; }
        main section.header.home .container .feature-image::before {
          position: absolute;
          content: '';
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
        main section.header.home .container .feature-image img {
          display: block;
          z-index: 1;
          object-fit: cover;
          min-height: 500px;
          height: 100%; }

main section.intro {
  font-size: 1.25rem;
  line-height: 1.5; }

main section.issues .container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 1rem;
  grid-template-areas: 'title title title';
  padding: 1.5rem 0; }
  @media (max-width: 992px) {
    main section.issues .container {
      grid-template-columns: 1fr;
      grid-template-areas: 'title'; } }
  main section.issues .container h2 {
    grid-area: title;
    font-size: 2rem;
    margin: 0; }
  main section.issues .container .issue {
    position: relative; }
    main section.issues .container .issue h3 {
      z-index: 2;
      margin: 0;
      padding: .5rem;
      position: absolute;
      top: 0;
      left: 0;
      color: #fff;
      background-color: black; }
    main section.issues .container .issue img {
      z-index: 1;
      position: relative;
      object-fit: cover;
      width: 100%;
      height: 300px;
      display: block; }

main section.posts .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 2rem; }
  @media (max-width: 992px) {
    main section.posts .container {
      grid-template-columns: 1fr; } }
  main section.posts .container .post {
    position: relative;
    margin-bottom: 2rem; }
    main section.posts .container .post h3 {
      z-index: 2;
      margin: 0;
      padding: .5rem;
      position: absolute;
      bottom: 0;
      left: 0;
      color: #fff;
      background-color: black; }
      main section.posts .container .post h3 small {
        display: block;
        font-size: 60%; }
    main section.posts .container .post img {
      z-index: 1;
      position: relative;
      object-fit: cover;
      width: 100%;
      max-height: 300px;
      height: 100%;
      display: block; }
  main section.posts .container.news-only {
    grid-template-columns: 1fr; }
    main section.posts .container.news-only .news-items {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 1rem;
      grid-template-areas: 'header header header'; }
      main section.posts .container.news-only .news-items > h2 {
        grid-area: header; }
      main section.posts .container.news-only .news-items .more {
        grid-column: 1/4; }
      @media (max-width: 992px) {
        main section.posts .container.news-only .news-items {
          grid-template-columns: 1fr;
          grid-template-areas: 'header'; }
          main section.posts .container.news-only .news-items .more {
            grid-column: unset; } }

main section.latest .container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 1rem;
  grid-template-areas: 'title title title'; }
  @media (max-width: 992px) {
    main section.latest .container {
      grid-template-columns: 1fr 1fr;
      grid-template-areas: 'title title'; } }
  @media (max-width: 767px) {
    main section.latest .container {
      grid-template-columns: 1fr;
      grid-template-areas: 'title'; } }
  main section.latest .container h2 {
    grid-area: title;
    font-size: 2rem;
    margin: 0; }
  main section.latest .container .news {
    position: relative;
    height: 300px; }
    main section.latest .container .news h3 {
      z-index: 2;
      margin: 0;
      padding: .5rem;
      position: absolute;
      bottom: 0;
      left: 0;
      color: #fff;
      background-color: black; }
      main section.latest .container .news h3 small {
        display: block;
        font-size: 60%; }
    main section.latest .container .news img {
      z-index: 1;
      position: relative;
      object-fit: cover;
      width: 100%;
      height: 300px;
      display: block; }
  main section.latest .container .more {
    grid-column: 1/4; }
    @media (max-width: 992px) {
      main section.latest .container .more {
        grid-column: 1/3; } }
    @media (max-width: 767px) {
      main section.latest .container .more {
        grid-column: unset; } }

main section.featured .container {
  display: grid;
  grid-template-columns: 40% 60%;
  grid-template-rows: auto;
  grid-gap: 1rem;
  grid-template-areas: 'title title';
  padding: 1.5rem 0; }
  @media (max-width: 992px) {
    main section.featured .container {
      grid-template-columns: 1fr;
      grid-template-areas: 'title'; } }
  main section.featured .container h2 {
    grid-area: title;
    font-size: 2rem;
    margin: 0; }
  main section.featured .container .featured-image img {
    object-fit: cover;
    width: 100%;
    max-height: 400px;
    height: 100%;
    display: block; }
  main section.featured .container .content {
    font-size: 1.25rem;
    line-height: 1.5; }
    main section.featured .container .content .more {
      margin-top: 1.5rem; }

main section.news-items .container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 1rem;
  margin-bottom: 1rem; }
  @media (max-width: 992px) {
    main section.news-items .container {
      grid-template-columns: 1fr 1fr; } }
  @media (max-width: 767px) {
    main section.news-items .container {
      grid-template-columns: 1fr; } }
  main section.news-items .container .news-item {
    position: relative;
    height: 300px; }
    main section.news-items .container .news-item h3 {
      z-index: 2;
      margin: 0;
      padding: .5rem;
      position: absolute;
      bottom: 0;
      left: 0;
      color: #fff;
      background-color: black; }
      main section.news-items .container .news-item h3 small {
        display: block;
        font-size: 60%; }
    main section.news-items .container .news-item img {
      z-index: 1;
      position: relative;
      object-fit: cover;
      height: 300px;
      width: 100%;
      display: block; }

article {
  max-width: 1200px;
  margin: auto; }
  @media (max-width: 1200px) {
    article {
      max-width: 90%; } }
  article h1 {
    font-size: 3rem; }
  article .feature-image {
    position: relative;
    margin-bottom: 1.5rem; }
    article .feature-image img {
      z-index: 1;
      object-fit: cover;
      max-height: 300px;
      width: 100%;
      height: 100%; }
  article .content {
    font-size: 1.25rem;
    line-height: 1.5; }

footer {
  background-color: #cdcdcd;
  padding: 1rem; }
  footer .inner {
    max-width: 1200px;
    margin: auto;
    text-align: center; }
    footer .inner .nav {
      margin-bottom: 1rem; }
      footer .inner .nav ul {
        list-style: none;
        margin: 0;
        padding: 0; }
        footer .inner .nav ul li {
          display: inline-block; }
          footer .inner .nav ul li + li::before {
            content: '|';
            color: #154776;
            margin-right: .5rem; }

.blue {
  background-color: #57718c;
  color: #fff; }
  .blue a {
    color: #fff; }
