:root {
  --clr-orange: hsl(17, 88%, 48%);
  --clr-orange-dark: hsl(17, 88%, 27%);
  --clr-blue: rgb(29, 50, 120);
  --clr-black: rgb(0, 0, 0);
  --clr-gray80: rgb(51, 51, 51);
  --clr-gray60: rgb(102, 102, 102);
  --clr-gray50: rgb(120, 120, 120);
  --clr-gray40: rgb(153, 153, 153);
  --clr-gray20: rgb(244, 244, 244);
  --clr-white: rgb(255, 255, 255);
  --clr-sus-green: rgb(66, 175, 57);
  --clr-sus-green: var(--clr-orange);

  --max-width: min(100% - 60px, 1280px);

  accent-color: var(--clr-orange);
}

:focus-visible {
  outline-color: var(--clr-orange);
}
::selection {
  background-color: var(--clr-orange);
  color: white;
}
::marker {
  color: var(--clr-orange);
}

:is(::-webkit-calendar-picker-indicator, ::-webkit-clear-button, ::-webkit-inner-spin-button, ::-webkit-outer-spin-button) {
  color: var(--clr-orange);
}

* {
  box-sizing: border-box;
}

html {
  font-size: 1em;
  font-size: clamp(0.88rem, 0.25vi + 0.81rem, 1rem);
  font-family: "Poppins", sans-serif;
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Poppins", arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: -0.005em;
  scroll-behavior: smooth;
  background-color: #fff;
}

b,
strong {
  font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-wrap: pretty;
}

h2 {
  margin-bottom: 0.5em;
}

h3 {
  font-size: 1.25em;
}

p,
li {
  text-wrap: pretty;
}

b i,
i b,
strong em,
em strong {
  font-weight: 700;
}

i,
em {
  font-style: italic;
}

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

a,
a:visited {
  text-decoration: none;
  color: inherit;
}

:is(h1, h2, h3, h4, h5, h6) :is(a, a:link, a:visited, a:active, a:hover) {
  color: inherit;
}

address {
  font-style: normal;
}

video::-webkit-media-controls {
  display: none !important;
}

video::-webkit-media-controls-start-playback-button {
  display: none !important;
}

.flow > * {
  margin: 0;
}

.flow > * + * {
  margin-top: 1em;
}

/* --------------------------------------------------
	Wordpress Classes
-------------------------------------------------- */

.alignright {
  float: right;
}

img.alignright {
  margin: 1.5em 0 1.5em 1.5em;
  width: min(33vw, 300px);
}

.alignleft {
  float: left;
}

img.alignleft {
  margin: 1.5em 1.5em 1.5em 0;
  width: min(33vw, 300px);
}

/* --------------------------------------------------

	Re-usable generic elements, prefixed by "c-".
	- do not reference/modify these classes directly, create a new Component class in components.css

-------------------------------------------------- */

.c-Wysiwyg a:link,
.c-Wysiwyg a:visited,
.c-Wysiwyg a:active,
.c-Wysiwyg a:hover {
  text-decoration: underline;
}

.c-Wysiwyg a:hover,
.c-Wysiwyg h1,
.c-Wysiwyg h2,
.c-Wysiwyg h3,
.c-Wysiwyg h4,
.c-Wysiwyg h5 {
  color: var(--clr-gray80);
}

.c-Wysiwyg h2 {
  font-size: 28px;
}

.c-Wysiwyg h3 {
  margin: 2.5em 0 0;
  line-height: 1.125;
}

.Wysiwyg-intro,
.c-Wysiwyg-intro {
  font-size: 1.25rem;
}

.Wysiwyg-intro,
.c-Wysiwyg-intro {
  margin-bottom: 1em;
}

.Wysiwyg-callout,
.c-Wysiwyg-callout {
  margin: 0 0 30px;
  background-color: var(--clr-gray20);
  padding: min(2rem, 6vw);
}

