/*
 * Copyright 2020 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

:root {
  /* these colors came from legecy css commented out ones are not used anywhere...yet
  --clr-blue: #007bff;
  --clr-indigo: #6610f2;
  --clr-pink: #e83e8c;
  --clr-red: #dc3545;
  --clr-orange: #fd7e14;
  --clr-yellow: #ffc107;
  --clr-green: #28a745;
  --clr-gray-dark: #343a40;
  --clr-success: #28a745;
  --clr-info: #96e0ff;
  --clr-warning: #ffc107;
  --clr-danger: #dc3545;
  --clr-light: #e9e8e8;
  --clr-dark: #6e6e6e;
  */

  /* colors */
  --clr-brand-red: #9e2239;
  --clr-black: #000;
  --clr-white: #fff;
  --clr-primary: #007CBD;
  --clr-secondary: #007dbd;
  --clr-gray: #f2f2f2;
  --clr-gray-light: #dad6d6;
  --clr-gray-dark: #757575;
  --clr-gray-medium: #4a525e;
  --clr-teal: #006781;
  --clr-light-green: #9DEFC7;
  --clr-green: #196F3D;
  --clr-dark-green: #0f5132;
  --clr-carolina-blue: #7FB3D5;
  --clr-teal-dark: #002f39;
  --clr-purple: #53469c;
  --clr-cyan: #96e0ff;
  --clr-blue-light: #eaf9ff;
  --clr-blue: #006781;
  --clr-error: #db0000;
  --clr-danger: #dc3545;
  --clr-success: #28a745;
  /* Colors for Graystone */
  --clr-dark-red: #943126;
  --clr-light-red: #EC7063;
  /* It applies for Prosper and Yankton */
  --clr-dark-prosper: #1A5276;
  --clr-light-prosper: #7FB3D5;
  /* Color for Bedrock */
  --clr-dark-bedrock: #5B2C6F;
  --clr-light-bedrock: #A569BD;
  /* Color for Property info */
  --clr-dark-pinfo: #003d80;
  --clr-light-pinfo: #0077CC;


  /* element colors */
  --link-color: var(--clr-primary);
  --link-hover-color: var(--clr-primary);
  --background-color: var(--clr-white);
  --text-color: var(--clr-black);

  /* fonts */
  --body-font-family: 'Montserrat', 'Montserrat-fallback', sans-serif;
  --heading-font-family: var(--body-font-family);
  --fixed-font-family: sfmono-regular, menlo, monaco, consolas, 'Liberation Mono', 'Courier New', monospace;
  --icon-font-family: 'Font Awesome\ 5 Pro';

  /* body sizes */
  --body-font-size-xxl: 1.625rem; /* 26px */
  --body-font-size-xl: 1.375rem; /* 22px */
  --body-font-size-l: 1.125rem; /* 18px */
  --body-font-size-m: 1rem; /* 16px */
  --body-font-size-s: .9375rem; /* 15px */
  --body-font-size-xs: .875rem; /* 14px */
  --body-font-size-xxs: 0.75rem; /* 12px */
  --body-font-size-xxxs: .5rem;/* 8px */

  /* heading sizes */
  --heading-font-size-xxl: 4.0625rem; /* 65px */
  --heading-font-size-xl: 3.5rem; /* 56px */
  --heading-font-size-l: 2.5rem; /* 40px */
  --heading-font-size-m: 2rem; /* 32px */
  --heading-font-size-s: 1.5rem; /* 24px */
  --heading-font-size-xs: 1.125rem; /* 18px */
  --heading-font-size-xxs: 1.0625rem; /* 17px */

  /* nav height */
  --nav-height: 58px;
  --max-content-width: 90rem;
}

