:root {
  --primary: #53565A;
  --secondary: #B2BC26;
  --main-font: "omnes-pro", sans-serif;
  --default-weight: 500;
  --heading-weight: 800;
  --base-size: 19px;
  --arrow: url("https://www.hull.gov.uk/hullheatnetwork/images/arrow_circle_black_1.png");
  --site-logo: url("https://www.hull.gov.uk/hullheatnetwork/images/HullHeatNetwork_colour_on_black_with_caption_1.jpg");
  --invest-hull: url("https://www.hull.gov.uk/hullheatnetwork/images/header_logo.png");
}

/* Text */

h2.hero-heading {
  font: var(--heading-weight) 60px var(--main-font) !important;
}

h1 {
  font: var(--heading-weight) clamp(34px, 32.8px + 0.375vw, 40px) var(--main-font) !important;
  margin: 1em 0 0.5em;
}

h2 {
  font: var(--heading-weight) clamp(29px, calc(0.444vw + 27.667px), 33px) var(--main-font) !important;
}

h2:not(.landing h2) {
  margin: 1em 0 0.5em;
}

:is(h3, .js-accordion-header span) {
  font: var(--heading-weight) clamp(24px, calc(0.444vw + 22.667px), 28px) var(--main-font) !important;
  margin: 1em 0 0.5em;
}

h4 {
  font: var(--heading-weight) clamp(20px, calc(0.333vw + 19px), 23px) var(--main-font) !important;
  margin: 1em 0 0.5em;
}

:is(.timeline-container h3) {
  margin: 0.5em 0;
}

:is(h5, .listing__heading, button.expand-all-accordions, #navPanel nav a, .form__label) {
  font: var(--heading-weight) var(--base-size) var(--main-font) !important;
  margin: 0 0 0.5em;
}

:is(.editor, .accordion-content) ul {
  list-style: none !important;
  margin: 0.8em 0 0.8em 1em;
}

:is(.editor, .accordion-content) ol {
  margin: 0.8em 0 0.8em 1em;
}

:is(.editor, .accordion-content) ul li::before {
  content: '';
  display: inline-block;
  padding: 0.2em;
  border: 4px solid var(--secondary);
  border-radius: 50%;
  margin: 0 1em 0 -2.1em;
}

:is(.editor, .accordion-content) ul li {
  margin-bottom: 0.5em;
  text-indent: 0.35em;
}

:is(.editor, .accordion-content) ol li {
  margin-bottom: 0.5em;
}

.container:not(#main) a {
  font: bold var(--base-size) var(--main-font) !important;
}

#main a {
  font-weight: bold;
}

:is(#main p:not(.summary), #main ul, #main ol, .accordion-content p, .listing__summary, strong, b) {
  font: var(--default-weight) var(--base-size) var(--main-font) !important;
  color: var(--primary);
}

.hero--text-dark p {
  color: white !important;
}

/* Buttons */

:is(.button, a.button.fit, .accordion-content .button, .button.primary, input[type="submit"], input[type="reset"], input[type="button"], .timeline-content p a.button) {
  font: var(--heading-weight) clamp(20px, calc(0.333vw + 19px), 23px) var(--main-font) !important;
  margin: 0.5em 0 0 0.8em;
  padding: 0.5em 1em 0.5em 2em;
  background-color: white;
  color: var(--primary) !important;
  border: solid 4px var(--secondary);
  border-radius: 5px;
  height: unset;
  width: unset;
  text-wrap: initial;
  text-align: left;
}

:is(.editor .button, .accordion-content .button, .timeline-content p a.button) {
  min-width: 250px !important;
}

:is(input[type="submit"], input[type="reset"], input[type="button"]) {
  text-align: center !important;
  text-wrap: unset !important;
  padding: initial !important;
  height: 100% !important;
  min-height: 3em;
}

input:is(.button) {
  margin: 0 auto !important;
  border: solid 4px white !important;
}

