@charset "UTF-8";
/*   
Theme Name: Swiss Theme
Theme URI: http://rocquett.com
Author: Delwin Holeman
Author URI: mailto:delwin@rocquett.com
Description: Swiss Theme, created for WMS Advisors. For assistance contact <a href="https://rocquett.com">Rocquett Websites</a> | 706-338-1464 | <a href="mailto:service@rocquett.com">service@rocquett.com</a>
Version: 4.1 - 10/23/25

Based on Rocquett Swiss Theme 

Common Breakpoints in order of most common to least - (percentage of market) from 
https://gs.statcounter.com/screen-resolution-stats/mobile/worldwide || Another source https://screensiz.es/

Common Desktop  
1920 x 1080 (21%-D), 1366 x 768 (20%), 1536 x 864 (10%), 1440 x 900 (6%), 1280 x 720 (5%), 1600 x 900 (3%)

Common Tablet
768 x 1024 (42%), 1280 x 800 (7%), 800 x 1280 (6%), 601 x 962 (5%), 810 x 1080 (4%), 962 x 601 (4%)

Common Mobile
360 x 640 (11%), 414 x 896 (7%), 360 x 780 (6%), 375 x 667 (6%), 360 x 800 6%), 360 x 760 (5%)

Theme Breakpoints: 360, 412, 600, 768, 962, 1024, 1280, 1366, 1536, 1680, 1920, 2560;

Solving CSS UX Problems Defensive CSS: https://defensivecss.dev/tips
*/

@import "../../global-css/_reset.css";

/* END Form & Blog Theme overrides and additions */

/* Import Google fonts. Tool to download and serve Google fonts directly from server: 
https://gwfh.mranftl.com/fonts */

/* LOCAL GOOGLE FONTS EXAMPLE BELOW */

/* roboto-300 - latin */
/* @font-face {
  font-display: block;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  src: local(""), url("fonts/roboto-v29-latin-300.woff2") format("woff2");
} */

/* playfair-display-italic - latin */
/* @font-face {
  font-family: "Playfair Display";
  font-style: italic;
  font-weight: 400;
  src: local(""), url("fonts/playfair-display-v25-latin-italic.woff2") format("woff2"); */
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
/* } */

/* IE 10 and 11 hacks. Edit ".selector" with the style name
_:-ms-input-placeholder, :root .selector {}
*/

/* Use system font */
/*body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", Arial, sans-serif;
}*/

/* CSS VARIABLES */
/* HSL Color Picker: https://hslpicker.com/ */

:root {
  --color-primary-base: 218;
  --color-primary: hsla(var(--color-primary-base), 76.7%, 11.8%, 100%);
  --color-primary-dark: hsla(var(--color-primary-base), 76.7%, 8.6%, 100%);
  --color-primary-light: hsla(var(--color-primary-base), 76.7%, 19.8%, 100%);
  --color-primary-extralight: hsla(var(--color-primary-base), 46.7%, 39.8%, 100%);

  /* 008864 */
  --color-secondary-base: 164;
  --color-secondary: hsla(var(--color-secondary-base), 100%, 26.7%, 100%);
  --color-secondary-dark: hsla(var(--color-secondary-base), 100%, 20.7%, 100%);
  --color-secondary-light: hsla(var(--color-secondary-base), 100%, 32.7%, 100%);
  --color-secondary-extralight: hsla(var(--color-secondary-base), 100%, 36.7%, 100%);

  /* 074540 */
  --color-tertiary-base: 175;
  --color-tertiary: hsla(var(--color-tertiary-base), 81.6%, 14.9%, 100%);
  --color-tertiary-dark: hsla(var(--color-tertiary-base), 81.6%, 10.9%, 100%);
  --color-tertiary-light: hsla(var(--color-tertiary-base), 81.6%, 20.9%, 100%);

  --white: hsl(300, 0%, 100%);
  --white-transparent: hsla(0, 0%, 100%, 0.75);
  --black: hsl(188, 0%, 0%);
  --dark-grey: hsl(0, 0%, 30%);
  --grey: hsl(0, 0%, 40%);
  --light-grey: hsl(0, 0%, 87%);
  --faint-grey: hsl(0, 0%, 96%);
  --extra-faint-grey: hsl(0, 0%, 97.5%);
  --border-color: hsl(0, 0%, 87%);
  --border-color-dark: hsl(0, 0%, 67%);
  --border-color-light: hsl(0, 0%, 93%);

  --color-font-primary-base: 188;
  --color-font-primary: hsla(var(--color-font-primary-base), 0%, 0%, 100%);
  --color-font-primary-light: hsla(var(--color-font-primary-base), 0%, 10%, 100%);
  --color-font-grey: hsl(0, 0%, 25%);
  --color-font-light-grey: hsl(0, 0%, 35%);


  --ff-primary: "Libre Franklin", Arial, Helvetica, sans-serif;
  --ff-secondary: "Libre Franklin", Arial, Helvetica, sans-serif;
  /* --ff-tertiary: "Roboto Slab", Georgia, serif; */

  --fw-ultrathin: 100;
  --fw-thin: 200;
  --fw-extralight: 300;
  --fw-light: 400;
  --fw-normal: 500;
  --fw-medium: 600;
  --fw-semibold: 700;
  --fw-bold: 800;
  --fw-black: 900;

  --line-height: 1.5;
  /* Don't use em or rem on line-height */
  --line-height-tight: 1.2;
  --line-height-loose: 1.7;
  --line-height-extra-loose: 1.9;
  --line-height-heading: 1.25;

  --letter-spacing-tight: -0.02em;
  --letter-spacing-body: 0.03em;
  --letter-spacing-loose: 0.15em;
  --letter-spacing-nav: 0.03em;
  --letter-spacing-heading: normal;

  --nav-color: var(--color-font-primary);
  --nav-color-light: var(--color-font-primary-light);
  --nav-color-hover: var(--color-font-primary-light);
  --nav-mobile-color-background: rgb(241, 241, 241);
  --nav-mobile-border: #cfcfcf;
  --main-nav-padding: 2.25rem;

  --link-color-base: 240;
  --link-color: hsla(var(--link-color-base), 60%, 50%, 100%);
  --link-color-hover: hsla(var(--link-color-base), 60%, 70%, 100%);
  --link-color-visited: hsla(var(--link-color-base), 60%, 50%, 100%);
  --link-color-arrow: hsla(var(--link-color-base), 60%, 65%, 100%);
  --link-footer: #fff;

  --icon-color-base: 183;
  --icon-color: hsla(var(--icon-color-base), 100%, 34%, 100%);
  --icon-color-hover: hsla(var(--icon-color-base), 100%, 24%, 100%);

  --footer-logo-width: 165px;

  --transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-nav: all 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-button: all 300ms cubic-bezier(0.4, 0, 0.2, 1);

  --shadow: -8px 8px 20px 0px rgba(0, 0, 0, 0.2);
  --shadow-text: 1px 1px 4px rgba(0, 0, 0, 0.1);
  --shadow-heading: 2px 2px 6px rgba(0, 0, 0, 0.4);
  --shadow-button: 10px 10px 10px 0px rgba(0, 0, 0, 0.1);

  --border-radius-global: 18px;
  --border-radius-button: 4px;
  --border-radius-global-color: #ededed;

  --gf-form-gap-y-mobile: 20px;

  /* clamp setup was unnecessarily complex so I reverted to breakpoints listed here in Swiss 4.1 - Far easier to tweak although more verbose */
  --fs-mobile: 1rem;
  --fs-mobile-menu: 1rem;
  --fs-extrasmall: 0.7rem;
  --fs-small: 0.8rem;
  --fs-normal: 1rem;
  --fs-medium: 1.1rem;
  --fs-large: 1.2rem;
  --fs-extralarge: 1.4rem;
  --fs-quote: 1.6rem;
  --fs-largequote: 1.9rem;
  --fs-quote-author: 0.8rem;
  --fs-button: 1rem;
  --fs-button-small: 0.9rem;
  --fs-abovetopnav: 0.7rem;
  --fs-navbar: 1rem;
  --fs-navbar-large: 1rem;
  --fs-subnav: 0.9rem;
  --fs-footer: 0.85rem;
  --fs-copyright: 0.6rem;
  --fs-supheading: 0.8rem;
  --fs-teammember-name: 1.6rem;
  --fs-teammember-single-name: 2.2rem;
  --fs-teammember-credentials: 1.0rem;
  --fs-teammember-single-credentials: 1.9rem;
  --fs-teammember-jobtitle: 0.75rem;
  --fs-teammember-single-jobtitle: 1.0rem;
  --fs-teammember-phone: 1rem;
  --fs-teammember-single-phone: 1.0rem;
  --fs-teammember-email-linkedin: 0.8rem;
  --fs-teammember-single-email-linkedin: 0.92rem;
  --fs-postdate: 0.7rem;
  --fs-post-single-more-heading: 1.1rem;
  --fs-blog-index-heading: 1.8rem;
  --fs-blog-title: 0.8rem;
  --fs-blog-heading: 3rem;
  --fs-category-name: 1.45rem;
  --fs-category-link: 0.85rem;
  --fs-sliderbanner-heading: 1.8rem;
  --fs-sliderbanner-text: 1.2rem;
  --fs-banner-text: 1.2rem;
  --fs-banner-text-sec: 1.0rem;
  --fs-h1: 3.2rem;
  --fs-h1-sec: 2.2rem;
  --fs-h2: 2.4rem;
  --fs-h3: 1.8rem;
  --fs-h4: 1.5rem;
  --fs-h5: 1.2rem;
  --fs-h6: 1rem;
}

@media (min-width: 548px) {
  :root {
    --fs-blog-index-heading: 1.3rem;
  }
}

@media (min-width: 768px) {
  :root {
    --fs-blog-index-heading: 1.6rem;
  }
}

@media (min-width: 1024px) {
  :root {
    --fs-post-single-more-heading: 1.3rem;
    --fs-blog-index-heading: 1.5rem;
    --fs-navbar: .85rem;
    --fs-navbar-large: .85rem;
    --fs-blog-title: 0.9rem;
    --fs-blog-heading: 3.2rem;
    --fs-category-link: 0.85rem;
    --fs-sliderbanner-heading: 3.0rem;
    --fs-sliderbanner-text: 1.4rem;
    --fs-teammember-single-name: 1.8rem;
    --fs-teammember-single-jobtitle: .85rem;
    --fs-teammember-name: 1.2rem;
    --fs-teammember-jobtitle: .7rem;
    --fs-banner-text: 1.2rem;
    --fs-banner-text-sec: 1.0rem;
    --fs-h1: 3.2rem;
    --fs-h1-sec: 2.8rem;
    --fs-h2: 2.8rem;
    --fs-h3: 2.4rem;
    --fs-h4: 1.5rem;
    --footer-logo-width: 140px;
  }
}

@media (min-width: 1366px) {
  :root {
    --fs-small: 0.8rem;
    --fs-normal: 1.0rem;
    --fs-medium: 1.15rem;
    --fs-large: 1.3rem;
    --fs-extralarge: 1.6rem;
    --fs-quote: 1.7rem;
    --fs-quote-author: 0.9rem;
    --fs-button-small: 0.9rem;
    --fs-button: 1.1rem;
    --fs-abovetopnav: 0.75rem;
    --fs-navbar: .85rem;
    --fs-navbar-large: 1.0rem;
    --fs-subnav: 1rem;
    --fs-footer: 0.95rem;
    --fs-copyright: 0.7rem;
    --fs-supheading: 1rem;
    --fs-subheading: 1rem;
    --fs-post-single-more-heading: 1.3rem;
    --fs-blog-index-heading: 1.5rem;
    --fs-teammember-single-name: 2.6rem;
    --fs-teammember-single-jobtitle: 1.0rem;
    --fs-teammember-jobtitle: .8rem;
    --fs-teammember-name: 1.4rem;
    --fs-blog-title: 0.9rem;
    --fs-blog-heading: 3.2rem;
    --fs-category-link: .9rem;
    --fs-sliderbanner-heading: 3.6rem;
    --fs-sliderbanner-text: 1.4rem;
    --fs-banner-text: 1.5rem;
    --fs-banner-text-sec: 1.3rem;
    --fs-h1: 3.2rem;
    --fs-h1-sec: 2.8rem;
    --fs-h2: 3.4rem;
    --fs-h3: 2.8rem;
    --fs-h4: 1.5rem;
    --footer-logo-width: 150px;
  }
}

@media (min-width: 1920px) {
  :root {
    --fs-small: 1rem;
    --fs-normal: 1.1rem;
    --fs-medium: 1.25rem;
    --fs-large: 1.4rem;
    --fs-extralarge: 1.7rem;
    --fs-quote: 1.8rem;
    --fs-quote-author: 1rem;
    --fs-button-small: 1rem;
    --fs-button: 1.2rem;
    --fs-abovetopnav: .9rem;
    --fs-navbar: 1.0rem;
    --fs-navbar-large: 1.0rem;
    --fs-subnav: 1.1rem;
    --fs-footer: 1rem;
    --fs-teammember-name: 2.4rem;
    --fs-teammember-single-name: 3.2rem;
    --fs-teammember-credentials: 1.3rem;
    --fs-teammember-single-credentials: 1.7rem;
    --fs-teammember-jobtitle: 1rem;
    --fs-teammember-single-jobtitle: 1.4rem;
    --fs-teammember-phone: 1.2rem;
    --fs-teammember-single-phone: 1.3rem;
    --fs-teammember-email-linkedin: 1.3rem;
    --fs-teammember-single-email-linkedin: 1.3rem;
    --fs-post-single-more-heading: 1.9rem;
    --fs-blog-index-heading: 1.6rem;
    --fs-blog-title: 1rem;
    --fs-blog-heading: 3.8rem;
    --fs-category-name: 2rem;
    --fs-sliderbanner-heading: 4.2rem;
    --fs-sliderbanner-text: 2rem;
    --fs-banner-text: 1.3rem;
    --fs-h1: 4.2rem;
    --fs-h1-sec: 3.8rem;
    --fs-h2: 3.4rem;
    --fs-h3: 2.8rem;
    --fs-h4: 1.7rem;
    --footer-logo-width: 180px;
  }
}

@media (min-width: 2560px) {
  :root {
    --fs-small: 1.2rem;
    --fs-normal: 1.3rem;
    --fs-medium: 1.35rem;
    --fs-large: 1.4rem;
    --fs-button-small: 1.3rem;
    --fs-button: 1.7rem;
    --fs-abovetopnav: .9rem;
    --fs-navbar: 1.2rem;
    --fs-subnav: 1.4rem;
    --fs-footer: 1.3rem;
    --fs-copyright: 0.8rem;
    --fs-post-single-more-heading: 2.2rem;
    --fs-blog-index-heading: 2.5rem;
    --fs-blog-title: 1.2rem;
    --fs-blog-heading: 5.4rem;
    --fs-sliderbanner-heading: 6.8rem;
    --fs-sliderbanner-text: 2.2rem;
    --fs-banner-text: 1.4rem;
    --fs-h1: 6.8rem;
    --fs-h2: 4.2rem;
    --fs-h3: 3.6rem;
    --fs-h4: 2.7rem;
    --footer-logo-width: 300px;
  }
}

/* LAYOUT GRID: https://www.viget.com/articles/fluid-breakout-layout-css-grid/ AND https://codepen.io/nathanlong/pen/NWVjxbX  =======  */
:root {
  --gap: clamp(1rem, 4vw, 2rem);
  /* clamp min, preferred, max */
  --full: minmax(var(--gap), 1fr);
  --feature: minmax(0, 12vw);
  --widecontent: minmax(0, 3rem);
  /* --content: min(clamp(30rem, 52vw, 60rem), 100% - var(--gap) * 2); 
  Narrow content for blog area - define special .layout-grid style for blog area if using this */
  --content: min(clamp(30rem, 82vw, 90rem), 100% - var(--gap) * 2);
  /* ABOVE --content Main grid width settings for website. clamp min, preferred, max */
  --content-inset: min(clamp(30rem, 58vw, 70rem), 100% - var(--gap));
  --banner-pad-left: 4%;
  --banner-pad-right: 4%;
}

/* selected text color and background */
::-moz-selection {
  background: var(--color-primary);
  color: var(--white);
}

::selection {
  background: var(--color-primary);
  color: var(--white);
}

/* Responsive Typography - should I keep this */
/* To override responsive typography and set things up with breakpoints simply remove the commented out font size on the body tag breakpoints in the styles below. Or simply add it to breakpoints where font size gets out of hand such as very large width breakpoints. */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
  /* height of sticky header */
  text-size-adjust: none;
  /* stop landscape mode mobile font size being too large */
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  /* Baseline Responsive typography */
  /* To override responsive typography and set things up with breakpoints simply remove the commented out font size on the body tag breakpoints in the styles below. Or simply add it to breakpoints where font size gets out of hand such as very large width breakpoints. */
  font-size: 1.1rem;
  font-size: min(max(1rem, 3vw), 1.12rem);
  font-size: clamp(1rem, 3vw, 1.12rem);
}

/* Flex for body layout: https://philipwalton.github.io/solved-by-flexbox/demos/holy-grail/ 
The flex on the body can be changed to grid or removed without consequence. */

body {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  -webkit-tap-highlight-color: #ccc;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation: fake 1s infinite;
  /* added this and next for flex tabs */
  animation: fake 1s infinite;
  font-family: var(--ff-primary);
  font-size: var(--fs-normal);
  font-weight: var(--fw-light);
  letter-spacing: var(--letter-spacing-body);
  color: var(--black);
}

main {
  flex: 1 0 auto;
}