* + .Wysiwyg-callout,
* + .c-Wysiwyg-callout {
  margin-top: 30px;
}

.Wysiwyg-callout h2,
.c-Wysiwyg-callout h2 {
  line-height: 1.125;
}

.Wysiwyg-callout .Wysiwyg-intro,
.c-Wysiwyg-callout .Wysiwyg-intro {
  margin: 0;
}

.c-Wysiwyg ol,
.c-Wysiwyg ul {
  padding: 0 0 0 1.5rem;
  list-style: disc;
}

.c-Wysiwyg li + li {
  margin-top: 0.75em;
}

.c-Wysiwyg ul li + li {
  margin-top: 0.375em;
}

.c-Wysiwyg ul ul {
  list-style: none;
  position: relative;
  margin-block: 0.375em;
}

.c-Wysiwyg ul > li > ul > li:before {
  content: "-";
  position: absolute;
  left: 0;
}

.Widget .c-Wysiwyg-callout {
  margin: 2em 0;
  padding: 1.25em;
  border: 4px solid var(--clr-gray20);
  background: transparent;
  font-size: 0.9em;
}

.Widget .c-Wysiwyg-callout ol,
.Widget .c-Wysiwyg-callout ul,
.Widget .c-Wysiwyg-callout p {
  line-height: 1.375;
}

.Widget .c-Wysiwyg-callout:first-child,
.Widget .c-Wysiwyg-callout *:first-child {
  margin-top: 0;
}

.Widget .c-Wysiwyg-callout,
.Widget .c-Wysiwyg-callout *:last-child {
  margin-bottom: 0;
}

.Widget .c-Wysiwyg-callout li {
  padding-left: 0;
}

.Wysiwyg-columns,
.c-Wysiwyg-columns {
  columns: 12rem 3;
}

* + .Wysiwyg-columns,
* + .c-Wysiwyg-columns {
  margin-top: 1em;
}

.frm_style_formidable-style.with_frm_style .frm_submit input[type="submit"] {
  border-radius: 0;
  font-size: 16px;
}

.frm_style_formidable-style.with_frm_style .frm_submit input[type="submit"],
.frm_style_formidable-style.with_frm_style .frm_submit input[type="submit"]:visited,
.c-Wysiwyg .c-button,
.c-Wysiwyg .c-button:visited,
.c-button,
.c-button:visited {
  transition: all 300ms ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.75em 1.5em;
  border: 2px solid var(--clr-orange);
  background: none;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  font-size: 0.875rem;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--clr-orange);
  width: max-content;
}

.frm_style_formidable-style.with_frm_style .frm_submit input[type="submit"]:hover,
.frm_style_formidable-style.with_frm_style .frm_submit input[type="submit"]:focus,
.c-Wysiwyg .c-button:hover,
.c-Wysiwyg .c-button:focus,
.c-button:hover,
.c-button:focus {
  border-color: black;
  color: black;
  text-decoration: none;
}

.c-button--small,
.c-button--xsmall {
  font-size: 0.75rem;
  border-width: 1px;
}

.c-button--xsmall {
  font-size: 0.625rem;
}

.c-button--transGray:link,
.c-button--transGray:visited,
.c-button--transGray:active,
.c-button--transGray {
  color: var(--clr-white);
  border-color: var(--clr-white);
  background: rgba(0, 0, 0, 0.25);
}

.c-button--transGray:hover {
  background-color: white;
  color: var(--clr-orange);
}

.c-button--transWhite:link,
.c-button--transWhite:visited,
.c-button--transWhite:active,
.c-button--transWhite {
  color: var(--clr-white);
  border-color: var(--clr-white);
  background-color: transparent;
}

.c-button--solidRed {
  background-color: var(--clr-orange);
  color: white;
}

.c-button--transWhite:hover,
.c-button--transWhite:link:hover {
  color: var(--clr-orange);
  border-color: var(--clr-white);
  background-color: var(--clr-white);
  text-decoration: none;
}