:is(#main .button):hover,
:is(#main .button):focus {
  background-color: var(--primary) !important;
  border: solid 4px var(--primary) !important;
  color: white !important;
  outline: none !important;
}

input:not(.form__field):hover,
input:not(.form__field):focus {
  background-color: var(--secondary) !important;
  border: solid 4px var(--secondary) !important;
  color: white !important;
  outline: none !important;
}

:is(.button, a.button.fit, .accordion-content .button, .button.primary, .timeline-content p a.button):before {
  content: "";
  position: relative;
  padding: 1em;
  background: no-repeat var(--arrow) center / contain;
  margin: auto 0.5em auto -3em;
}

input {
  border: solid 2px var(--primary) !important;
}

:is(input[type="submit"], input[type="reset"], input[type="button"]):hover,
:is(input[type="submit"], input[type="reset"], input[type="button"]):focus {
  background-color: var(--secondary) !important;
  border-color: var(--secondary) !important;
  outline: none !important;
}

.button.fit {
  width: unset;
}

/* Footer */

#footer {
  background-color: var(--primary) !important;
  margin-top: -2em;
  padding: 1em 0 2em;
}

/* Fonts */

:is(h1, h2, h3, h4, h5, h6, a, input, .list--breadcrumb .list__item),
.js-menu-toggle a:hover {
  color: var(--primary);
  letter-spacing: 0.3px !important;
}

/* Body */

.landing .widget-width:not(.widget-width--100) {
  padding-left: 2em;
  padding-right: 2em;
}

body.landing #main {
  margin-top: 0;
}

#main {
  padding: 0;
}

#main>header {
  margin: 3em 0 !important;
}

body:not(.landing) #main .box {
  border-top: solid 10px var(--secondary);
  border-radius: 0px;
}

body:not(.landing) #main {
  padding-top: 4em !important;
}

body:not(.news-list) div:is(.col-8, .col-4, .col-12) {
  width: 100% !important;
  padding: 2em 12em;
}

@media screen and (max-width: 840px) {

  body:not(.news-list) div:is(.col-8, .col-4, .col-12) {
    padding: 3em 1em 3em 3em !important;
  }
}

@media only screen and (min-width:840px) and (max-width:1060px) {

  body:not(.news-list) div:is(.col-8, .col-4, .col-12) {
    padding: 2em 3em !important;
  }
}

#page-wrapper {
  background-color: white;
}

.box {
  box-shadow: none;
  width: 100% !important;
  overflow: hidden;
}

p {
  margin: 0.8em 0;
}

@media screen and (max-width: 736px) {
  .box {
    margin: 0;
    padding: 2em 0 !important;
  }

  section:is(#main) .container {
    padding: 0 1em;
  }
}

@media screen and (max-width: 480px) {
  .box {
    padding: 3em 0 !important
  }
}

/* Timeline Widget */

body:not(.landing) :is(div.timeline-left .left, div.timeline-left .right):last-child::after {
  display: none;
}

body:not(.landing) div.timeline-container:last-child .timeline-content {
  box-shadow: none !important;
  padding-left: 0;
}

body:not(.landing) div.timeline-container:last-child .timeline-content a {
  font: var(--heading-weight) clamp(24px, calc(0.444vw + 22.667px), 28px) var(--main-font) !important;
  margin-top: -0.4em;
}

div.timeline-left .timeline-container {
  max-width: 100% !important;
  padding-right: 0 !important;
}

div.timeline::after {
  background-color: var(--secondary) !important;
  width: 2.5% !important;
  margin: 0 0 -3em -1.8em !important;
}

div.timeline-container::after {
  background-color: var(--primary) !important;
}

.widget--element--timeline {
  margin-bottom: 2em !important;
}

:is(div.timeline-left .left, div.timeline-left .right)::after {
  left: -5px !important;
  margin-top: 2em;
}

div.timeline-container::after {
  padding: 0.45em !important;
  border: 6px solid white !important;
}

body:not(.landing) .timeline {
  margin: 0 !important;
}

body:not(.landing) div.timeline-container:last-child .timeline-content a {
  margin-top: -0.8em;
}

