/*
  SCSS mixin for creating scrim gradients
  Inspired by Andreas Larson - https://github.com/larsenwork
  https://css-tricks.com/easing-linear-gradients/
*/
html {
  box-sizing: border-box;
  height: 100%; }

*, :after, :before {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  box-sizing: inherit; }

::-moz-focus-inner {
  border: 0; }

body {
  position: relative; }

a {
  text-decoration: none;
  color: inherit; }

a:focus {
  outline: 0; }

ul {
  list-style: none; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0; }

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: inherit !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

body {
  padding: 0;
  max-width: 56em;
  margin: 0 auto; }
  @media screen and (max-width: 56em) {
    body {
      position: relative; } }

img {
  max-width: 100%; }

.container {
  max-width: 1460px;
  margin: auto; }

body {
  font-family: "Roboto", sans-serif;
  line-height: 1.25;
  color: #39393f; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  margin: 1.5em 0 .65em; }

h1 {
  font-size: 54px;
  margin: 1.1em 0 .65em; }

h2 {
  font-size: 36px;
  margin: 1.25em 0 .65em; }

h3 {
  font-size: 28.8px; }

h4 {
  font-size: 23.4px; }

h5 {
  font-size: 21.6px; }

h6 {
  font-size: 19.8px; }

p, ul {
  color: #39393f;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 1em; }

a {
  color: #5888f4;
  -webkit-transition: all 250ms ease 0s;
  -moz-transition: all 250ms ease 0s;
  -ms-transition: all 250ms ease 0s;
  -o-transition: all 250ms ease 0s;
  transition: all 250ms ease 0s; }
  a:hover {
    cursor: pointer;
    opacity: .8; }

hr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin: 30px 0 40px; }

.svg-inline--fa {
  max-width: 2em;
  max-height: 2em;
  -webkit-transition: all 250ms ease 0s;
  -moz-transition: all 250ms ease 0s;
  -ms-transition: all 250ms ease 0s;
  -o-transition: all 250ms ease 0s;
  transition: all 250ms ease 0s; }
  .svg-inline--fa:hover {
    cursor: pointer;
    opacity: .8; }

@media (max-width: calc(768px - 1px)) {
  h1 {
    font-size: 36px; }
  h2 {
    font-size: 28.8px; }
  h3 {
    font-size: 25.2px; }
  h4 {
    font-size: 22.5px; }
  h5 {
    font-size: 19.8px; }
  h6 {
    font-size: 18px; } }

@supports (grid-area: auto) {
  .site {
    max-width: none;
    display: grid;
    grid-template-columns: 5vw minmax(auto, 1460px) 5vw;
    grid-template-rows: repeat(6, auto); }
  .masthead {
    grid-column: 1/5;
    grid-row: 1/2; }
    .masthead > .container {
      display: grid;
      grid-template-columns: repeat(2, auto); }
  .full-hero {
    position: relative;
    grid-column: 1/5;
    grid-row: 2/3; }
    .home .full-hero {
      grid-row: 1/3; }
    .full-hero > .container {
      display: grid;
      grid-template-columns: 3fr 4fr;
      justify-content: space-evenly; }
      .full-hero > .container .hero-content {
        grid-column: 1/2; }
  main#content {
    grid-column: 1/5;
    grid-row: 3/4; }
    main#content .featured-grid {
      grid-column: 1/4; }
    main#content .post-card-grid {
      grid-column: 1/4; }
    main#content > .container {
      grid-column: 1/4; }
    main#content .featured-popular-grid {
      padding: 40px 0;
      display: grid;
      grid-template-columns: 2fr 1fr;
      grid-template-rows: auto;
      grid-gap: 40px; }
      main#content .featured-popular-grid .featured-post-card {
        grid-column: 1; }
      main#content .featured-popular-grid .popular-posts {
        grid-column: 2; }
      @media (max-width: calc(calc(1460px * 1.1) - 1px)) {
        main#content .featured-popular-grid {
          padding: 40px 5vw; } }
      @media (max-width: calc(896px - 1px)) {
        main#content .featured-popular-grid {
          grid-template-columns: 1fr;
          grid-template-rows: repeat(2, auto); }
          main#content .featured-popular-grid .featured-post-card {
            grid-column: 1;
            grid-row: 1; }
          main#content .featured-popular-grid .popular-posts {
            grid-column: 1;
            grid-row: 2; } }
  .newsletter {
    grid-column: 1/5; }
  .footer {
    grid-column: 1/5; }
    .footer > .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center; }
      .footer > .container .footer-menu {
        grid-column: 1/2; }
      .footer > .container .footer-logo {
        grid-column: 2/3; }
      .footer > .container hr.full-border {
        grid-column: 1/3; }
      .footer > .container .copyright {
        grid-column: 2/3; }
      @media (max-width: calc(768px - 1px)) {
        .footer > .container {
          grid-template-columns: 1fr; }
          .footer > .container .copyright {
            grid-column: 1/2; } }
  main.post > .container {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: repeat(3, auto);
    grid-gap: 20px;
    justify-content: space-between; }
    main.post > .container .hero {
      grid-column: 1;
      grid-row: 1/2; }
    main.post > .container article {
      grid-column: 1;
      grid-row: 3/4; }
    main.post > .container .social-sharing {
      grid-column: 1;
      grid-row: 2/3; }
    main.post > .container .popular-posts {
      display: none; }
    @media (min-width: 768px) {
      main.post > .container {
        grid-template-columns: 3em auto 3em;
        grid-template-rows: repeat(2, auto);
        grid-gap: 40px; }
        main.post > .container .hero {
          grid-column: 1/4;
          grid-row: 1/2; }
        main.post > .container article {
          grid-column: 2/3;
          grid-row: 2/3; }
        main.post > .container .social-sharing {
          grid-column: 1/2;
          grid-row: 2/3; } }
    @media (min-width: 1200px) {
      main.post > .container {
        grid-template-columns: 4em auto minmax(16em, 24em); }
        main.post > .container .popular-posts {
          grid-column: 3/4;
          display: block; } } }