.c-Wysiwyg-collapsibleToggle {
  position: relative;
  cursor: pointer;
  margin: 0.5em 0;
  padding-left: 30px;
}

.c-Wysiwyg-collapsibleToggle:before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 1.5em;
  top: 0;
  left: 0;
  background: url("../img/icon-chevron-right-black.svg") no-repeat left center;
  background-size: 16px;
  -webkit-background-size: 16px;
  -moz-background-size: 16px;
  -ms-background-size: 16px;
}

.c-Wysiwyg-collapsibleToggle.is-toggled:before {
  background-image: url("../img/icon-chevron-down.svg");
}

.c-Wysiwyg-collapsibleContent {
  overflow: hidden;
  display: none;
  padding: 1px 30px 45px;
}

.locationsList .c-Wysiwyg-collapsibleContent {
  padding: 1px 30px 45px;
}

.c-SearchForm {
  position: relative;
  min-width: 200px;
}

.c-SearchForm-input {
  display: block;
  width: 100%;
  font-size: 0.75rem;
  padding: 0.5em 1.5em 0.5em 0.5em;
  background-color: var(--clr-gray20); /*light gray*/
  border: 0;
}

.c-SearchForm-input--large {
  max-width: 380px;
  padding: 14px 20px;
  padding-right: 50px;
}

.c-SearchForm-submit {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  aspect-ratio: 1;
  padding: 0;
  overflow: hidden;
  text-indent: 200%;
  border: 0;
  background: url("../img/icon-search.svg") 0 0 no-repeat;
  background-size: 1rem;
  background-position: center;
  font-size: 1px;
  color: var(--clr-gray20); /*light gray*/
  color: transparent;
}

.c-SearchForm-submit--large {
  width: 40px;
  height: 100%;
  top: 0;
  right: 0;
  background-position: center center;
  background-size: 18px;
  -webkit-background-size: 18px;
  -moz-background-size: 18px;
  -ms-background-size: 18px;
}

.c-SearchForm .reset {
  position: absolute;
  color: var(--clr-orange);
  border: 2px solid var(--clr-orange);
  padding: 5px 10px;
  line-height: 1;
  font-size: 0.8em;
  right: 45px;
  top: 7px;
  font-weight: 600;
  text-transform: none;
  cursor: pointer;
}

/* search page */

.search-results-form {
  margin-block: 2rem;
}

.search-results-form .c-SearchForm-input {
  padding: 1.5rem;
  font-size: 1.25rem;
  border-radius: 0.25rem;
  border: solid 2px var(--clr-gray40);
}

.search-results-form .c-SearchForm-input:focus {
  border-color: var(--clr-orange);
}

.c-well {
  /* padding: 30px;
  border: 2px solid white; */
}

.c-well--teal {
  border-color: var(--clr-blue);
}

.c-label {
  display: block;
}

.c-label + .c-label {
  margin-top: 30px;
}

.frm_style_formidable-style.with_frm_style label.frm_primary_label,
.frm_style_formidable-style.with_frm_style.frm_login_form label,
.c-labelText {
  display: inline-block;
  margin-bottom: 15px;
  font-weight: 700;
}

.frm_style_formidable-style.with_frm_style input[type="text"],
.frm_style_formidable-style.with_frm_style input[type="password"],
.frm_style_formidable-style.with_frm_style input[type="email"],
.frm_style_formidable-style.with_frm_style input[type="number"],
.frm_style_formidable-style.with_frm_style input[type="url"],
.frm_style_formidable-style.with_frm_style input[type="tel"],
.c-textArea,
.c-select,
.c-select-has-address select,
.c-input {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid rgb(153, 153, 153);
  line-height: 1.25;
  font-size: 1rem;
  border-radius: 0;
}

.c-select,
.c-select-has-address select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  width: 100%;
  background: transparent;
  border-radius: 0;
  color: var(--clr-gray60);
  text-transform: none;
  z-index: 2;
  cursor: pointer;
}

