:root {
  --primary: #00487c;
  --secondary: #ffb81c;
  --tertiary: #4A4A4A;
  --grey: #edf0f3;
}

div[class*=mode-]:not([class*=primary]) .primary_text {
  color: var(--primary) !important;
}

/* Icon Alter */
div.mode--primary .container--icon svg *[fill="#ffb81c"] {
  fill: #fff;
}

div.mode--primary .container--icon svg *[stroke="#ffb81c"] {
  stroke: #fff;
}

div[class^=mode--]:not([class*=primary]) svg.custom-svg-primary {
  fill: var(--primary);
}

div.mode--primary svg.custom-svg-primary {
  fill: #fff;
}

/* Intro Container */
.container--title,
.container--title p.lead {
  max-width: 1140px;
}

/* Primary H2 */
body:not([class*=-cc]) a:not([id^=Hero]):not([id^=Contact]):not([id^=Sequential]) + div h2.title,
body:not([class*=-cc]) a[id^=Sequential] + div .container--title h2.title {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 3rem;
}

body:not([class*=-cc]) a:not([id^=Hero]):not([id^=Contact]):not([id^=Sequential]) + div:not([class*=primary]) h2.title,
body:not([class*=-cc]) a[id^=Sequential] + div:not([class*=primary]) .container--title h2.title {
  color: var(--primary) !important;
}

body:not([class*=-cc]) a:not([id^=Hero]):not([id^=Contact]):not([id^=Sequential]) + div h2.title::after,
body:not([class*=-cc]) a[id^=Sequential] + div .container--title h2.title::after {
  content: "";
  display: block;
  width: 300px;
  height: 4px;
  background: var(--tertiary);
  margin: 2rem 0 2rem;
}

body:not([class*=-cc]) a:not([id^=Hero]):not([id^=Contact]):not([id^=Sequential]) + div.mode--primary h2.title::after,
body:not([class*=-cc]) a[id^=Sequential] + div.mode--primary .container--title h2.title::after {
  background: #fff;
}

body:not([class*=-cc]) a:not([id^=Hero]):not([id^=Contact]):not([id^=Sequential]) + div .text--center h2.title::after,
body:not([class*=-cc]) a[id^=Sequential] + div .text--center .container--title h2.title::after {
  margin: 2rem auto;
}