body:not(.landing) :is(div.timeline-left .left, div.timeline-left .right)::after {
  margin-top: 0.8em;
}

@media only screen and (min-width:600px) {

  div.timeline::after {
    margin: 0 0 -3em -1.75em !important;
  }

  div.timeline-container::after {
    padding: 0.6em !important;
    border: 8px solid white !important;
  }

  :is(div.timeline-left .left, div.timeline-left .right)::after {
    left: -6.5px !important;
  }

  body:not(.landing) div.timeline-container:last-child .timeline-content a {
    margin-top: -0.7em;
  }

}

@media screen and (max-width: 870px) {
  .landing div.timeline-container {
    padding: 0 !important;
  }

  body:not(.landing) div.timeline-container {
    padding-left: 40px !important;
    padding-right: 0 !important;
  }
}

@media only screen and (min-width:960px) {

  div.timeline-container::after {
    padding: 0.7em !important;
    border: 9px solid white !important;
  }

}

@media only screen and (min-width:1280px) {

  :is(div.timeline-left .left, div.timeline-left .right)::after {
    margin-top: 0.6em;
  }

  div.timeline::after {
    margin: 0 0 -3.3em -1.65em !important;
  }

  div.timeline-container::after {
    padding: 0.9em !important;
    border: 12px solid white !important;
  }

  :is(div.timeline-left .left, div.timeline-left .right)::after {
    left: -9px !important;
  }

  body:not(.landing) div.timeline-container:last-child .timeline-content a {
    margin-top: -0.7em;
  }

}

@media only screen and (min-width:1620px) {

  :is(div.timeline-left .left, div.timeline-left .right)::after {
    margin-top: 0.3em;
  }

  div.timeline::after {
    width: 1.78em !important;
  }

  div.timeline-container::after {
    padding: 1em !important;
    border: 15px solid white !important;
  }

  body:not(.landing) div.timeline-container:last-child .timeline-content a {
    margin-top: -0.7em;
  }

}

@media only screen and (min-width:1650px) {

  div.timeline::after {
    width: 1.9em !important;
  }

  div.timeline-container::after {
    padding: 1.1em !important;
  }

  :is(div.timeline-left .left, div.timeline-left .right)::after {
    left: -0.75em !important;
  }

}

@media only screen and (min-width:1675px) {

  div.timeline::after {
    width: 2em !important;
  }

  div.timeline-container::after {
    padding: 1.1em !important;
  }

}

/* Links */

a:not(.button, .logo, .list--skip-links a):hover,
a:not(.button, .logo, .list--skip-links a):focus {
  text-decoration-color: var(--secondary) !important;
  outline: none !important;
}

#nav>ul>li>ul>li a {
  text-decoration: none;
  font: var(--heading-weight) 1.6em / 1.5em var(--main-font);
  color: var(--primary);
}

#nav>ul>li>ul>li a:hover,
#nav>ul>li>ul>li a:focus {
  background: var(--secondary);
  color: var(--primary);
  outline: none !important;
}

/* Amends header and logo */

#header .logo .symbol img {
  display: block;
  height: 7em;
  margin: 0.3em 0 0 0.65em;
  min-width: 100%;
}

a:has(img) {
  text-decoration: none;
}

#header {
  min-height: 7.5em;
  background-color: var(--primary) !important;
}

.landing #header {
  position: fixed !important;
}

#header nav>ul {
  list-style: none;
  margin: 1em 5em;
  padding-left: 0;
  min-width: 200px;
}

:is(#nav ul ul, #nav) {
  min-width: 250px;
}

div#navPanel {
  background-color: white;
}

#navPanel ul {
  margin-top: 2em;
  padding: 0;
}

#navButton .toggle:before {
  background: var(--primary);
}

#navPanel .link {
  height: unset;
  margin: 0 0 1em;
  border: none;
}

:is(a.list__link:hover, a.list__link:focus) {
  text-decoration: none;
}

/* Removes 'Categories' in header and replaces it with 'Menu' */