.c-select[disabled] {
  cursor: inherit;
  opacity: 0.5;
}

.c-select,
.c-selectWrap {
  position: relative;
  display: block;
}

.c-selectWrap:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 45px;
  background: url("../img/icon-chevron-down.svg") no-repeat center center;
  background-size: 15px auto;
  -webkit-background-size: 15px auto;
  -moz-background-size: 15px auto;
  -ms-background-size: 15px auto;
  z-index: 1;
}

.c-Wysiwyg h1,
.c-sectionHeading,
.c-titleMajor {
  margin: 0;
  font-size: 57px;
  line-height: 1;
  color: var(--clr-orange); /*red*/
}

.c-titleMinor {
}

.c-Wysiwyg .c-sectionHeading,
.c-sectionHeading {
  font-size: 2.5em;
}

.c-componentMinor {
  padding: min(7.5vw, 3rem) 0;
}

.c-componentMajor {
  padding: min(15vw, 6rem) 0;
}

.frm_style_formidable-style.with_frm_style input[type="text"],
.frm_style_formidable-style.with_frm_style input[type="password"],
.frm_style_formidable-style.with_frm_style input[type="email"],
.frm_style_formidable-style.with_frm_style input[type="number"],
.frm_style_formidable-style.with_frm_style input[type="url"],
.frm_style_formidable-style.with_frm_style input[type="tel"] {
  font-family: sans-serif;
  height: auto;
}

.c-Wysiwyg .cycle2 {
  position: relative;
}

.c-Wysiwyg .cycle2 ul {
  list-style: none;
  padding: 0;
}

.c-Wysiwyg .cycle2 li {
  padding: 0;
  margin-top: 0;
}

.c-Wysiwyg .cycle2 img {
  display: block;
}

.c-Wysiwyg .cycle2-overlay {
  position: absolute;
  top: 0;
  z-index: 9999;
  display: block;
  padding: 10px;
  color: var(--clr-white);
  border: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.c-Wysiwyg .cycle2-overlay img {
  width: 1em;
  height: 1em;
}

.c-Wysiwyg .cycle2-prev {
  left: 0;
}

.c-Wysiwyg .cycle2-next {
  right: 0;
}

.c-Wysiwyg .cycle2-caption {
  width: 100%;
  top: auto;
  bottom: 0;
}

.c-darken {
  background-color: var(--clr-gray60);
  color: white;
}

.c-darkenMinor {
  background-color: var(--clr-gray20);
}

/* ----------------------------------------------------------------------
	Media Queries
---------------------------------------------------------------------- */

@media only screen and (max-width: 640px) {
  /* Phone */

  .mobileSearch {
    display: none;
  }

  .mobileSearch.is-toggled {
    display: block;
  }

  .mobileSearch .c-SearchForm {
    width: 100%;
    margin-top: 10px;
  }

  .mobileSearch .c-SearchForm-input {
    padding: 5px 22px 5px 5px;
    font-size: 18px;
  }

  .mobileSearch .c-SearchForm-submit {
    width: 20px;
    height: 20px;
    background-size: contain;
  }

  .c-Wysiwyg .cycle2-overlay {
    position: relative;
    padding: 5px;
  }

  .c-Wysiwyg .cycle2-caption {
    color: inherit;
    background-color: transparent;
  }

  .c-Wysiwyg .cycle2-prev,
  .c-Wysiwyg .cycle2-next {
    float: right;
  }

  .c-Wysiwyg .cycle2-prev {
    margin-right: 3px;
  }

  .c-Wysiwyg .cycle2 ul {
    float: left;
    margin-top: 5px;
  }

  .c-sectionHeading {
    font-size: 1.8em;
  }

  .c-componentMajor {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media only screen and (min-width: 641px) {
  .mobileSearch,
  .mobileSearch.is-toggled {
    display: none;
  }
}