@media (max-width: 991px) {
  body:not([class*=-cc]) a:not([id^=Hero]):not([id^=Contact]):not([id^=Sequential]) + div h2.title,
  body:not([class*=-cc]) a[id^=Sequential] + div .container--title h2.title {
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  body:not([class*=-cc]) a:not([id^=Hero]):not([id^=Contact]):not([id^=Sequential]) + div h2.title,
  body:not([class*=-cc]) a[id^=Sequential] + div .container--title h2.title {
    font-size: 2rem;
  }
}
/* Primary H3 */
div[class*=Carousel-H-M-4Col-ImageAboveText] span.title,
div[class*=Counting-Numbers-H-M-3Col-DataPoints] h3.title-col,
div[class*=Insights-H-M] .title-col,
div[class*=Highlights-H-M-3Col-IconAboveText] .title-col,
div[class*=Highlights-H-M-3Col-IconAboveText] .text,
div[class*=Multi-Item-Content-H-M] .title-col,
div[class*=Multi-Item-Content-H-M-2Col-Text] .container--content > h3:first-child,
div[class*=Multi-Item-Content-H-M-3Col-Text] .container--content > h3:first-child,
div[class*=Resources-H-M-2ColGrid-IconTextCTA] .title-col,
div[class*=Singular-Content-H-M-1Col] .container--content > h3:first-child {
  font-size: 1.375em !important;
  text-transform: uppercase !important;
  font-weight: bold !important;
}

div[class*=Carousel-H-M-4Col-ImageAboveText]:not([class*=primary]) span.title,
div[class*=Counting-Numbers-H-M-3Col-DataPoints]:not([class*=primary]) h3.title-col,
div[class*=Insights-H-M]:not([class*=primary]) .title-col,
div[class*=Highlights-H-M-3Col-IconAboveText]:not([class*=primary]) .title-col,
div[class*=Highlights-H-M-3Col-IconAboveText]:not([class*=primary]) .text,
div[class*=Multi-Item-Content-H-M]:not([class*=primary]) .title-col,
div[class*=Multi-Item-Content-H-M-2Col-Text]:not([class*=primary]) .container--content > h3:first-child,
div[class*=Multi-Item-Content-H-M-3Col-Text]:not([class*=primary]) .container--content > h3:first-child,
div[class*=Resources-H-M-2ColGrid-IconTextCTA]:not([class*=primary]) .title-col,
div[class*=Singular-Content-H-M-1Col]:not([class*=primary]) .container--content > h3:first-child {
  color: var(--tertiary) !important;
}

div[class*=Carousel-H-M-4Col-ImageAboveText] span.title::after,
div[class*=Counting-Numbers-H-M-3Col-DataPoints] h3.title-col::after,
div[class*=Insights-H-M] .title-col::after,
div[class*=Highlights-H-M-3Col-IconAboveText] .title-col::after,
div[class*=Highlights-H-M-3Col-IconAboveText] .text::after,
div[class*=Multi-Item-Content-H-M] .title-col::after,
div[class*=Multi-Item-Content-H-M-2Col-Text] .container--content > h3:first-child::after,
div[class*=Multi-Item-Content-H-M-3Col-Text] .container--content > h3:first-child::after,
div[class*=Resources-H-M-2ColGrid-IconTextCTA] .title-col::after,
div[class*=Singular-Content-H-M-1Col] .container--content > h3:first-child::after {
  content: "";
  display: block;
  margin: 0.75rem 0 !important;
  width: 100px !important;
  height: 4px !important;
  line-height: 1 !important;
}

div[class*=Carousel-H-M-4Col-ImageAboveText]:not([class*=primary]) span.title::after,
div[class*=Counting-Numbers-H-M-3Col-DataPoints]:not([class*=primary]) h3.title-col::after,
div[class*=Insights-H-M]:not([class*=primary]) .title-col::after,
div[class*=Highlights-H-M-3Col-IconAboveText]:not([class*=primary]) .title-col::after,
div[class*=Highlights-H-M-3Col-IconAboveText]:not([class*=primary]) .text::after,
div[class*=Multi-Item-Content-H-M]:not([class*=primary]) .title-col::after,
div[class*=Multi-Item-Content-H-M-2Col-Text]:not([class*=primary]) .container--content > h3:first-child::after,
div[class*=Multi-Item-Content-H-M-3Col-Text]:not([class*=primary]) .container--content > h3:first-child::after,
div[class*=Resources-H-M-2ColGrid-IconTextCTA]:not([class*=primary]) .title-col::after,
div[class*=Singular-Content-H-M-1Col]:not([class*=primary]) .container--content > h3:first-child::after {
  background: var(--tertiary) !important;
}

div[class*=Carousel-H-M-4Col-ImageAboveText] .text--center span.title::after,
div[class*=Counting-Numbers-H-M-3Col-DataPoints] .text--center h3.title-col::after,
div[class*=Insights-H-M] .text--center .title-col::after,
div[class*=Highlights-H-M-3Col-IconAboveText] .text--center .title-col::after,
div[class*=Highlights-H-M-3Col-IconAboveText] .text--center .text::after,
div[class*=Multi-Item-Content-H-M] .text--center .title-col::after,
div[class*=Multi-Item-Content-H-M-2Col-Text] .text--center .container--content > h3:first-child::after,
div[class*=Multi-Item-Content-H-M-3Col-Text] .text--center .container--content > h3:first-child::after,
div[class*=Resources-H-M-2ColGrid-IconTextCTA] .text--center .title-col::after,
div[class*=Singular-Content-H-M-1Col] .text--center .container--content > h3:first-child::after {
  margin: 0.75rem auto !important;
}

@media (max-width: 767px) {
  div[class*=Carousel-H-M-4Col-ImageAboveText] span.title,
  div[class*=Counting-Numbers-H-M-3Col-DataPoints] h3.title-col,
  div[class*=Insights-H-M] .title-col,
  div[class*=Highlights-H-M-3Col-IconAboveText] .title-col,
  div[class*=Highlights-H-M-3Col-IconAboveText] .text,
  div[class*=Multi-Item-Content-H-M] .title-col,
  div[class*=Multi-Item-Content-H-M-2Col-Text] .container--content > h3:first-child,
  div[class*=Multi-Item-Content-H-M-3Col-Text] .container--content > h3:first-child,
  div[class*=Resources-H-M-2ColGrid-IconTextCTA] .title-col,
  div[class*=Singular-Content-H-M-1Col] .container--content > h3:first-child {
    font-size: 1.15em !important;
  }
}
/* Message Field H4 */
.custom-wysiwyg h4 {
  font-size: 2.25em;
  line-height: 1.2;
  font-weight: bold;
}

@media (max-width: 767px) {
  .custom-wysiwyg h4 {
    font-size: 2em;
  }
}
/* Message Field Numbered List */
.custom-wysiwyg ol li {
  list-style: none;
  display: inline-block;
  padding: 0.25em 1em;
}

/* Accordion Headers */
.title-accordion button {
  font-weight: bold;
}

div[class^=mode--]:not([class*=primary]) .title-accordion button {
  color: var(--primary) !important;
}

div[class^=mode--]:not([class*=primary]) .title-accordion button::before {
  background: var(--tertiary);
}

.title-accordion button .collapse-icon.collapse-icon.collapse-icon {
  background: var(--grey);
}

/* Hero Banner 3 [Home] */
div[class*=Hero-Banners-B-V-T-OptCTA] .container--hero .title.title.title.title.title.title.title.title {
  font-family: "Guardian Sans", sans-serif;
  margin-bottom: 0;
  display: inline-block;
  text-transform: uppercase;
  font-weight: bold;
  margin: 0;
  line-height: 1;
}

div[class*=Hero-Banners-B-V-T-OptCTA] .container--hero .subtitle.subtitle.subtitle.subtitle.subtitle.subtitle {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: bold;
  position: relative;
  display: inline-block;
  margin-bottom: 0;
  width: auto;
}

div[class*=Hero-Banners-B-V-T-OptCTA] .background--media.background--media.background--media.background--media.background--media::before {
  background: rgba(0, 0, 0, 0.45);
}

div[class*=Hero-Banners-B-V-T-OptCTA] .container--content.container--content.container--content.container--content.container--content {
  background: initial;
  max-width: 1140px;
}

/* Subtitle wings - desktop only */
@media (min-width: 992px) {
  div[class*=Hero-Banners-B-V-T-OptCTA] .container--hero .align--center .subtitle.subtitle.subtitle.subtitle.subtitle {
    padding: 0 75px;
  }
  div[class*=Hero-Banners-B-V-T-OptCTA] .container--hero .align--center .subtitle.subtitle.subtitle.subtitle.subtitle.subtitle::after,
  div[class*=Hero-Banners-B-V-T-OptCTA] .container--hero .align--center .subtitle.subtitle.subtitle.subtitle.subtitle.subtitle::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0.75rem;
    transform: translateY(-50%);
    width: 60px;
    height: 2px;
    background: #fff;
  }
  [class*=Hero-Banners-B-V-T-OptCTA] .container--hero .align--center .subtitle.subtitle.subtitle.subtitle.subtitle.subtitle::after {
    margin: 0;
    left: initial !important;
    right: 0;
  }
}
@media (max-width: 991px) {
  div[class*=Hero-Banners-B-V-T-OptCTA] .container--hero .subtitle.subtitle.subtitle.subtitle.subtitle.subtitle {
    font-size: 1.2rem;
  }
  /* Subtitle wings become simple pseudo-line on mobile */
  div[class*=Hero-Banners-B-V-T-OptCTA] .container--content hgroup::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #fff;
    margin: 12px 0 0;
  }
  div[class*=Hero-Banners-B-V-T-OptCTA] .align--center .container--content hgroup::after {
    margin: 12px auto;
  }
}
@media (max-width: 575px) {
  div[class*=Hero-Banners-B-V-T-OptCTA] .container--hero .subtitle.subtitle.subtitle.subtitle.subtitle.subtitle {
    font-size: 0.875rem;
  }
}
/* Hero Banner 2 [All Other Pages] */
div[class*=Hero-Banners-FullWidthBanner-TextLeftBg] .title.title.title.title.title.title.title {
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 0;
}

