html {
  background: #fff !important;
}

/* Enforce new global anchor styles */
a,
a:visited {
	color: #0044B5;
	text-decoration: underline;
}
a:hover,
a:focus {
	color: #141414;
	text-decoration: none;
}
a:focus {
	outline: 1.5px solid #0044B5;
	outline-offset: 2px;
}

/* Again, but this time, override Beaver Builder inline styles which use a * selector (bah!) */
.fl-builder-content .fl-module-content .fl-rich-text a:not(.fl-button):not(.widget-button) {
	color: #0044B5 !important;
	text-decoration: underline !important;
}
.fl-builder-content .fl-module-content .fl-rich-text a:not(.fl-button):not(.widget-button):hover,
.fl-builder-content .fl-module-content .fl-rich-text a:not(.fl-button):not(.widget-button):focus {
	color: #141414 !important;
	text-decoration: none !important;
}
/* Blue background, need white links */
.fl-builder-content .fl-row-bg-color.fl-node-5ff632a2eb882 .fl-module-content .fl-rich-text a:not(.fl-button):not(.widget-button) {
	color: #fff !important;
}
/* Now undo for some link styles */
.fl-builder-content .fl-module-content h3 a:not(.fl-button):not(.widget-button),
.fl-builder-content .fl-module-content h4 a:not(.fl-button):not(.widget-button),
.fl-builder-content .fl-module-content h5 a:not(.fl-button):not(.widget-button),
.fl-builder-content .fl-module-content h6 a:not(.fl-button):not(.widget-button) {
	text-decoration: none !important;
}

.site-preheader,
.site-header {
  padding: 0 1rem;
  font-family: var(--font-reg);
  color: inherit;
  text-decoration: none;
}

.site-preheader a,
.site-header a {
  color: inherit;
  text-decoration: none;
}

.site-preheader a:hover,
.site-header a:hover {
  color: inherit;
  text-decoration: none;
}
/* Site preheader */
.site-preheader-wrapper,
.site-header-wrapper {
  border-bottom: none;
}

.site-branding .navTranslate {
  margin: 0;
}

.site-branding .navTranslate div {
  height: 100%;
}

.site-branding .navTranslate #google_translate_element span {
  display: none;
}

.site-branding .navTranslate #google_translate_element span:first-child {
  display: inline;
}

.site-branding .navTranslate .goog-te-gadget-simple::after {
  font-family: var(--font-reg);
  content: "Translate";
  display: inline;
  color: var(--main-text-color);
  font-size: 14px;
}

.site-branding .navTranslate .goog-te-gadget-simple:hover::after {
  color: var(--accent);
}

.site-branding .utility-container {
  min-height: 40px;
  display: flex;
}
/* Utility menu */
.utility-menu,
.utility-menu .sub-menu {
  margin: 0;
  list-style-type: none;
}

.utility-menu li {
  list-style: none;
}
/* Utility menu desktop */
.site-preheader #utility-menu {
  display: flex;
}

.site-preheader #utility-menu .menu-item-has-children {
  position: relative;
}

.site-preheader #utility-menu .sub-menu {
  position: absolute;
  padding: 10px 0;
  top: 100%;
  z-index: 100;
  background-color: var(--white);
  box-shadow: 0px 15px 20px 0px rgba(0,0,0,0.5);
  user-select: none;
  visibility: hidden;
  opacity: 0;
  transition: all 0.2s ease-in-out;
}

.site-preheader #utility-menu .sub-menu > li > a {
  padding: 5px 16px;
}

.site-preheader #utility-menu > li > .sub-menu
> .menu-item-has-children .sub-menu {
  box-shadow: 6px 3px 10px 0px rgba(0,0,0,0.5);
  top: 0;
  left: 100%;
}

.site-preheader #utility-menu > li > .sub-menu
> .menu-item-has-children .sub-menu.left {
  box-shadow: -6px 3px 10px 0px rgba(0,0,0,0.5);
  right: 100%;
  left: unset;
}

.site-preheader #utility-menu > li > .sub-menu
> .menu-item-has-children > a {
  display: flex;
  align-items: center;
}

.site-preheader #utility-menu > li > .sub-menu
> .menu-item-has-children > a::after {
  content: "+";
  display: block;
  font-size: 16px;
  margin-left: 15px;
  color: var(--main-text-color);
}

.site-preheader #utility-menu > li > .sub-menu
> .menu-item-has-children > a:hover::after {
  color: var(--accent);
}

.site-preheader #utility-menu .menu-item-has-children:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
}

.site-preheader #utility-menu > li,
.utility-item {
  border-left: 1px solid var(--light-grey);
}

.utility-item:last-child {
  border-right: 1px solid var(--light-grey);
}

.site-preheader #utility-menu li a {
  white-space: nowrap;
}

.utility-item a,
.site-preheader #utility-menu li a,
.site-branding .navTranslate .goog-te-gadget-simple {
  height: 100%;
  padding: 0 16px;
  display: flex;
  align-items: center;
  color: var(--main-text-color);
  font-size: 14px;
  background-color: transparent;
}

.utility-item a:hover,
.site-preheader #utility-menu li > a:hover,
.main-navigation ul li a:hover {
  color: var(--accent);
}

/* Site main header */
.site-header {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  box-shadow: inset 0px -1px 0px 0px var(--light-grey);
  padding: 1rem;
}

.site-header-wrapper {
  position: relative;
  box-shadow: inset 0px -1px 0px 0px var(--light-grey);
}

/* site header overlay */
.site-header-wrapper::before {
  content: "";
  display: none;
  position: absolute;
  z-index: 10;
  top: 100%;
  left: 0;
  height: 100vh;
  width: 100%;
  background-color: var(--bg-overlay);
  opacity: 0.6;
}

.site-header-wrapper.overlayed::before {
  display: block;
}

.site-header-wrapper.modal-openned::before {
  display: block !important;
}

.site-header-logo {

}

.site-header-logo img {
	height: 58px;
}

.site-header-logo span {
  font-size: 12px;
	display: inline;
  line-height: normal;
  font-weight: 600;
  color: var(--blue);
}

.site-header-wrapper.js-navbar-fixed {
  top: 0;
  transform: translateY(-100%);
}

.admin-bar .site-header-wrapper.js-navbar-fixed {
  top: 32px;
}

.site-header-wrapper.js-navbar-fixed.shown {
  transform: translateY(0%);
  transition: all 0.3s ease-in-out;
}

.scrolled-down .site-header-wrapper.js-navbar-fixed.shown {
  transform: translateY(-100%);
}

.scrolled-up .site-header-wrapper.js-navbar-fixed.shown {
  transform: translateY(0%);
}

/* Mobile menu media query */
@media (max-width: 1024px) {
	.site-header {
		padding: 0;
	}

  .site-header-logo {
		margin: 0 auto 0 1rem;
  }

	.site-header-logo img {
		height: 34px;
	}

	.site-header-logo span {
		font-size: 9px;
	}

  .site-preheader-wrapper {
    display: none;
  }
}