#js-menu-toggle:not(.list):nth-child(1) a:not(.list__link):before {
  content: 'Menu';
  display: block;
  text-align: center;
  visibility: visible;
  color: white !important;
  text-decoration: none;
}

ul#js-menu-toggle li a:not(.list__link) {
  margin-top: 1em;
  visibility: hidden;
  min-height: 1em !important;
  height: 2em !important;
  overflow: hidden;
  font: var(--heading-weight) 1.6em var(--main-font);
}

/* Site Information */

section:not(#main) .box:nth-child(1):before {
  content: 'Site Information';
  display: block;
  font: var(--heading-weight) clamp(2.4em, 1vw, 3.2em) var(--main-font);
  color: white !important;
  margin-bottom: 1em;
  letter-spacing: 0.3px;
  text-align: center;
}

:is(ul.alt li, ul.list--listing li) {
  border-top: unset;
  padding: 0.5em;
  display: inline-block;
  color: white !important;
}

#page-wrapper section {
  max-width: 100%;
  width: 100%;
}

#page-wrapper section:not(#main) .box {
  box-shadow: none;
  width: 100% !important;
  margin: 0;
  padding: 8vw 6.5vw 0vw !important;
  border-radius: 0px;
}

@media only screen and (min-width:1023px) {
  #page-wrapper section:not(#main) .box {
    padding: 4vw 17vw 0vw !important;
  }
}

:is(#page-wrapper section:not(#main):nth-child(4)>div>div>div, #page-wrapper section:not(#main) .box, #page-wrapper section:not(#main) .box div) {
  background-color: var(--primary);
}

:is(.row>.col-3:has(.list), #page-wrapper section:not(#main):nth-child(4)>div>div>div) {
  margin: auto;
}

@media only screen and (min-width:767px) {

  :is(.row>.col-3:has(.list), #page-wrapper section:not(#main):nth-child(4)>div>div>div) {
    padding-left: 3em;
  }

}

#page-wrapper section:not(#main):is(.box .row, .box .row div:not(.col-12-mobilep, .hero-content)) {
  width: 100%;
}

.col-12-mobilep .list__link {
  color: white !important;
  text-decoration-color: white !important;
}

.col-12-mobilep .list__link:hover,
.col-12-mobilep .list__link:focus {
  color: var(--secondary) !important;
  text-decoration-color: var(--secondary);
  outline: none !important;
}

#footer .copyright {
  font: bold var(--base-size) var(--main-font) !important;
  color: white !important;
}

/* Footer Image */

section:not(#main).container:before {
  margin-bottom: -0.2em;
  content: '';
  width: 100%;
  height: 350px;
  position: relative;
  display: block;
  background: url("https://www.hull.gov.uk/hullheatnetwork/images/Banner_2.png") no-repeat center left / cover;
}

@media only screen and (max-width:500px) {

  section:not(#main).container:before {
    height: 150px !important;
  }

}

@media only screen and (max-width:867px) {

  section:not(#main).container:before {
    height: 200px !important;
  }

}

@media only screen and (min-width:867px) and (max-width:1600px) {

  section:not(#main).container:before {
    height: 300px !important;
  }

}

/* Converts Timeline to infographic on Landing page */

.landing div.timeline-content {
  padding: 20px 30px !important;
  background-color: var(--primary) !important;
  border-radius: 40px !important;
  position: relative !important;
  text-align: center !important;
  width: 100% !important;
  height: 100% !important;
}

.landing div.timeline-left .timeline-container {
  padding: 0;
  margin: 1.5em 0;
}

.landing div.timeline {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(200px, 1fr)) !important;
  gap: 1em !important;
}

.landing div.timeline-content p:has(img) {
  top: -2.5em !important;
  position: absolute !important;
  width: 90px !important;
  left: 2em !important;
}

.landing :is(div.timeline-content p, div.timeline-content h3) {
  color: white !important;
  margin-bottom: 0;
}

.landing div.timeline-content h3 {
  margin-top: 1.5em;
}

.landing div.timeline-content p:has(img) {
  height: 0 !important;
  margin: 0 !important;
}

.landing .timeline-heading {
  text-align: center;
}

