html, body { height: 100%; }

#headerUtilityContainer picture {
  /* object-fit: cover; */
  /* object-position: 50% top; */
  height: 300px;
  display: block;
}

#headerUtilityContainer picture img {
  width: 100%;
  height: 100%;
  object-fit:cover;
  object-position: center center;
}

.single-col-content {
  max-width: 1334px;
  margin: 0 auto 1.5rem auto;
  padding: 32px 25px 0 25px;

  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}

.single-col-content .col {
  width: 100%;
}

form {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}
form p {
  display: flex;
  width: 75%;

  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
}
form p label {
  position: relative;
}

input:not([type=checkbox],[type=radio]) {
  padding: 8px 8px;
  border: 1px solid #767676;
}

button, input[type=submit] {
  cursor: pointer;
  background-color: #46842A;
  border: solid 1px #46842A;
  color: white;
  font-size: 1rem;
  padding: 10px 20px;
}

button:active, input[type=submit]:active {
  background-color: hsl(101.33deg 51.72% 39.12%);
}

form p label:has(+ input:required)::before, form p label.required-fix::before {
  content: "✱";
  position: absolute;
  font-size: 0.85rem;
  left: -14px;
}
form p label:has(+ input:required:invalid)::before, form p label.required-fix.invalid::before {
  color: #a22f12;
}
form p label:has(+ input:required:valid)::before, form p label.required-fix.valid::before  {
  color: hsl(120, 79%, 19%);
}

.sgportal #header {
  display: flex;
}

.sgportal #topNavContainer {
  float: none;
  width: auto;
}
.sgportal #headerNav {
  float: none;
  width: auto;
  flex: 1 1 auto;
}

.sgp-map-test {
  max-width: 640px;
  margin: 0 auto;
}

.sgportal .mapboxgl-ctrl-attrib-button {
  padding: 0;
}

.sgportal .logo {
  margin-top: 15px;
}
.sgportal .logo {
  align-self: center;
}

.sgportal .portal-footer .questions-call {
  display: flex;
  flex-flow: row nowrap;
  gap: 1rem;
  max-width: 764px;
  padding: 40px 0;
  margin: 0 auto;
  align-items: center;
}

.sgportal .portal-footer .questions-call .spacer {
  flex: 1 1 1%;
}
.sgportal .portal-footer .questions-call .left {
  flex: 0 1 auto;
}
.sgportal .portal-footer .questions-call .left svg {
  width: 50px;
}
.sgportal .portal-footer .questions-call .right h2 {
  margin: 8px 0;
}

.sgportal .warning {
  color: white;
  max-width: 75vw;
  margin: 2rem auto 3rem auto;
  background: #B40101;
  padding: 1.75rem 3rem;
  border-radius: .75rem;
}

.sgportal .warning h5 {
  font-size: 2.375rem;
  font-weight: 700;
  margin-bottom: 0;
  color: white !important;
  text-align: center;
}
