/**

Add in client colours here
Use SASS variables and css custom properties depending on best use

**/
/**
 * Font Sizes
 * Create default font sizes across all screen sizes with one declaration
 * e.g. @include font-sizes( 34px, 42px, 46px );
 *
**/
:root {
  --page-content: 900px;
  --post-content: 800px;
  --section-padding: 80px;
  --wide-content: 1260px;
  --block-gap: 20px;
  --wp--style--block-gap: 2rem; }
  @media (max-width: 1100px) {
    :root {
      --section-padding: 60px; } }
  @media (max-width: 600px) {
    :root {
      --section-padding: 40px; } }
html body {
  --wp--preset--font-size--medium: 17px;
  --wp--preset--font-size--large: 18px;
  --wp--preset--font-size--x-large: 28px; }
  @media (min-width: 800px) {
    html body {
      --wp--preset--font-size--medium: 20px;
      --wp--preset--font-size--large: 24px;
      --wp--preset--font-size--x-large: 38px;
      --wp--style--block-gap: 3rem; } }
  @media (min-width: 1200px) {
    html body {
      --wp--preset--font-size--large: 30px;
      --wp--preset--font-size--x-large: 42px;
      --wp--style--block-gap: 4rem; } }
/*

Use this file for mostly generic styles that can work on multiple websites

*/
*,
::after,
::before {
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

h1,
h2,
h3,
h4,
h5 {
  line-height: 1.3;
  font-weight: 400;
  margin-bottom: 0.25em; }

/**** Navigation ******/
#-pro-menu-8-6 .oxy-pro-menu-list .menu-item.current-menu-item.current-menu-item > a,
#-pro-menu-8-6 .oxy-pro-menu-list .menu-item.current_page_parent > a {
  border-bottom-width: 1px; }

#site-header .mobile-only {
  display: none !important; }
  @media (max-width: 992px) {
    #site-header .mobile-only {
      display: inherit !important; } }
/***** HEROS ******/
.ct-section.page-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.page-hero .ct-section-inner-wrap {
  height: 100%; }

.page-content h1 {
  font-size: 26px; }
  @media (min-width: 600px) {
    .page-content h1 {
      font-size: 34px; } }
  @media (min-width: 900px) {
    .page-content h1 {
      font-size: 40px; } }
.page-content h2 {
  font-size: 24px; }
  @media (min-width: 600px) {
    .page-content h2 {
      font-size: 32px; } }
  @media (min-width: 900px) {
    .page-content h2 {
      font-size: 38px; } }
.page-content h3 {
  font-size: 22px; }
  @media (min-width: 600px) {
    .page-content h3 {
      font-size: 30px; } }
  @media (min-width: 900px) {
    .page-content h3 {
      font-size: 38px; } }
.page-content h4 {
  font-size: 18px; }
  @media (min-width: 600px) {
    .page-content h4 {
      font-size: 22px; } }
  @media (min-width: 900px) {
    .page-content h4 {
      font-size: 26px; } }
.page-content strong,
.page-content b {
  font-weight: 700; }

.page-content * {
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s; }

/***** IMAGE ANIMATIONS ******/
.object-fit,
.object-fit img {
  height: 100%;
  width: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover; }

.image-container,
.service-image-container {
  overflow: hidden; }
  .image-container img,
  .service-image-container img {
    -webkit-transform: scale(1);
            transform: scale(1);
    transition: all 0.3s ease; }
  .image-container:focus img, .image-container:hover img, .image-container:focus-within img,
  .service-image-container:focus img,
  .service-image-container:hover img,
  .service-image-container:focus-within img {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
    transition: all 0.3s ease; }

/***** CARDS ******/
/***** Footer ******/
iframe {
  display: block;
  max-width: 100%; }

figure img {
  display: block;
  height: auto; }

.ct-section-inner-wrap > .ct-inner-content .alignfull:last-child,
.ct-section-inner-wrap > .alignfull.grad-group.wp-block-group:last-child,
.ct-section-inner-wrap > .alignfull.is-style-gradient-background.wp-block-group:last-child {
  margin-bottom: calc(-1 * var(--section-padding)); }