/* LAYOUT GRID ========================================== 
https://www.viget.com/articles/fluid-breakout-layout-css-grid/ AND https://codepen.io/nathanlong/pen/NWVjxbX  ================================================= */

.layout-grid {
  display: grid;
  grid-template-columns:
    [full-start] var(--full) [feature-start] var(--feature) [widecontent-start] var(--widecontent) [content-start] var(--content) [content-end] var(--widecontent) [widecontent-end] var(--feature) [feature-end] var(--full) [full-end];
}

.layout-grid-feature-side {
  display: grid;
  grid-template-columns:
    [full-start] var(--full) [feature-start] var(--feature) [widecontent-start] var(--widecontent) [content-start] var(--content-inset) [content-end] var(--widecontent) [widecontent-end] var(--feature) [feature-end full-end];
}

.layout-grid>* {
  grid-column: content;
}

.full {
  grid-column: full;
}

.feature {
  grid-column: feature;
}

.widecontent {
  grid-column: widecontent;
}

.content {
  grid-column: content;
}

.pad {
  /* 1.5 made the content width not match the main content */
  padding: var(--gap) calc(var(--gap) * 1.5);
}

.pad-inline-end {
  padding-inline-end: var(--gap);
}

.pad-block {
  padding-block: var(--gap);
}

.bg-widecontent,
.bg-widecontent h3 {
  color: var(--white) !important;
}

.bg-widecontent {
  background-color: var(--color-tertiary);
}

.feature> :first-of-type,
.feature div> :first-of-type,
.bg-widecontent> :first-of-type,
.bg-widecontent div> :first-of-type,
.layout-grid-feature-side> :first-of-type,
.layout-grid-feature-side div> :first-of-type {
  padding-top: 0;
}

.feature p:last-of-type,
.bg-widecontent p:last-of-type,
.layout-grid-feature-side p:last-of-type {
  margin-bottom: 0;
}

.feature-left {
  grid-column: full-start / feature-end;
}

.feature-right {
  grid-column: feature-start / full-end;
}

.layout-grid-feature-side .wp-block-group__inner-container {
  display: grid;
  grid-column: feature;
  padding-inline-end: var(--gap);
}

.layout-grid .wp-block-columns.is-layout-flex.alignfull {
  grid-column: full;
}

#mega-menu-wrap-tabnav {
  display: none;
}

/* LINKS  ======================================================= */

a {
  color: var(--link-color);
  text-decoration: none;
  word-wrap: break-word;
}

a:hover {
  color: var(--link-color-hover);
  border-bottom: 1px solid var(--link-color-hover);
}

.abovetopnav-wrapper a:hover,
footer a:hover {
  border-bottom: none;
}

a:hover svg.icon-arrow {
  fill: var(--link-color-hover) !important;
}

footer a:hover svg.icon-arrow {
  fill: var(--white) !important;
}

a:visited {
  color: var(--link-color-visited);
}

a:active,
a:focus {
  outline: none;
}

a:focus-visible {
  outline: 3px dashed var(--link-color-hover);
}

a:focus:not(:focus-visible) {
  outline: none;
}

a.no-underline {
  border: none !important;
}

a.mega-menu-link:focus-visible {
  outline: 3px dashed var(--link-color-hover) !important;
}

a svg.icon-arrow {
  fill: var(--link-color);
}

footer a svg.icon-arrow {
  fill: var(--white) !important;
}

a .icon-arrow-right {
  width: 14px;
  height: 12px;
  margin-left: 0;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
}

a:hover .icon-arrow-right {
  margin-left: 4px;
  opacity: 1;
}

a .icon-arrow-right {
  display: none;
}

p.add-arrow a,
p.add-arrow a:hover {
  border-bottom: none !important;
}

p.add-arrow a .icon-arrow-right {
  width: 14px;
  height: 12px;
  margin-left: 0;
  text-align: center;
  transition: var(--transition);
  opacity: 1;
}

p.add-arrow a:hover .icon-arrow-right {
  margin-left: 4px;
}

.clearfix {
  content: "";
  clear: both;
  display: table;
}

/* DISPLAY/HIDE, MAIN STRUCTURE  ================================ */

.hide,
.hidemobile {
  display: none !important;
}

.hidedesktop {
  display: block;
}

/* SCREENREADER ==================================================== */
.sr-only,
.visually-hidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* TYPOGRAPHY  ================================================= */

p,
blockquote,
ol,
ul {
  margin-bottom: 25px;
}

.nopad,
.nomargin {
  padding: 0 !important;
  margin: 0 !important;
}

p.extrasmalltext,
.extrasmalltext {
  font-size: var(--fs-extrasmall) !important;
}

.has-m-font-size {
  font-size: var(--fs-normal);
}

p.smalltext,
.smalltext,
.has-s-font-size,
.has-small-font-size {
  font-size: var(--fs-small) !important;
}

p.largetext,
.largetext,
.has-l-font-size,
.has-large-font-size {
  font-size: var(--fs-large) !important;
}

p.has-l-font-size,
p.has-large-font-size {
  margin-bottom: 35px;
}

p.extralargetext,
.extralargetext,
.has-xl-font-size {
  font-size: var(--fs-extralarge) !important;
}

p.extralargetext.bordertop,
.extralargetext.bordertop {
  border-top: 1px solid var(--border-color);
  padding-top: 20px;
}

.alignfull-pad-all {
  padding-left: 3% !important;
  padding-right: 3% !important;
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

footer p {
  margin-bottom: 10px;
}

footer address p {
  font-size: .80rem;
  margin-bottom: 15px;
}

footer .footerphone strong {
  font-weight: var(--fw-normal);
  color: var(--white);
}

footer p.disclosures {
  margin-bottom: 30px;
  font-size: var(--fs-footer);
}

p img {
  max-width: 100%;
  height: auto;
  margin-bottom: 0;
}

img {
  object-fit: cover;
}

strong {
  font-weight: var(--fw-bold);
}

/* Adjust text size up for mobile */
@media (min-width: 100px) and (max-width: 600px) {

  p,
  blockquote,
  ol,
  ul {
    font-size: var(--fs-mobile);
  }

  p.largetext,
  .largetext {
    font-size: var(--fs-large);
  }

  p.smalltext,
  .smalltext {
    font-size: var(--fs-small);
  }
}

/* End adjust text up for mobile */

.ultrathinweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-ultrathin);
}

.thinweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-thin);
}

.extralightweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-extralight);
}

.lightweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-light);
}

.normalweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-normal);
}

.mediumweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-medium);
}

.semiboldweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-semibold);
}

.boldweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-bold);
}

.blackweight {
  font-family: var(--ff-primary);
  font-weight: var(--fw-black);
}

.vertical-center {
  display: flex;
  align-items: center !important;
}

.vertical-bottom {
  display: flex;
  align-items: flex-end !important;
}

.vertical-center p,
.vertical-center h2,
.vertical-center h3,
.vertical-center h4,
.wp-block-columns.vertical-center {
  margin: 0;
}

.team.vertical-center p,
.team.vertical-center h2,
.team.vertical-center h3,
.team.vertical-center h4 {
  margin-bottom: 25px;
}

.team.vertical-center h3 {
  padding-top: 0;
}

.team.vertical-center {
  position: relative;
}


.vertical-center.team div:first-of-type {
  padding-left: 5.5%;
}

.team.vertical-center p.supheading {
  margin-bottom: 0;
}

.border-top {
  padding-top: 20px;
  margin-top: 50px;
  border-top: 1px solid var(--border-color);
}

/* FIX LATER - style below not working with new .layout-grid setup */
.border-top-inline {
  padding-top: 20px;
  margin-top: 50px;
  border-top: 1px solid var(--border-color);
}

/* END FIX LATER */

.bg-light-grey {
  background-color: var(--light-grey);
}

.bg-faint-grey {
  background-color: var(--faint-grey);
}

.bg-extra-faint-grey {
  background-color: var(--extra-faint-grey);
}

.bg-extra-faint-grey-fade {
  background-image: linear-gradient(to bottom, var(--extra-faint-grey), hsl(0, 0%, 100%));
}

.clear:after {
  content: "";
  display: table;
  clear: both;
}

.wp-block-separator,
hr {
  height: 1px;
  border: 0;
  margin: 30px 0;
  background: var(--light-grey);
}

.wp-block-separator.thick-separator {
  height: 10px;
  margin: 100px 0 80px;
}

sup,
sub {
  position: relative;
  vertical-align: baseline;
  font-size: 0.68rem;
  line-height: 0;
  padding-left: 2px;
  top: -0.4em;
}

sup {
  top: -0.5em;
}

sub {
  top: 0.4em;
}

.wp-block-pullquote {
  margin: 0;
  padding: 0;
}

.wp-block-pullquote p,
.wp-block-pullquote.alignleft p,
.wp-block-pullquote.alignright p,
.wp-block-pullquote.has-text-align-left p,
.wp-block-pullquote.has-text-align-right p {
  font-size: inherit;
}

.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright,
.wp-block-pullquote.has-text-align-left,
.wp-block-pullquote.has-text-align-right {
  max-width: none;
}

blockquote {
  padding: 25px 0 25px 0;
  margin: 25px 0 0 0;
  font-weight: var(--fw-normal);
  font-size: var(--fs-normal);
  font-style: normal;
  border-top: 5px solid var(--light-grey);
  text-align: right;
  float: right;
}

blockquote cite {
  font-family: var(--ff-normal);
  font-style: normal;
  font-size: var(--fs-normal) !important;
}

blockquote cite::before {
  content: "—";
  padding-right: 5px;
  display: inline-block;
}

blockquote p {
  margin-bottom: 10px;
}

/* QUOTES ========================================================= */

.quote {}

.quote-text {
  line-height: var(--line-height-loose);
  padding: 0 60px 0 0;
  font-style: italic;
  -webkit-font-smoothing: antialiased;
  font-family: var(--ff-primary);
}

.quote-author {
  font-size: var(--fs-quote-author);
  line-height: var(--line-height-loose);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-loose);
  word-spacing: 0.4em;
  font-weight: var(--fw-normal);
}

.quote-author::before {
  content: "";
  margin: 0 auto 30px auto;
  display: block;
  height: 4px;
  width: 190px;
  background-color: var(--light-grey);
}

.quote-author strong::after {
  content: "";
  display: inline-block;
  margin-left: 15px;
}

.quote-text-alt {
  font-size: var(--fs-largequote);
  font-family: var(--ff-primary);
  font-weight: var(--fw-bold);
}

.quote-text-alt-author {
  font-size: calc(var(--fs-normal) - 0.01rem);
}

.quote-text-alt-author strong::after {
  content: "";
  display: inline-block;
  margin-right: 15px;
}

ol,
ul {
  padding: 0 0 0 22px;
}

ol ol,
ul ul {
  padding: 10px 0 0 22px;
  margin-bottom: 0;
}

ol li,
ul li {
  padding: 0 0 10px 0;
}

ol li:last-child,
ul li:last-child {
  padding: 0;
}

ol ol li:last-child,
ul ul li:last-child {
  padding-bottom: 0;
}

ul {
  list-style: square;
  list-style: disc;
}

ul ul {
  list-style: circle;
}

ul.linklist {
  list-style: none;
  padding: 0;
}

ul.linklist li {
  margin: 10px 0 10px;
  border-bottom: 1px solid var(--light-grey);
  padding: 10px 0 20px;
  line-height: 1.5;
}

ul.horizontal-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.horizontal-list li {
  display: inline-block;
  padding: 0 10px;
  border-right: 1px solid var(--light-grey);
}

ul.horizontal-list li:first-child {
  padding-left: 0;
}

ul.horizontal-list li:last-child {
  padding-right: 0;
  border-right: none;
}

/* OL STYLES INCLUDING A BOLD NUMBER STYLE  ================================================ */

ol {
  counter-reset: item;
  padding-left: 0;
}

ol li {
  counter-increment: item;
  list-style-type: none;
}

ol li::before {
  content: counters(item, ".") " ";
}

ol.schema-how-to-steps li::before {
  content: normal;
}

ol.bold-number li::before {
  font-weight: bold;
}

/* SHADOWBLOCK & FLAT BLOCK ====================================== */

.shadow-block-single {
  position: relative;
  margin-top: 10px;
  padding: 60px;
  display: block;
  height: auto;
  width: auto;
  background-color: var(--white);
  border-top: 10px solid var(--color-secondary);
  box-shadow: var(--shadow);
}

.shadow-block-single img {
  width: 100%;
  height: auto;
}

.shadow-block-single figure.wp-block-image,
.shadow-block-single figure.wp-block-embed {
  margin-top: 0;
  margin-bottom: 0;
}

.shadow-block-single a {
  border-bottom: none !important;
}

.shadow-block-single::after {
  content: "";
  position: absolute;
  display: block;
  margin: -60px 0 0 -60px;
  padding-bottom: 60px;
  z-index: -1;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  box-shadow: 0px 45px 50px -22px rgba(31, 0, 38, 0.5) !important;
}

.shadow-block-single:hover::after {
  opacity: 1;
}

.flat-block {
  padding: 60px;
  border-top: 10px solid var(--color-secondary);
  background-color: var(--extra-faint-grey);
}

/* Change gap of column for multi block */
.wp-block-columns.is-layout-flex.shadow-block-multi {
  gap: 4em;
}

.shadow-block-multi .wp-block-column {
  border-top: 10px solid var(--color-primary);
  padding: 40px;
  box-shadow: var(--shadow);
}

/* CLIP PATHS: https://ishadeed.com/article/clip-path/ */

/* hover clip path */

:root {
  --pos: center top;
  --size: 0;
}

.clip-path-hover-card {
  position: relative;
  display: block;
  flex-direction: column;
  background-color: #fff;
  padding: 1rem;
  border-radius: 5px;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  cursor: pointer;
  transition: 0.2s linear;
}

.clip-path-hover-card p {
  position: relative;
  z-index: 1;
  transition: 0.2s linear;
}

.clip-path-hover-card:hover p {
  color: #fff;
}

.clip-path-hover-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #7777e9;
  /*clip-path: circle(0 at center top); /* circle */
  clip-path: inset(0 0 100% 0);
  transition: 0.2s linear;
}

.clip-path-hover-card:hover::before {
  /* clip-path: circle(300 at center top); /* circle */
  clip-path: inset(0 0 0 0);
}

/* ICONS  ======================================================== */

.icon-arrow-right {
  width: 14px;
  height: 14px;
  position: relative;
  top: 1px;
  text-align: center;
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#maincontent .icon-arrow-right {
  width: 12px;
  height: 12px;
}

.icon-circle {
  display: block;
  margin: 0 auto;
  width: 56px;
  height: 56px;
  line-height: 56px;
  border-radius: 50%;
  text-align: center;
  background-color: var(--light-grey);
}

/* BUTTONS  ====================================================== */

.button a,
.gform_wrapper input[type="submit"],
input[type="submit"],
.wp-block-button a,
a.wp-block-file__button {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  font-family: var(--ff-primary);
  background-color: var(--color-secondary) !important;
  text-align: center;
  letter-spacing: var(--letter-spacing-tight) !important;
  font-size: var(--fs-button) !important;
  font-weight: var(--fw-normal) !important;
  color: var(--white);
  border-radius: var(--border-radius-button) !important;
  transition: var(--transition-button) !important;
  height: 40px;
  padding-top: 0;
  /* to get text to visually center */
  padding-bottom: 0;
  /* override WP button dtyle */
  padding-right: 20px;
  padding-left: 20px;
  margin-top: 40px;
  border: none !important;
  position: relative;
}

.button a:hover,
.gform_wrapper input[type="submit"]:hover,
input[type="submit"]:hover,
.wp-block-button a:hover,
a.wp-block-file__button:hover,
.button a:visited:hover {
  background-color: var(--color-tertiary-dark) !important;
  border: none !important;
  color: var(--white) !important;
  box-shadow: var(--shadow-button);
}

.button.border-button a,
.wp-block-button.border-button a,
input[type="submit"].border-button {
  background-color: var(--color-tertiary);
  border: 2px solid var(--color-tertiary) !important;
  color: var(--white);
}

.button.border-button a:hover,
.wp-block-button.border-button a:hover,
input[type="submit"].border-button:hover {
  background-color: transparent !important;
  border: 2px solid var(--color-tertiary) !important;
  color: var(--color-tertiary) !important;
}

.button.small a,
.wp-block-button.small a,
.formbanner-form .gform_wrapper input[type="submit"] {
  height: 36px !important;
  padding-right: 20px !important;
  padding-left: 20px !important;
  margin-top: 30px !important;
  font-size: var(--fs-button-small) !important;
}

.wp-block-button.arrow-button a {
  padding-left: 60px;
  padding-right: 60px;
}

.wp-block-button.arrow-button a::after {
  content: "〉";
  font-weight: var(--fw-bold);
  position: absolute;
  right: 12px;
  transition: var(--transition-button);
}

.wp-block-button.arrow-button a:hover::after {
  right: 8px;
}

.search-again .button a,
.search-again input[type="submit"],
.search-again .wp-block-button a {
  margin-top: -1px !important;
  padding: 5px 20px 5px 20px;
}

.search-again input[type="text"] {
  height: 50px;
  width: 100%;
  max-width: 350px;
  margin-right: 20px;
  margin-bottom: 10px;
}

.banner-section .button a {
  margin-top: 10px;
  background-color: var(--color-tertiary);
  color: var(--white);
}

.banner-section .button a:hover {
  color: var(--white) !important;
  background-color: var(--color-tertiary-dark) !important;
}

/* HEADINGS  ====================================================  */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--ff-secondary);
  font-weight: var(--fw-bold);
  color: var(--black);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  margin: 0;
  padding: 0;
}

