/*** START Promise Page Styles ***/
/** Promise Hero **/
.promise-hero-refresh {
  background-color: black;
  color: #fff;
  height: 440px;
}
.promise-hero-refresh__graphic {
  height: 100%;
  background-image: url("/promise/images/promise-26-wordmark-angle-small.png");
  background-repeat: no-repeat;
  background-position: -20px top;
  background-size: contain;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
}
.promise-hero-refresh__content {
  height: 100%;
  display: flex;
  align-items: end;
}
.promise-hero-refresh__title {
  font-size: 56px;
  line-height: 1;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0;
  color: #ababab;
  background-color: rgba(0, 0, 0, 0.4);
  padding: 1rem;
  position: absolute;
  right: 0;
}
.promise-hero-refresh__title > span {
  display: block;
}
.promise-hero-refresh__title > span:nth-child(2) {
  color: #e5e5e5;
}
.promise-hero-refresh__title > span:nth-child(3) {
  font-size: 1.75rem;
  margin-top: 0.25em;
}
.promise-hero-refresh__title > span:nth-child(3) > strong {
  color: #6dc5e8;
}

@media screen and (min-width: 660px) {
  .promise-hero-refresh__content {
    height: 100%;
    display: flex;
    align-items: center;
  }
  .promise-hero-refresh__title {
    font-size: 72px;
  }
  .promise-hero-refresh__title > span:nth-child(3) {
    font-size: 36px;
  }
}
@media screen and (min-width: 1180px) {
  .promise-hero-refresh__graphic {
    background-image: url("/promise/images/promise-26-wordmark-angle-480.png");
    background-position: left center;
  }
  .promise-hero-refresh__title {
    font-size: 96px;
    position: absolute;
    right: 0;
  }
  .promise-hero-refresh__title > span:nth-child(3) {
    font-size: 56px;
  }
}
/** Promise Lists **/
.promise-list {
  padding-inline-start: 1.5em;
}
.promise-list > li:not(:last-child) {
  margin-bottom: 0.75em;
}
.promise-list.--flush {
  padding-inline-start: 0;
}

/** Video Overflow **/
@media (min-width: 860px) {
  .fw-video.--overflow-bottom-large {
    padding-bottom: 1px;
    margin-bottom: 10rem;
  }
}
/** Promise Apply Cards **/
.promise-apply-cardset {
  display: flex;
  gap: 2rem;
  flex-flow: row wrap;
  justify-content: center;
}
.promise-apply-cardset > * {
  flex: 1 1 320px;
}

.promise-apply-card {
  color: #4b4f55;
  background-color: #fff;
  padding: 2rem;
  width: 100%;
  border: 1px solid #b2e0e3;
}
.promise-apply-card__title {
  font-size: 1.3125rem;
  margin-bottom: 1.5rem;
  font-weight: normal;
  color: #a8a8aa;
}
.promise-apply-card__title strong {
  color: #4b4f55;
}
.promise-apply-card > p:last-of-type {
  margin-bottom: 0;
}