div[class*=Hero-Banners-FullWidthBanner-TextLeftBg] .container--content hgroup::after {
  content: "";
  display: block;
  width: 300px;
  height: 4px;
  background: #fff;
  margin: 1.5rem 0;
}

div[class*=Hero-Banners-FullWidthBanner-TextLeftBg] .align--center .container--content hgroup::after {
  margin: 1.5rem auto;
}

/* Contact 2/3 [Contact] */
div[class*=Contact-Us-2Col-DescOfficeAddrCols]:not([class*=primary]) .list-title.list-title.list-title.list-title.list-title.list-title {
  margin-bottom: 1em;
  font-weight: bold;
  color: var(--primary);
  font-size: 2em;
}

div[class*=Contact-Us-2Col-DescOfficeAddrCols]:not([class*=primary]) .list-title.list-title.list-title.list-title.list-title.list-title::after {
  content: "";
  display: block;
  width: 100px;
  height: 4px;
  background: #4A4A4A;
  margin: 0.5rem 0 0;
}

@media (max-width: 767px) {
  div[class*=Contact-Us-2Col-DescOfficeAddrCols]:not([class*=primary]) .list-title.list-title.list-title.list-title.list-title.list-title {
    font-size: 1.5em;
  }
}
/* Multi-Item Content 3 (Primary excluded) [Our Designations] */
div[class*=Multi-Item-Content-H-M-1Col-Tabs]:not([class*=primary]) .section--tabs .container--tabs nav {
  background: var(--tertiary);
}