.banner-section h1,
.banner-section .supheading {
  line-height: 1.1;
  text-shadow: var(--shadow-heading);
  letter-spacing: normal;
}

.banner-section .blog-header h1,
.banner-section.textbanner h1 {
  text-shadow: none;
}

.banner-section h1,
.banner-section .supheading,
.banner-section .banner-text {
  color: var(--black);
  color: var(--white);
  z-index: 9;
  position: relative;
}

.splitphotobanner-section.banner-section h1 {
  color: var(--color-secondary);
  color: var(--white);
}

.home .banner-section h1,
.home .banner-section .supheading,
.home .banner-section .banner-text {
  color: var(--white);
  font-size: calc(var(--fs-h1) - .6rem);
}

.featured-post-text h1 {
  font-size: var(--fs-blog-heading);
  padding-bottom: 10px;
}

.banner-section .banner-text {
  font-size: var(--fs-banner-text-sec);
  padding-top: 30px;
}

.home .banner-section .banner-text {
  font-size: var(--fs-banner-text);
}

.banner-section.textbanner-section h1,
.banner-section h1.blog-name {
  color: var(--black);
  font-size: calc(var(--fs-h1) + .6rem);
}

.error404 h1 {
  color: var(--black);
}

h1 {
  font-size: var(--fs-h1-sec);
  padding: 10px 0 35px;
}

.home h1 {
  font-size: var(--fs-h1);
}

h2 {
  font-size: var(--fs-h2);
  padding: 10px 0 30px;
  position: relative;
}

h3 {
  font-size: var(--fs-h3);
  padding: 10px 0 25px;
}

.single h3 {
  font-size: var(--fs-h3);
}


h3 span {
  font-size: calc(var(--fs-h3) - 0.4rem);
  display: inline-block;
}

h4 {
  font-size: var(--fs-h4);
  padding: 10px 0 25px;
}

h4.all-caps {
  text-transform: uppercase;
}

h5 {
  font-size: var(--fs-h5);
  padding: 10px 0 25px;
}

h6 {
  font-size: var(--fs-h6);
  padding: 10px 0 15px;
}

.subheading {
  font-style: italic;
  font-size: var(--fs-subheading);
  font-weight: var(--fw-normal);
  font-family: var(--ff-secondary);
  padding-bottom: 28px;
}

.supheading {
  font-family: var(--ff-primary);
  font-size: var(--fs-supheading);
  font-weight: var(--fw-bold);
  letter-spacing: var(--letter-spacing-loose);
  color: var(--color-tertiary);
  text-transform: uppercase;
  padding-bottom: 6px;
  z-index: 9;
}

.teammember-single-name .supheading {
  font-size: 12px;
  color: var(--color-tertiary);
}

.banner-section .supheading {
  color: var(--white);
}

.textbanner-section .supheading {
  color: var(--black) !important;
}

p.supheading {
  margin-bottom: 0;
}

.photobanner-section .supheading {
  color: var(--white);
}

.textbanner-section .supheading {
  color: var(--black);
}

.formbanner-section .supheading,
.fullheightbanner-section .supheading {
  position: relative;
  color: var(--white);
  z-index: 9;
}

/* WP FIGURE STYLES =============================================== */
/* Use a <figure> element to mark up a photo in a document, and a <figcaption> element to define a caption for the photo. */

figure.wp-block-image,
figure.wp-block-embed {
  margin-top: 50px;
}

figure.wp-block-image .no-top-margin,
figure.wp-block-embed .no-top-margin {
  margin-top: 0;
}

.post-body .wp-caption,
.post-body .aligncenter {
  width: 100% !important;
}

figure.wp-block-embed {
  margin-bottom: 50px;
}

figcaption,
.wp-caption-text {
  color: var(--grey);
  font-size: calc(var(--fs-normal) - 22%);
  font-style: italic;
  padding-top: 3px;
  padding-bottom: 12px;
  margin-bottom: 30px !important;
  border-bottom: 1px solid var(--light-grey);
}

.wp-block-image figure.alignleft {
  margin-right: 60px;
}

.wp-block-image figure.alignright {
  margin-left: 60px;
}

/* ABOVE HEADER ALERTS ========================================== */

.above-header {
  background-color: var(--faint-grey);
  text-align: center;
  font-size: calc(var(--fs-mobile) - 0.2rem);
  padding-top: 3px;
  padding-bottom: 4px;
}

.above-header p {
  font-size: calc(var(--fs-mobile) - 0.2rem);
  margin: 0;
  padding: 0;
}

/* POP UP MODAL ========================================== */

.swal2-html-container {
  font-size: var(--fs-normal) !important;
  line-height: var(--line-height-loose) !important;
}

.swal2-close {
  outline: none !important;
  box-shadow: none !important;
}

.swal2-close:hover {
  color: var(--color-primary);
}

.swal2-popup {
  width: 600px;
  padding: 0 0 20px;
}

.swal2-html-container .modal-content {
  padding: 10px 0 10px;
}

h2.swal2-title {
  font-size: var(--fs-h3);
  padding: 25px 0 10px;
}

.swal2-html-container {
  padding: 0 0 10px;
}

.swal2-html-container .button a {
  margin-top: 18px;
}

/* MOBILE NAV =================================================== */

.header-logo-link {
  display: none;
}

.mega-menu-wrap .mega-menu {
  font-family: var(--ff-primary);
  font-weight: var(--fw-light) !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-item.mega-current-menu-item>a.mega-menu-link,
.mega-menu-wrap .mega-menu>li.mega-menu-item.mega-current-menu-ancestor>a.mega-menu-link,
.mega-menu-wrap .mega-menu>li.mega-menu-item.mega-current-page-ancestor>a.mega-menu-link {
  background-color: var(--nav-mobile-color-background);
}

.mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
  font-size: var(--fs-mobile-menu) !important;
}

.mega-menu-wrap a.mega-menu-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mega-menu-wrap .mega-menu>li.mega-menu-item>a.mega-menu-link {
  font-size: var(--fs-mobile-menu) !important;
  border-top: 1px solid var(--nav-mobile-border) !important;
  text-transform: uppercase;
}

.mega-menu-wrap .mega-menu li.mega-menu-item:nth-child(2)>a.mega-menu-link {
  border-top: none !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-item:nth-last-child(2)>a.mega-menu-link {
  border-bottom: 1px solid var(--nav-mobile-border);
}

.mega-menu-wrap .mega-menu>li.mega-menu-item.mega-toggle-on>a.mega-menu-link {
  border-top: 1px solid var(--nav-mobile-border);
  border-bottom: 1px solid var(--nav-mobile-border);
}

.mega-menu-wrap .mega-menu>li.mega-menu-item.click-to-call a.mega-menu-link span {
  font-size: calc(var(--fs-mobile-menu) + 0.9rem) !important;
  display: block !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu>li.mega-menu-item li.mega-menu-item>a.mega-menu-link,
.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu li.mega-menu-column>ul.mega-sub-menu>li.mega-menu-item li.mega-menu-item>a.mega-menu-link {
  font-family: var(--ff-primary);
  font-size: var(--fs-subnav) !important;
  padding: 3px 0;
}

.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu>li.mega-menu-item.mega-menu-columns-3-of-7 {
  width: 100%;
}

.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu>li.mega-menu-item>a.mega-menu-link,
.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu li.mega-menu-column>ul.mega-sub-menu>li.mega-menu-item>a.mega-menu-link,
.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu>li.mega-menu-item>a.mega-menu-link:hover,
.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu li.mega-menu-column>ul.mega-sub-menu>li.mega-menu-item>a.mega-menu-link:hover {
  font-weight: var(--fw-light);
}

.mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.mega-menu-wrap .mega-menu li .mega-search-wrap {
  margin: 5px 0 50px !important;
  display: block !important;
}

li.mega-mobile-search .mega-search-wrap {
  position: relative !important;
  height: 60px;
}

.mega-menu-wrap .mega-menu li .mega-search.mega-search-open input::placeholder {
  color: rgb(68, 68, 68);
  font-size: var(--fs-mobile-menu);
}

li.mega-mobile-search .mega-search-wrap::after {
  content: "WMS Advisors";
  display: block;
  width: 100%;
  color: rgb(68, 68, 68);
  text-align: center;
  padding-top: 14px;
  font-size: 1rem;
}

.mega-menu-wrap .mega-menu li.mega-mobile-search {
  border-bottom: 1px solid var(--nav-mobile-border);
}

.mega-menu-wrap .mega-menu>li.mega-menu-item>a.mega-menu-link {
  margin: 0 0 0 20px !important;
  padding: 0 !important;
  font-weight: var(--fw-semibold) !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
  padding-left: 20px !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-item.mega-menu-item-has-children>a.mega-menu-link span.mega-indicator {
  border-left: 1px solid var(--nav-mobile-border);
  padding: 0 10px !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-item.mega-menu-item-has-children.mega-toggle-on>a.mega-menu-link span.mega-indicator {
  border-bottom: 1px solid var(--nav-mobile-border);
}

.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu>li.mega-menu-item>a.mega-menu-link {
  font-family: var(--ff-primary);
  font-size: 11px !important;
  font-weight: var(--fw-semibold) !important;
  border-bottom: 1px solid var(--nav-mobile-border) !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-megamenu>ul.mega-sub-menu>li.mega-menu-item ul.mega-sub-menu {
  padding-top: 10px;
}

.mega-menu-wrap .mega-menu>li.mega-menu-item.click-to-call a.mega-menu-link {
  padding-top: 28px !important;
  text-transform: uppercase !important;
  font-size: calc(var(--fs-mobile-menu) - 0.2rem) !important;
  line-height: 1.8em !important;
  height: 115px !important;
  border-bottom: 10px solid var(--light-grey) !important;
  background-color: var(--faint-grey) !important;
}

.mega-menu-wrap .mega-menu>li.mega-menu-item.click-to-call a.mega-menu-link span {
  font-size: calc(var(--fs-mobile-menu) + 0.3rem) !important;
  display: block !important;
}

/* TABLES ======================================================= */

.wp-block-table table {
  border: none;
  border-top: 2px solid var(--grey);
  border-bottom: 2px solid var(--grey);
}

.wp-block-table thead {
  background-color: var(--faint-grey);
  border-bottom: 2px solid var(--grey);
}

.wp-block-table td,
.wp-block-table th {
  border: none;
  text-align: left;
}

.wp-block-table tbody tr {
  background-color: var(--extra-faint-grey);
}

.wp-block-table tbody tr:nth-child(odd) {
  background-color: var(--white);
}

.wp-block-table tbody td {
  border-top: 1px solid var(--light-grey);
  border-bottom: 1px solid var(--light-grey);
}

.wp-block-table tfoot {
  border-top: 2px solid var(--grey);
  background-color: var(--faint-grey);
}

.wp-block-table figcaption,
.wp-block-table .wp-caption-text {
  padding-top: 12px;
}

.values-margin {
  padding-left: 3%;
}

.values-column figure {
  margin: 0;
  padding: 0 0 70px;
}

.values-column .wp-block-column {
  border-left: var(--border-color-light) 1px solid;
  padding: 7px 20px 20px 20px;
}

.values-column p {
  margin: 0;
  padding: 0;
}

.values-column .values-column-number {
  font-size: 2.6rem;
  color: var(--color-tertiary);
  font-weight: var(--fw-light);
  padding-bottom: 70px;
  line-height: 1;
}

.values-column h3 {
  font-size: 1.3rem;
  font-family: var(--ff-primary);
  padding: 10px 0 25px;
}

.values-column h3.first-value {
  font-size: 1.6rem;
}

/* BRODER WRAP ================================== */

.border-wrap .wp-block-column {
  border: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
}

.border-wrap .wp-block-column p {
  margin: 0;
  padding: 0;
}

.border-wrap .wp-block-column p a {
  width: 100%;
  height: 100%;
  display: block;
  padding: 20px 20px;
  color: #333333;
  text-transform: uppercase;
  font-weight: var(--fw-medium);
}

.border-wrap .wp-block-column p a:hover {
  border-bottom: none;
  color: var(--black);
  background-color: var(--extra-faint-grey);
}

/* FLEX LIST ================================== */

.flex-list ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.flex-list ul li {
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-secondary);
}

.flex-list ul li a {
  width: 100%;
  height: 100%;
  display: block;
  padding: 5px 40px;
  text-align: center;
  color: #fff;
  background-color: var(--color-secondary);
  text-transform: uppercase;
  font-weight: var(--fw-medium);
  font-size: .80rem;
  transition: var(--transition-button);
}

.flex-list ul li a:hover {
  border-bottom: none;
  color: var(--black);
  background-color: transparent;
}

/* ABOVE FOOTER - CTA or other content ========================== */

.abovefooter {
  text-align: center;
  margin-top: 60px;
  margin-bottom: 50px;
  padding-top: 80px;
  position: relative;
}

.abovefooter::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(180deg, rgb(244, 244, 244) 0%, rgb(255, 255, 255) 100%);
  z-index: -1;
}

.abovefooter .button a {
  margin-top: 5px;
}

.abovefooter h2 {
  font-size: calc(var(--fs-h2) - 0.2em);
}

.page-contact .abovefooter {
  display: none;
}

.page-contact footer {
  margin-top: 50px;
}

.abovefooter h3 {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-top: 60px;
}

.abovefooter h3::before {
  content: "";
  position: relative;
  display: flex;
  width: 222px;
  height: 2px;
  top: -52px;
  background-color: black;
  flex-shrink: 0;
}

/* above-footer-cta-round */

.above-footer-cta-round {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 200px 200px;
  /* width height */
}

.newsletter-wrapper {
  background-color: var(--light-grey);
  display: flex;
  justify-content: center;
  padding: 40px 0;
}

/* FOOTER  ======================================================= */

footer {
  padding-top: 40px;
  font-size: var(--fs-footer);
  background-color: var(--extra-faint-grey);
  /* background: linear-gradient(180deg, rgb(246, 246, 246) 0%, var(--faint-grey) 100%); */
  background-color: var(--color-primary);
  font-weight: var(--fw-normal);
}

.footer {
  padding-bottom: 40px;
  color: var(--white-transparent);
}

.footer-top {
  text-align: center;
}

footer a {
  color: var(--white) !important;
}

footer a:hover {
  color: var(--white) !important;
}

footer .copyright a:hover {
  border-bottom: 1px solid var(--white);
}

.footer-nav {
  width: 100%;
}

.footer-menu {
  display: flex;
  align-items: center;
}

.footer-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}

.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0 0 5px 15px;
  -moz-column-count: 2;
  column-count: 2;
}

.footer-nav ul li {
  padding: 0 0 4px;
}

.footer-logo img {
  width: calc(var(--footer-logo-width) - 30px);
  height: auto;
  margin: 0 auto;
  margin-bottom: 40px;
}

.footer-phone {
  font-weight: var(--fw-bold);
  padding-top: 10px;
}

.footer-contact {
  padding: 40px 0 40px 0;
  text-align: center;
}

.social-icons .left-logo img,
.social-icons .right-logo img {
  width: 80px;
  height: auto;
  opacity: .8;
}

.social-icons .right-logo img {
  width: 40px;
}

svg.icon-arrow-right.show-icon-on-hover {
  display: none;
}

footer .social-icons,
.social-icons.contact,
.social-icons {
  display: flex;
  color: var(--white);
  margin: 20px auto;
  width: 100%;
  justify-content: space-evenly;
  align-items: center;
}

.teammember-single-linkedin.social-icons {
  margin: 0;
}

.nav-social.social-icons {
  margin: 0;
}

.social-icons a:hover {
  border-bottom: none;
}

footer .social-icons svg,
.social-icons.contact svg,
.social-icons svg,
.nav-social.social-icons svg {
  width: 23px;
  height: 23px;
  top: 3px;
  left: 2px;
  position: relative;
  text-align: center;
  opacity: .7;
  transition: var(--transition);
}

.nav-social.social-icons svg {
  opacity: 1;
}

.teammember-email-linkedin .social-icons svg.icon-envelope,
.teammember-single-email-linkedin .social-icons svg.icon-envelope {
  width: 30px;
  height: 30px;
  top: 1px;
  left: 0;
}

.teammember-email-linkedin .social-icons svg.icon-linkedin-rounded,
.teammember-single-email-linkedin .social-icons svg.icon-linkedin-rounded {
  width: 20px;
  height: 20px;
  top: 0;
  right: 0;
}

footer .social-icons svg.icon-facebook-round,
.social-icons.contact svg.icon-facebook-round,
.social-icons svg.icon-facebook-round {
  width: 32px;
  height: 32px;
  top: 0px;
  left: 0px;
}

footer .social-icons svg.icon-linkedin-rounded,
.social-icons.contact svg.icon-linkedin-rounded,
.social-icons svg.icon-linkedin-rounded {
  width: 37px;
  height: 37px;
  top: 5px;
  left: 1px;
}

.single-linkedin .social-icons svg.icon-linkedin-rounded {
  width: 22px;
  height: 22px;
  top: 0px;
  left: 0px;
}

.single-linkedin .social-icons a svg {
  fill: var(--color-tertiary-dark);
}

.nav-social.social-icons svg.icon-facebook-round {
  width: 19px;
  height: 19px;
  top: 0;
  left: 0;
}

.nav-social.social-icons svg.icon-linkedin-rounded {
  width: 19px;
  height: 19px;
  top: 0;
  left: 0;
}

footer .social-icons a svg,
.social-icons.contact a svg,
.social-icons a svg {
  fill: var(--color-primary-extralight);
  margin: 0 20px 0 0;
}

.nav-social.social-icons a svg {
  fill: var(--color-primary-extralight);
  margin: 0 16px 0 0;
}

footer .social-icons svg.icon-twitter-x {
  fill: var(--white);
  opacity: .7;
}

footer .social-icons a:last-of-type svg,
.social-icons.contact a:last-of-type svg,
.social-icons a:last-of-type svg {
  margin: 0;
}

footer .social-icons a svg.last,
.social-icons.contact a svg.last,
.social-icons a svg {
  margin-right: 0;
}

footer .social-icons a svg:hover,
.social-icons.contact a svg:hover,
.social-icons a:hover svg {
  fill: var(--color-secondary);
  opacity: 1;
}

footer .social-icons a:hover svg.icon-twitter-x {
  fill: var(--white);
  opacity: 1;
}

.social-icons .icon {
  display: inline-block;
  padding: 0 40px;
}

#maincontent .social-icons a:hover {
  border-bottom: none;
}