@media screen and (min-width: 560px) {
  .promise-apply-card__title {
    font-size: 1.5rem;
  }
}
/** Promise Advisor **/
.promise-advisor {
  position: relative;
  background-image: linear-gradient(-176deg, #06a7e0 70%, black calc(70% + 2px));
  width: 100%;
  background-size: 100% 90%;
  background-repeat: no-repeat;
  background-position: bottom center;
}
.promise-advisor__layout {
  display: flex;
  align-items: center;
}
.promise-advisor__layout > * {
  width: 100%;
}
.promise-advisor__content {
  color: white;
  order: 1;
}
.promise-advisor__text {
  font-weight: bold;
  font-size: 68px;
  font-size: clamp(1.25rem, 5vw, 68px);
  line-height: 1.1;
}

/** Promise Request Info **/
.promise-contact__title {
  color: #2a3b7c;
}
.promise-contact__form {
  padding-top: 2rem;
}
.promise-contact__quick {
  padding-top: 2rem;
  margin-top: 2rem;
  position: relative;
}
.promise-contact__quick p {
  margin-bottom: 0.5rem;
}
.promise-contact__quick::before {
  left: 0;
  top: 0;
  content: "";
  width: 36px;
  height: 4px;
  position: absolute;
  background: #2a3b7c;
}

.promise-quick-contact {
  margin-top: 2.25rem;
  padding: 1.5rem 0 1.5rem 1rem;
  margin-left: 3rem;
  border-left: 4px solid #06a7e0;
}
.promise-quick-contact__title {
  color: #2a3b7c;
}

@media (min-width: 860px) {
  .promise-contact__layout {
    display: flex;
  }
  .promise-contact__layout > * {
    width: 100%;
  }
  .promise-contact__form {
    margin-left: 4rem;
  }
}

/** Promise Session Graphic **/
.promise-sessions {
  font-family: "Roboto Condensed", "PT Sans Narrow", "PT Sans", sans-serif;
  max-width: 520px;
  margin: 0 auto;
  background-color: #fff;
  color: #4b4f55;
}
.promise-sessions__title {
  text-transform: uppercase;
  margin-bottom: 0;
  line-height: 1;
  background-color: black;
  color: white;
  padding: 1em;
  text-align: center;
  border-bottom: 2px solid white;
}
.promise-sessions__title h3 {
  font-size: 1.5rem;
  font-style: italic;
}
.promise-sessions__title small {
  font-size: 0.875rem;
  margin-top: 0.5em;
  display: block;
}
.promise-sessions__title.--blue {
  background-color: #2a3b7c;
  border-color: #06a7e0;
}
.promise-sessions__title.--green {
  background-color: #1d874a;
  border-color: #6ebe4c;
}
.promise-sessions__title.--orange {
  background-color: #f15623;
  border-color: #f78d2d;
}
.promise-sessions__session-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.promise-sessions__session-wrapper.--single-col {
  grid-template-columns: 1fr;
}
.promise-sessions__session {
  background: #fff;
  text-align: center;
}
.promise-sessions__session h4 {
  text-transform: uppercase;
  font-style: italic;
  font-size: 1.25rem;
  margin: 0;
  padding: 0.5rem;
}
.promise-sessions__session .promise-sessions__hours {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem;
}
.promise-sessions__session .promise-sessions__hours p {
  text-align: left;
  margin: 0;
}
.promise-sessions__session-wrapper.--blue {
  background-color: #2a3b7c;
  padding-block: 0.5rem;
}
.promise-sessions__session-wrapper.--blue .promise-sessions__hours strong {
  color: #002f87;
}
.promise-sessions__session-wrapper.--blue .promise-sessions__session h4 {
  background-color: #06a7e0;
  color: #fff;
}
.promise-sessions__session-wrapper.--green {
  background-color: #1d874a;
  padding-block: 0.5rem;
}
.promise-sessions__session-wrapper.--green .promise-sessions__hours strong {
  color: #1d874a;
}
.promise-sessions__session-wrapper.--green .promise-sessions__session h4 {
  background-color: #6ebe4c;
  color: #fff;
}
.promise-sessions__session-wrapper.--orange {
  background-color: #f15623;
  padding-block: 0.5rem;
}
.promise-sessions__session-wrapper.--orange .promise-sessions__hours strong {
  color: #f15623;
}
.promise-sessions__session-wrapper.--orange .promise-sessions__session h4 {
  background-color: #f78d2d;
  color: #fff;
}

/** Bottom calculation **/
.promise-sessions__calc-title {
  background-color: #2a3b7c;
  color: white;
  text-align: center;
  padding: 1rem;
  font-weight: bold;
  font-size: 1.25rem;
}

.promise-sessions__calc {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 1rem;
  text-transform: uppercase;
  padding: 1rem 1rem 2rem;
}
.promise-sessions__calc > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  line-height: 1.15;
}
.promise-sessions__calc i {
  text-transform: lowercase;
}
.promise-sessions__calc div > span {
  display: block;
  font-style: italic;
}
.promise-sessions__calc div > span:first-child {
  font-size: 1.5rem;
  font-weight: bold;
}
.promise-sessions__calc div:nth-child(1) {
  color: #0076bb;
}
.promise-sessions__calc div:nth-child(3) {
  color: #1d874a;
}
.promise-sessions__calc div:nth-child(5) {
  color: #f15623;
}
.promise-sessions__calc div:nth-child(7) {
  color: #2a3b7c;
}
.promise-sessions__calc div:nth-child(7) > span:first-child {
  font-size: 3rem;
  line-height: 1;
}

@media screen and (min-width: 400px) {
  .promise-sessions__title h3 {
    font-size: 2rem;
  }

  .promise-sessions__session h4 {
    font-size: 1.75rem;
  }
}
/*** END Promise Page Styles ***/