.button {
  display: inline-block;
  padding: 6.66667px 10px;
  background-color: #5888f4;
  color: #fff;
  border-radius: 4px;
  -webkit-transition: all 250ms ease 0s;
  -moz-transition: all 250ms ease 0s;
  -ms-transition: all 250ms ease 0s;
  -o-transition: all 250ms ease 0s;
  transition: all 250ms ease 0s; }
  .button:hover {
    cursor: pointer;
    background-color: rgba(88, 136, 244, 0.9); }
  .button.white {
    background-color: #fff;
    color: #5888f4; }
    .button.white:hover {
      background-color: #e6e6e6; }
    .button.white.wire {
      border: 1px solid #fff; }
      .button.white.wire:hover {
        background-color: transparent;
        color: #fff; }
  .button.cta {
    padding: 20px 30px; }

nav.menu ul {
  padding: 0 10px 0 0;
  display: inline-flex;
  justify-content: space-evenly; }
  nav.menu ul .menu-item {
    padding: 0 20px; }
    nav.menu ul .menu-item:first-of-type {
      padding-left: 0; }
    nav.menu ul .menu-item:last-of-type {
      padding-right: 0; }
    nav.menu ul .menu-item a {
      color: #fff;
      font-size: 1em; }
    @media (max-width: calc(768px - 1px)) {
      nav.menu ul .menu-item a {
        font-size: .85em; } }
    @media (max-width: calc(425px - 1px)) {
      nav.menu ul .menu-item {
        padding: 0 5px; }
        nav.menu ul .menu-item:first-of-type {
          display: none; } }

input {
  width: 100%; }

input[type='text'],
input[type='email'],
input[type='submit'],
form button {
  height: 32px;
  line-height: 18px;
  font-size: 18px; }

blockquote {
  font-size: 1.75em;
  max-width: 800px;
  margin: auto;
  position: relative; }
  blockquote:before {
    padding-left: 10px;
    content: url("/images/quote-left-solid.svg");
    position: absolute;
    width: 32px;
    height: 32px;
    left: -45px;
    bottom: 90%; }

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
  margin: 10px auto 30px; }
  .video-container > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.two-column-f {
  display: flex;
  flex-direction: row;
  justify-content: space-between; }
  .two-column-f.f-column {
    flex-direction: column; }
  .two-column-f.f-wrap {
    flex-wrap: wrap; }
  .two-column-f > * {
    flex: 0 0 calc(50% - 30px); }
  @media (max-width: calc(768px - 1px)) {
    .two-column-f.md-break {
      flex-direction: column;
      justify-content: center; } }

.content-block {
  max-width: 960px; }
  .content-block.is-centered {
    margin: auto; }

div.responsive-table {
  width: 100%;
  overflow-x: auto; }
  div.responsive-table table {
    width: 98%;
    margin: 1.5em auto;
    -webkit-box-shadow: 1px 1px 10px 0px #666666;
    -moz-box-shadow: 1px 1px 10px 0px #666666;
    box-shadow: 1px 1px 10px 0px #666666; }
  div.responsive-table thead {
    display: none; }
  div.responsive-table tr {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    div.responsive-table tr td {
      width: 100%;
      text-align: center; }
      div.responsive-table tr td:before {
        content: attr(data-heading);
        display: block;
        font-weight: 300;
        padding: 0 0 10px;
        text-align: center;
        font-size: .8em;
        color: #999; }

table {
  border-collapse: collapse;
  margin: 1.5em 0 2em; }

tr {
  border-bottom: 1px solid #ccc; }
  tr:nth-child(even) td {
    background: #F1F1F1; }
  tr:nth-child(odd) td {
    background: #FEFEFE; }

th, td {
  text-align: left;
  padding: 20px;
  border: 1px solid transparent;
  /* No more visible border */
  transition: all 0.3s;
  /* Simple transition for hover effect */ }

th {
  font-size: 1.2em;
  background: #DFDFDF;
  /* Darken header a bit */
  font-weight: bold;
  padding-top: 30px;
  padding-bottom: 30px; }

@media (min-width: 576px) {
  div.responsive-table table {
    box-shadow: none; }
  div.responsive-table thead {
    display: table-header-group; }
  div.responsive-table tr {
    display: table-row; }
    div.responsive-table tr:nth-child(even) td:hover {
      background: #d8d8d8; }
    div.responsive-table tr:nth-child(odd) td:hover {
      background: #d8d8d8; }
    div.responsive-table tr td {
      width: auto;
      text-align: left; }
      div.responsive-table tr td:before {
        display: none; } }

.masthead {
  background-color: #5888f4;
  padding: 20px 7vw;
  z-index: 30; }
  .masthead .logo {
    max-width: 120px;
    height: auto;
    fill: #fff; }
    .masthead .logo .cls-1 {
      fill: #fff; }
    .masthead .logo .cls-2 {
      fill: #39393f; }
    .masthead .logo:hover .cls-2 {
      fill: #fff; }
    .masthead .logo:hover a {
      opacity: 1; }
    @media (max-width: calc(896px - 1px)) {
      .masthead .logo {
        max-width: 80px; } }
  .masthead.home {
    background-color: transparent;
    width: 100%;
    max-height: 140px; }

.insidernorth_logo {
  max-width: 120px;
  max-height: 110px; }

.primary-nav, .footer-nav {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  color: #fff; }
  .primary-nav .fa-search, .footer-nav .fa-search {
    width: 1.5em;
    height: 1.5em; }

@media (max-width: calc(896px - 1px)) {
  .primary-nav {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 109; }
    .primary-nav nav.main-menu {
      transform: translateY(-300vh);
      clear: both;
      height: 0;
      transition: all .2s ease-out; }
      .primary-nav nav.main-menu a {
        color: #fff;
        opacity: 0; } }

.primary-nav .menu-icon {
  cursor: pointer;
  display: inline-block;
  float: right;
  padding: 50px calc(5vw - 10px);
  position: absolute;
  top: 0;
  right: 0;
  user-select: none;
  margin-right: 10px; }
  .primary-nav .menu-icon .navicon {
    background: #fff;
    display: block;
    height: 4px;
    position: relative;
    transition: background .2s ease-out;
    width: 32px; }
    .primary-nav .menu-icon .navicon:before, .primary-nav .menu-icon .navicon:after {
      background: #fff;
      content: '';
      display: block;
      height: 100%;
      position: absolute;
      transition: all .2s ease-out;
      width: 100%; }
    .primary-nav .menu-icon .navicon:before {
      top: 8px; }
    .primary-nav .menu-icon .navicon:after {
      top: -8px; }
  @media (min-width: 896px) {
    .primary-nav .menu-icon {
      display: none; } }

.primary-nav .menu-btn {
  display: none; }
  .primary-nav .menu-btn:checked ~ .menu-icon .navicon {
    background: transparent; }
    .primary-nav .menu-btn:checked ~ .menu-icon .navicon:before {
      transform: rotate(-45deg); }
    .primary-nav .menu-btn:checked ~ .menu-icon .navicon:after {
      transform: rotate(45deg); }
  .primary-nav .menu-btn:checked ~ .menu-icon:not(.steps) {
    position: fixed;
    top: 0;
    right: 0;
    margin-right: 10px;
    z-index: 109; }
    .primary-nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
      top: 0; }
    .primary-nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
      top: 0; }
  @media (max-width: calc(896px - 1px)) {
    .primary-nav .menu-btn:checked ~ .main-menu {
      transform: translateY(0);
      display: inline-grid;
      grid-column: 1/4;
      position: fixed;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100vw;
      min-height: 100vh;
      background-color: rgba(88, 136, 244, 0.85);
      z-index: 60; }
      .primary-nav .menu-btn:checked ~ .main-menu > ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center; }
        .primary-nav .menu-btn:checked ~ .main-menu > ul li {
          padding: 1em; }
          .primary-nav .menu-btn:checked ~ .main-menu > ul li a {
            font-size: 2em;
            font-weight: 700;
            opacity: 1; } }
        @media (max-width: calc(896px - 1px)) and (min-width: 576px) {
          .primary-nav .menu-btn:checked ~ .main-menu > ul li a {
            font-size: 3em; } }
  @media (min-width: 896px) {
    .primary-nav .menu-btn {
      display: none; } }

.footer-nav {
  align-self: end;
  justify-content: flex-start;
  color: #cccccc; }
  .footer-nav .menu-item {
    font-size: .85em; }
    .footer-nav .menu-item a {
      color: #fff; }
      .footer-nav .menu-item a:hover {
        color: #fff;
        opacity: 1; }

.footer {
  background-color: #39393f;
  padding: 20px 7vw 30px; }
  .footer .footer-logo {
    -webkit-transition: all 250ms ease 0s;
    -moz-transition: all 250ms ease 0s;
    -ms-transition: all 250ms ease 0s;
    -o-transition: all 250ms ease 0s;
    transition: all 250ms ease 0s;
    margin: 10px 0 0;
    align-self: end;
    justify-self: flex-end;
    width: 90px;
    max-width: 90px;
    opacity: .75; }
    .footer .footer-logo .cls-1 {
      fill: #fff; }
    .footer .footer-logo .cls-2 {
      fill: #fff; }
    .footer .footer-logo:hover {
      opacity: 1; }
      .footer .footer-logo:hover a {
        opacity: 1; }
  .footer hr.full-border {
    margin: 20px 0;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color: #5d5d67; }
  .footer .copyright {
    justify-self: flex-end;
    align-self: start;
    color: #b3b3b3;
    font-size: .75em; }
  @media (max-width: calc(768px - 1px)) {
    .footer {
      padding: 30px 7vw 10px; }
      .footer .footer-nav {
        justify-self: center; }
      .footer .footer-logo {
        display: none; }
      .footer .copyright {
        justify-self: center; } }

.full-hero {
  min-height: 600px;
  width: 100vw;
  padding: calc(120px + 10px*2) 7vw 40px;
  background-image: url("/images/scuba-diver-cover.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 8; }
  .full-hero:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100vw;
    padding: calc(120px + 10px*2) 7vw 40px;
    background-color: #39393f;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 9;
    opacity: .5; }
  .full-hero > .container {
    display: flex;
    flex-display: row;
    justify-content: flex-start; }
    .full-hero > .container .hero-content {
      position: relative;
      z-index: 10;
      max-width: 900px;
      margin: 0; }
      .full-hero > .container .hero-content .top-accent {
        margin-top: 5%;
        width: 25%;
        height: 5px;
        background-color: #fff; }
      .full-hero > .container .hero-content h1 {
        color: #fff;
        margin: 3rem auto 1.5rem;
        line-height: 1.1; }
      .full-hero > .container .hero-content p {
        color: #d9d9d9;
        margin-bottom: 1.25em; }
    .full-hero > .container .hero-img {
      display: none;
      position: relative;
      z-index: 10;
      margin-top: 10vh; }

.hero .hero-img {
  max-height: 600px;
  overflow: hidden;
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  position: relative;
  z-index: 10; }
  .hero .hero-img img {
    width: 100%;
    object-fit: cover;
    object-position: center; }
  .hero .hero-img:after {
    -webkit-transition: all 250ms ease 0s;
    -moz-transition: all 250ms ease 0s;
    -ms-transition: all 250ms ease 0s;
    -o-transition: all 250ms ease 0s;
    transition: all 250ms ease 0s;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.25);
    z-index: 11; }

.category-content {
  padding: 40px 5vw 0;
  max-width: 1200px;
  margin: 0 auto; }
  .category-content h1 {
    text-align: center;
    margin: 0 0 1rem; }

.newsletter {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  background-color: #5888f4;
  padding: 40px 7vw; }
  .newsletter .newsletter-copy, .newsletter .newsletter-signup {
    width: 100%;
    max-width: 460px; }
    .newsletter .newsletter-copy h4, .newsletter .newsletter-copy p, .newsletter .newsletter-signup h4, .newsletter .newsletter-signup p {
      color: #fff; }
    .newsletter .newsletter-copy h4, .newsletter .newsletter-signup h4 {
      margin: 0 auto .3em; }
    .newsletter .newsletter-copy p, .newsletter .newsletter-signup p {
      font-weight: 300;
      font-size: .9em; }
  .newsletter .newsletter-copy {
    padding-right: 20px; }
  .newsletter .newsletter-signup > form {
    display: flex;
    flex-direction: row; }
    .newsletter .newsletter-signup > form input, .newsletter .newsletter-signup > form button {
      padding: 5px;
      font-size: .8em;
      color: #fff;
      border: 1px solid #fff;
      background-color: transparent;
      height: 36px; }
    .newsletter .newsletter-signup > form button {
      -webkit-transition: all 250ms ease 0s;
      -moz-transition: all 250ms ease 0s;
      -ms-transition: all 250ms ease 0s;
      -o-transition: all 250ms ease 0s;
      transition: all 250ms ease 0s;
      border-left-width: 0px; }
      .newsletter .newsletter-signup > form button:hover {
        cursor: pointer;
        background-color: #fff;
        color: #5888f4; }

@media (max-width: calc(896px - 1px)) {
  .newsletter {
    flex-direction: column; }
    .newsletter .newsletter-copy {
      padding-right: 0;
      margin-bottom: 10px;
      text-align: center; } }

.featured-grid {
  background-color: #5888f4;
  padding: 60px 7vw; }
  .featured-grid > .container {
    display: grid;
    grid-template-columns: 4fr 3fr;
    grid-column-gap: 20px; }
    .featured-grid > .container .featured-equipment {
      background-color: #39393f; }
      .featured-grid > .container .featured-equipment ul {
        height: 100%;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr); }
        @media (max-width: calc(576px - 1px)) {
          .featured-grid > .container .featured-equipment ul {
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: repeat(3, 1fr); } }
    .featured-grid > .container .equipment-text {
      padding: 10px 40px; }
      .featured-grid > .container .equipment-text h2 {
        color: #fff;
        margin-top: 0; }
      .featured-grid > .container .equipment-text p {
        color: #f2f2f2; }
      .featured-grid > .container .equipment-text .button {
        margin: 10px auto; }
    .featured-grid > .container .grid-square {
      overflow: hidden; }
      .featured-grid > .container .grid-square a {
        position: relative;
        z-index: 10;
        display: inline-flex;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        align-items: center; }
        .featured-grid > .container .grid-square a:after {
          -webkit-transition: all 250ms ease 0s;
          -moz-transition: all 250ms ease 0s;
          -ms-transition: all 250ms ease 0s;
          -o-transition: all 250ms ease 0s;
          transition: all 250ms ease 0s;
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: rgba(0, 0, 0, 0.7);
          z-index: 9; }
        .featured-grid > .container .grid-square a h3 {
          color: #fff;
          font-size: 1.3em;
          text-align: center;
          padding: 0 10px;
          z-index: 11;
          opacity: .8;
          margin: auto;
          -webkit-transition: all 250ms ease 0s;
          -moz-transition: all 250ms ease 0s;
          -ms-transition: all 250ms ease 0s;
          -o-transition: all 250ms ease 0s;
          transition: all 250ms ease 0s; }
        .featured-grid > .container .grid-square a:hover {
          opacity: 1;
          transform: scale(1.05); }
          .featured-grid > .container .grid-square a:hover h3 {
            opacity: 1; }
          .featured-grid > .container .grid-square a:hover:after {
            background-color: rgba(0, 0, 0, 0.5); }

@media (max-width: calc(896px - 1px)) {
  .featured-grid > .container {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 1fr); }
    .featured-grid > .container .featured-equipment {
      grid-column: 1/2;
      grid-row: 2/3; }
    .featured-grid > .container .equipment-text {
      grid-column: 1/2;
      grid-row: 1/2;
      padding: 30px 0; } }

.post-card-grid {
  padding: 30px 0; }
  .post-card-grid > .container {
    display: flex;
    flex-direction: column;
    justify-content: center; }
    .post-card-grid > .container h2 {
      grid-column: 1/4;
      grid-row: 1/2;
      text-align: center; }
      .post-card-grid > .container h2 a {
        color: #39393f; }
    .post-card-grid > .container .cards {
      grid-column: 1/4;
      grid-row: 2/3;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 30px;
      padding: 0 7vw; }
      .post-card-grid > .container .cards .card {
        display: grid;
        grid-template-rows: repeat(2, 1fr);
        -webkit-transition: all 250ms ease 0s;
        -moz-transition: all 250ms ease 0s;
        -ms-transition: all 250ms ease 0s;
        -o-transition: all 250ms ease 0s;
        transition: all 250ms ease 0s; }
        .post-card-grid > .container .cards .card > a:first-of-type {
          padding: 0 20px;
          -webkit-transition: all 100ms ease-in-out 0s;
          -moz-transition: all 100ms ease-in-out 0s;
          -ms-transition: all 100ms ease-in-out 0s;
          -o-transition: all 100ms ease-in-out 0s;
          transition: all 100ms ease-in-out 0s; }
        .post-card-grid > .container .cards .card figure {
          background-position: center;
          background-size: cover;
          width: 100%;
          height: 100%;
          min-height: 10em;
          padding: 0 20px; }
        .post-card-grid > .container .cards .card .card-body {
          padding: 0 20px; }
        .post-card-grid > .container .cards .card h3 {
          font-size: 1.5em; }
          .post-card-grid > .container .cards .card h3 a {
            color: #39393f; }
        .post-card-grid > .container .cards .card small {
          color: #5888f4;
          font-weight: 700; }
        .post-card-grid > .container .cards .card:hover {
          -webkit-box-shadow: 3px 3px 8px #b3b3b3;
          -moz-box-shadow: 3px 3px 8px #b3b3b3;
          box-shadow: 3px 3px 8px #b3b3b3;
          transform: scale(1.05); }
          .post-card-grid > .container .cards .card:hover > a:first-of-type {
            padding: 0; }
      @media (max-width: calc(896px - 1px)) {
        .post-card-grid > .container .cards {
          grid-template-columns: repeat(2, 1fr); } }
      @media (max-width: calc(425px - 1px)) {
        .post-card-grid > .container .cards {
          grid-template-columns: repeat(1, 1fr); } }

article.featured-post-card {
  display: flex;
  flex-direction: column; }
  article.featured-post-card .post-image {
    min-height: 360px;
    height: 500px;
    max-height: 500px;
    overflow: hidden; }
    article.featured-post-card .post-image figure {
      background-position: center;
      background-size: cover;
      width: 100%;
      height: 100%;
      -webkit-transition: all 350ms ease-in-out 0s;
      -moz-transition: all 350ms ease-in-out 0s;
      -ms-transition: all 350ms ease-in-out 0s;
      -o-transition: all 350ms ease-in-out 0s;
      transition: all 350ms ease-in-out 0s; }
      article.featured-post-card .post-image figure:hover {
        transform: scale(1.05); }
    @media (max-width: calc(768px - 1px)) {
      article.featured-post-card .post-image {
        height: 360px; } }
    @media (max-width: calc(576px - 1px)) {
      article.featured-post-card .post-image {
        min-height: 260px;
        height: 260px; } }
  article.featured-post-card .card-body {
    padding: 5px 0 10px; }
    article.featured-post-card .card-body small {
      color: #5888f4;
      font-weight: 700; }
    article.featured-post-card .card-body h3 {
      font-size: 2.5em;
      margin: .25rem 0 .5rem;
      transition: color 150ms ease; }
      article.featured-post-card .card-body h3 a {
        color: #39393f; }
        article.featured-post-card .card-body h3 a:hover {
          color: #5888f4;
          opacity: 1; }

.popular-posts {
  border-top: 6px solid #5888f4; }
  .popular-posts h2 {
    margin: .75rem 0 .5rem; }
  .popular-posts ul {
    display: flex;
    flex-direction: column; }
    .popular-posts ul .card {
      display: grid;
      grid-template-columns: 3fr 2fr;
      grid-gap: 10px;
      align-items: center;
      padding: 6.66667px 0;
      min-height: 90px;
      border-top: 1px solid rgba(0, 0, 0, 0.15); }
      .popular-posts ul .card:last-of-type {
        border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
      .popular-posts ul .card h5 {
        margin: 0;
        font-size: 1.25em;
        grid-column: 1;
        transition: color 150ms ease; }
        .popular-posts ul .card h5 a {
          color: #39393f; }
          .popular-posts ul .card h5 a:hover {
            color: #5888f4;
            opacity: 1; }
      .popular-posts ul .card .post-image {
        grid-column: 2;
        display: block;
        height: 100%;
        width: 100%; }
        .popular-posts ul .card .post-image figure {
          background-position: center;
          background-size: cover;
          height: 100%;
          width: 100%; }
      @media (max-width: calc(768px - 1px)) {
        .popular-posts ul .card {
          min-height: 140px; }
          .popular-posts ul .card h5 {
            font-size: 1.25em; } }

.inspire-quote {
  padding: 60px 15vw;
  background-color: #39393f;
  color: #fff; }

.latest-posts {
  margin: 40px auto;
  padding: 20px 7vw; }
  .latest-posts h3 {
    font-size: 36px;
    max-width: 320px;
    border-bottom: 6px solid #5888f4;
    padding-bottom: 3.33333px;
    text-align: center;
    margin: auto; }
  .latest-posts .cards {
    max-width: 860px;
    margin: 20px auto;
    display: flex;
    flex-direction: column; }
    .latest-posts .cards .card {
      display: grid;
      grid-template-columns: 7fr 6fr;
      grid-gap: 30px;
      padding: 10px;
      min-height: 220px;
      border-bottom: 1px solid rgba(0, 0, 0, 0.25);
      background-color: #fff;
      -webkit-transition: all 250ms ease 0s;
      -moz-transition: all 250ms ease 0s;
      -ms-transition: all 250ms ease 0s;
      -o-transition: all 250ms ease 0s;
      transition: all 250ms ease 0s; }
      .latest-posts .cards .card .card-content {
        grid-column: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left; }
        .latest-posts .cards .card .card-content small {
          color: #5888f4;
          font-weight: 700; }
        .latest-posts .cards .card .card-content h4 {
          margin: .25em 0 .5em;
          font-size: 1.75em; }
          .latest-posts .cards .card .card-content h4 a {
            color: #39393f; }
        .latest-posts .cards .card .card-content p {
          font-size: 1em; }
      .latest-posts .cards .card .post-image {
        grid-column: 2;
        display: block;
        height: 100%;
        width: 100%; }
        .latest-posts .cards .card .post-image figure {
          background-position: center;
          background-size: cover;
          height: 100%;
          width: 100%; }
      .latest-posts .cards .card:hover {
        transform: scale(1.05);
        z-index: 20;
        -webkit-box-shadow: 3px 3px 8px #b3b3b3;
        -moz-box-shadow: 3px 3px 8px #b3b3b3;
        box-shadow: 3px 3px 8px #b3b3b3; }
  .latest-posts .load-more-btn {
    text-align: center; }
  @media (max-width: calc(576px - 1px)) {
    .latest-posts .cards .card {
      grid-gap: 0;
      grid-template-columns: 1fr;
      grid-template-rows: 5fr 3fr;
      margin-bottom: 20px; }
      .latest-posts .cards .card .card-content {
        grid-column: 1;
        grid-row: 2;
        margin-top: 10px;
        min-height: 90px; }
        .latest-posts .cards .card .card-content h4 {
          font-size: 1.35em; }
      .latest-posts .cards .card .post-image {
        grid-column: 1;
        grid-row: 1; } }

.posts-aside {
  border-top: 6px solid #5888f4; }
  .posts-aside h2 {
    margin: .75rem 0 .5rem; }
  .posts-aside ul {
    display: flex;
    flex-direction: column; }
    .posts-aside ul .card {
      display: grid;
      grid-template-columns: 3fr 2fr;
      grid-gap: 10px;
      align-items: center;
      padding: 6.66667px 10px;
      min-height: 90px;
      border-top: 1px solid rgba(0, 0, 0, 0.15);
      background-color: #fff;
      -webkit-transition: all 250ms ease 0s;
      -moz-transition: all 250ms ease 0s;
      -ms-transition: all 250ms ease 0s;
      -o-transition: all 250ms ease 0s;
      transition: all 250ms ease 0s; }
      .posts-aside ul .card:last-of-type {
        border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
      .posts-aside ul .card h5 {
        margin: 0;
        font-size: 1.25em;
        grid-column: 1;
        transition: color 150ms ease; }
        .posts-aside ul .card h5 a {
          color: #39393f; }
          .posts-aside ul .card h5 a:hover {
            color: #5888f4;
            opacity: 1; }
      .posts-aside ul .card .post-image {
        grid-column: 2;
        display: block;
        height: 100%;
        width: 100%; }
        .posts-aside ul .card .post-image figure {
          background-position: center;
          background-size: cover;
          height: 100%;
          width: 100%; }
      .posts-aside ul .card:hover {
        transform: scale(1.05);
        z-index: 20;
        -webkit-box-shadow: 3px 3px 8px #b3b3b3;
        -moz-box-shadow: 3px 3px 8px #b3b3b3;
        box-shadow: 3px 3px 8px #b3b3b3; }
      @media (max-width: calc(768px - 1px)) {
        .posts-aside ul .card {
          min-height: 140px; }
          .posts-aside ul .card h5 {
            font-size: 1.5em; } }

main.page {
  margin: 40px 5vw; }
  main.page h1 {
    margin: 0 auto .5em; }
  main.page ul {
    list-style: disc;
    padding-left: 1em; }
  main.page img {
    margin-bottom: 1em; }
  main.page .about .about-text {
    margin-bottom: 20px; }
  @media (max-width: calc(768px - 1px)) {
    main.page .about {
      flex-direction: column-reverse; } }

main.post {
  margin: 40px 5vw; }
  main.post .article-inner {
    max-width: 760px; }
    main.post .article-inner h1 {
      margin: 0 auto .5em; }
    main.post .article-inner ul {
      list-style: disc;
      padding-left: 1em; }

main.not-found > .container {
  margin: 40px auto; }

.related {
  margin: 60px auto 40px; }
  .related h4 {
    text-transform: uppercase;
    font-size: 1rem;
    color: #999;
    font-weight: 300; }
  .related .cards {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-left: -10px; }
    .related .cards .card {
      flex: 0 0 32%;
      display: flex;
      flex-direction: column;
      padding: 10px;
      -webkit-transition: all 250ms ease 0s;
      -moz-transition: all 250ms ease 0s;
      -ms-transition: all 250ms ease 0s;
      -o-transition: all 250ms ease 0s;
      transition: all 250ms ease 0s; }
      .related .cards .card:hover {
        -webkit-box-shadow: 3px 3px 8px #b3b3b3;
        -moz-box-shadow: 3px 3px 8px #b3b3b3;
        box-shadow: 3px 3px 8px #b3b3b3; }
      .related .cards .card figure {
        background-position: center;
        background-size: cover;
        width: 100%;
        height: 100%;
        min-height: 10em; }
      .related .cards .card h3 {
        font-size: 1.5em; }
        .related .cards .card h3 a {
          color: #39393f; }
      .related .cards .card small {
        color: #5888f4;
        font-weight: 700; }
    @media (max-width: calc(576px - 1px)) {
      .related .cards {
        flex-direction: column; } }

.product-list {
  display: flex;
  flex-direction: column; }
  .product-list .product {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-gap: 20px;
    margin-bottom: 40px; }
    .product-list .product .product-title {
      grid-column: 1/3;
      grid-row: 1; }
    .product-list .product .product-image {
      grid-column: 1/3;
      grid-row: 2;
      align-self: center; }
    .product-list .product .product-content {
      grid-column: 1/3;
      grid-row: 3; }
    .product-list .product .product-cta {
      grid-column: 1/3;
      grid-row: 4;
      text-align: center; }

@media (min-width: 768px) {
  .product-list .product {
    grid-template-rows: repeat(4, auto);
    grid-gap: 20px; }
    .product-list .product .product-content {
      grid-column: 2/3;
      grid-row: 2; }
    .product-list .product .product-image {
      grid-column: 1/2; }
    .product-list .product .product-cta {
      grid-row: 3; } }

.social-sharing {
  display: flex;
  flex-direction: row; }
  .social-sharing > a {
    margin-right: 6.66667px; }
  .social-sharing svg {
    color: #333; }
  @media (min-width: 768px) {
    .social-sharing {
      flex-direction: column; }
      .social-sharing > a {
        margin-right: 0; } }

svg[data-icon="facebook"] {
  color: #3b5998; }

svg[data-icon="twitter"] {
  color: #38A1F3; }

svg[data-icon="instagram"] {
  color: #E1306C; }

svg[data-icon="pinterest"] {
  color: #BD081C; }

svg[data-icon="youtube"] {
  color: #ED3833; }

svg[data-icon="linkedin"] {
  color: #0077B5; }

svg[data-icon="envelope"] {
  color: #999; }