.copyright {
  clear: both;
  background-color: var(--color-primary);
  color: var(--white-transparent);
  padding: 10px 0 10px;
}

.copyright p {
  text-align: center;
  font-weight: var(--fw-normal);
  font-size: var(--fs-copyright);
  color: var(--white-transparent);
}

.copyright p a,
.copyright .link-like {
  color: var(--white);
}

.copyright p a:hover,
.copyright .link-like:hover {
  color: var(--white);
  border-bottom: 1px solid var(--white);
}

/* SPACERS OPTIMIZED SIZES FOR DESKTOP AND MOBILE  ============================================= */
/* MOBILE SPACERS  ============================================= */

.wp-block-spacer {
  margin-top: 0;
  margin-bottom: 0;
  background-color: var(--state-spacer-background);
  position: relative;
}

.wp-block-spacer.is-style-small {
  height: 40px !important;
}

.wp-block-spacer.is-style-medium {
  height: 60px !important;
}

.wp-block-spacer.is-style-large {
  height: 80px !important;
}

.wp-block-spacer.is-style-x-large {
  height: 100px !important;
}

/* FORMS & INPUTS  ======================================================= */

.gform-theme--foundation .gform_fields,
.gform-theme--foundation .gform-grid-row {
  row-gap: var(--gf-form-gap-y-mobile) !important;
}

/* STATS  ====================================== */



/* TEAM MEMBER PAGE LAYOUT USING BLOCK RATHER THAN TEMPLATE WHICH IS RESERVED FOR LARGER SITES AND NOT INCLUDED IN THIS THEME. SEE UGA OUTREACH AND UGA SERVICE LEARNING FOR EXAMPLES OF TEAM MEMBER TEMPLATE SETUP. ================================================== */

.teammember-entry {
  display: grid;
  grid-template-columns: 30% 70%;
  margin: 0 0 40px;
  padding: 0 0 30px;
  border-bottom: 1px solid var(--border-color);
}

.teammember-entry a {
  border-bottom: none !important;
}

.teammember-photo img {
  width: 80%;
  height: auto;
}

.teammember-name {
  font-family: var(--ff-secondary);
  line-height: 1.2;
}

.teammember-name {
  font-size: var(--fs-teammember-name);
}

.teammember-name a {
  color: var(--black) !important;
}

.teammember-name span.teammember-credentials {
  font-size: var(--fs-teammember-credentials);
}

.teammember-details-wrapper,
.teammember-details {
  position: relative;
}

.teammember-details-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.teammember-job-title,
.teammember-single-job-title {
  padding-bottom: 4px;
  padding-top: 4px;
  font-size: var(--fs-teammember-jobtitle);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  color: var(--color-tertiary);
}

.teammember-single-job-title {
  font-size: var(--fs-teammember-single-jobtitle);
}

.teammember-phone {
  font-size: var(--fs-teammember-phone);
  font-weight: var(--fw-normal);
}

.teammember-single-phone,
.teammember-single-email,
.teammember-single-email a {
  font-size: var(--fs-teammember-single-phone);
  color: var(--gray) !important;
  font-weight: var(--fw-light) !important;
}

.teammember-single-email a:hover {
  border-color: var(--gray) !important;
}

.teammember-single-phone {
  padding-right: 15px;
}

.teammember-email-linkedin {
  margin-top: 15px;
}

.teammember-email-linkedin ul {
  display: flex;
  align-items: center;
  font-size: var(--fs-teammember-email-linkedin);
  list-style: none;
  padding: 0;
  margin: 0;
}

.teammember-email-linkedin ul li {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.teammember-single-phone-email-linkedin {
  display: flex;
  font-size: var(--fs-teammember-email-linkedin);
}

.single-linkedin {
  margin-left: 70px;
}

.single-phone-email {
  display: flex;
  flex-direction: column;
}


.teammember-single-email-linkedin {
  display: flex;
  font-size: var(--fs-teammember-single-email-linkedin);
}

.teammember-email-linkedin ul li {
  border-left: 1px solid var(--border-color-dark);
  padding-left: 15px;
  margin-right: 15px;
}

.teammember-email-linkedin ul li:first-of-type {
  border-left: none;
  padding-left: 0;
}

.teammember-bio-intro-wrapper {
  max-width: 85%;
}

.read-bio-link a {
  text-transform: uppercase;
  font-size: 12px;
  margin-top: 16px;
  color: var(--white) !important;
  border: 1px solid var(--color-tertiary) !important;
  background-color: var(--color-tertiary);
  font-weight: var(--fw-medium);
  padding: 2px 20px 2px;
  display: inline-block;
  border-radius: 15px;
  transition: var(--transition-button);
}

.read-bio-link a:hover {
  color: var(--color-tertiary) !important;
  border: 1px solid var(--color-tertiary) !important;
  background-color: var(--white);
}

/* SINGLE TEAM MEMBER =================================================== */

.teammember-single-wrapper {
  margin-top: 0;
  padding-bottom: 0;
  margin-bottom: 5px;
}

.teammember-single-contact-wrapper {
  padding-top: 12px;
}

.teammember-single-photo img {
  width: auto;
  max-height: 300px;
  padding: 40px 0;
}

.teammember-single-wrapper h2 {
  padding: 7px 0 5px 0;
  font-size: var(--fs-teammember-single-name);
}

.teammember-single-wrapper h2 span.teammember-single-credentials {
  display: inline;
  font-size: var(--fs-teammember-single-credentials);
}

.teammember-bio-content-wrapper {
  padding-top: 60px;
}

/* BLOG  ========================================================== */


.post-single {
  position: relative;
  margin-top: 30px;
  /* box-shadow: 0 0 2px 0 #afafaf; */
  border-radius: var(--border-radius-button);
}

.single .post-single {
  box-shadow: none;
}

.blog-description {
  font-style: italic;
  font-size: calc(var(--fs-normal) + 0.3rem);
  font-weight: 400;
  font-family: var(--ff-secondary);
  padding-bottom: 28px;
}

.blog .post-single,
.blog .post-single-more,
.category .post-single,
.category .post-single-more,
.author .post-single,
.author .post-single-more {
  margin-bottom: 50px;
}

.single .blog-header {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-left: 2%;
  margin-top: 60px;
}

.single .blog-header h1 {
  font-size: var(--fs-blog-heading);
  line-height: 1.2;
  color: var(--black);
}

.archive h2 {
  font-size: calc(var(--fs-h2) + 1.25rem);
}

.archive h2 span {
  font-size: calc(var(--fs-h2) - 1.25rem);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--color-font-grey);
  display: block;
}

.blog .post-single img,
.single .post-single-more img,
.category .post-single img,
.author .post-single img,
.archive .post-single img {
  /* max-height: 214px;
  height: 214px; */
  width: 100%;
  filter: grayscale(10%);
  opacity: .9;
}

.blog .post-single img {
  height: 300px;
}

.single .post-single-more img {
  height: 220px;
}

.blog .post-single:hover img,
.category .post-single:hover img,
.author .post-single:hover img,
.archive .post-single:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

.post-single a,
.post-single a:hover,
.post-single-more a,
.post-single-more a:hover {
  position: relative;
  display: block !important;
  width: 100% !important;
  border-bottom: none !important;
}

.post-single a .post-content-overlay-layout,
.post-single-more a .post-content-overlay-layout {
  position: absolute !important;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 80%;
  box-sizing: border-box;
  white-space: normal;
  text-align: left;
  color: white;
  font-size: calc(var(--fs-extralarge) + .35rem);
  line-height: var(--line-height-heading);
  font-weight: var(--fw-bold);
  z-index: 9;
}

.first-post-featured {
  position: relative;
  margin-bottom: 60px;
  padding-top: 50px;
  padding-bottom: 40px;
}

.first-post-featured .featured-thumbnail {
  display: none;
}

.first-post-featured::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 98.5vw;
  height: 100%;
  transform: translateX(-50%);
  z-index: -1;
  background-color: var(--extra-faint-grey);
}

.blog .first-post-featured .featured-thumbnail::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;
  background-image: linear-gradient(120deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .8));
  background-repeat: no-repeat;
  background-position: center center;
  opacity: .6;
  z-index: 1;
  transition: all .2s cubic-bezier(.4, 0, .2, 1);
  display: none;
}

.blog-banner-wrapper {
  position: absolute;
  top: 100px;
}

.blog-title {
  text-transform: uppercase;
  font-size: var(--fs-blog-title);
  letter-spacing: 0.09em;
  padding-bottom: 5px;
}

.blog-title::before {
  content: "";
  background-color: var(--black);
  display: inline-block;
  height: 1px;
  position: relative;
  vertical-align: middle;
  width: 28px;
  right: 10px;
  margin-left: 16px;
  margin-top: -3px;
}

.blog .featured-thumbnail::before,
.post-single-more .featured-thumbnail::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary);
  opacity: .6;
  z-index: 1;
  transition: opacity .2s cubic-bezier(.4, 0, .2, 1);
}

.blog .post-single:hover .featured-thumbnail::before,
.post-single-more:hover .featured-thumbnail::before {
  opacity: .8;
}

.post-content-card-layout {
  padding: 19px 15px 30px 20px;
}

.post-content-card-layout h3 {
  font-size: var(--fs-blog-index-heading);
  padding: 10px 0 0 15px;
}

.single .blog-header h1 span {
  display: block;
  font-size: calc(var(--fs-h1) - 2.2rem);
  padding-top: 30px;
  font-weight: var(--fw-normal);
  line-height: var(--line-height-heading);
}

.post-content-card-layout h3 span {
  display: none;
}

.post-single .category-link {
  position: absolute;
  bottom: 25px;
  padding-left: 28px;
}

.post-single-more .post-content-card-layout {
  padding: 19px 5px 20px 5px;
}

.post-meta-wrapper {
  display: flex;
  padding-bottom: 50px;
  line-height: 1.3;
  margin-top: -15px;
}

.post-meta-wrapper .post-meta {
  padding: 3px 10px 3px 10px !important;
  flex-grow: 1;
}

.post-meta.updated,
.post-meta.author,
.post-meta.date {
  padding-bottom: 20px;
}

.post-meta.category {
  padding-left: 0;
}

.post-meta.category a,
.post-meta.author a {
  color: #555;
}

.post-meta.category a:hover,
.post-meta.author a:hover {
  color: var(--link-color-hover);
  border-bottom: none;
}

.post-meta,
.category-link {
  font-size: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: var(--letter-spacing-loose);
  text-transform: uppercase;
  color: #555;
}

.post-meta span,
.post-meta span.post-author,
.post-meta span.post-date,
.category-link span,
.category-link span.post-author,
.category-link span.post-date {
  font-weight: var(--fw-light);
  font-size: var(--fs-category-link);
  display: block;
  text-transform: none;
  letter-spacing: 0em;
  padding-top: 5px !important;
}

.blog .post-single {
  /* min-height: 444px; */
}

.category .post-single,
.author .post-single {
  /* min-height: 394px; */
}

.insights-wrapper {
  display: grid;
  gap: 60px;
}

.post-single-more {
  transition: all 0.15s ease-in-out;
  box-shadow: 0 0 2px 0 #cfcfcf;
  position: relative;
}

.below-post {
  padding-bottom: 40px;
}

.blog-thumbnail img {
  width: 100%;
  height: auto;
}

.more-insights {
  padding-top: 60px;
  padding-bottom: 30px;
  margin-top: 60px;
  border-top: 1px solid #cfcfcf;
}

.all-insights {
  clear: both;
  margin-top: 45px;
}

/* PAGINATION ===================================================== */

.page-nav {
  margin: 60px 0 0;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pagination ul {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination ul li {
  float: left;
  padding: 0;
  margin: 0;
}

.pagination span,
.pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px 0 0;
  text-decoration: none;
  width: auto;
  color: #fff;
  font-weight: 600;
  background-color: var(--color-primary-light);
  transition: var(--transition-button);
  font-size: 1rem;
  padding: 8px 12px;
  line-height: 1;
  border: 2px solid var(--color-primary-light);
  border-radius: 40px;
  width: 40px;
  height: 40px;
}

.pagination ul li:last-child a {
  margin-right: 0;
}

.pagination a.prev,
.pagination a.next {
  font-size: 0.85rem;
  letter-spacing: var(--letter-spacing-tight);
  width: 110px;
}

.pagination .current {
  color: #fff;
  background-color: var(--color-primary);
  border: 2px solid var(--color-primary);
}

.pagination a:hover {
  color: #fff;
  background-color: var(--color-primary);
  border: 2px solid var(--color-primary);
}

/* SEARCH RESULTS PAGE ================================================ */

.search-section {
  border-bottom: 3px solid var(--light-grey);
  margin: 0 0 40px 0;
}

.search-results-layout {
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  border-bottom: 1px solid var(--light-grey);
}

.search-results-info {
  font-size: var(--fs-large);
  font-weight: bold;
  padding-top: 20px;
}

.search-results-info-page-count {
  font-size: calc(var(--fs-normal) - 0.2rem);
  padding-top: 5px;
  font-style: italic;
}

.search-results-layout .search-title {
  font-size: calc(var(--fs-normal) + 0.1rem);
  padding-bottom: 5px;
}

.search-results-layout .search-excerpt {
  font-size: calc(var(--fs-normal) - 0.1rem);
  color: var(--black);
}



/* BANNERS  ====================================================== */

.banner-section {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
}

.formbanner-section,
.photobanner-section,
.fullheightbanner-section,
.sliderbanner-section,
.blogbanner-section {
  /* margin-bottom: 40px; */
}

.photobanner-wrapper,
.formbanner-wrapper,
.fullheightbanner-wrapper {
  padding-left: var(--banner-pad-left);
  padding-right: var(--banner-pad-right);
  padding-top: 40px;
  padding-bottom: 40px;
}

.textbanner-wrapper {
  padding-top: 0px;
  padding-bottom: 30px;
}

.textbanner-section,
.banner-section.not-found-section {
  padding: 50px 0 30px;
}

.textbanner-text p {
  margin: 0;
  padding: 20px 0 0;
}

.formbanner-section,
.photobanner-section,
.fullheightbanner-section {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-position: left -160px top;
  padding-bottom: 40px;
}

.home .photobanner-section {
  padding-bottom: 0;
}

.home .formbanner-section::before,
.home .photobanner-section::before,
.home .fullheightbanner-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, .85));
}

.formbanner-section::before,
.photobanner-section::before,
.fullheightbanner-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background-image: linear-gradient(to right, rgba(8, 27, 24, 0.35), rgba(8, 27, 24, .65));
}

.page-client-login figure.wp-block-image {
  border-top: 1px solid var(--border-color);
  padding-top: 30px;
  margin-top: 0;
}

/* .formbanner-section::after,
.photobanner-section::after,
.fullheightbanner-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0.5));
} */

.photobanner-section h1,
.textbanner-section h1 {
  padding-bottom: 0;
}

.fullheightbanner-section h1 {
  padding-bottom: 20px;
}

.fullheightbanner-section {
  justify-content: flex-end;
}

.banner-cta.button {
  position: relative;
  z-index: 9;
}

.banner-section.photobanner-section,
.banner-section.formbanner-section,
.banner-section.slidebanner-section {
  position: relative;
}

.photobanner-section {
  height: 450px;
  text-align: right;
}

.splitphotobanner-wrapper {
  display: flex;
}

/* PROCESS LIST ==================================================== */

.process-list-wrapper ul {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}

.process-list-wrapper ul li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.process-list-wrapper ul li::before {
  content: "";
  display: flex;
  width: 20px;
  height: 1px;
  background-color: black;
}

.process-list-wrapper h4 {
  border-top: 1px solid var(--border-color);
  padding-top: 40px;
}

.process-list-wrapper h4:first-of-type {}

/* FORMBANNER CONTACT FORM BANNER ============================================== */

.formbanner .formbanner-form-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 9;
  position: relative;
  margin-top: 40px;
}

.formbanner .formbanner-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 30px 20px;
  background-color: rgb(0 0 0 / 0.25);
}

.formbanner h2.formbanner-formheading {
  font-size: calc(var(--fs-h2) - 0.4rem);
  color: var(--white);
  text-align: center;
  padding-top: 0;
  padding-bottom: 5px;
}

.formbanner p.formbanner-formsubheading {
  font-size: calc(var(--fs-normal) + 0.1rem);
  color: var(--white);
  text-align: center;
  margin: 0;
}

.formbanner .gform_wrapper.gravity-theme .gfield_label,
.formbanner .gform_wrapper.gravity-theme .ginput_complex label,
.gform_wrapper.gravity-theme .ginput_complex legend {
  color: var(--white);
}

.formbanner .gform-theme--foundation .gform_fields {
  grid-row-gap: 10px;
  row-gap: 20px;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea,
.gform_wrapper select {
  border-radius: 0 !important;
}

.gform_wrapper .gform_button {
  border-radius: 0 !important;
}

/* TIMELINE ======================================== */

.timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px 0;
}