@media (min-width: 900px) {
  :root {
    /* nav height */
    --nav-height: 158px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@font-face {
  font-family: Montserrat-fallback;
  size-adjust: 115%;
  ascent-override: 84%;
  src: local("Arial");
}

header {
  height: var(--nav-height);
}

/*
  hide header and footer initially. show once it's loaded
  this is to prevent a flash of unstyled content in case header css loads after js execution
  only needed for header because other block appearance is controlled by sections
*/
header .header,
footer .footer {
  visibility: hidden;
}

header .header[data-block-status="loaded"],
footer .footer[data-block-status="loaded"] {
  visibility: visible;
}

body {
  margin: 0;
  font-family: var(--body-font-family);
  color: var(--text-color);
  background-color: var(--background-color);
  display: none;
}

body.appear {
  display: unset;
}

body,
.text-reg {
  font-size: var(--body-font-size-xs);
  line-height: 1.125rem;
  letter-spacing: .0138rem;
}

.text-large {
  font-size: var(--body-font-size-m);
  line-height: 1.25rem;
  letter-spacing: .01rem;
}

.text-small {
  font-size: var(--body-font-size-xxs);
  line-height: 1.25rem;
  letter-spacing: .0075rem;
}

.text-xsmall {
  font-size: var(--body-font-size-xxxs);
  line-height: .875rem;
  letter-spacing: -.005rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font-family);
  margin-block: 0 1em;
}

h1 u,
h2 u,
h3 u,
h4 u,
h5 u,
h6 u {
  display: block;
  text-decoration: none;
  border-bottom: 0.0625rem solid var(--clr-purple);
  margin-bottom: -0.5em;
  padding-bottom: 1em;
}

@media (min-width: 900px) {
  h1 u,
  h2 u,
  h3 u,
  h4 u,
  h5 u,
  h6 u {
    border-bottom-width: 0.25rem;
  }
}

.h1,
h1 {
  font-weight: 800;
  font-size: var(--heading-font-size-m);
  line-height: 2.375rem;
  letter-spacing: -.03rem;
}

.h2,
h2 {
  font-weight: 700;
  font-size: var(--heading-font-size-s);
  line-height: 2rem;
  letter-spacing: -.0225rem;
}

.h3,
h3 {
  font-weight: 400;
  font-size: var(--heading-font-size-xs);
  line-height: 1.375rem;
  letter-spacing: .0113rem;
}

.h4, h4,
.h5, h5,
.h6, h6 {
  font-weight: 600;
  font-size: var(--heading-font-size-xxs);
  line-height: 1.4375rem;
  letter-spacing: .0106rem;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

.hidden {
  display: none !important;
}

.visually-hidden {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  margin: -1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

@media (min-width: 900px) {
  body, .text-reg {
    font-size: var(--body-font-size-xl);
    line-height: 2rem;
  }

  .text-large {
    font-size: var(--body-font-size-xxl);
    line-height: 2.375rem;
    letter-spacing: .0163rem;
  }

  .text-small {
    font-size: var(--body-font-size-l);
    line-height: 1.625rem;
    letter-spacing: .0113rem;
  }

  .text-xsmall {
    font-size: var(--body-font-size-s);
    line-height: 1.375rem;
    letter-spacing: -.0094rem;
  }

  h1, .h1 {
    font-size: var(--heading-font-size-xxl);
    line-height: 4.75rem;
    letter-spacing: -.0613rem;
  }

  .graystone h1, .h1 {
    line-height: 5.25rem;
  }

  .h2, h2 {
    font-size: var(--heading-font-size-xl);
    line-height: 4.5rem;
    letter-spacing: -.0525rem;
  }

  .h3, h3 {
    font-size: var(--heading-font-size-l);
    line-height: 3.5rem;
    letter-spacing: .025rem;
  }

  .h4, h4,
  .h5, h5,
  .h6, h6 {
    font-size: var(--heading-font-size-m);
    line-height: 2.625rem;
    letter-spacing: .02rem;
  }
}

p, dl, ol, ul, pre, blockquote {
  margin-block: 0 1.5em;
}

hr {
  margin-block: 1.5em;
  border: 0;
  border-bottom: 1px solid var(--clr-gray-light);
}

code, pre, samp {
  font-family: var(--fixed-font-family);
  font-size: var(--body-font-size-s);
}

code, samp {
  padding: .125em;
}

pre {
  overflow: scroll;
}

main pre {
  background-color: var(--overlay-background-color);
  padding: 1em;
  border-radius: .25em;
  overflow-x: auto;
  white-space: pre;
}

a:any-link {
  color: var(--link-color);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  color: var(--link-hover-color);
}


/* buttons */
a.button:any-link,
button {
  display: inline-block;
  box-sizing: border-box;
  text-decoration: none;
  padding: .5rem;
  min-width: min(10rem, 100%);
  text-align: center;
  font-size: var(--body-font-size-xs);
  font-style: normal;
  font-family: var(--body-font-family);
  font-weight: 600;
  cursor: pointer;
  color: var(--clr-white);
  background-color: var(--clr-primary);
  margin-block-end: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border: 0;
}

a.button:any-link {
  margin-inline-end: 2rem;
}

a.button:hover, a.button:focus, a.button:active,
button:hover, button:focus, button:active {
  background-color: #006497;
  cursor: pointer;
  box-shadow: 0 0 0 0 rgba(38 145 199 / 50%);
}

a.button:focus-visible,
a.button:focus,
button:focus,
button:focus-visible {
  outline: 3px auto -webkit-focus-ring-color;
  outline-offset: 3px;
}

.olts a.button:any-link, .olts button {
  background-color: var(--clr-green);
}

.graystone a.button:any-link, .graystone button {
  background-color: var(--clr-dark-red);
}
.yankton a.button:any-link, .yankton button,
.prosper a.button:any-link, .prosper button {
  background-color: var(--clr-dark-prosper);
}

.bedrock a.button:any-link, .bedrock button {
  background-color: var(--clr-dark-bedrock);
}

.pinfo a.button:any-link, .pinfo button {
  background-color: var(--clr-dark-pinfo);
}


@media (min-width: 900px) {
  a.button:any-link, button {
    padding: 1rem;
    min-width: min(17.5rem, 100%);
    font-size: var(--body-font-size-l);
  }

  .olts a.button:any-link, .olts button {
    background-color: var(--clr-green);
  }
}

button:disabled,
button:disabled:hover {
  background-color: var(--clr-gray-light);
  cursor: unset;
}

.olts a.button:hover, .olts a.button:focus, .olts a.button:active,
.olts button:hover, .olts button:focus, .olts button:active {
  background-color: var(--clr-dark-green);
}

.pinfo a.button:hover, .pinfo a.button:focus, .pinfo a.button:active,
.pinfo button:hover, .pinfo button:focus, .pinfo button:active {
  background-color: var(--clr-light-pinfo);
}

a.button.secondary,
a.button.tertiary,
button.secondary,
button.tertiary {
  background-color: transparent;
  border: 3px solid currentcolor;
  color: var(--clr-black);
}

a.button.secondary,
button.secondary {
  color: var(--clr-primary);
}

a.button.tertiary {
  border: none;
  padding: 1px;
  text-align: start;
}

.section.grey a.button.secondary {
  color: var(--clr-primary);
}

a.button.tertiary::after {
  content: "";
  border-top: 0.75rem solid transparent;
  border-bottom: 0.75rem solid transparent;
  border-left: 0.875rem solid var(--clr-purple);
  margin-left: 1.5rem;
  display: inline-block;
  vertical-align: middle;
}

a.icon-link {
  margin-right: 2rem;
}

a.icon-link span {
  font-size: var(--heading-font-size-l);
}

a.icon-link:hover {
  text-decoration: none;
}

.section.dark a.button.tertiary::after {
  border-left: 0.875rem solid var(--clr-cyan);
}

main input {
  font-size: 1.25rem;
  line-height: 1.5rem;
  width: 100%;
  max-width: 50rem;
  display: block;
  margin-block-end: 1rem;
  padding: 0.75rem 0.6rem;
  border-radius: 0.25rem;
  box-sizing: border-box;
  border: 1px solid var(--text-color);
  color: var(--text-color);
  background-color: var(--background-color);
}

main input:hover {
  border: 1px solid var(--text-color);
}

main blockquote {
  font-style: italic;
  margin: 3rem;
  text-indent: -1rem;
  hanging-punctuation: first;
}

main blockquote p::before {
  content: "“";
  line-height: 0;
}

main blockquote p::after {
  content: "”";
  line-height: 0;
}

main img {
  max-width: 100%;
  height: auto;
}

.icon {
  display: inline-block;
  height: 24px;
  width: 24px;
}

.icon svg {
  height: 100%;
  width: 100%;
}

main .section {
  --section-padding-inline: 1.5rem;
  --section-padding-block: 0;
  padding-inline: var(--section-padding-inline);
  padding-block: var(--section-padding-block);
  margin-block-end: 2rem;
}

.pinfo main .section,
.bedrock main .section,
.yankton main .section,
.prosper main .section {
  margin-block-end: 0;
  padding-block-end: 2rem;
}

main .section:first-of-type:not(.hero-container) {
  margin-block-start: 2rem;
}

@media (min-width: 900px) {
  main .section {
    --section-padding-inline: 6rem;
  }
}

/* wrappers, e.g. default-content-wrapper, columns-wrapper, etc. */
main .section>div {
  max-width: var(--max-content-width);
  margin-inline: auto;
}


.section.no-margin {
  margin-block-end: 0;
}

/* margin for sidekick library */
/* stylelint-disable-next-line selector-not-notation */
.sidekick-library .section:not(.has-bg):not(.hero-container) {
  margin-top: 2.5rem;
}

/* background styles and colors */
.section.has-bg {
  --section-padding-inline: 1.5rem;
  --section-padding-block: 2.5rem;
}

@media (min-width: 900px) {
  .section.has-bg {
    --section-padding-inline: 7.5rem;
    --section-padding-block: 3rem;
  }

  .graystone .section.has-bg {
    --section-padding-block: 7.5rem;
  }
}

.section.has-bg-image {
  position: relative;
}

.section.has-bg-image picture.bg-image {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  object-fit: cover;
  box-sizing: border-box;
}

.section.has-bg-image picture.bg-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.section.has-bg-image.bg-image-top picture.bg-image img {
  object-position: top;
}

.section.has-bg-image.bg-image-bottom picture.bg-image img {
  object-position: bottom;
}

.section.has-bg-image.bg-image-left picture.bg-image img {
  object-position: left;
}

.section.has-bg-image.bg-image-right picture.bg-image img {
  object-position: right;
}

.section.has-bg-image.bg-image-full {
  --max-content-width: 100%;
  --section-padding-inline: 0;
  --section-padding-block: 0;
}

.section.has-bg-image.bg-image-full > div {
  margin-inline: 0;
}

.section.has-bg-image.bg-image-full picture.bg-image {
  position: relative;
}

.section.has-bg-image.has-opacity {
  --_bg-overlay-color: 71 76 85;
  --_bg-overlay-opacity-1: 0;
  --_bg-overlay-opacity-2: 0;
  --_bg-overlay-opacity-3: 0;
  --_bg-overlay-opacity-stop-1: 25%;
  --_bg-overlay-opacity-stop-2: 45%;
  --_bg-overlay-opacity-stop-3: 65%;
  --_bg-opacty-angle: 270deg;
  --_bg-overlay-opacity-no-gradient: 1;

  background: rgba(0 0 0 / var(--_bg-overlay-opacity-no-gradient));
}

.section.has-bg-image.has-opacity.right {
  --_bg-opacty-angle: 90deg;
}

@media (min-width: 900px) {
  .section.has-bg-image.has-opacity:not(.no-gradient) {
    background: linear-gradient(var(--_bg-opacty-angle),
    rgba(var(--_bg-overlay-color) / var(--_bg-overlay-opacity-1)) var(--_bg-overlay-opacity-stop-1),
    rgba(var(--_bg-overlay-color) / var(--_bg-overlay-opacity-2)) var(--_bg-overlay-opacity-stop-2),
    rgba(var(--_bg-overlay-color) / var(--_bg-overlay-opacity-3)) var(--_bg-overlay-opacity-stop-3))
  }
}

.section.has-bg-image.opacity-100 {
  --_bg-overlay-opacity-1: 1;
  --_bg-overlay-opacity-2: .667;
  --_bg-overlay-opacity-stop-1: 0;
  --_bg-overlay-opacity-no-gradient: .71;
}

.section.has-bg-image.opacity-90 {
  --_bg-overlay-opacity-1: .9;
  --_bg-overlay-opacity-2: .6;
  --_bg-overlay-opacity-no-gradient: .639;
}

.section.has-bg-image.opacity-80 {
  --_bg-overlay-opacity-1: .8;
  --_bg-overlay-opacity-2: .533;
  --_bg-overlay-opacity-no-gradient: .568;
}

.section.has-bg-image.opacity-70 {
  --_bg-overlay-opacity-1: .7;
  --_bg-overlay-opacity-2: .4667;
  --_bg-overlay-opacity-no-gradient: .497;
}

.section.has-bg-image.opacity-60 {
  --_bg-overlay-opacity-1: .6;
  --_bg-overlay-opacity-2: .4;
  --_bg-overlay-opacity-no-gradient: .426;
}

.section.has-bg-image.opacity-55 {
  --_bg-overlay-opacity-1: .55;
  --_bg-overlay-opacity-2: .3667;
  --_bg-overlay-opacity-no-gradient: .3905;
}

.section.has-bg-image.opacity-50 {
  --_bg-overlay-opacity-1: .5;
  --_bg-overlay-opacity-2: .3333;
  --_bg-overlay-opacity-no-gradient: .355;
}

.section.dark,
.section.dark a,
.section.dark button {
  color: var(--clr-white);
}

.section.grey,
.section.gray {
  background-color: var(--clr-gray);
}

.section.teal {
  background: linear-gradient(180deg, var(--clr-teal), var(--clr-teal-dark));
  box-shadow: 0 4px 4px 0 rgba(0 0 0 / 25%);
  color: var(--clr-white);
}

.section.teal a {
  color: var(--clr-white);
}

.section.black {
  --text-color: var(--clr-white);

  background-color: var(--clr-black);
  color: var(--clr-white);
}

.section.black a {
  color: var(--clr-primary);
}

.section.black p {
  font-size: var(--body-font-size-xs);
  line-height: 1.5rem;
}

.section.blue {
  --text-color: var(--clr-white);

  background-color: var(--clr-teal);
  color: var(--clr-white);
}

.section.blue a {
  color: var(--clr-white);
}

@media(min-width: 600px) {
  .section.wide:not(.has-bg-image) {
    --max-content-width: 100rem;
    --section-padding-inline: 3%;
  }

  .section.narrow:not(.has-bg-image) {
    --max-content-width: 64rem;

    margin-inline: 8%;
    width: auto;
  }
}

@media(min-width: 900px) {
  .section.narrow:not(.has-bg-image) {
    margin-inline: auto;
    width: auto
  }

  .section.offset-50 > * {
    max-width: 50%;
    margin-inline: 50% auto;
  }

  .section.offset > * {
    max-width: 41.6667%;
    margin-inline: 58.3333% auto;
  }

  .section.offset-50.right > *,
  .section.offset-50.no-gradient > * {
    margin-inline: auto 50%;
  }

  .section.offset.right > *,
  .section.offset.no-gradient > * {
    margin-inline: auto 58.3333%;
  }
}

.section.left-border:not(.columns-container) .default-content-wrapper,
.section.left-border .columns > .row > .column-1 {
  padding-inline-start: 1.5rem;
  border-inline-start: 0.25rem solid var(--clr-teal);
}

.graystone .section.left-border:not(.columns-container) .default-content-wrapper,
.graystone .section.left-border .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-red);
}

.yankton .section.left-border:not(.columns-container) .default-content-wrapper,
.yankton .section.left-border .columns > .row > .column-1,
.prosper .section.left-border:not(.columns-container) .default-content-wrapper,
.prosper .section.left-border .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-prosper);
}