@media screen and (max-width: 685px) {

  .landing div.timeline-left .timeline-container {
    max-width: 300px !important;
    justify-self: center !important;
  }

  .landing div.timeline {
    display: grid !important;
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .landing div.timeline-content p:has(img) {
    left: 0 !important;
    right: 0 !important;
    justify-self: center !important;
  }
}

/* Fixes Hero Image */

.landing #main .box {
  padding-top: 0 !important;
}

h2.hero-heading {
  color: white !important;
  text-align: center;
}

.landing .hero {
  background-position: top right;
  display: flex;
}

/* CTA Banner */

.cta-banner__title {
  text-align: center;
  margin-bottom: 0 !important;
}

.cta-banner__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta-banner figure {
  margin: unset;
  height: 100%;
  min-height: 16em;
}

.cta-banner__content {
  text-align: left;
  display: flex !important;
  flex-direction: column;
}

.cd-padding-sm {
  padding: 2em !important;
  order: 1;
}

.cta-banner__description {
  font-size: unset;
  color: var(--primary);
  text-align: left;
  margin-bottom: 0;
}

.cta-banner__btns {
  text-align: center;
  display: inline-block !important;
  margin: 0.5em 0;
  padding: 0 !important;
}

@media (min-width: 64rem) {
  .cta-banner:not(.cta-banner--text-center\@md) .cta-banner__content {
    padding: unset !important;
  }
}

@media (max-width: 80rem) {
  .cta-banner__grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

@media (min-width: 80rem) {
  .cta-banner__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.cta-banner__grid {
  gap: 0 !important;
}

/* Removes Word-wrap */

body {
  word-break: auto-phrase;
  letter-spacing: 0.3px;
  overflow-x: hidden !important;
}

/* Hero Widget */

.widget.widget--element--hero-image {
  min-height: 42em;
  margin: -3em 0 5em;
}

.hero {
  min-height: 40em;
  left: 0 !important;
  position: absolute !important;
  margin-top: -2rem;
  min-width: 101% !important;
  overflow-x: hidden;
}

.hero-content {
  margin: auto !important;
}

.hero-content .flex-container {
  justify-self: center;
}

@media only screen and (max-width:900px) {

  .widget.widget--element--hero-image {
    min-height: 42em;
    margin: -3em 0 1em;
  }

}

@media only screen and (min-width:900px) {

  .hero {
    margin-top: 5rem !important;
  }

}

/* Accordion */

.accordion-content {
  padding: 1em 1em 0.5em 0.5em !important;
}

.js-accordion-header span {
  color: var(--primary) !important;
  margin: 0;
}

.js-accordion-header svg {
  fill: var(--primary) !important;
}

button.expand-all-accordions {
  color: var(--primary) !important;
  text-decoration: none !important;
  border: 2px solid var(--secondary) !important;
  border-bottom: none !important;
}

.widget.widget--element--accordion {
  margin-bottom: 2em !important;
}

.accordion-wrap.main-wrap {
  border-top: 2px solid var(--secondary) !important;
}

.js-accordion {
  border-bottom: 2px solid var(--secondary) !important;
}

/* Mobile Menu */

#navPanel nav:before {
  content: '';
  background: var(--site-logo) no-repeat center / contain;
  display: inline-block;
  min-height: 8em;
  width: 100%;
}

#navPanel {
  background-color: var(--primary) !important;
}

#navPanel nav a {
  color: white !important;
}

#navPanel nav a:hover,
#navPanel nav a:focus {
  background-color: var(--secondary) !important;
  color: var(--primary) !important;
}

/* Adds circle to header */

body:not(.landing) #main header:after {
  content: '';
  padding: 0.8em;
  position: absolute;
  display: flex;
  border: solid 8px white;
  border-radius: 100%;
  background-color: var(--primary);
  left: 90%;
  margin-top: 2em;
}

@media only screen and (max-width:736px) {
  body:not(.landing) #main header:after {
    left: 80%;
    margin-top: 2em;
  }
}

/* News Articles */