div[class*=Multi-Item-Content-H-M-1Col-Tabs]:not([class*=primary]) .section--tabs .container--tabs nav .nav-link {
  color: #fff;
  font-weight: bold;
  border: initial !important;
}

div[class*=Multi-Item-Content-H-M-1Col-Tabs]:not([class*=primary]) .section--tabs .container--tabs nav .nav-link.active {
  background: var(--primary);
}

div[class*=Multi-Item-Content-H-M-1Col-Tabs]:not([class*=primary]) .nav-tabs .nav-item {
  margin-bottom: initial;
}

div[class*=Multi-Item-Content-H-M-1Col-Tabs]:not([class*=primary]) .section--tabs .container--tabs nav .nav-link::after {
  display: none;
}

div[class*=Multi-Item-Content-H-M-1Col-Tabs]:not([class*=primary]) .section--tabs .container--tabs nav .nav-link.active::before {
  content: "";
  display: block;
  width: 0;
  height: 0 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
  background: none;
}

/* Multi-Item Content 7 (Primary excluded) [Our Beliefs] */
div[class*=Multi-Item-Content-H-M-3Col-Text]:not([class*=primary]) .container--content {
  padding: 3rem;
  background: var(--primary);
  border-radius: 4px;
}

div[class*=Multi-Item-Content-H-M-3Col-Text]:not([class*=primary]) .container--content * {
  color: #fff !important;
}

/* Singular Content 3 [Our Expertise] */
div[class*=Singular-Content-H-M-OptCTA] .container {
  padding: 6em 2em 5em;
  border: 1px solid var(--primary);
}

@media only screen and (max-width: 768px) {
  div[class*=Singular-Content-H-M-OptCTA] .container {
    margin-left: 15px;
    margin-right: 15px;
  }
}
/* Singular Content 8/10 (Primary excluded) [Home] */
div[class*=Singular-Content-ImageLeftOfText][class*=-Overlay-]:not([class*=primary]) .section--textBanner-cta-2col-overlay {
  position: relative;
}

div[class*=Singular-Content-ImageLeftOfText][class*=-Overlay-]:not([class*=primary]) .section--textBanner-cta-2col-overlay .container > .row {
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 768px) {
  div[class*=Singular-Content-ImageLeftOfText][class*=-Overlay-]:not([class*=primary]) .container--content {
    border: 2px solid var(--primary);
  }
}
@media only screen and (min-width: 769px) {
  div[class*=Singular-Content-ImageLeftOfText][class*=-Overlay-]:not([class*=primary]) .section--textBanner-cta-2col-overlay::before {
    content: "";
    display: block;
    width: 90%;
    height: 95%;
    background: var(--grey);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  div[class*=Singular-Content-ImageLeftOfText][class*=-Overlay-]:not([class*=primary]) .section--textBanner-cta-2col-overlay::after {
    content: "";
    display: block;
    width: 75%;
    height: 85%;
    position: absolute;
    left: 7.5%;
    top: 50%;
    transform: translate(0, -50%);
    border: 2px solid var(--primary);
  }
  div[class*=Singular-Content-ImageLeftOfText][class*=-Overlay-]:not([class*=primary]).column-reverse .section--textBanner-cta-2col-overlay::before {
    right: initial;
    left: 0;
  }
  div[class*=Singular-Content-ImageLeftOfText][class*=-Overlay-]:not([class*=primary]).column-reverse .section--textBanner-cta-2col-overlay::after {
    right: 7.5%;
    left: initial;
  }
}
/* Video 1 (Primary excludes) [Home] */
@media only screen and (min-width: 768px) {
  div[class*=Singular-Content-V-H-M-OptCTA]:not([class*=primary]) .container--media {
    position: relative;
    overflow: initial;
  }
  div[class*=Singular-Content-V-H-M-OptCTA]:not([class*=primary]) .container--title {
    position: relative;
    z-index: 10;
  }
  div[class*=Singular-Content-V-H-M-OptCTA]:not([class*=primary]) .container--media::before {
    content: "";
    display: block;
    position: absolute;
    width: 110%;
    height: 90%;
    bottom: -10%;
    left: 50%;
    transform: translate(-50%, 0);
    border: 2px solid var(--primary);
  }
}