/* ---- Navigation ---- */

body.stuck {
  height: 100vh;
  overflow: hidden;
}

/* ---- Sub nav scroll on hover ---- */

.wp-megamenu-sub-menu > .wpmm-submenu-right > .wp-megamenu-sub-menu > .wpmm-submenu-right {
  max-height: 90vh;
  overflow: auto;
}

.wp-megamenu-sub-menu > .wpmm-submenu-right > .wp-megamenu-sub-menu > .wpmm-submenu-right::-webkit-scrollbar {
  width: 4px;
}

.wp-megamenu-sub-menu > .wpmm-submenu-right > .wp-megamenu-sub-menu > .wpmm-submenu-right::-webkit-scrollbar-thumb {
  background: #003767;
}

/* site header */
.header-wrapper {
  position: relative;
  height: 80px;
  z-index: 999;
}
.site-header {
  position: relative;
  z-index: 2;
  height: 80px;
  width: 100%;
  background: #003767;
  padding: 10px 16px;
  /* border-bottom: 1px solid #ececec; */
}
.site-header .site-logo {
  display: block;
  width: 60px;
  height: 60px;
}
.site-header .site-logo a {
  display: block;
}
.site-header .site-logo img {
  width: 60px;
  height: 60px;
}

/* site burger */
.site-burger { display: block; position: absolute; height: 36px; width: 28px; top: 22px; right: 16px; }
.site-burger div { width: 28px; position: absolute; height: 22px; display: block; top: 9px; right: 0; }
.site-burger span { display: block; position: absolute; height: 2px; width: 100%; background: white; left: 0; transition: all 0.1s ease-in-out;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
.site-burger span:nth-child(1) { top: 0; }
.site-burger span:nth-child(2),
.site-burger span:nth-child(3) { top: 8px; }
.site-burger span:nth-child(4) { top: 16px; }
.site-burger.is-expanded span:nth-child(1) { width: 0%; left: 50%; }
.site-burger.is-expanded span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.site-burger.is-expanded span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.site-burger.is-expanded span:nth-child(4) { width: 0%; left: 50%; }

/* site navigation (mobile) */
.site-navigation--mobile {
  position: absolute;
  z-index: 10000000;
  height: calc(100vh - 80px);
  width: 0;
  top: 80px;
  right: 0;
  opacity: 0;
  background: #003767;
  transition: opacity .4s ease-in-out, width .4s ease-in-out;
}
.site-navigation--mobile--expanded {
  width: 100%;
  opacity: 1;
}
.site-navigation--mobile .main-nav-mobile {
  position: relative;
  height: 100%;
  width: calc(100% - 32px);
  left: 100%;
  background: white;
  overflow-y: scroll;
  transition: left .4s ease-in-out;
  padding: 20px;
}
.site-navigation--mobile .main-nav-mobile.is-expanded {
  left: 32px;
}

/* all levels */
/* .site-navigation--mobile nav {
  padding: 20px;
} */
.site-navigation--mobile nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-navigation--mobile nav li a {
  font-size: 16px;
  display: block;
}
.site-navigation--mobile nav ul.sub-menu {
  padding-left: 16px;
  margin-bottom: 10px;
  display: none;
}
.site-navigation--mobile nav ul.sub-menu.is-visible {
  display: block;
}

/* level 1 */
.site-navigation--mobile nav > ul > li > a {
  color: black;
  font-size: 18px;
  height: 50px;
}
.site-navigation--mobile nav > ul > li:last-child > a {
  color: #ffcc32;
}
.site-navigation--mobile nav > ul > li.current-menu-item > a,
.site-navigation--mobile nav > ul > li.current-menu-parent > a,
.site-navigation--mobile nav > ul > li.current-menu-ancestor > a {
  position: relative;
}

.site-navigation--mobile nav > ul > li.current-menu-item > a:after,
.site-navigation--mobile nav > ul > li.current-menu-parent > a:after,
.site-navigation--mobile nav > ul > li.current-menu-ancestor > a:after {
  content: '';
  position: absolute;
  height: 4px;
  width: 80px;
  bottom: 20px;
  display: block;
  background: #ffcc32;
}

/* level 2 */
.site-navigation--mobile nav ul.sub-menu > li > a {
  color: black;
  font-weight: 400;
  height: 40px;
}
.site-navigation--mobile nav ul.sub-menu > li.current-menu-item > a,
.site-navigation--mobile nav ul.sub-menu > li.current-menu-ancestor > a  {
  font-weight: 600;
}

/* level 3 */
.site-navigation--mobile nav ul.sub-menu ul.sub-menu {
  margin-bottom: 0;
  padding-left: 24px;
}
.site-navigation--mobile nav ul.sub-menu ul.sub-menu > li > a {
  color: #6c757d;
  font-weight: 400;
  position: relative;
}
.site-navigation--mobile nav ul.sub-menu ul.sub-menu > li > a:after {
  content: '';
  position: absolute;
  height: 4px;
  width: 16px;
  left: -24px;
  top: 9px;
  display: block;
  background: #cccccc;
}

.site-navigation--mobile nav ul.sub-menu ul.sub-menu > li.current-menu-item  > a {
  color: black;
  font-weight: 600;
}

.site-navigation--mobile nav ul.sub-menu ul.sub-menu > li.current-menu-item  > a:after  {
  background: black;
}

#menu-main-navigation-mobile .menu-item-has-children .menu-arrow {
  /* width: 20%; */
  display: block;
  margin-left: 1rem;
  padding-left: 0.5rem;
  height: 50px;
  text-align: right;
  margin-left: 0.5rem;
  order: 2;
  flex: 1 1 auto;
}