body:is(.news-article) .summary {
  font: bold 1.5em var(--main-font) !important;
  color: var(--primary);
  width: 100%;
}

@media only screen and (max-width:1060px) {

  body:is(.news-article) span.image.right {
    width: 100% !important;
  }

  body:is(.news-article) span.image img {
    max-height: 300px !important;
  }

}

@media only screen and (min-width:1060px) {

  body:is(.news-article) span.image.right,
  body:is(.news-article) img {
    object-fit: cover;
    height: 300px;
    width: 50%;
  }

  body:is(.news-article) .summary {
    min-height: 300px;
    width: 50%;
    padding: 0 0.5em 0 0;
    display: flex;
    align-items: end;
    margin-bottom: 1em;
    line-height: 1.2em;
  }
}

body:is(.news-article) img {
  width: 100% !important;
}

body:is(.news-article) span.image.right {
  padding: 0 0 1em !important;
}

blockquote {
  border-left: solid 6px var(--secondary);
  background-color: #FEFFF5;
  padding: 2em;
  font-style: unset;
}

blockquote:after {
  content: '';
  border: solid 12px white;
  background-color: var(--primary);
  margin: 0 0 -3em -3.8em;
  border-radius: 100%;
  padding: 1em;
  display: inline-block;
}

.col-8.col-12-narrow:has(.alt) {
  order: 2;
}

/* Search */

.col-12.col-12-narrow .alt .list__item {
  display: block !important;
}

/* Duo image */

@media only screen and (max-width:1500px) {
  .widget-row:has(.widget--element--duotone-image) {
    flex-direction: column;
  }

  .widget-row:has(.widget--element--duotone-image) .widget-width:has(.widget--element--duotone-image) {
    order: 0;
    width: 100%;
    max-height: 250px;
  }

  .widget-row:has(.widget--element--duotone-image) .widget-width:not(:has(.widget--element--duotone-image)) {
    order: 1;
    width: 100%
  }

  .widget--element--duotone-image .img-wrapper img {
    max-height: 250px;
  }
}

.widget--element--duotone-image,
.widget-row:has(.widget--element--duotone-image) {
  display: flex !important;
}

.widget.widget--element--duotone-image {
  height: 100% !important;
}

.widget--element--duotone-image .img-wrapper {
  background-color: unset !important;
  margin: unset !important;
}

.widget--element--duotone-image .img-wrapper img {
  filter: unset !important;
  object-fit: scale-down !important;
}

.widget--element--duotone-image .img-wrapper::before {
  content: unset !important;
}

.widget-row:has(.widget--element--duotone-image) div:is(.widget-width, .widget.widget--content, .widget-content, .editor) {
  height: 100%;
  margin: auto 0 0;
}

/* News Widget */

.widget-latest-news .col-8 {
  padding: 0 1.5em !important;
}

/* Invest Hull */

ul.list.alt.list--navigation li:nth-child(3) a {
  visibility: hidden;
  display: inline-block;
  margin-bottom: -2em;
}

:is(ul.alt li, ul.list--listing li) {
  padding: 0 0.5em;
}

ul.list.alt.list--navigation li:nth-child(3) a:before {
  content: '';
  padding: 2em;
  background: var(--invest-hull) no-repeat center / contain;
  display: flex;
  visibility: visible;
  margin-bottom: -1.5em;
}