/* The straight vertical line running down through the center-left */
.timeline::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 28px;
  width: 4px;
  background-color: #e0e0e0;
}

/* Individual timeline blocks */
.timeline-item {
  position: relative;
  margin-bottom: 60px;
  padding-left: 80px;
}

.timeline-item:last-of-type {
  margin-bottom: 20px;
}

/* Custom indicator dots mapped directly over the line */
.timeline-dot {
  position: absolute;
  left: 19px;
  top: 16px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: var(--color-secondary);
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 3px var(--color-secondary);
  z-index: 1;
}

/* Floating metadata/timestamp block placement */
.timeline-date {
  font-size: 1.8rem;
  color: var(--black);
  font-weight: var(--fw-medium);
  margin-bottom: 5px;
  position: absolute;
  left: -93px;
  top: 4px;
  z-index: 1;
}

.vertical-center p.pad-right-services-home {
  margin-bottom: 25px !important;
}

/* FAQ FEE TABLE ============================= */

.table-responsive {
  overflow-x: auto;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  margin-top: 15px;
  margin-bottom: 25px;
}

.fee-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #ffffff;
}

.fee-table th {
  background-color: #1a365d;
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
  text-align: left;
  padding: 18px 24px;
}

.fee-table td {
  padding: 18px 24px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 16px;
  color: #4a5568;
}

.fee-table tbody tr:hover {
  background-color: #f7fafc;
}

.fee-table tbody tr:last-child td {
  border-bottom: none;
}

.fee-rate {
  font-weight: 700;
  color: #2b6cb0;
}


/* The card housing the main written content */
.timeline-content {
  background-color: var(--faint-grey);
  padding: 15px 20px;
  border-radius: 6px;
  border: 1px solid #dee2e6;
}

.timeline-content h3 {
  margin: 0 0 10px 0;
  color: #333333;
  font-size: 1.2rem;
}

.timeline-content p {
  margin: 0;
  color: #555555;
  line-height: 1.5;
}


/* MODAL ========================================================= */
/* https://github.com/KittyGiraudel/a11y-dialog */

.dialog-container {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 99999;
}

.dialog-container[aria-hidden="true"] {
  display: none;
}

.dialog-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(43, 46, 56, 0.9);
  -webkit-animation: fade-in 200ms both;
  animation: fade-in 200ms both;
}

.footer-dialog-content {
  background-color: rgb(255, 255, 255);
  margin: auto;
  z-index: 2;
  position: relative;
  -webkit-animation: fade-in 400ms 200ms both, slide-up 400ms 200ms both;
  animation: fade-in 400ms 200ms both, slide-up 400ms 200ms both;
  padding: 30px;
  max-width: 90%;
  width: 300px;
  border-radius: 2px;
}

.page-dialog-content {
  background-color: rgb(255, 255, 255);
  margin: auto;
  z-index: 2;
  position: relative;
  -webkit-animation: fade-in 400ms 200ms both, slide-up 400ms 200ms both;
  animation: fade-in 400ms 200ms both, slide-up 400ms 200ms both;
  padding: 50px 50px 40px;
  max-width: 80%;
  width: 800px;
  border-radius: 2px;
}

@media screen and (min-width: 1024px) {
  .dialog-content {
    padding: 40px;
  }
}

@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
}

@-webkit-keyframes slide-up {
  from {
    transform: translateY(10%);
  }
}

@keyframes slide-up {
  from {
    transform: translateY(10%);
  }
}

.dialog-close {
  position: absolute;
  top: 10px;
  right: 8px;
  border: 0;
  padding: 0;
  background-color: transparent;
  font-weight: bold;
  font-size: 26px;
  width: 26px;
  height: 26px;
  text-align: center;
  cursor: pointer;
  transition: 0.15s;
}

@media screen and (min-width: 1024px) {
  .dialog-close {
    top: 5px;
    right: 5px;
  }
}

.link-like:hover,
.link-like:active {
  color: var(--link-color-hover);
}

.link-like {
  color: var(--link-color);
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

.faq-content-heading {
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid #000;
  display: inline-block;
}

/* FLIPBOXES JQUERY COLLAPSE for YOAST FAQ SECTIONS 
https://webcloud.se/jQuery-Collapse/ ================== */

.schema-faq-section {
  flex-basis: 100%;
}

/* .schema-faq-question a,
.accordion-heading a {
  cursor: url(images/hover.png) 52 52, auto !important;
  display: block;
  margin: 0;
  padding: 38px 0;
  text-align: left;
  cursor: pointer;
  color: var(--black);
  font-weight: 400;
  font-size: calc(var(--fs-normal) + 0.4rem);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  line-height: 1.4rem;
} */

/* .schema-faq-question a:hover,
.accordion-heading a:hover {
  border-bottom: none !important;
  color: var(--black) !important;
} */

.accordion-section>div a {
  border-top: 1px solid var(--light-grey) !important;
}

.accordion-section:last-of-type div a {
  border-bottom: 1px solid var(--light-grey) !important;
}

.accordion-section .accordion-heading.open a {
  border-bottom: none !important;
}

.schema-faq-question.open a,
.accordion-heading.open a {
  /* cursor: url(images/hover-close.png) 52 52, auto !important; */
  font-weight: var(--fw-bold);
  border-bottom: none;
}

.schema-faq-question a,
.accordion-heading a {
  display: block;
  margin: 0;
  padding: 38px 40px 38px 0;
  text-align: left;
  cursor: pointer;
  color: var(--black);
  font-weight: 400;
  font-size: var(--fs-large);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  line-height: 1.4;
}

.schema-faq-question a:hover,
.accordion-heading a:hover {
  border-bottom: none !important;
  color: var(--black) !important;
}

/* .schema-faq-question.open:hover a,
.schema-faq-question:hover a,
.accordion-heading.open:hover a,
.accordion-heading:hover a {
  border-bottom: none !important;
  font-size: calc(var(--fs-normal) + 0.5rem);
}

.schema-faq-question.open:hover a,
.accordion-heading.open:hover a {
  font-size: calc(var(--fs-normal) + 0.4rem);
} */

.schema-faq-question a:after,
.accordion-heading a:after {
  content: "";
  display: block;
  margin-top: 3px;
  width: 30px;
  height: 30px;
  float: right;
  margin-right: -40px;
  background: linear-gradient(#666, #666), linear-gradient(#666, #666);
  background-position: center;
  background-size: 50% 2px, 2px 50%;
  /*thickness = 2px, length = 50% (25px)*/
  background-repeat: no-repeat;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.schema-faq-question:hover a:after,
.accordion-heading:hover a:after {
  content: "";
  display: block;
  margin-top: -3px;
  width: 40px;
  height: 40px;
  float: right;
  background: linear-gradient(#666, #666), linear-gradient(#666, #666);
  background-position: center;
  background-size: 50% 2px, 2px 50%;
  /*thickness = 2px, length = 50% (25px)*/
  background-repeat: no-repeat;
}

.schema-faq-question.open a:after,
.accordion-heading.open a:after {
  margin-top: -3px;
  width: 40px;
  height: 40px;
  background: linear-gradient(#333, #333);
  background-position: center;
  background-size: 50% 2px;
  /*thickness = 2px, length = 50% (25px)*/
  background-repeat: no-repeat;
}

.schema-faq-answer,
.accordion-content {
  margin-bottom: 30px;
}

/* LINKLIST SERVICES ========================== */

ul.linklist-services {
  list-style: none;
  padding: 0;
}

ul.linklist-services li {
  margin: 10px 0 10px;
  border-bottom: 1px solid var(--light-grey);
  padding: 10px 0 20px;
  line-height: 1.5;
}

ul.linklist-services li a {
  position: relative;
  display: block;
  border-bottom: none !important;
  color: #000;
  font-size: var(--fs-medium);
  transition: var(--transition);
}

ul.linklist-services li a:hover {
  color: var(--link-color);
  padding-left: 10px;
}

ul.linklist-services li:hover a:after {
  right: 5px;
}

ul.linklist-services li a:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid #666;
  border-right: 2px solid #666;
  transform: translateY(-50%) rotate(45deg);
  transition: var(--transition);
}

/* STATS =============================== */

.stat-wrapper {
  padding-left: 3%;
  padding-right: 3%;
}

.stat-number-wrapper {
  font-size: 6.0rem;
  font-weight: var(--fw-bold);
  line-height: var(--line-height-tight);
  color: var(--black);
  font-family: var(--ff-secondary);
  letter-spacing: var(--letter-spacing-tight);
  opacity: .45;
}

.stat-after-number {
  font-size: 4.0rem;
  padding-left: 4px;
}

.stat-heading {
  font-family: var(--ff-secondary);
  color: var(--black);
  font-size: 1.7rem;
  font-weight: var(--fw-bold);
  padding: 40px 0 15px;
  line-height: 1.3;
  /* text-transform: uppercase; */
  padding: 4px 0 4px;
  text-align: left;
}

.stat-content {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--border-color);
}

.stat-cta-link {
  font-size: 1.2rem;
  font-weight: var(--fw-light);
  padding-top: 25px;
}

.stat-content:nth-last-child(2) {
  padding-bottom: 0;
  margin-bottom: 80px;
  border-bottom: none;
}

.stat-content.last {
  border: none;
  background-color: rgba(0, 0, 0, .1);
  font-size: 2.0rem;
  padding: 30px;
  font-weight: var(--fw-bold);
  line-height: var(--line-height-tight);
  color: var(--black);
  font-family: var(--ff-secondary);
  letter-spacing: var(--letter-spacing-tight);
  opacity: .62;
}

.stat-reveal-layer .stat-description {
  font-size: var(--fs-normal);
  padding-top: 10px;
}


/* SWIPER SLIDER - GENERAL STYLE OVERIDES FROM THE BUILT IN STYLES ====== */

.swiper-onpage .swiper-slide,
.swiper-banner .swiper-slide {
  /* This fixed mobile width problem where the slide calculation was too wide on mobile. Has to do with using display: grid as the wrapper further up. */
  width: 100% !important;
}

.swiper-banner .swiper-slide {
  position: relative;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Ensures image covers the slide while maintaining aspect ratio */
}

.swiper-lazy-preloader {
  border: 6px solid rgba(0, 0, 0, 0.1);
  border-top-color: var(--black);
  z-index: 1;
}

.swiper-pagination-bullet,
.swiper-pagination-bullet-active {
  background: white;
  transition: var(--transition);
}

.swiper-pagination-bullet {
  opacity: 0.5;
  width: 12px;
  height: 12px;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  margin-bottom: -2px !important;
  width: 16px;
  height: 16px;
}

.swiper-button-next,
.swiper-button-prev {
  display: none;
}

/* This style and the next prevent a weird ::selection from occasionally occuring */
.swiper-slide a::selection {
  background: transparent;
  color: var(--white);
}

.swiper-slide a img::selection {
  background: transparent;
}

/* Below is a major fix for using Swiper with CSS Grid */
.sliderbanner-section,
.sliderbanner-wrapper {
  overflow: hidden;
  width: 100%;
}

.swiper-banner .swiper-slide {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.swiper-banner .swiper-slide img {
  width: 100%;
  /*Adjust height for the amount of left and right crop of the banner image. Auto results in no crop. */
  height: 250px;
  z-index: 2;
}

.sliderbanner-content-wrapper {
  display: flex;
  width: 100%;
  padding: 0 2% 40px 3%;
  background-color: rgba(0, 0, 0, 1);
  z-index: 3;
}

.sliderbanner-content {
  color: var(--white) !important;
}

.sliderbanner-content h1 {
  /* display: flex; */
  font-size: var(--fs-sliderbanner-heading);
  /* justify-content: center; */
  padding: 20px 0 15px 0;
  margin: 0;
}

/* TESTIMONIAL  ================================================= */

.wpmslider-viewport {
  padding: 0;
}

.strong-view.wpmtst-default {
  /* width: 100%!important; Needs work */
  width: 100% !important;
}

.wpmslider-controls a:hover {
  border-bottom: none !important;
}

.strong-view.controls-style-buttons .wpmslider-stop::before,
.strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev::before,
.strong-view.controls-style-buttons:not(.rtl) .wpmslider-next::before,
.strong-view.controls-style-buttons:not(.rtl) .wpmslider-next::before {
  background: #c5c5c5 !important;
}

.strong-view.wpmtst-default .wpmtst-testimonial {
  border: none !important;
}

.testimonial-inner {
  font-weight: 400;
  color: var(--black);
  background-color: var(--faint-grey);
  padding: 40px 0 !important;
  /* offset-x | offset-y | blur-radius | spread-radius | color */
  box-shadow: -3px 2px 70px 0px rgba(144, 144, 144, .16);
  border-radius: 10px;
  position: relative;
}

.strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
  left: 7px !important;
}

.strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
  right: 7px !important;
}

.testimonial-inner :after {
  /* content: "";
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid var(--faint-grey);
  position: absolute;
  bottom: -20px;
  left: 1.8rem; */
}

.testimonial-stars {
  padding: 25px 0 0;
  margin: 0 !important;
}

.testimonial-name {
  font-style: italic;
  font-weight: 300;
  font-size: calc(var(--fs-normal) - 0.2rem);
  padding-left: 40px;
}

.testimonial-name::before {
  background-color: var(--black);
  content: "";
  display: inline-block;
  height: 1px;
  position: relative;
  vertical-align: middle;
  width: 16px;
  right: 8px;
  margin-top: -2px;
  margin-left: 8px;
}

.strong-view.wpmtst-default .wpmtst-testimonial {
  margin: 0 !important;
}

.strong-view.wpmtst-default .wpmtst-testimonial-heading {
  font-size: 1.2rem !important;
  font-weight: var(--fw-normal) !important;
  padding: 0 0 10px 0 !important;
  background: none !important;
}

.wpmtst-testimonial-content.testimonial-content {
  font-size: calc(var(--fs-normal) - 0.05rem) !important;
  padding: 0 40px;
}


/* REMOVE IF NOT USED ============================================ */

/* Full Width Single Testimonial Adjustments */

.strong-view-id-2.strong-view.controls-type-sides-outside:not(.rtl) .wpmslider-prev,
.strong-view-id-2.strong-view.controls-type-sides-outside:not(.rtl) .wpmslider-next {
  top: 100px !important;
}

.strong-view-id-2 .testimonial-inner {
  font-weight: 400;
  color: var(--black);
  font-size: calc(var(--fs-normal) + 0.09rem);
  background-color: transparent;
  /* padding: 40px!important; */
  /* offset-x | offset-y | blur-radius | spread-radius | color */
  /* box-shadow: -3px 2px 70px 0px rgba(144, 144, 144, .16); */
  border-radius: 0px;
  position: relative;
}

.strong-view-id-2 .testimonial-inner :after {
  display: none;
}

.strong-view-id-2.strong-view.wpmtst-default .wpmtst-testimonial-inner,
.strong-view-id-2.strong-view.wpmtst-default .wpmtst-testimonial-field {
  text-align: center !important;
}

.strong-view-id-2.strong-view.controls-type-sides-outside {
  padding: 0 !important;
}

/* REMOVE IF NOT USED ============================================ */

/* TESTIMONIAL VIEW THREE QuickLaunch ARCHITECT AND OTHERS - MODERN  ============================================ */

.testimonial-three {
  display: flex !important;
  align-items: center !important;
}

.strong-view-id-3.strong-view {
  margin-bottom: 0 !important;
}

.strong-view-id-3.strong-view.controls-style-buttons .wpmslider-stop::before,
.strong-view-id-3.strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev::before,
.strong-view-id-3.strong-view.controls-style-buttons:not(.rtl) .wpmslider-next::before,
.strong-view-id-3.strong-view.controls-style-buttons:not(.rtl) .wpmslider-next::before {
  background: none !important;
}

.strong-view-id-3 .wpmslider-viewport {
  padding: 0 !important;
  margin-top: 17px !important;
}

.strong-view-id-3 .wpmslider-controls a:hover {
  border-bottom: none !important;
}

.strong-view-id-3.strong-view-id-3.strong-view.wpmtst-default .wpmtst-testimonial {
  border: none !important;
}

.strong-view-id-3 .testimonial-inner {
  font-weight: var(--fw-normal) !important;
  font-size: calc(var (--fs-normal - 0.1rem)) !important;
  line-height: var(--line-height-loose) !important;
  color: var(color-font-grey) !important;
  background-color: transparent !important;
  padding: 30px 30px 0 !important;
  border-radius: 10px !important;
  position: relative !important;
  quotes: "\201C" "\201D" "\2018" "\2019" !important;
}

.strong-view-id-3 .testimonial-inner::before {
  content: open-quote;
  margin: 0 0 0 20px !important;
  font-weight: bold !important;
  font-size: 150px !important;
  color: var(--faint-grey) !important;
  position: absolute !important;
  top: -70px !important;
  left: -12px !important;
  z-index: -1 !important;
}

.strong-view-id-3 .testimonial-inner :after {
  display: none !important;
}

.strong-view-id-3 .testimonial-inner:after {
  content: close-quote;
  /* required to show opening double quote */
  visibility: hidden;
}

.strong-view-id-3 .testimonial-name {
  font-style: italic !important;
  font-weight: var(--fw-light) !important;
  font-size: calc(var(--fs-normal) - 0.2rem) !important;
  padding-top: 25px !important;
}

.strong-view-id-3 .testimonial-name:before {
  background-color: var(--color-font-primary);
  content: "";
  display: inline-block;
  height: 1px;
  position: relative;
  vertical-align: middle;
  width: 16px;
  right: 8px;
  margin-top: -2px;
  margin-left: 8px;
}

.strong-view-id-3 .wpmslider-controls {
  font-size: 10px !important;
  font-weight: var(--fw-semibold) !important;
  letter-spacing: var(letter-spacing-loose) !important;
  text-transform: uppercase !important;
  padding: 0 !important;
}

.strong-view-id-3 .wpmslider-controls .wpmslider-prev,
.strong-view-id-3 .wpmslider-controls .wpmslider-next {
  padding: 5px 10px !important;
}

.strong-view-id-3 .wpmslider-controls a {
  color: var(--color-font-grey) !important;
}

/* TEXT COLUMN SLIDER ============================================== */

@media (width < 1024px) {
  .swiper-wrapper {
    flex-direction: column;
  }

  .swiper-slide {
    height: auto;
  }
}

.textcolumnslider .swiper-slide {
  width: 94% !important;
  margin-left: 3%;
  padding-top: 40px;
  margin-top: 30px;
  border-top: 1px solid var(--border-color);
}

.textcolumnslider .textcolumnslider-image img {
  width: 70px;
  height: auto;
}

.textcolumnslider .textcolumnslider-heading {
  font-size: var(--fs-large);
  font-weight: var(--fw-bold);
  padding: 20px 0 15px;
  line-height: 1.3;
}

.textcolumnslider .textcolumnslider-content p {
  padding: 0;
  margin: 0;
}

.textcolumnslider .swiper-button-next,
.textcolumnslider .swiper-button-prev {
  background-color: rgba(12, 128, 91, .1);
}

.textcolumnslider .swiper-button-next:hover,
.textcolumnslider .swiper-button-prev:hover {
  background-color: rgba(12, 128, 91, .3);
}

/* ON PAGE SLIDER ================================================== */

/* This together with the next style forces unequal size images to fill the slider space. */
.onpageslider.swiper-onpage .swiper-slide {
  height: auto;
  /* height: auto; Use for some instances of text over photo on mobile if necessary*/
  /* height 400px; Force a set height  */
}

.onpageslider.swiper-onpage .swiper-slide img {
  width: 100%;
  height: 100%;
  max-height: 80vh;
  object-fit: cover;
  object-position: center;
}

.onpageslider .swiper-slide-caption {
  padding: 0 10px 0 10px;
  margin: 0;
  position: absolute;
  bottom: 28px;
  /* Adjust this to 0 if there's no dot pagination at bottom of slides. */
  background-color: rgba(255, 255, 255, 0.75);
}

.onpageslider .swiper-slide-caption p:last-of-type {
  padding: 0;
  margin: 0;
}

.onpageslider .swiper-button-next,
.onpageslider .swiper-button-prev {
  top: 50% !important;
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
}

/* CAPTION BELOW IMAGE INSTEAD OF ON TOP - FOR MOBILE ===========  */
/* 
.onpageslider .swiper-pagination {
  display: flex;
  bottom: 0;
  padding: 7px 0;
  background-color: rgba(0, 0, 0, 0.85);
} */

.onpageslider .slider-image-caption {
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 20px 40px 50px 40px;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.85);
  background-color: rgba(0, 0, 0, 0.75);
}

.onpageslider .slider-image-caption p {
  color: var(--black);
  color: var(--white);
  font-size: calc(var(--fs-mobile) - 0.35rem);
}

.onpageslider .swiper-pagination {
  bottom: 0px;
}

/* QUICKLAUNCH   =================================================== */

.uppercase-small-heading .supheading {
  letter-spacing: 0.6em;
  font-size: calc(var(--fs-normal) - 0.2rem);
  font-weight: var(--fw-black);
  padding-bottom: 30px;
}

.top-line-image.is-layout-flex {
  display: flex;
  align-items: center !important;
  position: relative;
}

.top-line-image.is-layout-flex::before {
  display: flex;
  align-items: center !important;
}

.top-line-image::before {
  content: "";
  position: absolute;
  top: 60px;
  left: 0;
  height: 1px;
  width: 55%;
  z-index: 99;
  background-color: #525252;
}

/* 548px Wide Mobile   =================================================== */

@media (min-width: 548px) {
  .blog-section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5%;
    padding-top: 10px;
  }

  .insights-wrapper {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 5%;
  }
}