#menu-main-navigation-mobile .menu-item-has-children .menu-arrow .fa-chevron-up {
  display: none;
}
#menu-main-navigation-mobile .menu-item-has-children .arrow-up .fa-chevron-up {
  display: block;
}
#menu-main-navigation-mobile .menu-item-has-children .arrow-up .fa-chevron-down {
  display: none;
}


#menu-main-navigation-mobile .menu-item-has-children > a {
  flex: 0 1 75%;
}
#menu-main-navigation-mobile .menu-item-has-children {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#menu-main-navigation-mobile .menu-item-has-children ul.sub-menu {
  flex: 1 1 100%;
  order: 3;
}


/* site navigation (desktop) */
.site-navigation--desktop {
  display: none;
  padding: 0 16px;
  position: fixed;
  width: calc(100% - 252px);
  right: 176px;
  z-index: 3;
}
@media only screen and (min-width: 1200px) {
  .site-navigation--desktop {
    width: calc(100% - 292px);
    right: 216px;
  }
}
.header-wrapper.has-notification .site-navigation--desktop {
  top: 80px;
}
.wpmm-strees-row-and-content-container > .wp-megamenu-sub-menu {
  max-width: 1150px;
  right: 0 !important;
  left: auto !important;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.05) !important;
  -moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.05) !important;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.05) !important;
  background-color: #fff;
}
#wp-megamenu-main-navigation {
  background: transparent !important;
  padding: 0;
}
.wpmm_brand_logo_wrap {
  display: none;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap > ul {
  text-align: right;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li > a  {
  text-transform: initial;
  font-family: inherit;
  color: white;
  font-size: inherit;
  font-weight: 400;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li > a:hover {
  color: #ffcc32 !important;
}
/* #wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.last-item > a, */
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > .wp-megamenu-item-177967 > a,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > .wp-megamenu-item-162630 > a  {
  color: #ffcc32;
  font-weight: 600;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li > a > b {
  display: none;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.current-menu-item > a,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.current-menu-ancestor > a,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.active > a {
  color: white;
  font-weight: 600;
  position: relative;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.current-menu-item > a:before,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.current-menu-ancestor > a:before,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.active > a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  background: #ffcc32;
  width: 100%;
  display: block;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li:hover > a,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.current-menu-ancestor > a,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li.active > a {
  color: white;
}
.wp-megamenu-wrap .wpmm-nav-wrap > ul > li > a {
  padding: 28px 8px;
}
@media only screen and (min-width: 1200px) {
  .wp-megamenu-wrap .wpmm-nav-wrap > ul > li > a {
    padding: 28px 14px;
  }
}

#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu>li ul.wp-megamenu-sub-menu li.current-menu-item>a,
ul.wp-megamenu li ul.wp-megamenu-sub-menu .wpmm-vertical-tabs-nav ul li.active>a,
ul.wp-megamenu li ul.wp-megamenu-sub-menu .wpmm-vertical-tabs-nav ul li.active {
  color: #003767;
}

a.is-disabled {
  pointer-events: none !important;;
}
.home .page-title,
.error404  .page-title {
  display: none !important;
}
.wp-megamenu-wrap .wpmm-nav-wrap > ul.wp-megamenu ul.wp-megamenu-sub-menu li.wpmm-type-widget {
  margin-bottom: 24px;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li ul.wp-megamenu-sub-menu li a {
  font-family: 'joanna-sans-nova', sans-serif !important;
  font-size: 18px;
  color: #6c757d;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li ul.wp-megamenu-sub-menu li:hover > a {
  color: #003767 !important;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap .wp-megamenu > li .wpmm-strees-row-and-content-container > ul.wp-megamenu-sub-menu li.wpmm-type-widget > a  ,  #wp-megamenu-main-navigation .wpmm-item-title {
  text-transform: initial;
  font-size: 18px;
  position: relative;
  display: inline-block;
  margin-bottom: 18px;
  color: black;
}
#wp-megamenu-main-navigation >.wpmm-nav-wrap .wp-megamenu > li .wpmm-strees-row-and-content-container > ul.wp-megamenu-sub-menu li.wpmm-type-widget:hover > a {
  color: #003767 !important;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap .wp-megamenu > li .wpmm-strees-row-and-content-container > ul.wp-megamenu-sub-menu li.wpmm-type-widget > a:before , #wp-megamenu-main-navigation .wpmm-item-title:before {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  height: 4px;
  background: #ffcc32;
  width: 100%;
  display: block;
}

#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu>li ul.wp-megamenu-sub-menu li a,
#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu>li ul.wp-megamenu-sub-menu li,
#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu h1,
#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu h2,
#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu h3,
#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu h4,
#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu h5,
#wp-megamenu-main-navigation>.wpmm-nav-wrap ul.wp-megamenu h6,
#wp-megamenu-main-navigation .wpmm-item-title {
  font-family: 'joanna-sans-nova', sans-serif !important;
}

/* WIDGETS */
.widget--text-image {
  position: relative;
}
.widget--text-image .widget--image {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  margin-bottom: 10px;
  overflow: hidden;
  height: 300px !important;
}
.widget--text-image .widget--content h3.widge--title {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #EB2A29;
  color: white;
  font-size: 20px;
  font-weight: 600;
  display: inline-block;
  height: 34px;
  padding: 0 64px;
  line-height: 30px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.widget--text-image .widget--content > div p {
  font-size: 18px;
}
.widget--text-image .widget--content .button {
  border: 1px solid #6c757d;
  display: inline-block !important;
  padding: 0 64px;
  height: 34px;
  line-height: 26px;
}

.widget--text-image.display-background-image .widget--image {
  opacity: 0.2;
}
.widget--text-image.display-background-image .widget--content {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  padding: 0 32px;
}
.widget--text-image.display-background-image .widget--content .button {
  color: #003767 !important;
  border: 1px solid #003767;
}

#wp-megamenu-main-navigation .textwidget {
  margin-top: -18px;
}
#wp-megamenu-main-navigation .textwidget p {
  font-size: 16px;
}
#wp-megamenu-main-navigation .textwidget a {
  text-transform: none !important;
}
.textwidget .contact-details {
  /* margin-top: 64px; */
  position: relative;
}
.textwidget .contact-details a,
.textwidget .contact-details p > a  {
  display: flex !important;
  align-items: center;
  font-size: 18px !important;
  margin-bottom: 0.5rem;
  text-decoration: none !important;
}
.textwidget .contact-details a .fa,
.textwidget .contact-details a .fas {
  font-weight: 900;
  margin-right: 0.5rem;
  font-size: 1.5rem;
  flex: 0 1 30px;
}
/* .textwidget .contact-details:before {
  content: '';
  width: 1px;
  height: 100%;
  background: #ffcc32;
  position: absolute;
  top: 0;
  left: -16px;
} */
.textwidget .contact-details p {
  margin-bottom: 0;
}
.textwidget .contact-details p a {
  color: #003767 !important;
  text-decoration: underline;
  font-size: 18px;
  font-weight: 600 !important;
}

.widget--icon .icon-item {
  margin-bottom: 16px;
}
.widget--icon .icon-item a {
  display: flex !important;
}
.widget--icon .icon-image {
  flex-shrink: 0;
  flex-grow: 0;
  flex-basis: 50px;
}
.widget--icon .icon-title {
  flex-shrink: 0;
  flex-grow: 0;
  flex-basis: calc(100% - 50px);
  line-height: 46px;
  padding-left: 10px;
  font-weight: 600;
  color: black;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li ul.wp-megamenu-sub-menu .icon-item:hover  a {
  color: #6c757d !important;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li ul.wp-megamenu-sub-menu .icon-item:hover a:hover  {
  color: #003767 !important;
}
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu > li ul.wp-megamenu-sub-menu .icon-item a.current-menu-item-icon  {
  color: #003767 !important;
}

.has-sub-links .icon-title {
  position: relative;
  flex: 0 1 auto;
}
.has-sub-links .icon-title::after {
  content: '';
  height: 4px;
  background: #ffcc32;
  width: 100%;
  display: block;
}

.has-sub-links a.sub-link {
  margin-left: 60px;
}
/* Search Bar */
/* .header-wrapper .searchbar {
  display: none;
  position: fixed;
  z-index: 3;
  right: 16px;
  width: 160px;
  height: 80px;
} */
.header-wrapper .searchbar.searchbar--desktop {
  display: none;
  position: fixed;
  z-index: 3;
  right: 16px;
  width: 160px;
  height: 80px;

}
@media only screen and (min-width: 1024px) {
  .header-wrapper .searchbar.searchbar--desktop {
    display: block;
  }
}
@media only screen and (min-width: 1200px) {
  .header-wrapper .searchbar {
    width: 200px;
  }
}
.header-wrapper .searchbar {
  display: block;
}
.header-wrapper .searchbar--desktop .input-group {
  position: absolute;
  top: calc(50% - 20px);
}
.header-wrapper .searchbar .search-field {
  box-shadow: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 13px;
  background: transparent;
  margin-bottom: 0;
  height: 40px;
  padding-left: 0;
  -webkit-border-top-left-radius: 0px;
  -webkit-border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  -webkit-border-bottom-left-radius: 0px;

  -moz-border-radius-topleft: 0px;
  -moz-border-radius-topright: 6px;
  -moz-border-radius-bottomright: 6px;
  -moz-border-radius-bottomleft: 0px;

  border-top-left-radius: 0px;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 0px;
  font-weight: 600;
  margin-left: 40px;
}
.header-wrapper .searchbar--mobile .search-field {
  width: 100%;
  color: #003767;
  border: 2px solid #003767;
  border-left: none;
}
.header-wrapper .searchbar--desktop .search-field {
  width: calc(100% - 40px);
  color: white;
  border: 2px solid white;
  border-left: none;
}
.header-wrapper input::placeholder {
  color: white;
}
.header-wrapper .searchbar--mobile input::placeholder {
  color: #003767;
}

.current-menu-item-icon .icon-title {
  color: #003767;
}

.header-wrapper .searchbar .input-group-btn {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 0;
}
.header-wrapper .searchbar .input-group-btn .search-submit {
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: transparent;
  -webkit-border-top-left-radius: 6px;
  -webkit-border-top-right-radius: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-bottom-left-radius: 6px;

  -moz-border-radius-topleft: 6px;
  -moz-border-radius-topright: 0px;
  -moz-border-radius-bottomright: 0px;
  -moz-border-radius-bottomleft: 6px;

  border-top-left-radius: 6px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 6px;
}
.header-wrapper .searchbar--mobile .input-group-btn .search-submit {
  color: #003767;
  border: 2px solid #003767;
  border-right: none;
}
.header-wrapper .searchbar--desktop .input-group-btn .search-submit {
  color: white;
  border: 2px solid white;
  border-right: none;
  margin: 0;
}
.searchbar--mobile #searchform button {
  margin: auto !important;
}

/* > 960px */
@media only screen and (min-width: 960px) {
  .site-burger {
    display: none;
  }
  .site-navigation--mobile {
    display: none;
  }
  .site-navigation--desktop {
    display: block;
  }
  .site-header {
    position: fixed;
  }
  .header-wrapper .searchbar {
    display: block;
  }
}

/* TEMPORARY */
#wp-megamenu-item- {
  display: none;
}
#wp-megamenu-main-navigation h4.wpmm-item-title,
#wp-megamenu-main-navigation > .wpmm-nav-wrap ul.wp-megamenu li.wpmm-type-widget .wpmm-item-title  {
  font-size: 18px;
  text-transform: unset !important;
  font-family: 'joanna-sans-nova', sans-serif !important;
  line-height: 25px;
  padding-top: 3px;
  padding-bottom: 3px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 18px;
  display: inline-block;
}
#wp-megamenu-main-navigation .wpmm-item-title ~ div {
  margin-top: 0.5rem;
}