@media only screen and (max-width: 767px) {
  ul.list.alt.list--navigation {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  :is(ul.alt li, ul.list--listing li) {
    margin: auto 0;
  }

  li.list__item:nth-child(3) {
    margin: auto auto;
    grid-row: 1 / 3;
    grid-column: 2 / 3;
  }
}

/* Pricing Widget */

:is(#footer>ul>li:nth-child(2), [class*="panel-link"], .pd6-margin-top-auto, .pd6-justify-center, li::marker, #page-wrapper section:not(#main) .box .col-3 h2, #navPanel .link.depth-0, .header-wrapper .logo span:not(.symbol),
  .list__item:not(.col-4>nav>.icons>.list__item).button, body:not(.landing) div.timeline-container:last-child h3, #banner),
.landing div:is(.timeline, .timeline-left .left, .timeline-left .right, .timeline-content)::after {
  display: none !important;
  visibility: hidden !important;
}

:is(ul.p-table__features, .fa-icon-list-description, .p-table__features li) {
  margin-left: 0 !important;
  padding: 0;
}

.p-table__features .fa-icon {
  align-items: unset;
}

.p-table__features .fa-circle:before {
  content: "";
  display: inline-block;
  padding: 0.2em;
  text-align: center;
  border: 4px solid var(--secondary);
  border-radius: 50%;
  left: 0;
  position: relative;
  visibility: visible;
}

.p-table__features i.fa-icon.far.fa-circle {
  visibility: hidden;
}

.p-table__features i:not(.fa-circle) {
  transform: scale(1.2);
  color: var(--secondary);
}

@media only screen and (max-width:1400px) {
  .pd6-grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

.col-3:has(.list) {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
}

.p-table__item {
  background-color: #fafafa;
}

input#search-site-header {
  height: 4.2em;
}

:is(select):focus {
  outline: 6px solid var(--secondary) !important;
  outline-offset: 3px !important;
}

table th {
  background: var(--primary) !important;
  padding: 1em;
  font: bold 1.4em "omnes-pro", sans-serif;
  color: white;
  border-bottom: solid 4px white;
}

table td {
  width: 25%;
  font: var(--default-weight) var(--base-size) var(--main-font) !important;
  color: var(--primary);
  border: solid 4px white;
}

table td:last-child {
  border: none;
  border-top: solid 4px white;
}

table tbody tr {
  border: none !important;
}

.widget-row:has(table) {
  background-color: #f9f9f9;
  margin: 1em 0 0;
}

.widget-width:has(table) {
  padding: 0 !important;
}

#header #nav>ul>li a:not(.button) {
  text-decoration: none;
  color: var(--primary) !important
}

@media only screen and (max-width:1400px) {

  .widget-width--29:has(table),
  .widget-width--28:has(table),
  .widget-width--27:has(table),
  .widget-width--26:has(table),
  .widget-width--25:has(table),
  .widget-width--24:has(table),
  .widget-width--23:has(table),
  .widget-width--22:has(table) {
    width: 100% !important;
  }

  td {
    width: 100% !important;
  }

}

.hero--overlay-layer-dark::after {
  background-color: hsl(0deg 0% 9.45% / 70%) !important;
}

.widget-row:has(.editor .button, h1, h2, h3, h4, h5, h6) {
  margin-top: 1em !important;
}

hr:before {
  content: '';
  padding: 0.8em;
  width: 0.8em;
  background-color: var(--primary);
  display: block;
  position: absolute;
  border-radius: 100%;
  border: solid 0.5em white;
  left: 0;
  right: 0;
  margin: -1em auto;
}

hr {
  border: 0;
  border-bottom: solid 9px var(--secondary);
  margin: 2em 0;
}

:is(a:not(.logo, .list--skip-links a), input):focus {
  box-shadow: none !important;
  outline: none !important;
}

.form__field:focus,
.form__field:hover,
.form__field:active {
  outline: 4px solid var(--secondary) !important;
  background-color: white !important;
  box-shadow: none !important;
}

.landing .widget--element--timeline {
  margin-bottom: 0em !important;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit {
  width: 100% !important;
}

.widget-width.widget-width--25 img {
  height: 100px;
  width: 200px;
  object-fit: contain;
}

@media only screen and (max-width:760px) {

  .widget-row:has(.widget-width.widget-width--25 img) {
    display: grid;
    grid-template-columns: auto auto;
  }

  .widget-width.widget-width--25 img {
    height: 100px;
    width: 200px;
    object-fit: contain;
  }

}

@media only screen and (min-width:760px) {

  .widget-width.widget-width--25 img {
    height: 100px;
    width: 200px;
    object-fit: contain;
  }

}

.widget-width.widget-width--25 p:has(img) {
  margin-bottom: 0 !important;
}