/* 768px Tablets height (or width) generally 1366px  ========================================= */
@media (min-width: 768px) {
  .blog-section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10%;
    padding-top: 10px;
  }
}

/* 1024px Baseline for full display experience such as tablets - height generally 600px ================== */
@media (min-width: 1024px) {
  .hidemobile {
    display: block !important;
  }

  .hidedesktop {
    display: none !important;
  }

  :where(.wp-block-columns.is-layout-flex) {
    gap: 3em;
  }

  .wp-block-columns.is-layout-flex.four-em-gap {
    gap: 4em;
  }

  .wp-block-columns.is-layout-flex.five-em-gap {
    gap: 5em;
  }

  .wp-block-columns.is-layout-flex.six-em-gap {
    gap: 6em;
  }

  .wp-block-columns.is-layout-flex.seven-em-gap {
    gap: 7em;
  }

  .layout-grid .wp-block-columns.is-layout-flex.alignwide {
    grid-column: feature;
  }

  .pad {
    padding: var(--gap) calc((var(--gap) * 1) + 1px);
  }

  p.largetext,
  .largetext {
    font-size: var(--fs-large);
  }

  a .icon-arrow-right {
    display: inline-block;
  }

  figcaption,
  .wp-caption-text {
    font-size: calc(var(--fs-normal) - 40%);
  }

  .alignfull-pad-all {
    padding-left: 6% !important;
    padding-right: 6% !important;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  .wp-block-separator,
  hr {
    margin: 60px 0;
  }

  .strong-content {
    display: flex;
    gap: 30px;
  }

  /* HEADINGS   =================================================== */

  h1 {
    padding: 15px 0 30px;
  }

  h2 {
    padding: 15px 0 30px;
  }

  h2 span {
    display: block;
  }

  h3 {
    padding: 15px 0 25px;
  }

  .single h3 {
    font-size: calc(var(--fs-h3) - 1.0rem);
  }


  h4 {
    padding: 15px 0 25px;
  }

  h5 {
    padding: 15px 0 25px;
  }

  h6 {
    padding: 15px 0 20px;
  }

  /*  TYPOGRAPHY  =============================================================== */

  ul.bio-nav {
    margin: 14px 0 0;
  }

  ul.bio-nav li {
    float: left;
    padding: 0 20px 0 20px;
    margin-bottom: 0;
    border-right: 1px solid #333;
    font-size: 0.9rem;
  }

  ul.bio-nav li span {
    font-size: 0.7rem;
  }

  ul.horizontal-list li {
    padding: 0 15px;
  }

  blockquote {
    margin: 45px 0 0 85px;
    width: 60%;
  }

  .single blockquote {
    margin-right: -110px;
  }

  .extralargetext.padright {
    padding-right: 10%;
  }

  .formbanner-section,
  .photobanner-section,
  .fullheightbanner-section {
    background-position: left -290px top;
  }

  .single-phone-email {
    flex-direction: row;
  }

  .single-phone-email .teammember-single-email {
    border-left: 1px solid var(--border-color-dark);
    padding-left: 15px;
  }

  /* QUOTATIONS - QUOTES ======================================================= */

  .quote-text {
    padding: 0 65px 0 0;
  }

  .quote-author::before {
    margin: 0 auto 30px auto;
    width: 190px;
  }

  .team.vertical-center .shadow-image::before,
  .team.vertical-center .shadow-image::after {
    position: absolute;
    content: "";
  }

  .team.vertical-center .shadow-image::before {
    width: 640px;
    background-color: var(--color-secondary);
    height: 72%;
    right: 0;
    top: 14%;
    z-index: -1;
  }

  .team.vertical-center .shadow-image::after {
    position: absolute;
    content: "";
    width: 509px;
    height: 95%;
    background-color: var(--color-secondary-dark);
    right: 0;
    top: 20px;
    z-index: -2;
  }

  .shadow-image {
    box-shadow: var(--shadow);
    height: auto;
    max-width: 80%;
  }

  .teammember-job-title,
  .teammember-single-job-title {
    padding-bottom: 14px;
  }

  /* BUTTONS   =============================================================== */

  .button a,
  input[type="submit"],
  .wp-block-button a,
  a.wp-block-file__button {
    height: 50px !important;
    padding-left: 44px !important;
    padding-right: 44px !important;
  }

  .banner-section .button a {
    margin-top: 20px;
  }

  p.pad-right-services-home {
    padding-right: 45px;
    margin-bottom: 25px;
  }

  /* ICONS   ===================================================== */

  #maincontent .icon-arrow-right {
    width: 14px;
    height: 14px;
  }

  /* ABOVE HEADER ALERTS ========================================== */

  .above-header {
    font-size: calc(var(--fs-normal) - 0.2rem);
    padding-top: 3px;
    padding-bottom: 4px;
  }

  .above-header p {
    font-size: calc(var(--fs-normal) - 0.2rem);
  }

  .textbanner-section,
  .banner-section.not-found-section {
    padding: 150px 0 0;
  }

  /* ABOVE TOPNAV   ================================================ */

  ul.native-abovetopnav-menu {
    margin-top: 5px !important;
  }

  ul.native-abovetopnav-menu li a {
    padding-bottom: 0px !important;
    color: var(--nav-color-light);
  }

  .abovetopnav-wrapper {
    width: auto;
    font-weight: var(--fw-medium);
    font-size: var(--fs-abovetopnav);
    padding-top: 8px;
    line-height: 1.35;
    padding-right: 20px;
    /* background-color: --color-primary; */
  }

  .abovetopnav-wrapper ul {
    list-style: none;
    float: right;
    padding: 0;
    margin: 0 20px;
  }

  .abovetopnav-wrapper ul li {
    display: block;
    float: left;
    position: relative;
    padding: 0 10px;
  }

  .abovetopnav-wrapper ul li::after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 8px;
    right: -7px;
    top: 33%;
    background-image: url("data:image/svg+xml,<svg fill='rgba(0,0,0,1)' width='24px' height='24px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z'></path></svg>");
    background-position: center center;
    background-repeat: no-repeat;
    transition: var(--transition-button);
  }

  .abovetopnav-wrapper ul li:hover::after {
    right: -10px;
  }

  #mega-menu-wrap-tabnav #mega-menu-tabnav li.mega-menu-item a.mega-menu-link {
    color: rgba(255, 255, 255, .8) !important;
    transition: var(--transition-button);
    font-weight: var(--fw-medium) !important;
  }

  #mega-menu-wrap-tabnav #mega-menu-tabnav li.mega-menu-item a.mega-menu-link:hover {
    color: rgba(255, 255, 255, 1) !important;
  }

  #mega-menu-wrap-tabnav #mega-menu-tabnav li.mega-menu-item {
    position: relative;
  }

  #mega-menu-wrap-tabnav #mega-menu-tabnav li.mega-menu-item::after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 8px;
    right: -2px;
    top: 43%;
    background-image: url("data:image/svg+xml,<svg fill='rgba(255,255,255,1)' width='24px' height='24px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z'></path></svg>");
    background-position: center center;
    background-repeat: no-repeat;
    transition: var(--transition-button);
  }

  #mega-menu-wrap-tabnav #mega-menu-tabnav li.mega-menu-item:hover::after {
    right: -5px;
  }

  #mega-menu-wrap-tabnav #mega-menu-tabnav li.mega-menu-item-541::after {
    display: none;
  }

  .mega-menu-wrap .mega-menu li .mega-search-wrap {
    margin: 5px 0 5px !important;
  }


  .abovetopnav-wrapper ul li:last-child {
    border-right: none;
  }

  .abovetopnav-wrapper a {
    color: var(--nav-color);
    padding: 5px 0 0;
  }

  .abovetopnav-wrapper a:hover {
    color: var(--black);
  }

  /* VALUES ======================================================= */

  .values-margin {
    padding-left: 70px;
  }


  /* MAIN NAV   ==================================================== */

  header {
    /* height: 90px; */
    /* Header Height */
    z-index: 99;
  }

  header.above-topnav-on {
    height: 90px;
    /* Header Height */
  }

  #mega-menu-wrap-tabnav {
    display: block;
  }

  .nav-social {
    position: absolute;
    right: 14px;
    top: 14px;
  }

  .main-nav {
    clear: both;
  }

  .main-nav-inner {
    position: fixed;
    display: flex;
    padding-left: var(--main-nav-padding);
    overflow-x: clip !important;
    top: 0;
    left: 0;
    right: 0;
    transition: var(--transition-nav);
    /* Can be problematic with Safari (BotGarden nav for example) */
  }

  .main-nav-inner.fixed {
    position: fixed;
    background-color: var(--white);
    height: 70px;
    z-index: 99999;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* box-shadow: 0 4px 2px -2px $faint-grey; */
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-item.mega-menu-item-has-children>a.mega-menu-link span.mega-indicator {
    display: none !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-item {
    margin: 0 10px 0 0 !important;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    padding: 0 6px 0 6px !important;
    /* Match padding of submenu left */
    font-size: var(--fs-navbar-large) !important;
    font-weight: var(--fw-normal) !important;
    letter-spacing: var(--letter-spacing-nav);
    color: var(--nav-color) !important;
    background-color: transparent !important;
    border-top: none !important;
    height: 70px !important;
    line-height: 70px !important;
    margin-top: -20px !important;
  }

  #mega-menu-wrap-tabnav.mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    font-size: calc(var(--fs-navbar) - .1rem) !important;
    margin: 0 0 0 6px !important;
    border-bottom: none !important;
    height: 34px !important;
    line-height: 34px !important;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link:hover {
    color: var(--nav-color-hover) !important;
    border-bottom: 5px solid var(--color-secondary-light) !important;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item.mega-current_page_item a.mega-menu-link {
    border-bottom: 5px solid var(--color-secondary-extralight) !important;
  }

  .page-template-page-fullheightbanner .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link,
  .page-template-page-fullheightbanner .abovetopnav-wrapper a {
    color: var(--white) !important;
  }

  .page-template-page-fullheightbanner .mega-menu-wrap .mega-menu ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    color: var(--nav-color) !important;
  }

  .page-template-page-fullheightbanner .fixed .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link,
  .page-template-page-fullheightbanner .fixed .abovetopnav-wrapper ul li,
  .page-template-page-fullheightbanner .fixed .abovetopnav-wrapper a {
    color: #000 !important;
  }

  #mega-menu-wrap-tabnav.mega-menu-wrap ul li::after {
    background-image: url("data:image/svg+xml,<svg fill='rgba(255,255,255,1)' width='24px' height='24px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z'></path></svg>");
  }

  nav#site-navigation {
    align-self: flex-end;
    margin-left: auto;
    display: flex;
    flex-direction: column;
  }

  .main-nav-row {
    display: flex;
    align-items: flex-end;
    /* margin-top: 10px; */
  }

  #mega-menu-wrap-primary {
    padding-right: 30px;
  }

  #mega-menu-wrap-tabnav {
    background-color: var(--color-secondary);
    border-top-left-radius: var(--border-radius-global);
    /* padding-left: 20px;
    padding-right: 20px; */
    margin-top: 10px;
    /* margin-bottom: -7px; */
  }

  /* #mega-menu-wrap-primary #mega-menu-primary {
    padding-bottom: 7px;
  } */

  .logos {
    display: flex;
    align-items: center;
  }

  .logos img {
    margin-top: 0px;
  }

  .logo-white {
    display: none;
  }

  .page-template-page-fullheightbanner .logo-black {
    display: none;
  }

  .page-template-page-fullheightbanner .logo-white,
  .page-template-page-fullheightbanner .fixed .logo-black {
    display: block;
  }

  .page-template-page-fullheightbanner .fixed .logo-white {
    display: none;
  }

  img.header-logo {
    height: 40px;
    width: auto;
    transition: all 0.2s ease;
  }

  a.header-logo-link {
    display: flex;
    align-items: center;
    padding-top: 0;
    border: none !important;
  }

  .post-single a .post-content-overlay-layout,
  .post-single-more a .post-content-overlay-layout {
    font-size: var(--fs-extralarge);
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link.mega-menu-logo {
    margin-top: 0 !important;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item:last-child {
    margin-right: 0 !important;
  }

  .page-template-page-fullheightbanner header .main-nav-inner .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search .search-icon:before {
    color: #fff !important;
  }

  .page-template-page-fullheightbanner header .fixed.main-nav-inner .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search .search-icon:before {
    color: #000 !important;
  }

  .page-template-page-fullheightbanner header .main-nav-inner .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search-open .search-icon:before {
    color: #000 !important;
  }

  .page-template-page-fullheightbanner .mega-menu-wrap .mega-menu li .mega-search input[type="text"] {
    background: transparent !important;
  }

  .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search.mega-search-open input[type="text"] {
    background: var(--faint-grey) !important;
  }

  .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search-wrap {
    margin: 1px 0 0 !important;
    display: flex;
  }

  .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search.mega-search-closed input[type="text"] {
    width: 44px !important;
    height: 44px !important;
    margin-top: -2px !important;
  }


  #mega-menu-wrap-tabnav #mega-menu-tabnav li#mega-menu-item-541 .mega-search.mega-search-open input[type=text] {
    background: #f7f7f7 !important;
    border-radius: 0 !important;
    width: 380px;
    height: 44px;
    margin-top: -2px;
  }

  .dashicons-search::before {
    font-size: 25px !important;
    margin-right: -4px;
    color: rgba(255, 255, 255, .8) !important;
    transition: var(--transition-button);
  }

  .dashicons-search:hover::before {
    color: rgba(255, 255, 255, 1) !important;
  }

  .mega-search-open .dashicons-search::before {
    color: var(--color-secondary-dark) !important;
  }

  #mega-menu-wrap-tabnav #mega-menu-tabnav li#mega-menu-item-541 .mega-search .search-icon {
    background: rgba(0, 0, 0, .1) !important;
    /* border-radius: 50%; */
    margin-top: -2px;
    width: 44px !important;
    height: 44px !important;
  }

  .mega-menu-wrap .mega-menu li .mega-search input[type="text"] {
    font-size: var(--fs-normal) !important;
    background: transparent !important;
  }

  /* Work around for scroll-margin-top not working in the Search and Filter Plugin */
  #pagetop-fixed-nav {
    position: absolute;
    top: 132px;
  }

  .footer-logo {
    margin-right: 40px;
  }

  /* SUBMENU ITEMS ================================================================ */

  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu {
    width: 200px !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: var(--fs-subnav) !important;
    line-height: var(--line-height);
    font-weight: var(--fw-light) !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.05);
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    padding: 8px 20px 8px 16px !important;
    margin: 0 !important;
    border: 1px solid #f1f1f1 !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    line-height: 1.4 !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover,
  .mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
    background-color: #f7f7f7 !important;
  }


  /* BANNERS   ==================================================== */

  .splitphotobanner-section {
    height: 450px;
  }

  .splitphotobanner-image {
    display: block;
    width: 100%;
    height: 450px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .splitphotobanner-wrapper {
    gap: 50px;
    align-items: center;
    background-color: var(--extra-faint-grey);
    background-color: var(--color-primary-light);
  }

  .splitphotobanner-content {
    padding: 0 3% 0 0;
  }

  .splitphotobanner-wrapper h1 {
    padding: 0;
  }

  .photobanner-section {
    height: 550px;
    margin-top: 70px;
    text-align: left;
  }

  .home .photobanner-section {
    height: 700px;
  }

  .home .formbanner-section::before,
  .home .photobanner-section::before,
  .home .fullheightbanner-section::before {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, .85));
  }

  .formbanner-section::before,
  .photobanner-section::before,
  .fullheightbanner-section::before {
    background-image: linear-gradient(to right, rgba(8, 27, 24, 0.01), rgba(8, 27, 24, 0.55) 60%, rgba(8, 27, 24, .85));
  }

  .formbanner-section,
  .photobanner-section,
  .fullheightbanner-section {
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 0;
  }

  .formbanner-section {
    height: 600px;
  }

  .fullheightbanner-section {
    margin-top: -124px;
    /* Header Height */
    padding-top: 0;
    padding-bottom: 60px;
    height: 600px;
  }

  .photobanner-wrapper,
  .formbanner-wrapper,
  .fullheightbanner-wrapper {
    padding-left: var(--banner-pad-left);
    padding-right: var(--banner-pad-right);
    width: 60%;
  }

  .photobanner-wrapper h1 {
    padding-top: 80px;
    padding-bottom: 30px;
  }

  .textbanner-wrapper {
    padding: 0 0 30px 0;
    margin-bottom: 40px;
  }

  .blog-banner-wrapper {
    position: absolute;
    top: 140px;
  }

  .featured-post-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 62px;
  }

  .featured-post-text h1 {
    padding-bottom: 20px;
    padding-top: 60px;
  }

  .banner-section .banner-text {
    padding-top: 0;
  }

  .home .banner-section h1 {
    font-size: var(--fs-h1);
  }

  .home .banner-section .banner-text {
    font-size: var(--fs-banner-text);
  }

  .formbanner-wrapper {
    display: grid;
    grid-template-columns: 50% 1fr;
    gap: 40px;
    height: 100%;
  }

  .formbanner .formbanner-form-wrapper {
    margin-top: 0px;
  }

  .formbanner-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .formbanner-form .gform_wrapper input[type="submit"] {
    margin-top: 10px !important;
  }

  .formbanner .formbanner-form {
    padding: 30px 40px;
  }

  /* STATS  ====================================== */

  .stat-wrapper {
    padding-left: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin: 0 auto;
    max-width: 94%;
  }

  .stats-column-wrapper {
    position: relative;
  }

  .stats-column-wrapper::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: var(--extra-faint-grey);
    z-index: -1;
  }

  .stat-content {
    display: grid;
    grid-template-areas: "stack";
    align-items: center;
    width: 100%;
    height: 240px;
    overflow: hidden;
    padding: 0 5px 0 25px;
    border-left: 1px solid var(--border-color-dark);
    border-bottom: none;
    margin-bottom: 0;
  }

  .stat-content.last {
    border: none;
    background-color: rgba(0, 0, 0, .1);
    font-size: 1.4rem;
    font-weight: var(--fw-bold);
    line-height: var(--line-height-tight);
    color: var(--black);
    font-family: var(--ff-secondary);
    letter-spacing: var(--letter-spacing-tight);
    opacity: .62;
  }

  .stat-content:nth-last-child(2) {
    margin-bottom: 0;
  }

  .stat-cta-link {
    font-size: .9rem;
    font-weight: var(--fw-light);
    padding-top: 25px;
  }

  .stat-content:hover {
    cursor: default;
  }

  .stat-content>* {
    grid-area: stack;
  }

  .stat-base-layer {
    opacity: 1;
    margin-top: -6px;
    transition: var(--transition);
  }

  .stat-content:hover .stat-base-layer {
    opacity: 0;
  }

  .stat-content:hover .stat-base-layer.cta {
    opacity: 1;
  }

  .stat-reveal-layer {
    font-family: var(--ff-primary);
    font-size: calc(var(--fs-normal) - 0.35rem);
    font-weight: var(--fw-normal);
    padding: 0 20px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: var(--transition);
  }

  .stat-reveal-layer .stat-description {
    font-size: calc(var(--fs-normal) - 0.15rem);
    padding-top: 0;
  }

  .stat-content:hover .stat-reveal-layer {
    opacity: 1;
  }

  .stat-reveal-layer .stat-description span {
    display: block;
    padding-top: 30px;
    font-size: 12px;
  }

  .stat-number-wrapper {
    text-align: left;
    font-size: 3.6rem;
    font-weight: var(--fw-bold);
    line-height: var(--line-height-tight);
    color: var(--black);
    font-family: var(--ff-secondary);
    letter-spacing: var(--letter-spacing-tight);
    opacity: .45;
  }

  .stat-after-number {
    font-size: 2.6rem;
    padding-left: 4px;
  }

  .stat-heading {
    font-family: var(--ff-secondary);
    color: var(--black);
    font-size: var(--fs-large);
    font-weight: var(--fw-bold);
    padding: 40px 0 15px;
    line-height: 1.3;
    /* text-transform: uppercase; */
    padding: 4px 0 4px;
    text-align: left;
  }



  /* SLIDER BANNER ======================================================= */

  .swiper-banner .swiper-slide {
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 650px;
  }

  .sliderbanner-content-wrapper {
    display: initial;
    position: absolute;
    left: 10%;
    right: 0;
    top: auto;
    bottom: 90px;
    width: calc(100% - 30%);
    height: auto;
    padding: 0;
    background-color: transparent;
  }

  .swiper-banner .swiper-slide img {
    height: auto;
  }

  .swiper-banner .swiper-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    z-index: 3;
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.45) 30%, rgba(0, 0, 0, 0) 70%);
  }

  .sliderbanner-content h1 {
    padding: 20px 0 15px 0;
  }

  .sliderbanner-text {
    display: flex;
    flex-direction: column;
    padding: 10px 0 0;
    font-size: var(--fs-sliderbanner-text);
    color: var(--white);
    font-weight: var(--fw-extralight);
    padding-bottom: 20px;
  }

  .swiper-button-next,
  .swiper-button-prev {
    display: block;
    width: calc(var(--swiper-navigation-size) + 10px);
    height: calc(var(--swiper-navigation-size) + 10px);
    background-color: rgba(255, 255, 255, 1);
    transition: var(--transition-button);
  }

  .swiper-button-prev {
    left: 0 !important;
    border-top-right-radius: var(--swiper-navigation-size);
    border-bottom-right-radius: var(--swiper-navigation-size);
    margin-left: -10px;
  }

  .swiper-button-next {
    right: 0 !important;
    border-top-left-radius: var(--swiper-navigation-size);
    border-bottom-left-radius: var(--swiper-navigation-size);
    margin-right: -10px;
  }

  .swiper-button-prev:hover {
    margin-left: 0px !important;
  }

  .swiper-button-next:hover {
    margin-right: 0px !important;
  }

  .swiper-button-next:hover,
  .swiper-button-prev:hover {
    background-color: rgba(255, 255, 255, 0.85);
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-size: 0px;
  }

  .swiper-button-prev::after {
    display: block;
    width: calc(var(--swiper-navigation-size) + 10px);
    height: calc(var(--swiper-navigation-size) + 10px);
    background-image: url("data:image/svg+xml,<svg fill='rgba(0,0,0,1)' width='24px' height='24px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 .755l-14.374 11.245 14.374 11.219-.619.781-15.381-12 15.391-12 .609.755z'></path></svg>");
    background-position: center center;
    background-repeat: no-repeat;
  }

  .swiper-button-next::after {
    display: block;
    width: calc(var(--swiper-navigation-size) + 10px);
    height: calc(var(--swiper-navigation-size) + 10px);
    background-image: url("data:image/svg+xml,<svg fill='rgba(0,0,0,1)' width='24px' height='24px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z'></path></svg>");
    background-position: center center;
    background-repeat: no-repeat;
  }

  /* TESTIMONIAL ============== */

  .testimonial-inner {
    padding: 40px 40px !important;
  }

  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
    left: 20px !important;
  }

  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
    right: 20px !important;
  }


  /* TEXT COLUMN SLIDER ============================================== */

  .textcolumnslider .swiper-slide {
    width: 20% !important;
    padding-left: 2%;
    margin-left: 3%;
    border-left: 1px solid var(--border-color);
    padding-top: 0;
    margin-top: 0;
    border-top: none;
  }

  .textcolumnslider .textcolumnslider-image img {
    width: 70px;
    height: auto;
  }

  .textcolumnslider .textcolumnslider-heading {
    font-size: var(--fs-large);
    font-weight: var(--fw-bold);
    padding: 40px 0 15px;
    line-height: 1.3;
  }

  .textcolumnslider .textcolumnslider-content p {
    padding: 0;
    margin: 0;
  }

  .textcolumnslider .swiper-button-next,
  .textcolumnslider .swiper-button-prev {
    background-color: rgba(12, 128, 91, .1);
  }

  .textcolumnslider .swiper-button-next:hover,
  .textcolumnslider .swiper-button-prev:hover {
    background-color: rgba(12, 128, 91, .3);
  }

  /* FLIPBOXES JQUERY COLLAPSE for YOAST FAQ SECTIONS https://webcloud.se/jQuery-Collapse/ ========== */

  .accordion-wrapper {
    position: relative;
    display: block;
    overflow: hidden;
  }

  .schema-faq-section {
    flex-basis: 100%;
  }

  .schema-faq-question a,
  .accordion-heading a {
    display: block;
    margin: 0;
    padding: 38px 0;
    text-align: left;
    cursor: pointer;
    color: var(--black);
    font-weight: 400;
    font-size: var(--fs-large);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    line-height: 1.4;
  }

  .schema-faq-question a:hover,
  .accordion-heading a:hover {
    border-bottom: none !important;
    color: var(--black) !important;
    padding-left: 10px;
  }

  .accordion-section>div a {
    border-top: 1px solid var(--light-grey) !important;
  }

  .accordion-section>div p a,
  .accordion-section>div li a {
    border-top: none !important;
    border-bottom: none !important;
  }

  .accordion-section:last-of-type div a {
    border-bottom: 1px solid var(--light-grey) !important;
  }

  .accordion-section .accordion-heading.open a {
    border-bottom: none !important;
  }

  .schema-faq-question.open a,
  .accordion-heading.open a {
    font-weight: var(--fw-bold);
    border-bottom: none;
  }

  .schema-faq-question.open:hover a,
  .accordion-heading.open:hover a {
    padding-left: 0;
  }

  .schema-faq-question a:after,
  .accordion-heading a:after {
    content: "";
    display: block;
    margin-top: 3px;
    width: 30px;
    height: 30px;
    float: right;
    margin-right: 0;
    background: linear-gradient(#666, #666), linear-gradient(#666, #666);
    background-position: center;
    background-size: 50% 2px, 2px 50%;
    /*thickness = 2px, length = 50% (25px)*/
    background-repeat: no-repeat;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .schema-faq-question:hover a:after,
  .accordion-heading:hover a:after {
    content: "";
    display: block;
    margin-top: -3px;
    width: 40px;
    height: 40px;
    float: right;
    background: linear-gradient(#666, #666), linear-gradient(#666, #666);
    background-position: center;
    background-size: 50% 2px, 2px 50%;
    /*thickness = 2px, length = 50% (25px)*/
    background-repeat: no-repeat;
  }

  .schema-faq-question.open a:after,
  .accordion-heading.open a:after {
    margin-top: -3px;
    width: 40px;
    height: 40px;
    background: linear-gradient(#333, #333);
    background-position: center;
    background-size: 50% 2px;
    /*thickness = 2px, length = 50% (25px)*/
    background-repeat: no-repeat;
  }

  .schema-faq-answer,
  .accordion-content {
    margin-bottom: 30px;
  }

  .flex-list ul {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .flex-list ul li a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 8px 20px;
    font-size: .80rem;
    line-height: 1;
    text-align: left;
    white-space: nowrap;
  }

  /* BIO - TEAM MEMBER ============================================== */

  .teammember-banner {
    background-color: var(--faint-grey);
  }

  /* .teammember-single-photo-wrapper {
    background-color: var(--color-secondary-extralight);
  } */

  .teammember-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }

  .teammember-entry {
    margin: 0 0 20px;
    padding: 0 0 70px;
  }

  /* remove border from second row of team members or from first row if there are only two team memebers */
  .teammember-entry:nth-last-child(-n + 2) {
    border-bottom: none;
    padding: 0;
  }

  /* TEAM MEMBER SINGLE PAGE =========================== */

  .teammember-single-entry {
    display: grid;
    grid-template-columns: 30% 55% 15%;
  }

  .teammember-single-contact-wrapper {
    padding-top: 25px;
  }

  .teammember-single-wrapper h2 {
    padding: 0 0 5px 0;
  }

  .teammember-details {}

  .teammember-single-details-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .teammember-single-photo {
    display: flex;
    justify-content: flex-end;
    padding-right: 50px;
  }

  .teammember-single-job-title {
    padding-bottom: 17px;
  }

  /* MODAL  ======================================================= */

  .js [data-modal],
  .a11y-modal {
    -webkit-overflow-scrolling: touch;
    max-width: 75%;
    max-height: 85%;
    padding: 40px;
  }

  .is-icon-btn {
    height: 47px;
    width: 47px;
  }

  [data-modal-x] {
    height: 47px;
  }

  a.allteam {
    font-size: var(--fs-button);
    padding-top: 35px;
  }

  .teammember-button-wrapper {
    position: relative;
  }

  /* PROCESS LIST ==================================================== */

  .process-list-wrapper ul {
    margin: 0 0 90px;
  }

  .process-list-wrapper div {
    box-sizing: border-box;
    flex: 1 1 0 !important;
  }

  .process-list-wrapper div.process-text {
    padding-left: 60px;
  }

  figure.wp-block-image.pin-release-sticky {
    margin-top: 0;
  }

  .pin-release-sticky {
    position: sticky;
    top: 140px;
  }

  /* .pin-release-scroll-track {
    position: relative;
    height: 300vh;
  }

  .pin-release-sticky-wrapper {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .pin-release-flexible-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1200px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
  } */

  /* .process-list-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 50px;
  } */

  .process-list {
    margin-bottom: 90px;
  }

  .process-list h4 {
    padding: 0;
    margin: 0 0 30px;
  }

  .process-list ul {
    display: flex;
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
  }

  .process-list ul li {
    padding: 0 0 10px;
    margin: 10px 0 0;
  }

  /* ABOVE FOOTER - CTA or other content   ======================== */

  .abovefooter {
    margin-top: 110px;
    margin-bottom: 80px;
  }

  .abovefooter h2 {
    font-size: var(--fs-h2);
  }

  /* above-footer-cta-round */
  .above-footer-cta-round {
    background-size: auto auto;
    /* width height */
  }

  .wp-block-columns.no-bottom-margin {
    margin-bottom: 0;
  }

  /* DESKTOP SPACERS  ====================================================== */

  .wp-block-spacer {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-spacer.is-style-small {
    height: 40px !important;
  }

  .wp-block-spacer.is-style-medium {
    height: 80px !important;
  }

  .wp-block-spacer.is-style-large {
    height: 100px !important;
  }

  .wp-block-spacer.is-style-x-large {
    height: 120px !important;
  }

  /* FOOTER   ====================================================== */

  footer {
    padding-top: 80px;
    padding-left: var(--main-nav-padding);
    padding-right: var(--main-nav-padding);
  }

  footer .social-icons,
  .social-icons.contact,
  .social-icons {
    justify-content: space-between;
  }

  .footer-grid {
    display: grid;
    grid-template-columns: 55% 25% 20%;
  }

  .footer {
    padding-bottom: 60px;
  }

  .footer-contact {
    padding: 0 40px 0 40px;
    border-left: 1px solid var(--light-grey);
    text-align: left;
  }

  .social-icons .left-logo,
  .social-icons .right-logo {
    width: 200px;
  }

  .footer-nav ul {
    text-align: left;
    -moz-column-count: 3;
    column-count: 3;
    font-weight: var(--fw-normal);
    font-size: var(--fs-footer);
  }

  .footer-logo img {
    width: calc(var(--footer-logo-width) - 30px);
    margin: 0;
  }

  .footercontact {
    border-left: 1px solid #7a7a7a;
  }

  .footercontact {
    padding: 0 0 0 30px;
    margin-top: 0;
    margin-bottom: 0;
    text-align: left;
    border-left: 1px solid #7a7a7a;
    border-top: none;
    border-bottom: none;
  }

  svg.icon-arrow-right.show-icon-on-hover {
    display: inline-block;
  }

  /* FORMS  ======================================================== */

  .gform_wrapper .gform_footer {
    margin-bottom: 0 !important;
  }

  .gform-theme--foundation .gform_fields,
  .gform-theme--foundation .gform-grid-row {
    row-gap: var(--gf-form-gap-y) !important;
  }

  /* BLOG  ========================================================= */

  .post-single {
    margin-top: 0;
  }

  .post-content-card-layout {
    padding: 18px 15px 30px 20px;
  }

  .post-content-card-layout h3 {
    line-height: var(--line-height-tight);
    padding-left: 5px;
  }

  .blog-header-wrapper {
    display: grid;
    grid-template-columns: 51.5% 48.5%;
    margin-top: 80px;
    margin-bottom: 90px;
    background-color: var(--extra-faint-grey);
  }

  .blog-content-section,
  .below-post {
    display: grid;
    grid-template-columns: 15% 70%;
    column-gap: 8%;

    padding-left: 4%;
  }

  .blog .main-nav,
  .archive .main-nav,
  .single .main-nav {
    border-bottom: none;
  }

  .first-post-featured {
    position: relative;
    height: 500px;
    margin-bottom: 0;
    padding-top: 0;
  }

  .blog .first-post-featured .featured-thumbnail {
    display: block;
    height: 500px;
    overflow: hidden;
  }

  .blogbanner {
    overflow: hidden;
  }

  .blog .post-single,
  .category .post-single,
  .post-single-more,
  .author .post-single {
    margin-bottom: 0;
    transition: var(--transition);
  }

  .blog .post-single:hover,
  .category .post-single:hover,
  .post-single-more:hover,
  .author .post-single:hover {
    box-shadow: var(--shadow);
  }

  .blog-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7% 5%;
    margin-top: 70px;
  }

  .blog-section .first-post-featured {
    grid-column: 1 / 4;
    margin-bottom: 50px;
  }

  .first-post-featured::before {
    width: 98.5vw;
  }

  .first-post-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 99.00vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }

  .first-post-wrapper .featured-thumbnail img {
    float: right;
  }

  .blog-header {
    z-index: 9;
    position: relative;
    padding-top: 0;
    min-height: auto;
  }

  .single .blog-header {
    padding-right: 10%;
    padding-left: 10.2%;
  }

  .blog .blog-header {
    padding-right: 10%;
    padding-left: 13%;
  }

  .blog-title {
    padding-bottom: 10px;
    padding-top: 20px;
  }

  .single .blog-header h1 {
    padding-bottom: 45px;
    padding-right: 40px;
  }

  .post-single:nth-child(3),
  .post-single:nth-child(6),
  .post-single:nth-child(9) {
    margin-right: 0;
  }

  .post-single-more .post-content-card-layout {
    padding: 9px 5px 20px 7px;
  }

  .post-single-more .post-content-card-layout h3 {
    font-size: var(--fs-post-single-more-heading);
  }

  .category-name {
    font-weight: var(--fw-normal);
    display: block;
    font-size: var(--fs-category-name);
    text-transform: none;
  }

  .category-name span {
    font-weight: var(--fw-bold);
    display: block;
    font-size: calc(var(--fs-category-name) - 0.8rem);
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  .post-meta-wrapper {
    display: block;
    padding-bottom: 0;
    margin-top: 0;
  }

  .post-meta-wrapper .post-meta {
    padding: 10px 0 10px !important;
  }

  .post-meta.updated,
  .post-meta.author,
  .post-meta.date {
    border-left: none;
    padding-bottom: 0px;
  }

  .post-meta.date {
    position: absolute;
    bottom: 50px;
  }

  .insights-wrapper {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    gap: 5%;
  }

  /* QUICKLAUNCH   =================================================== */

  .fifty-twentyfive .wp-block-column:nth-child(1) {
    width: 90%;
    padding-top: 20px;
  }

  .fifty-twentyfive .wp-block-column:nth-child(2),
  .fifty-twentyfive .wp-block-column:nth-child(3) {
    padding-left: 40px;
    padding-top: 20px;
    border-left: 1px solid var(--border-color-dark);
  }

  .left-photo-columns {
    background: linear-gradient(180deg, #fff 0%, #fff 220px, #f4f4f4 221px, #f4f4f4 100%);
  }

  .left-photo-columns .wp-block-columns:nth-child(1) .wp-block-column:last-of-type {
    margin-left: 70px;
  }

  .left-photo-columns .wp-block-columns:nth-child(2),
  .left-photo-columns .wp-block-columns:nth-child(3) {
    margin-top: 3.2em;
  }

  .left-photo-columns .wp-block-columns:nth-child(2) .wp-block-column,
  .left-photo-columns .wp-block-columns:nth-child(3) .wp-block-column {
    border-right: 1px solid var(--border-color-dark);
    padding-right: 32px;
  }

  .left-photo-quote figure.wp-block-image,
  .left-photo-quote figure.wp-block-embed {
    margin-top: 0;
  }

  .left-photo-quote img {
    max-width: 90%;
  }

  .left-photo-quote .wp-block-columns div:first-of-type p {
    padding-left: 8%;
    max-width: 80%;
  }

  .left-photo-quote .wp-block-columns div:last-of-type p,
  .left-photo-large .wp-block-columns div:last-of-type p {
    padding-right: 8%;
  }

  .top-line-image::before {
    top: 140px;
  }

}

/* 1280px Laptop - height generally 700px ==================================================================== */

@media (min-width: 1280px) {

  .stat-number-wrapper {
    font-size: 5.0rem;
  }

  .stat-content.last {
    border: none;
    background-color: rgba(0, 0, 0, .1);
    font-size: 2.0rem;
  }

  .stat-after-number {
    font-size: 4.0rem;
  }

  .stat-cta-link {
    font-size: 1.2rem;
  }

  .stat-reveal-layer {
    font-size: calc(var(--fs-normal) - 0.05rem);
  }

  .stat-reveal-layer .stat-description {
    font-size: var(--fs-normal);
  }

  /* SINGLE TEAM MEMBER =================================================== */

  .teammember-single-wrapper {
    margin-top: 80px;
    padding-bottom: 40px;
    margin-bottom: 45px;
  }


  /* MAIN NAV   =================================================== */

  .formbanner-section,
  .photobanner-section,
  .fullheightbanner-section {
    background-position: center top;
  }

  .main-nav-inner.fixed {
    height: 80px;
  }

  #mega-menu-wrap-tabnav.mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    font-size: var(--fs-navbar) !important;
    margin: 0 0 0 6px !important;
    height: 44px !important;
    line-height: 44px !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-item {
    margin: 0 20px 0 0 !important;
  }

  #mega-menu-wrap-primary {
    padding-right: 70px;
    margin-top: 4px;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    font-size: var(--fs-navbar-large) !important;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    padding: 0 12px 0 12px !important;
  }

  #mega-menu-wrap-tabnav.mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    margin: 0 0 0 16px !important;
  }

  /* BLOG   ======================================================= */

  .blog-title {
    padding-bottom: 12px;
  }

  .single .blog-header h1 {
    padding-bottom: 55px;
  }
}

/* 1366px Laptops - height generally 768px ======================================================== */

@media (min-width: 1366px) {
  img.header-logo {
    height: 56px;
  }

  .first-post-featured::before {
    width: 98.7vw;
  }

  .first-post-wrapper {
    width: 98.7vw;
  }

  /* BLOG   ======================================================== */

  .post-single-more .post-content-card-layout {
    padding: 15px 25px 20px 15px;
  }

  /* MAIN NAV   =================================================== */

  /* Adjust to overflow-x: clip if horizontal nav visible still */
  .main-nav-inner {
    overflow-x: visible !important;
  }
}

/* 1440px Laptops / Desktops  ========================================================= */

@media (min-width: 1440px) {

  .first-post-featured::before {
    width: 99.0vw;
  }

  .first-post-wrapper {
    width: 99.3vw;
  }

}

/* 1536px Laptops - height generally 960px ================================================== */
@media (min-width: 1536px) {
  .pad {
    padding: var(--gap) calc((var(--gap) * 1) + 18px);
  }

  .abovefooter h3 {
    padding-right: 10%;
    padding-left: 10%;
  }

  /* ABOVE FOOTER - CTA or other content   ======================== */

  .abovefooter {
    margin-top: 80px;
  }

  /* QUOTATIONS - QUOTE ===================================================== */


  .quote-author::before {
    margin: 0 auto 30px auto;
    width: 190px;
  }

  /* MAIN NAV   =================================================== */

  .logos img {}

  .mega-menu-wrap .mega-menu>li.mega-menu-item {
    margin: 0 20px 0 0 !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu {
    width: 270px !important;
  }

  /* FOOTER ===================================================== */

  .footercontact {
    padding: 0 0 0 80px;
  }

  .footer-logo img {
    width: var(--footer-logo-width);
  }

  /* BANNERS  ====================================================== */

  .banner-section .button a,
  .banner-section .gform_wrapper input[type="submit"] {
    margin-top: 40px;
  }

  .splitphotobanner-section {
    height: 450px;
  }

  .photobanner-section {
    height: 650px;
  }

  .home .photobanner-section {
    height: 700px;
  }

  .formbanner-section {
    height: 700px;
  }

  .fullheightbanner-section {
    height: 700px;
  }

  /* SEARCH RESULTS PAGE ================================================ */

  .search-results-layout {
    max-width: 60%;
  }

  /* SWIPER SLIDER - GENERAL STYLE OVERIDES FROM THE BUILT IN STYLES ====== */

  .swiper-banner .swiper-slide {
    height: 650px;
  }

  /* TEAM ====================================== */

  .teammember-single-contact-wrapper {
    padding-top: 0px;
  }

  /* BLOG  ======================================================== */

  .blog-content-section,
  .below-post {
    grid-template-columns: 10% 60%;
    column-gap: 10%;
    padding-left: 3.4%;
  }

  .single .blog-header h1 {
    padding-bottom: 45px;
  }

  .blog .post-single,
  .category .post-single,
  .author .post-single {
    /* min-height: 400px; */
  }

  /* DESKTOP SPACERS  ====================================================== */

  .wp-block-spacer.is-style-small {
    height: 60px !important;
  }

  .wp-block-spacer.is-style-medium {
    height: 100px !important;
  }

  .wp-block-spacer.is-style-large {
    height: 120px !important;
  }

  .wp-block-spacer.is-style-x-large {
    height: 140px !important;
  }
}

/* 1680 Desktop - height generally ~ 1050px ===================================================== */

@media (min-width: 1680px) {}

/* Desktop full width ======================================================================== */

@media (min-width: 1920px) {

  /* MAIN NAV   =================================================== */


  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu {
    width: 370px !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-item {
    margin: 0 70px 0 0 !important;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    margin-top: 14px !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    padding: 10px 20px 10px 16px !important;
  }

  .dashicons-search::before {
    font-size: 36px !important;
  }

  /* BUTTONS   ===================================================== */

  .button a,
  input[type="submit"],
  .wp-block-button a,
  a.wp-block-file__button {
    height: 54px !important;
    padding-left: 54px !important;
    padding-right: 54px !important;
  }

  .button.small a,
  .wp-block-button.small a,
  .formbanner-form .gform_wrapper input[type="submit"] {
    height: 46px !important;
    padding-right: 30px !important;
    padding-left: 30px !important;
    margin-top: 40px !important;
  }

  .blog-section {
    margin-top: 70px;
  }

  /* BANNER ====================================================== */

  .home .photobanner-section {
    height: 800px;
  }

  .splitphotobanner-section {
    height: 750px;
  }

  .photobanner-section {
    height: 800px;
  }

  .formbanner-section {
    height: 800px;
  }

  .formbanner .formbanner-form {
    padding: 60px 80px;
  }

  .fullheightbanner-section {
    margin-top: -205px;
    /* Header Height */
    height: 900px;
    padding-bottom: 120px;
  }

  /* SWIPER SLIDER - GENERAL STYLE OVERIDES FROM THE BUILT IN STYLES ====== */

  .swiper-banner .swiper-slide {
    height: 1100px;
  }

  .swiper-button-next,
  .swiper-button-prev {
    width: calc(var(--swiper-navigation-size) + 30px);
    height: calc(var(--swiper-navigation-size) + 30px);
  }

  .swiper-button-prev::after {
    width: calc(var(--swiper-navigation-size) + 30px);
    height: calc(var(--swiper-navigation-size) + 30px);
  }

  .swiper-button-next::after {
    width: calc(var(--swiper-navigation-size) + 30px);
    height: calc(var(--swiper-navigation-size) + 30px);
  }

  .sliderbanner-content-wrapper {
    bottom: 15vh;
  }

  .sliderbanner-text {
    font-size: var(--fs-sliderbanner-text);
  }

  /* BLOG  ======================================================== */

  .single .blog-header {
    padding-top: 95px;
    margin-top: 95px;
  }



  /* FOOTER  ====================================================== */

  footer .social-icons svg,
  .social-icons.contact svg,
  .social-icons svg {
    width: 43px;
    height: 43px;
    top: 3px;
    left: 2px;
  }

  footer .social-icons svg.icon-facebook,
  .social-icons.contact svg.icon-facebook,
  .social-icons svg.icon-facebook {
    width: 41px;
    height: 41px;
    top: 3px;
    left: 1px;
  }

  footer .social-icons a svg,
  .social-icons.contact a svg,
  .social-icons a svg {
    margin: 0 40px 0 0;
  }

  .swal2-popup {
    width: 700px;
    padding: 0 0 40px;
  }
}

/* 2240px  MIDPOINT BETWEEN 1920 and 2560 ========================================= */

@media (min-width: 2240px) {}

/* 2560px HIDPI  =================================================== */

@media (min-width: 2560px) {

  /* MAIN NAV   =================================================== */

  .main-nav-inner.fixed {
    height: 124px;
  }

  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu {
    width: 370px !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-item {
    margin: 0 70px 0 0 !important;
  }

  .mega-menu-wrap .mega-menu li.mega-menu-item a.mega-menu-link {
    margin-top: 34px !important;
  }

  .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search-wrap {
    margin-top: 25px !important;
  }

  .mega-menu-wrap .mega-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    padding: 10px 20px 10px 16px !important;
  }

  .mega-menu-wrap .mega-menu li#mega-menu-item-541 .mega-search-wrap {
    margin-top: 30px !important;
  }

  .dashicons-search::before {
    font-size: 36px !important;
  }

  /* BUTTONS   ===================================================== */

  .button a,
  input[type="submit"],
  .wp-block-button a,
  a.wp-block-file__button {
    height: 70px !important;
    padding-left: 70px !important;
    padding-right: 70px !important;
  }

  .button.small a,
  .wp-block-button.small a,
  .formbanner-form .gform_wrapper input[type="submit"] {
    height: 46px !important;
    padding-right: 30px !important;
    padding-left: 30px !important;
    margin-top: 40px !important;
  }

  /* BANNER ====================================================== */

  .photobanner-section {
    height: 1100px;
  }

  .formbanner-section {
    height: 1100px;
  }

  .formbanner .formbanner-form {
    padding: 60px 80px;
  }

  .fullheightbanner-section {
    margin-top: -205px;
    /* Header Height */
    height: 1300px;
  }

  /* SWIPER SLIDER - GENERAL STYLE OVERIDES FROM THE BUILT IN STYLES ====== */

  .swiper-banner .swiper-slide {
    height: 1100px;
  }

  .swiper-button-next,
  .swiper-button-prev {
    width: calc(var(--swiper-navigation-size) + 30px);
    height: calc(var(--swiper-navigation-size) + 30px);
  }

  .swiper-button-prev::after {
    width: calc(var(--swiper-navigation-size) + 30px);
    height: calc(var(--swiper-navigation-size) + 30px);
  }

  .swiper-button-next::after {
    width: calc(var(--swiper-navigation-size) + 30px);
    height: calc(var(--swiper-navigation-size) + 30px);
  }

  .sliderbanner-content-wrapper {
    bottom: 15vh;
  }

  .sliderbanner-text {
    font-size: var(--fs-sliderbanner-text);
  }

  /* BLOG  ======================================================== */

  .blog-section {
    grid-template-columns: repeat(5, 1fr);
  }

  .blog .post-single,
  .category .post-single,
  .author .post-single {
    /* min-height: 660px; */
  }

  /* FOOTER  ====================================================== */

  footer .social-icons svg,
  .social-icons.contact svg,
  .social-icons svg {
    width: 43px;
    height: 43px;
    top: 3px;
    left: 2px;
  }

  footer .social-icons svg.icon-facebook,
  .social-icons.contact svg.icon-facebook,
  .social-icons svg.icon-facebook {
    width: 41px;
    height: 41px;
    top: 3px;
    left: 1px;
  }

  footer .social-icons a svg,
  .social-icons.contact a svg,
  .social-icons a svg {
    margin: 0 40px 0 0;
  }

  .swal2-popup {
    width: 700px;
    padding: 0 0 40px;
  }

  /* DESKTOP SPACERS  ====================================================== */

  .wp-block-spacer.is-style-small {
    height: 80px !important;
  }

  .wp-block-spacer.is-style-medium {
    height: 120px !important;
  }

  .wp-block-spacer.is-style-large {
    height: 140px !important;
  }

  .wp-block-spacer.is-style-x-large {
    height: 160px !important;
  }
}

/* 3840px HIDPI MONITORS =================================================== */

@media (min-width: 3840px) {}