.oxygen-body ::-moz-selection {
  background-color: #0a0a0a;
  color: #fff; }

.oxygen-body ::selection {
  background-color: #0a0a0a;
  color: #fff; }

.oxygen-body .has-black-background-color ::-moz-selection {
  background-color: #fff;
  color: #0a0a0a; }

.oxygen-body .has-black-background-color ::selection {
  background-color: #fff;
  color: #0a0a0a; }

li::marker {
  color: #687b9f; }

.button,
.cta-button,
.hire-option,
.header-call,
.oxy-pro-menu-mobile-open-icon {
  -webkit-transform: scale(1);
          transform: scale(1);
  transition: all 0.3s ease; }
  .button:hover, .button:focus,
  .cta-button:hover,
  .cta-button:focus,
  .hire-option:hover,
  .hire-option:focus,
  .header-call:hover,
  .header-call:focus,
  .oxy-pro-menu-mobile-open-icon:hover,
  .oxy-pro-menu-mobile-open-icon:focus {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
    transition: all 0.3s ease; }

.intro-para {
  max-width: 66ch;
  margin-left: auto;
  margin-right: auto; }

.ct-link.page-link-wrapper .page-link-text {
  margin-bottom: 0; }
  .ct-link.page-link-wrapper .page-link-text > *:last-child {
    margin-bottom: 0;
    padding-bottom: 0; }

.site-header .header-logo svg {
  width: 100%;
  max-width: 320px;
  height: auto; }
  @media (max-width: 900px) {
    .site-header .header-logo svg {
      max-width: 280px; } }
  @media (max-width: 600px) {
    .site-header .header-logo svg {
      max-width: 150px; }
      .site-header .header-logo svg .logo-letter {
        fill: #ffffff; }
      .site-header .header-logo svg .background-b-shape {
        fill: #000; } }
.site-header {
  --ease: all 300ms ease;
  transition: var(--ease); }
  .site-header .ct-section-inner-wrap {
    padding-top: 0;
    padding-bottom: 0; }
  .site-header .site-logo,
  .site-header .ct-section-inner-wrap {
    transition: var(--ease); }
  .site-header .site-logo {
    -webkit-transform: scale(1);
            transform: scale(1); }
  .site-header .oxy-pro-menu-list .menu-item a {
    padding-top: 40px;
    padding-bottom: 40px;
    transition: var(--ease); }
  .site-header.site-header--scrolled {
    background-color: #fff; }
    .site-header.site-header--scrolled .ct-section-inner-wrap {
      transition: var(--ease); }
    .site-header.site-header--scrolled .oxy-pro-menu-list > .menu-item > a {
      padding-top: 20px !important;
      padding-bottom: 20px !important;
      transition: var(--ease); }
    .site-header.site-header--scrolled .site-logo {
      transition: var(--ease);
      -webkit-transform: scale(0.7);
              transform: scale(0.7); }

/************ GENERAL STYLES  **************/
.navbar {
  margin-bottom: 0;
  border-radius: 0;
  background-color: transparent;
  border: none;
  text-align: left;
  padding: 0;
  justify-content: center; }

.navbar-nav {
  margin: 0;
  padding: 0;
  display: block;
  text-align: left;
  list-style: none;
  display: block;
  --focus-bg: #060606; }
  .navbar-nav li {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 10px; }
  .navbar-nav a {
    color: #fff;
    opacity: 0.9;
    font-weight: 300;
    text-decoration: none;
    font-size: 17px; }
    .navbar-nav a:hover, .navbar-nav a:focus {
      opacity: 1; }
  .navbar-nav > li > a {
    font-family: "Playfair Display";
    font-weight: 400;
    font-size: 20px; }
  .navbar-nav .nav-text {
    font-size: 13px;
    font-weight: 300;
    opacity: 0.8; }

/************ MOBILE STYLES **************/
@media (max-width: 899px) {
  .navigation-links {
    width: 100%; }
  .navbar-nav {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%; }
    .navbar-nav > li {
      width: 100%; }
      .navbar-nav > li > a {
        display: block;
        width: 100%;
        position: relative; }
        .navbar-nav > li > a::after {
          content: '';
          display: block;
          position: absolute;
          right: 10px;
          top: 0;
          bottom: 0;
          width: 20px;
          background-image: url("../images/white-arrow-right.svg");
          background-repeat: no-repeat;
          background-position: center right 10px;
          background-size: 8px;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          transition: all 0.2s ease-in-out; }
      .navbar-nav > li > .sub-menu {
        display: none; }
        .navbar-nav > li > .sub-menu a {
          opacity: 0.9; }
      .navbar-nav > li.focus > .sub-menu {
        display: block; }
      .navbar-nav > li.focus > a::after {
        -webkit-transform: rotate(-90deg);
                transform: rotate(-90deg); }
    .navbar-nav .sub-menu {
      padding-top: 10px; } }

/************ DESKTOP STYLES **************/
@media (min-width: 900px) {
  .navbar-nav {
    position: relative; }
    .navbar-nav a {
      font-size: 18px; }
    .navbar-nav li {
      min-width: 26ch;
      max-width: 300px;
      margin-bottom: 10px; }
    .navbar-nav > li {
      padding-top: 1vh;
      padding-bottom: 1vh; }
    .navbar-nav > li > a {
      font-size: 26px;
      padding-right: 2em;
      padding-left: 2em; }
    .navbar-nav > li > .sub-menu > li > a {
      font-weight: 400; }
    .navbar-nav > li .sub-menu .sub-menu a {
      font-size: 0.9em; }
    .navbar-nav > li > .sub-menu {
      position: absolute;
      top: 0;
      bottom: 0;
      -webkit-transform: translateX(-50vw);
              transform: translateX(-50vw);
      opacity: 0;
      padding: 40px;
      transition: 0.1s 0 ease-in-out;
      background-color: var(--focus-bg); }
    .navbar-nav > li:hover {
      background-color: var(--focus-bg); }
      .navbar-nav > li:hover > a {
        background-image: url("../images/white-arrow-right.svg");
        background-repeat: no-repeat;
        background-position: center right 10px;
        background-size: 18px; }
    .navbar-nav > li.focus, .navbar-nav > li:hover {
      background-color: var(--focus-bg); }
      .navbar-nav > li.focus > a, .navbar-nav > li:hover > a {
        background-image: url("../images/white-arrow-right.svg");
        background-repeat: no-repeat;
        background-position: center right 10px;
        background-size: 18px;
        position: relative; }
      .navbar-nav > li.focus > .sub-menu, .navbar-nav > li:hover > .sub-menu {
        left: 300px;
        min-width: 320px;
        -webkit-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
        transition-delay: 0s; }
    .navbar-nav > li:hover .sub-menu {
      z-index: 3; }
    .navbar-nav > li.focus .sub-menu {
      z-index: 2; }
    .navbar-nav > li .sub-menu .sub-menu {
      padding-left: 15px;
      margin-top: 10px; } }

.site-footer .footer-text a {
  text-decoration: underline; }

.ct-section-inner-wrap .alignfull {
  max-width: 100vw;
  width: 100vw;
  margin-left: -20px;
  margin-right: -20px; }

@media (min-width: 800px) {
  .alignwide,
  .ct-inner-content .alignwide,
  .ct-section-inner-wrap .alignwide {
    max-width: none;
    width: calc(100vw - 60px); }
  .alignfull,
  .ct-inner-content .alignfull,
  .ct-section-inner-wrap .alignfull {
    max-width: none;
    width: 100vw;
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2); } }

@media (min-width: 1280px) {
  .alignwide,
  .ct-inner-content .alignwide,
  .ct-section-inner-wrap .alignwide {
    max-width: var(--wide-content);
    margin-left: calc((var(--wide-content) / -2) + 100% / 2);
    margin-right: calc((var(--wide-content) / -2) + 100% / 2); } }

.page-article .feature-section {
  margin-top: 3em;
  margin-bottom: 3em; }

/****** Gutenberg Cover ******/
.wp-block-cover {
  padding-top: var(--wp--style--block-gap);
  padding-bottom: var(--wp--style--block-gap); }

/****** Gutenberg Media and Text ******/
.wp-block-media-text.alignfull .wp-block-media-text__content {
  padding-top: var(--wp--style--block-gap);
  padding-bottom: var(--wp--style--block-gap); }

@media (min-width: 1280px) {
  .wp-block-media-text.alignfull.has-media-on-the-right .wp-block-media-text__content {
    padding-left: calc((100vw - var(--wide-content)) / 2); }
  .wp-block-media-text.alignfull.has-media-on-the-left .wp-block-media-text__content {
    padding-right: calc((100vw - var(--wide-content)) / 2); } }

@media (min-width: 800px) {
  .wp-block-media-text.alignfull .wp-block-media-text__content {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center; } }

.oxygen-body .wp-block-media-text__content {
  position: relative; }
  @media (max-width: 600px) {
    .oxygen-body .wp-block-media-text__content {
      padding-left: 20px;
      padding-right: 20px; } }
  .oxygen-body .wp-block-media-text__content .hero-down-arrow {
    bottom: 20px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100px;
    display: flex;
    flex-direction: row;
    justify-content: center; }
  @media (min-width: 600px) {
    .oxygen-body .wp-block-media-text__content .hero-down-arrow {
      position: absolute; } }
  @media (max-width: 500px) {
    .oxygen-body .wp-block-media-text__content .hero-down-arrow {
      display: none;
      visibility: hidden; } }
/****** Gutenberg Groups ******/
.wp-block-group {
  max-width: var(--page-content);
  margin-left: auto;
  margin-right: auto; }
  .wp-block-group.has-background, .wp-block-group.grad-group, .wp-block-group.is-style-gradient-background {
    padding: var(--wp--style--block-gap); }
    @media (max-width: 600px) {
      .wp-block-group.has-background, .wp-block-group.grad-group, .wp-block-group.is-style-gradient-background {
        padding-left: 20px;
        padding-right: 20px; } }
  .wp-block-group.grad-group, .wp-block-group.is-style-gradient-background {
    position: relative; }
    .wp-block-group.grad-group::before, .wp-block-group.grad-group::after, .wp-block-group.is-style-gradient-background::before, .wp-block-group.is-style-gradient-background::after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      background-image: linear-gradient(180deg, #dbdbdb 0%, rgba(255, 255, 255, 0) 100%);
      height: var(--section-padding);
      opacity: 0.22; }
    .wp-block-group.grad-group::before, .wp-block-group.is-style-gradient-background::before {
      top: 0; }
    .wp-block-group.grad-group::after, .wp-block-group.is-style-gradient-background::after {
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }

.wp-block-group.alignfull {
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding); }
  .wp-block-group.alignfull > .wp-block-group__inner-container {
    margin: auto;
    max-width: var(--page-content); }

/****** Gutenberg Columns ******/
.wp-block-columns.alignfull {
  margin-bottom: 0; }

.wp-block-columns.alignfull.are-vertically-aligned-center {
  display: grid;
  grid-gap: 0;
  grid-template-columns: 1fr; }
  .wp-block-columns.alignfull.are-vertically-aligned-center .wp-block-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: var(--section-padding);
    height: 100%; }
  @media (max-width: 600px) {
    .wp-block-columns.alignfull.are-vertically-aligned-center .wp-block-column {
      padding-left: 20px;
      padding-right: 20px; } }
  @media (min-width: 700px) {
    .wp-block-columns.alignfull.are-vertically-aligned-center {
      grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1280px) {
    .wp-block-columns.alignfull.are-vertically-aligned-center .wp-block-column:first-child {
      padding-left: calc((100vw - var(--wide-content)) / 2); }
    .wp-block-columns.alignfull.are-vertically-aligned-center .wp-block-column:last-child {
      padding-right: calc((100vw - var(--wide-content)) / 2); } }
/****** Gutenberg Buttons ******/
.wp-block-buttons .wp-block-button {
  margin-top: 15px;
  margin-bottom: 15px; }
  .wp-block-buttons .wp-block-button .wp-block-button__link {
    font-size: 14px;
    text-transform: uppercase;
    border-radius: 0;
    letter-spacing: 0.14em;
    padding-right: 3.2em;
    background-image: url("../images/white-arrow-right.svg");
    background-repeat: no-repeat;
    background-size: 14px auto;
    background-position: top 50% right 1.5em;
    transition: all 0.3s ease; }
    @media (max-width: 600px) {
      .wp-block-buttons .wp-block-button .wp-block-button__link {
        padding: 0.6em 3.4em 0.5em 1.1em; } }
    .wp-block-buttons .wp-block-button .wp-block-button__link:hover, .wp-block-buttons .wp-block-button .wp-block-button__link:focus {
      text-decoration: none;
      opacity: 0.95;
      background-position: top 50% right 0.9em;
      transition: all 0.3s ease; }
    .wp-block-buttons .wp-block-button .wp-block-button__link.has-blue-color {
      background-image: url("../images/blue-arrow-right.svg"); }
    .wp-block-buttons .wp-block-button .wp-block-button__link.has-black-color {
      background-image: url("../images/black-arrow-right.svg"); }
  .wp-block-buttons .wp-block-button.has-medium-font-size {
    --wp--preset--font-size--medium: 16px; }
    .wp-block-buttons .wp-block-button.has-medium-font-size .wp-block-button__link {
      padding: 0.5em 3.4em 0.45em 1.1em; }

/****** Media & Text ******/
/****** Gutenberg Divider ******/
.wp-block-separator {
  --separator-margin: 20px;
  display: block;
  width: 100%;
  margin-top: var(--separator-margin);
  margin-bottom: var(--separator-margin); }
  @media (min-width: 1100px) {
    .wp-block-separator {
      --separator-margin: 30px; } }
  .wp-block-separator.is-style-dots {
    margin-top: var(--separator-margin);
    margin-bottom: var(--separator-margin); }
    .wp-block-separator.is-style-dots::before {
      content: none; }

/****** Gutenberg Images ******/
figure.wp-block-image {
  margin: 1em 0; }

/****** Blockquotes ******/
.wp-block-quote {
  padding: 3.5em 0 0;
  margin-left: 0;
  margin-right: 0;
  position: relative;
  margin-bottom: var(--wp--style--block-gap); }
  .wp-block-quote p {
    font-weight: 300; }
  .wp-block-quote::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../images/dark-quote-mark.svg");
    background-size: contain;
    background-repeat: no-repeat;
    height: 3.5em;
    width: 3.5em; }
  .wp-block-quote cite {
    font-family: "Playfair Display";
    font-style: normal;
    font-size: 18px; }
    @media (min-width: 600px) {
      .wp-block-quote cite {
        font-size: 20px; } }
    @media (min-width: 900px) {
      .wp-block-quote cite {
        font-size: 22px; } }
  .wp-block-quote.is-style-plain {
    padding-bottom: 1em;
    border-bottom: solid 1px #d3d9e5; }

.has-black-background-color .wp-block-quote::before {
  background-image: url("../images/light-quote-mark.svg"); }

@media (min-width: 1000px) {
  body.home .wp-block-quote {
    padding-top: 6em; }
    body.home .wp-block-quote p {
      font-size: 17px;
      opacity: 0.85; }
    body.home .wp-block-quote::before {
      left: -2em;
      height: 6em;
      width: 6em; } }

/*

Page specific styles

*/
.ct-section.page-content {
  max-width: 100vw;
  overflow: hidden; }

/*---------- HOME ---------*/
.page-content .overlap-top {
  position: relative;
  z-index: 1; }

.wp-block-group.b-background {
  background-image: url("../images/bellwether-b.svg");
  background-repeat: no-repeat;
  background-position: center left -2%;
  background-size: 30%; }
  @media (max-width: 600px) {
    .wp-block-group.b-background {
      background-size: 50%; } }
/*---------- PAGE ---------*/
/*---------- BLOG ---------*/
.post-card-image {
  display: block; }
  .post-card-image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

/*---------- CONTACT ---------*/
/*
** PAGINATION
*/
.oxy-dynamic-list .oxy-repeater-pages-wrap {
  grid-column: 1 / -1; }
  .oxy-dynamic-list .oxy-repeater-pages-wrap a {
    text-decoration: none; }

.ct-section.page-content .ct-section-inner-wrap,
.ct-section.post-content .ct-section-inner-wrap {
  padding-top: 0; }

/***** FEATURED IMAGE ******/
.feature-image-container img,
.post-thumb-container img {
  -webkit-transform: scale(1);
          transform: scale(1);
  transition: all 0.3s ease; }

.feature-image-container:hover img,
.post-thumb-container:hover img {
  -webkit-transform: scale(1.07);
          transform: scale(1.07);
  transition: all 0.3s ease; }

/***** FAQS ******/
.wp-block-pb-accordion-item {
  border-bottom: solid 1px #e6e9ef; }
  .wp-block-pb-accordion-item:first-of-type {
    border-top: solid 1px #e6e9ef;
    margin-top: 1.8em; }
  .wp-block-pb-accordion-item:last-of-type {
    margin-bottom: 1.8em; }
  .wp-block-pb-accordion-item .c-accordion__title {
    position: relative;
    padding: 15px 30px 15px 0;
    font-size: 18px; }
    @media (min-width: 600px) {
      .wp-block-pb-accordion-item .c-accordion__title {
        font-size: 20px; } }
    @media (min-width: 900px) {
      .wp-block-pb-accordion-item .c-accordion__title {
        font-size: 24px; } }
    .wp-block-pb-accordion-item .c-accordion__title::after {
      content: '';
      background-image: url("../images/blue-arrow-right.svg");
      background-repeat: no-repeat;
      background-size: 14px auto;
      background-position: center;
      height: 24px;
      width: 24px;
      top: 32%;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      transition: all 0.3s ease; }
  .wp-block-pb-accordion-item.is-open .c-accordion__title::after {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
    transition: all 0.3s ease; }
  .wp-block-pb-accordion-item .c-accordion__content > :first-child {
    padding-top: 0;
    margin-top: 0; }

/***** LATEST NEWS ******/
.latest-news-block .oxy-repeater-pages-wrap {
  display: none;
  visibility: hidden; }

/***** PAGE HERO ******/
.page-hero,
.staff-hero {
  min-height: 100vh; }
  .page-hero.post-herocolumns,
  .staff-hero.post-herocolumns {
    min-height: 30vh; }
  .page-hero .sub-header,
  .staff-hero .sub-header {
    font-family: "Open Sans", sans-serif;
    margin-bottom: 1em; }
  .page-hero .wp-block-media-text__content,
  .staff-hero .wp-block-media-text__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
  .page-hero .wp-block-media-text__media,
  .staff-hero .wp-block-media-text__media {
    position: relative; }
    .page-hero .wp-block-media-text__media::before,
    .staff-hero .wp-block-media-text__media::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 30%;
      opacity: 0.76;
      background-image: linear-gradient(0deg, rgba(54, 54, 54, 0) 3%, #191919 100%); }

.staff-hero .wp-block-media-text__media::before {
  content: none !important; }

/***** SERVICE LINKS ******/
.service-list .service-link-wrapper {
  background-image: url("../images/blue-arrow-right.svg");
  background-repeat: no-repeat;
  background-size: 14px auto;
  background-position: top 50% right 0.5em;
  height: 100%;
  transition: all 0.3s ease; }
  .service-list .service-link-wrapper:hover, .service-list .service-link-wrapper:focus {
    text-decoration: none;
    opacity: 0.95;
    background-position: top 50% right 0em;
    transition: all 0.3s ease; }

/***** LISTS ******/
ul.has-medium-font-size,
ol.has-medium-font-size {
  margin-left: 0; }
  ul.has-medium-font-size li,
  ol.has-medium-font-size li {
    font-family: "Playfair Display";
    padding: 0.3em 0; }
    ul.has-medium-font-size li::marker,
    ol.has-medium-font-size li::marker {
      color: #687b9f;
      font-family: "Open Sans", sans-serif; }

ul.has-medium-font-size li::marker {
  font-size: 0.9em;
  font-weight: 400; }

ol.has-medium-font-size li {
  list-style-type: decimal-leading-zero; }
  ol.has-medium-font-size li::marker {
    font-size: 0.8em; }

/***** RESOURCE LINKS ******/
.resource-links-container .knowledge-link {
  background-color: rgba(0, 0, 0, 0.05);
  -webkit-transform: scale(1);
          transform: scale(1);
  transition: all 0.2s ease-in; }
  .resource-links-container .knowledge-link:hover, .resource-links-container .knowledge-link:focus {
    background-color: rgba(0, 0, 0, 0.2);
    letter-spacing: 0.2em;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
    transition: all 0.2s ease-in; }

/***** TEAM ******/
.staff-link-wrapper .staff-profile-pic-grey {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.staff-link-wrapper img {
  -webkit-filter: grayscale(100);
          filter: grayscale(100);
  transition: all 0.2s ease-in; }

.staff-link-wrapper a {
  text-decoration: none; }

.staff-link-wrapper:hover img, .staff-link-wrapper:focus img {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
  transition: all 0.2s ease-in; }

/*

Inlcudes common styles for most forms on most client sites using CF7

*/
.oxygen-body {
  /******* Contact Form 7 Styles *********/ }
  .oxygen-body form input[type='text'],
  .oxygen-body form input[type='email'],
  .oxygen-body form input[type='password'],
  .oxygen-body form input[type='date'],
  .oxygen-body form input[type='phone'],
  .oxygen-body form input[type='tel'],
  .oxygen-body form input[type='number'],
  .oxygen-body form textarea,
  .oxygen-body form select {
    font-family: "Open Sans", sans-serif;
    text-align: left !important;
    font-size: 16px;
    padding: 12px;
    width: 100%;
    display: block;
    border: none;
    border-bottom: solid 2px rgba(104, 123, 159, 0.4);
    border-radius: 1px;
    background-color: transparent;
    color: #0a0a0a;
    -webkit-appearance: none; }
    .oxygen-body form input[type='text']:focus,
    .oxygen-body form input[type='email']:focus,
    .oxygen-body form input[type='password']:focus,
    .oxygen-body form input[type='date']:focus,
    .oxygen-body form input[type='phone']:focus,
    .oxygen-body form input[type='tel']:focus,
    .oxygen-body form input[type='number']:focus,
    .oxygen-body form textarea:focus,
    .oxygen-body form select:focus {
      border-bottom: solid 2px rgba(104, 123, 159, 0.8); }
  .oxygen-body form textarea {
    height: 12rem;
    max-width: 100%; }
  .oxygen-body form label {
    display: none;
    visibility: hidden; }
  .oxygen-body form .visible-label label,
  .oxygen-body form .visible-lable label,
  .oxygen-body form .visible-lable {
    margin-bottom: 5px;
    display: block;
    visibility: visible;
    color: #545454; }
  .oxygen-body form .wpcf7-form-control.wpcf7-checkbox {
    display: flex;
    flex-direction: column;
    padding-bottom: 6px; }
    .oxygen-body form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
      margin: 0; }
  .oxygen-body form [data-name='unsubscribe'] .wpcf7-form-control.wpcf7-checkbox {
    border-bottom: solid 2px rgba(104, 123, 159, 0.4); }
  .oxygen-body input[type='button'],
  .oxygen-body input[type='submit'],
  .oxygen-body form button:not(.button-reset) {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    border: none;
    background-color: #687b9f;
    border-radius: 0;
    color: #fff;
    display: inline-block;
    padding: 12px 20px 12px;
    width: auto;
    max-width: none;
    float: none;
    cursor: pointer;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    -webkit-appearance: none;
    font-size: 14px;
    text-transform: uppercase;
    border-radius: 0;
    letter-spacing: 0.14em;
    padding-right: 3.2em;
    background-image: url("../images/white-arrow-right.svg");
    background-repeat: no-repeat;
    background-size: 14px auto;
    background-position: top 50% right 1.5em;
    transition: all 0.3s ease; }
    .oxygen-body input[type='button']:hover, .oxygen-body input[type='button']:focus,
    .oxygen-body input[type='submit']:hover,
    .oxygen-body input[type='submit']:focus,
    .oxygen-body form button:not(.button-reset):hover,
    .oxygen-body form button:not(.button-reset):focus {
      text-decoration: none;
      opacity: 0.95;
      background-position: top 50% right 0.9em;
      transition: all 0.3s ease; }
  .oxygen-body .contact-form-grid {
    display: grid;
    margin: 20px auto;
    grid-gap: 20px; }
    .oxygen-body .contact-form-grid > div,
    .oxygen-body .contact-form-grid .form-field {
      margin: 0; }
    @media (min-width: 900px) {
      .oxygen-body .contact-form-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px;
        max-width: 960px;
        margin: 20px auto; }
        .oxygen-body .contact-form-grid .wide-form-field,
        .oxygen-body .contact-form-grid .form-submit {
          grid-column: span 2; }
        .oxygen-body .contact-form-grid .form-submit {
          display: flex;
          flex-direction: row;
          justify-content: flex-end;
          align-items: center; }
          .oxygen-body .contact-form-grid .form-submit > * {
            margin-left: 2em; }
          .oxygen-body .contact-form-grid .form-submit .ajax-loader,
          .oxygen-body .contact-form-grid .form-submit .wpcf7-spinner {
            order: -3; } }
  .oxygen-body .mailing-list-grid {
    display: flex;
    flex-direction: column; }
    .oxygen-body .mailing-list-grid input {
      font-size: 14px !important;
      padding: 8px 15px; }
    .oxygen-body .mailing-list-grid input[type='email'] {
      background-color: #fff;
      border: solid 1px #91897c; }
    @media (min-width: 900px) {
      .oxygen-body .mailing-list-grid {
        flex-direction: row; } }
  .oxygen-body .form-group {
    padding: 1em 2em;
    border-radius: 10px; }
  .oxygen-body .wpcf7-form div.wpcf7-response-output {
    background-color: #363636;
    color: #fff;
    border: none;
    padding: 1em 1.5em;
    border-radius: 5px; }
    .oxygen-body .wpcf7-form div.wpcf7-response-output.wpcf7-mail-sent-ok {
      background-color: #42ba71; }
    .oxygen-body .wpcf7-form div.wpcf7-response-output.wpcf7-mail-sent-ng {
      background-color: #cf584b; }
    .oxygen-body .wpcf7-form div.wpcf7-response-output.wpcf7-spam-blocked {
      background-color: #920505; }
    .oxygen-body .wpcf7-form div.wpcf7-response-output.wpcf7-validation-errors {
      background-color: #e4941d; }

/*

Use for both Oxygen blocks and general oxygen stylesheet overrides/fixes

*/
.ct-elements-managers-bottom > .ct-dom-tree-node .ct-dom-tree-node {
  padding: 0 0 0 32px !important;
  margin: 0 0 0 -21px !important;
  width: calc(100% + 16px) !important; }

.ct-code-block {
  width: 100%;
  display: block; }

.oxy-stock-content-styles {
  width: 100%;
  display: block; }

.ct-inner-content .ct-div-block.cta-strip {
  margin-bottom: -40px; }
/*# sourceMappingURL=site-styles.css.map */