.bedrock .section.left-border:not(.columns-container) .default-content-wrapper,
.bedrock .section.left-border .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-bedrock);
}

.pinfo .section.left-border:not(.columns-container) .default-content-wrapper,
.pinfo .section.left-border .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-pinfo);
}

.section.has-bg.left-border.grey:not(.columns-container) .default-content-wrapper,
.section.has-bg.left-border.grey .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-teal);
}

.graystone .section.has-bg.left-border.grey:not(.columns-container) .default-content-wrapper,
.graystone .section.has-bg.left-border.grey .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-red);
}

.yankton .section.has-bg.left-border.grey:not(.columns-container) .default-content-wrapper,
.yankton .section.has-bg.left-border.grey .columns > .row > .column-1,
.prosper .section.has-bg.left-border.grey:not(.columns-container) .default-content-wrapper,
.prosper .section.has-bg.left-border.grey .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-prosper);
}

.bedrock .section.has-bg.left-border.grey:not(.columns-container) .default-content-wrapper,
.bedrock .section.has-bg.left-border.grey .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-bedrock);
}

.pinfo .section.has-bg.left-border.grey:not(.columns-container) .default-content-wrapper,
.pinfo .section.has-bg.left-border.grey .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-dark-pinfo);
}

/* stylelint-disable-next-line no-descending-specificity */
.section.has-bg.left-border:not(.columns-container) .default-content-wrapper,
.section.has-bg.left-border .columns > .row > .column-1 {
  border-inline-start: 0.25rem solid var(--clr-white);
}

/* Alignment rules for header */
main > div.section.headline-center > div.default-content-wrapper h2:first-of-type,


  /* Centering rule for header */
main > div:first-of-type:not(.hero-container, .section-navigation-container) > div.default-content-wrapper h2:first-of-type,
main > div:first-of-type.section-navigation-container + div.section > div.default-content-wrapper h2:first-of-type,
main > div:first-of-type.hero-container + div:not(.section-navigation-container) > div.default-content-wrapper h2:first-of-type,
main > div:first-of-type.hero-container + div.section-navigation-container + div.section > div.default-content-wrapper h2:first-of-type {
  text-align:center;
}

/* stylelint-disable-next-line no-descending-specificity */
main > div:first-of-type.headline-left:not(.hero-container, .section-navigation-container) > div.default-content-wrapper h2:first-of-type,
main > div:first-of-type.section-navigation-container + div.section.headline-left > div.default-content-wrapper h2:first-of-type,
main > div:first-of-type.hero-container + div:not(.section-navigation-container).headline-left > div.default-content-wrapper h2:first-of-type,
main > div:first-of-type.hero-container + div.section-navigation-container + div.section.headline-left > div.default-content-wrapper h2:first-of-type {
  text-align: left;
}
