﻿/* COLORS */
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff") format("woff");
}
@font-face {
  font-family: "Guidestone-Icon-Font";
  src: url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.ttf") format("truetype"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.woff") format("woff"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.svg?4nor7i#Guidestone-Icon-Font") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* FONT AND TEXT */
/* BREAK POINTS */
/* COLORS */
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff") format("woff");
}
@font-face {
  font-family: "Guidestone-Icon-Font";
  src: url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.ttf") format("truetype"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.woff") format("woff"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.svg?4nor7i#Guidestone-Icon-Font") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* FONT AND TEXT */
/* BREAK POINTS */
@font-face {
  font-family: "Guidestone-Icon-Font";
  src: url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.ttf?4nor7i") format("truetype"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.woff?4nor7i") format("woff"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.svg?4nor7i#Guidestone-Icon-Font") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* 
    The following contains styles for the registration wizard. The registrationWizard class
    is a class on the page container used for the registration wizard and all styles specific to
    this wizard should be nested in that class to limit the scope of the rules.
*/
/* COLORS */
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff") format("woff");
}
@font-face {
  font-family: "Guidestone-Icon-Font";
  src: url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.ttf") format("truetype"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.woff") format("woff"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.svg?4nor7i#Guidestone-Icon-Font") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* FONT AND TEXT */
/* BREAK POINTS */
#registrationWizard input[type=radio], #registrationWizard input[type=checkbox] {
  display: inline-block;
  margin-right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  min-width: 1.25rem;
  cursor: pointer;
}
#registrationWizard input[type=radio]:focus-visible, #registrationWizard input[type=checkbox]:focus-visible {
  outline: none;
}
#registrationWizard .field-validation-error {
  font-size: 0.875rem;
}
#registrationWizard .legalDisclaimer {
  margin-top: 1rem;
  font-size: 0.75rem;
  color: #3a3a3a;
  font-style: italic;
}
#registrationWizard #sessionTimedOutMessage {
  margin: 0;
  display: block;
  text-align: center;
  border: none;
  border-bottom: 1px solid #d2d2d2;
}
#registrationWizard #sessionTimedOutMessage .alert {
  margin: 0;
  border-radius: 0;
  border: none;
}
#registrationWizard #sessionTimedOutMessage .alert img {
  width: 1.2rem;
  margin-top: -0.2rem;
  vertical-align: middle;
  border-style: none;
}
#registrationWizard #ssnTooltipContent, #registrationWizard #federalEINTooltipContent, #registrationWizard #securityCodeTooltipContent {
  margin-bottom: 1rem;
  margin-top: -1rem;
}
#registrationWizard #ssn span, #registrationWizard #federalEIN span {
  display: inline-block;
  padding: 0 0.1rem;
  position: absolute;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  #registrationWizard #ssn span, #registrationWizard #federalEIN span {
    margin-top: 1.25rem;
  }
}
#registrationWizard #ssn .ssn, #registrationWizard #ssn .federalEIN, #registrationWizard #federalEIN .ssn, #registrationWizard #federalEIN .federalEIN {
  display: inline-block;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}
#registrationWizard #ssn #ssnFirst3, #registrationWizard #federalEIN #ssnFirst3 {
  flex: 0 0 27%;
  max-width: 27%;
}
#registrationWizard #ssn #ssnMiddle2, #registrationWizard #federalEIN #ssnMiddle2 {
  flex: 0 0 20%;
  max-width: 20%;
  margin-left: 1rem;
}
#registrationWizard #ssn #ssnLast4, #registrationWizard #federalEIN #ssnLast4 {
  flex: 0 0 30%;
  max-width: 30%;
  margin-left: 1rem;
}
#registrationWizard #ssn #confirmationHeader, #registrationWizard #federalEIN #confirmationHeader {
  height: 5.625rem;
}
#registrationWizard #ssn #confirmationHeader #completeIndicator, #registrationWizard #federalEIN #confirmationHeader #completeIndicator {
  display: block;
  height: 5.625rem;
  width: 5.625rem;
  background: url(../Images/checkmark-round-green.svg) red no-repeat 0.21rem 0.21rem;
  background-size: 1.7rem;
  border: 0.2rem #007B4B solid;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%);
  box-shadow: 0 2pt 4pt 0 rgba(0, 0, 0, 0.3);
}
#registrationWizard #ssn .registrationInfoMessages, #registrationWizard #federalEIN .registrationInfoMessages {
  font-size: small;
  padding: 1em;
}
#registrationWizard #ssn .wizardPageError, #registrationWizard #federalEIN .wizardPageError {
  position: fixed;
  text-align: center;
  bottom: 1.9rem;
  display: none;
}
#registrationWizard #ssn .wizardPageError .input-validation-error, #registrationWizard #federalEIN .wizardPageError .input-validation-error {
  color: #bb1615;
}
#registrationWizard #ssn .wizardPageError .field-validation-error, #registrationWizard #federalEIN .wizardPageError .field-validation-error {
  color: #bb1615;
}
#registrationWizard #ssn #ssnInfoAlert, #registrationWizard #ssn #passwordInfoAlert, #registrationWizard #federalEIN #ssnInfoAlert, #registrationWizard #federalEIN #passwordInfoAlert {
  display: none;
}
#registrationWizard #ssn #ssnInfoAlert .alert, #registrationWizard #ssn #passwordInfoAlert .alert, #registrationWizard #federalEIN #ssnInfoAlert .alert, #registrationWizard #federalEIN #passwordInfoAlert .alert {
  color: #3a3a3a;
  background-color: #deefff;
  z-index: 1;
}
#registrationWizard #ssn .passwordToggle, #registrationWizard #federalEIN .passwordToggle {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  padding: 1.5rem 0 0.5rem 0;
  vertical-align: bottom;
  background: url(../Images/eye.svg) no-repeat center;
  background-size: 1.25rem;
  cursor: pointer;
  top: -0.3rem;
  right: -0.5rem;
}
#registrationWizard #ssn .passwordToggle.active, #registrationWizard #federalEIN .passwordToggle.active {
  background-image: url(../Images/eye-disabled.svg);
}
#registrationWizard #ssn .requirementsChecklist, #registrationWizard #federalEIN .requirementsChecklist {
  margin: 1rem 0;
}
#registrationWizard #ssn .requirementsChecklist > div, #registrationWizard #federalEIN .requirementsChecklist > div {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}
#registrationWizard #ssn .requirementsChecklist .valid, #registrationWizard #federalEIN .requirementsChecklist .valid {
  background: url(../Images/checkmark-green.svg) no-repeat 0.1rem 0.25rem;
  background-size: 1.1rem 1.1rem;
}
#registrationWizard #ssn .requirementsChecklist .invalid, #registrationWizard #federalEIN .requirementsChecklist .invalid {
  background: url(../Images/close_x.svg) no-repeat left 0.2rem;
  background-size: 1.3rem 1.3rem;
}
#registrationWizard img#checkmark {
  height: 1.75rem;
  margin-bottom: -0.375rem;
  width: auto;
}
#registrationWizard #eDeliveryContent .eDeliveryHeader {
  background-color: #f4f4f4;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1.25rem;
}
#registrationWizard #eDeliveryContent .eDeliveryHeader .goPaperlessHeader .header {
  background: url("../Images/leaf-green.svg") no-repeat left 0.25rem;
  background-size: 1.5rem 1.5rem;
  padding-left: 1.9rem;
  margin: 0.2rem auto 0.5rem;
  width: max-content;
  color: #007B4B;
  font-weight: 400;
}
#registrationWizard #eDeliveryContent .eDeliveryHeader .manageSettingsDisclaimer {
  margin: 0.5rem;
}
#registrationWizard #eDeliveryContent .eDeliveryHeader .manageSettingsDisclaimer div {
  color: #3a3a3a;
  padding: 0 1rem;
  line-height: 1rem;
  font-size: 0.72rem;
  margin-top: -0.3rem;
  font-style: italic;
}
#registrationWizard #eDeliveryContent .goPaperlessRadio {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
#registrationWizard #eDeliveryContent .goPaperlessRadio input[type=radio] {
  margin-bottom: 0;
}
#registrationWizard #eDeliveryContent .goPaperlessRadio input[type=radio]#GoPaperless_true {
  margin-top: 0.25rem;
}
#registrationWizard #eDeliveryContent .goPaperlessRadio input[type=radio] + label {
  cursor: pointer;
  display: inline-block;
  margin-bottom: 0;
}
#registrationWizard #eDeliveryContent .goPaperlessRadio label[for=GoPaperless_true] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #007B4B;
}
#registrationWizard #eDeliveryContent .goPaperlessRadio .leafImage {
  background: url("../Images/leaf-green.svg") no-repeat;
  background-size: 1.4rem 1.4rem;
  display: inline-block;
  margin-bottom: -0.2rem;
  margin-right: 0.3rem;
  width: 1.45rem;
  height: 1.45rem;
}
#registrationWizard #eDeliveryContent ul {
  list-style: none;
  padding-left: 1rem;
}
#registrationWizard #eDeliveryContent .eDeliveryDetailsHeader {
  font-weight: bold;
  margin-top: 0.7rem;
}
#registrationWizard #eDeliveryContent .eDeliveryDetails > div {
  background: url("../Images/leaf-green.svg") no-repeat left 0.2rem;
  background-size: 1rem 1rem;
  margin-top: 0.3rem;
  padding-left: 1.5rem;
}
#registrationWizard #eDeliveryContent #eDeliveryDisclaimers #disclaimerHeader {
  margin-bottom: 0.5rem;
}
#registrationWizard #eDeliveryContent #eDeliveryDisclaimers #disclosureConfirmation {
  margin-top: 0.5rem;
  font-weight: 500;
}
#registrationWizard #eDeliveryContent #eDeliveryDisclaimers #disclosureConfirmation .checkboxContainer {
  display: flex;
  align-items: center;
}
#registrationWizard #eDeliveryContent #eDeliveryDisclaimers #disclosureConfirmation .checkboxContainer input[type=checkbox] ~ label {
  font-weight: normal;
  display: inline-block;
  cursor: pointer;
}
#registrationWizard #eDeliveryContent #eDeliveryDisclaimers #disclaimers a {
  margin-top: 0.2rem;
  font-style: italic;
}
#registrationWizard #eDeliveryContent .noAccount {
  display: none;
}
#registrationWizard #eDeliveryContent .reenrollmentTooltipContent {
  background: none !important;
  padding: 0 !important;
  margin-right: 1.8rem;
}
#registrationWizard #eDeliveryContent .reenrollmentTooltipContent #reenrollmentInfoAlert {
  display: none;
  margin-top: 0;
  padding: 0 !important;
}
#registrationWizard #eDeliveryContent .reenrollmentTooltipContent #reenrollmentInfoAlert .alert {
  z-index: 1;
}
#registrationWizard #eDeliveryContent .reenrollmentTooltipContent #reenrollmentInfoAlert .eDeliveryTooltipAlert {
  margin-bottom: 1rem;
}
#registrationWizard #eDeliveryContent .reenrollmentTooltipContent #reenrollmentInfoAlert .eDeliveryTooltipAlert-dismissible {
  padding-right: 3rem;
}
#registrationWizard #eDeliveryContent .reenrollmentTooltipContent #reenrollmentInfoAlert .eDeliveryTooltipAlert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.45rem 1.25rem;
  color: inherit;
}
#registrationWizard #eDeliveryContent #reenrollmentTooltip {
  cursor: pointer;
}
#registrationWizard #eDeliveryContent #reenrollmentTooltip .eDeliveryTooltipIcon {
  cursor: pointer;
  content: url(../Images/help-circled.svg);
  margin-top: -0.2rem;
  width: 0.9rem;
  height: 0.9rem;
}
#registrationWizard #links .linkWithIcon {
  font-weight: bold;
  margin: 1.5rem auto 0;
  width: fit-content;
  align-self: center;
  display: block;
}
#registrationWizard .card .innerContainer h2 {
  margin-top: 0rem;
}

/* COLORS */
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff") format("woff");
}
@font-face {
  font-family: "Guidestone-Icon-Font";
  src: url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.ttf") format("truetype"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.woff") format("woff"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.svg?4nor7i#Guidestone-Icon-Font") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* FONT AND TEXT */
/* BREAK POINTS */
.wizardFormContainer {
  height: 100%;
}
.wizardFormContainer > form {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.wizardFormContainer > form > div:first-of-type {
  flex: 1 0 auto;
}
.wizardFormContainer > form .transactionWizard {
  position: relative;
}
.wizardFormContainer > form .transactionWizard #percentTotals {
  position: sticky;
  bottom: 0;
  margin-left: -15px;
  margin-right: -15px;
}
.wizardFormContainer > form .transactionWizard #percentTotals > .row {
  background-color: #f4f4f4;
}

.stepHeader a.cancel {
  color: #007B4B;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0.5rem 1rem;
}
.stepHeader a.cancel:hover {
  color: #10453C;
}
.stepHeader #stepContainer {
  padding: 1rem;
  flex-wrap: nowrap;
  margin: 0 auto;
}
.stepHeader #stepContainer .stepCircle {
  width: 2em;
  height: 2em;
  line-height: 1.85em;
  border: 0.15em solid #007B4B;
  margin: 0 auto 0.5em;
  border-radius: 50%;
  font-weight: 500;
  color: #007B4B;
}
.stepHeader #stepContainer .col-2 {
  flex: 0 0 20%;
  max-width: 20%;
}
.stepHeader #stepContainer .col-2.active .stepCircle, .stepHeader #stepContainer .col-3.active .stepCircle, .stepHeader #stepContainer .col-4.active .stepCircle {
  background-color: #007B4B;
  color: #ffffff;
}
.stepHeader #stepContainer .col-2.active .stepText, .stepHeader #stepContainer .col-3.active .stepText, .stepHeader #stepContainer .col-4.active .stepText {
  opacity: 1;
}
.stepHeader #stepContainer .col-2.completedStep .stepCircle, .stepHeader #stepContainer .col-3.completedStep .stepCircle, .stepHeader #stepContainer .col-4.completedStep .stepCircle {
  background: url(../Images/checkmark-round-green.svg) no-repeat rgba(255, 255, 255, 0.3) center;
  background-size: 0.875rem;
  color: transparent;
}
.stepHeader #stepContainer .stepText {
  white-space: nowrap;
  overflow-x: visible;
  opacity: 0.6;
}
.stepHeader #stepContainer .col-2:not(:first-of-type) .stepCircle:before,
.stepHeader #stepContainer .col-2:not(:last-of-type) .stepCircle:after,
.stepHeader #stepContainer .col-3:not(:first-of-type) .stepCircle:before,
.stepHeader #stepContainer .col-3:not(:last-of-type) .stepCircle:after,
.stepHeader #stepContainer .col-4:not(:first-of-type) .stepCircle:before,
.stepHeader #stepContainer .col-4:not(:last-of-type) .stepCircle:after {
  content: " ";
  width: calc((100% - 2em) / 2);
  height: 0.15em;
  background-color: #007B4B;
  position: absolute;
  top: 0.925em;
}
.stepHeader #stepContainer .col-2:not(:first-of-type) .stepCircle:before,
.stepHeader #stepContainer .col-3:not(:first-of-type) .stepCircle:before,
.stepHeader #stepContainer .col-4:not(:first-of-type) .stepCircle:before {
  left: 0;
}
.stepHeader #stepContainer .col-2:not(:last-of-type) .stepCircle:after,
.stepHeader #stepContainer .col-3:not(:last-of-type) .stepCircle:after,
.stepHeader #stepContainer .col-4:not(:last-of-type) .stepCircle:after {
  right: 0;
}
.stepHeader #confirmationHeader {
  height: 5.625rem;
}
.stepHeader #confirmationHeader #completeIndicator {
  display: block;
  height: 5.625rem;
  width: 5.625rem;
  background: url(../Images/checkmark-round-green.svg) white no-repeat center;
  background-size: 1.7rem;
  border: 0.2rem #007B4B solid;
  border-radius: 50%;
  position: relative;
  left: 50%;
  top: 2.5rem;
  transform: translateX(-50%);
  box-shadow: 0 2pt 4pt 0 rgba(0, 0, 0, 0.3);
}
.stepHeader #failedHeader {
  height: 5.625rem;
}
.stepHeader #failedHeader #failedIndicator {
  display: block;
  height: 5.625rem;
  width: 5.625rem;
  background: url(../Images/close-x-white.svg) #007B4B no-repeat center;
  background-size: 2.7rem;
  border: 0.2rem #f4f4f4 solid;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%);
  box-shadow: 0 2pt 4pt 0 rgba(0, 0, 0, 0.3);
}

#footer.wizardFooter {
  z-index: 10;
}
#footer.wizardFooter #footerContainer {
  display: flex;
}
#footer.wizardFooter #footerContainer a.btn {
  height: auto;
  font-size: 0.875rem;
  color: #007B4B;
}
#footer.wizardFooter #footerContainer a.btn:hover {
  color: white;
}

#confirmationPageContent {
  margin-top: 3rem;
}

.confirmationCloseImage {
  width: auto;
  height: 1rem;
  vertical-align: text-bottom;
  padding-right: 4px;
}

.disclaimerText {
  font-size: 0.8rem;
  padding-top: 1rem;
}
.disclaimerText:first-of-type {
  padding-top: 0;
}

/* COLORS */
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-light-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 300;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-lightitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regular-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: normal;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bold-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 400;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-regularitalic-webfont.woff") format("woff");
}
@font-face {
  font-family: sofia-pro;
  font-style: italic;
  font-weight: 700;
  src: local("sofia-pro"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff2") format("woff2"), url("Fonts/SofiaPro/sofiapro-bolditalic-webfont.woff") format("woff");
}
@font-face {
  font-family: "Guidestone-Icon-Font";
  src: url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.ttf") format("truetype"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.woff") format("woff"), url("Fonts/GuideStoneIconFont/Guidestone-Icon-Font.svg?4nor7i#Guidestone-Icon-Font") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* FONT AND TEXT */
/* BREAK POINTS */
.modal-dialog button {
  padding-left: 50px;
  padding-right: 50px;
}
.modal-dialog .modal-header {
  padding: 0.7rem 1rem;
}
.modal-dialog .modal-body {
  padding: 0.7rem 1rem 0rem;
}
.modal-dialog .modal-footer {
  padding-top: 0;
  border: none;
}

html:has(dialog[open]) {
  overflow: hidden;
}

.dialogModal {
  max-height: calc(100% - 5rem);
  width: 37.5rem;
  max-width: 95%;
  padding: 1.5rem;
  box-sizing: border-box;
  background-color: #ffffff;
  border: 2px solid #3a3a3a;
  border-radius: 0.75rem;
  scrollbar-width: thin;
  top: 50%;
  bottom: auto;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 101;
  container: modal/inline-size;
}
.dialogModal::backdrop {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
}
.dialogModal:focus-visible {
  outline: none;
}
.dialogModal .titleContainer {
  display: flex;
  justify-content: space-between;
  align-items: start;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #a3a3a3;
}
.dialogModal .titleContainer .title {
  margin: 0;
  padding: 0;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.5rem;
}
.dialogModal .titleContainer .dialogClose {
  padding: 0;
  padding-left: 1.5rem;
  cursor: pointer;
  background: transparent;
  border: none;
  outline: none;
  font-size: 1.5rem;
  line-height: 1.5rem;
  color: #3a3a3a;
}
.dialogModal .titleContainer .dialogClose::after {
  content: "\e9dc";
  font-family: "Guidestone-Icon-Font";
}
.dialogModal .titleContainer .dialogClose:hover::after {
  color: #10453C;
}
.dialogModal .modalContentContainer label:has(+ input, + select) {
  font-weight: bold;
  margin-bottom: 0.25rem;
}
.dialogModal .modalContentContainer input[type=text], .dialogModal .modalContentContainer input[type=url], .dialogModal .modalContentContainer input[type=tel],
.dialogModal .modalContentContainer input[type=number], .dialogModal .modalContentContainer input[type=color], .dialogModal .modalContentContainer input[type=email],
.dialogModal .modalContentContainer input[type=password], .dialogModal .modalContentContainer input[type=date], .dialogModal .modalContentContainer select {
  width: 100%;
  margin-bottom: 0.125rem;
}
.dialogModal .modalContentContainer .fieldGroup, .dialogModal .modalContentContainer .inputGroup {
  margin-top: 1rem;
}
.dialogModal .modalContentContainer .fieldGroup label, .dialogModal .modalContentContainer .inputGroup label {
  font-weight: bold;
}
.dialogModal .buttonContainer {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap-reverse;
  gap: 1rem;
  width: 100%;
  margin-top: 1rem;
}
.dialogModal .buttonContainer button {
  margin: 0;
  flex: 1;
  min-width: 0;
  max-width: 50%;
  box-sizing: border-box;
  white-space: nowrap;
}
.dialogModal.success {
  border: 3px solid #007B4B;
}
.dialogModal.warning, .dialogModal:has(.modalContentContainer.warning) {
  border: 3px solid #d89d36;
}
@container modal (max-width: 23rem) {
  .dialogModal .buttonContainer button {
    width: 100%;
    min-width: 100%;
  }
}
@media (max-width: 768px) {
  .dialogModal {
    width: 27.5rem;
  }
  .dialogModal .alert .buttonContainer button {
    max-width: 80%;
  }
}

html {
  height: 100%;
}
html body {
  height: 100vh; /* fallback when -webkit-fill-available isn't supported */
  height: -webkit-fill-available; /* this prevents page from being larger than viewport on Safari due to the dynamic height "feature" */
  overscroll-behavior: none; /* this removes the bounce for most mobile browsers (except Safari) */
  font-family: sofia-pro, sans-serif;
  margin: 0rem;
  color: #3a3a3a;
  font-size: 1.125rem;
}
html body .grecaptcha-badge {
  visibility: hidden;
}
html body .container {
  max-width: 50rem;
  margin: 0 auto;
  font-size: 1rem;
  height: 100%;
  height: -webkit-fill-available; /* this prevents page from being larger than viewport on Safari due to the dynamic height "feature" */
}
html body .container .formContainer {
  height: 100%;
}
html body .container .formContainer > form {
  height: 100%;
}
html body .container .formContainer .logoContainer {
  margin-bottom: 1.5rem;
}
html body .container .formContainer .logoContainer img {
  width: 12.5rem;
}
html body .container .formContainer .formContent {
  display: flex;
  align-items: center;
  flex-direction: column;
  height: 100%;
}
html body .container .formContainer .formContent .card {
  background-color: #ffffff;
  border: 1px solid #d2d2d2;
  border-radius: 1rem;
  width: 29rem;
  max-width: 95%;
  box-shadow: 1px 1px 0.5rem 0 rgba(0, 0, 0, 0.2);
  margin-bottom: 1.5rem;
}
html body .container .formContainer .formContent .card .innerContainer {
  padding: 1.5rem;
}
html body .container .formContainer .formContent .card, html body .container .formContainer .formContent .cardLayout {
  display: flex;
  flex-direction: column;
  width: 29rem;
}
html body .container .formContainer .formContent .card .innerContainer .pageTitleContainer, html body .container .formContainer .formContent .cardLayout .innerContainer .pageTitleContainer {
  margin-bottom: 1rem;
  border: none;
}
html body .container .formContainer .formContent .card .innerContainer .pageTitleContainer h1.pageTitle, html body .container .formContainer .formContent .cardLayout .innerContainer .pageTitleContainer h1.pageTitle {
  color: #3a3a3a;
  font-size: 1.25rem;
  font-weight: bold;
  margin: 0;
}
html body .container .formContainer .formContent .card .innerContainer .field, html body .container .formContainer .formContent .cardLayout .innerContainer .field {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}
html body .container .formContainer .formContent .card .innerContainer .field label, html body .container .formContainer .formContent .cardLayout .innerContainer .field label {
  font-weight: 800;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
html body .container .formContainer .formContent .card .innerContainer .field .description, html body .container .formContainer .formContent .cardLayout .innerContainer .field .description {
  color: #757575;
  font-size: 0.875rem;
}
html body .container .formContainer .formContent .card .innerContainer .field a, html body .container .formContainer .formContent .cardLayout .innerContainer .field a {
  font-size: 0.875rem;
  line-height: 1.5rem;
}
html body .container .formContainer .formContent .card .innerContainer .controls .btn, html body .container .formContainer .formContent .cardLayout .innerContainer .controls .btn {
  width: 100%;
  margin: auto;
}
html body .container .formContainer .formContent .card .innerContainer .controls .btn + .btn, html body .container .formContainer .formContent .cardLayout .innerContainer .controls .btn + .btn {
  margin-top: 1rem;
}
html body .container .formContainer .formContent .card .innerContainer .disclaimer, html body .container .formContainer .formContent .cardLayout .innerContainer .disclaimer {
  font-size: 0.875rem;
  font-weight: 300;
  color: #3a3a3a;
  margin: 1rem auto 0;
}
html body .container .formContainer .formContent .card .innerContainer .disclaimer a, html body .container .formContainer .formContent .cardLayout .innerContainer .disclaimer a {
  font-style: italic;
  text-decoration: underline;
}
@media only screen and (max-width: 768px) {
  html body .container .formContainer .formContent .card .innerContainer .disclaimer, html body .container .formContainer .formContent .cardLayout .innerContainer .disclaimer {
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 425px) {
  html body .container {
    width: 90%;
  }
}
@media only screen and (max-width: 640px) {
  html body {
    font-size: 0.875rem;
  }
  html body .container {
    font-size: 0.875rem;
  }
}

.hidden {
  display: none !important;
}

a {
  color: #007B4B;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  color: #024638;
}

.drawerLink::marker,
.drawerLink::-webkit-details-marker {
  display: none;
}

details[open] > .drawerLink:after {
  transform: rotate(180deg);
}

.drawerLink {
  display: block;
  text-align: left;
  font-weight: normal;
  font-size: 1rem;
  background: none;
  color: #246CA9;
  outline: none;
  border: none;
  white-space: normal;
  cursor: pointer;
  font-family: sofia-pro, sans-serif;
  padding-left: 0rem;
}
.drawerLink:after {
  content: " ";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: -0.75rem;
  transition: all 0.2s ease-out;
  position: relative;
  top: 0.375rem;
  right: -0.125rem;
  background-image: url(../Images/arrow-down.svg);
}
.drawerLink:hover {
  text-decoration: underline;
}
.drawerLink:hover:after {
  opacity: 1;
}
.drawerLink.expanded:after {
  transform: rotate(180deg);
}
.drawerLink.expanded:hover:after {
  transform: rotate(180deg);
}

a.attachmentLink, .drawerLink, a.backLink, .button-next {
  position: relative;
  margin-right: 1rem;
  display: inline-block;
}
a.attachmentLink::after, .drawerLink::after, a.backLink::after, .button-next::after {
  content: " ";
  background-image: url(../Images/arrow-down.svg);
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  min-height: 1rem;
  margin-right: -1rem;
  display: inline-block;
  transition: all 0.2s ease-out;
  position: relative;
  top: 0.25rem;
  right: -0.25rem;
}
a.attachmentLink:hover::after, .drawerLink:hover::after, a.backLink:hover::after, .button-next:hover::after {
  transform: translateX(0.2rem);
  opacity: 1;
}

a.downloadLink {
  position: relative;
  margin-right: 1rem;
  display: inline-block;
}
a.downloadLink::after {
  content: " ";
  background-image: url("../Images/download.svg");
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  min-height: 1rem;
  margin-right: -1rem;
  display: inline-block;
  transition: all 0.2s ease-out;
  position: relative;
  top: 0.1875rem;
  right: -0.25rem;
}
a.downloadLink:hover::after {
  transform: translateX(0.2rem);
  opacity: 1;
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  vertical-align: middle;
  border: 0.0625rem solid transparent;
  padding: 0rem 2rem;
  height: 3rem;
  font-family: sofia-pro, sans-serif;
  font-weight: 800;
  font-size: 1rem;
  line-height: 1rem;
  border-radius: 2rem;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, padding 0.15s ease-in-out;
}
@media only screen and (max-width: 640px) {
  .btn {
    font-size: 0.875rem;
  }
}
.btn:focus-visible {
  outline-color: #3a3a3a;
}
.btn.btn-primary {
  color: #ffffff;
  background-color: #007B4B;
  border-color: #007B4B;
}
.btn.btn-primary:hover {
  background-color: #10453C;
  border-color: #10453C;
}
.btn.btn-secondary {
  color: #007B4B;
  background-color: #ffffff;
  border-color: #007B4B;
}
.btn.btn-secondary .image {
  background-color: #007B4B;
}
.btn.btn-secondary:hover {
  color: #10453C;
  border-color: #10453C;
}
.btn.btn-secondary:hover .image {
  background-color: #10453C;
}
.btn.btn-tertiary {
  color: #007B4B;
  background-color: #ffffff;
  font-weight: normal;
}

input[type=checkbox] {
  display: inline-block;
  accent-color: #007B4B;
  margin-right: 0.75rem;
  margin-left: 0;
  width: 1.25rem;
  height: 1.25rem;
  min-width: 1.25rem;
  cursor: pointer;
  height: 1.5rem;
  width: 1.5rem;
}
input[type=checkbox]:focus-visible {
  outline-color: #3a3a3a;
}
input[type=checkbox].field-validation-error {
  border-radius: 10%;
  outline: 2px solid #bb1615;
}
@media only screen and (max-width: 768px) {
  input[type=checkbox] {
    height: 1.5rem;
    width: 1.5rem;
    min-width: 1.5rem;
  }
}

input[type=radio] {
  height: 1.5rem;
  width: 1.5rem;
  min-height: 1.5rem;
  min-width: 1.5rem;
  margin: 0 0.75rem 0 0;
  accent-color: #007B4B;
  cursor: pointer;
  vertical-align: text-bottom;
}
@media only screen and (max-width: 768px) {
  input[type=radio] {
    height: 1.25rem;
    width: 1.25rem;
    min-height: 1.25rem;
    min-width: 1.25rem;
  }
}
input[type=radio].field-validation-error {
  border-radius: 50%;
  outline: 1px solid #bb1615;
}

input[type=text], input[type=tel],
input[type=password] {
  border: 1px solid #a3a3a3;
  border-radius: 0.25rem;
  color: #3a3a3a;
  padding: 0.5rem 1rem;
  width: 100%;
  font-family: sofia-pro, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  display: block;
  width: calc(100% - 2rem);
  max-width: 26rem;
  margin-bottom: 0.25rem;
  font-size: 1rem;
}
@media only screen and (max-width: 768px) {
  input[type=text], input[type=tel],
  input[type=password] {
    line-height: 1.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 640px) {
  input[type=text], input[type=tel],
  input[type=password] {
    font-size: 0.875rem;
  }
}

input.field-validation-error, select.field-validation-error, input.input-validation-error, select.input-validation-error {
  appearance: none;
  -webkit-appearance: none;
  outline-color: #bb1615;
  border-color: #bb1615;
}

span.field-validation-valid {
  display: none;
}

span.field-validation-error {
  display: inline-block;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  color: #bb1615;
  padding-left: 1.25rem;
  background: url(../Images/exclamation-circled-red.svg);
  background-size: 1rem 1rem;
  background-repeat: no-repeat;
  background-position: 0 center;
}

.field-validation-error {
  color: #bb1615 !important;
  font-size: 0.75rem;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin: 0 0 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  color: #3a3a3a;
}

.alert-danger {
  background-color: #fad1d1;
  border: 1px solid #bb1615;
  color: #3a3a3a !important;
  padding-left: 3rem;
  background: #fad1d1 url(../Images/exclamation-circled-red.svg) no-repeat;
  background-size: 1.5rem 1.5rem;
  background-position: 1rem 0.5rem;
  font-size: 0.875rem;
}
.alert-danger::before {
  font-size: 1rem;
  font-weight: 800;
  display: block;
  margin-top: -0.25rem;
}

.alert-info {
  background-color: #deefff;
  border: 1px solid #246CA9;
}

.alert-dismissible {
  padding-right: 2.2rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem 1.25rem;
  background-color: transparent;
  border: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #3a3a3a;
  cursor: pointer;
}
.alert-dismissible .close:hover {
  color: #007B4B;
}

/*styles for the OTP step progress bar*/
.stepProgressBar {
  width: 100%;
  margin-bottom: -1.5rem;
}
.stepProgressBar + .card {
  margin-top: 3.1825rem;
}
.stepProgressBar .progress {
  text-align: center;
  max-width: 23rem;
  font-size: 1rem;
  flex-wrap: nowrap;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.stepProgressBar .progress .circle {
  display: inline-block;
  background: #ffffff;
  width: 0.875rem;
  height: 0.875rem;
  border: 0.0625rem solid #246CA9;
  margin: 0 auto;
  border-radius: 50%;
  font-weight: 700;
  background: none;
}
.stepProgressBar .progress .step {
  flex: 1 1 20%;
  max-width: 7.625rem;
  position: relative;
}
.stepProgressBar .progress .step:not(:first-of-type) .circle:before {
  content: " ";
  width: calc((100% - 1rem) / 2);
  height: 0.0625rem;
  background-color: #246CA9;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
.stepProgressBar .progress .step:not(:last-of-type) .circle:after {
  content: " ";
  width: calc((100% - 1rem) / 2);
  height: 0.0625rem;
  background-color: #246CA9;
  position: absolute;
  top: 0.5rem;
  right: 0;
}
.stepProgressBar .progress .step.active .circle {
  background-color: #246CA9;
  color: #246CA9;
}
.stepProgressBar .progress .step.done .circle {
  background: url(/Images/checkmark-round-white.svg) no-repeat rgb(36, 108, 169) 50% 50%;
  background-size: 0.75rem;
  color: transparent;
}
@media only screen and (max-width: 536px) {
  .stepProgressBar .progress {
    max-width: 100%;
    padding: 0;
  }
}
@media only screen and (max-height: 950px) {
  .stepProgressBar .progress {
    padding-top: 0;
  }
}

a.linkWithIcon {
  display: inline-block;
  font-size: 1rem;
  font-weight: 800;
  position: relative;
  padding-right: 2rem;
}
a.linkWithIcon::after {
  font-family: "Guidestone-Icon-Font";
  font-size: 1.5rem;
  font-weight: normal;
  background: none;
  position: relative;
  transition: all 0.2s ease-out;
  padding-left: 0.25rem;
}
a.linkWithIcon:hover {
  color: #10453C;
}
a.linkWithIcon:hover::after {
  right: -0.25rem;
}
@media (max-width: 768px) {
  a.linkWithIcon {
    font-size: 0.875rem;
    padding-right: 1.5rem;
  }
  a.linkWithIcon::after {
    top: 0.0625rem;
    font-size: 1.125rem;
  }
}

a.navigateLink::after {
  content: "\eb94";
  vertical-align: middle;
}

a.externalLink::after {
  content: "\ec42";
}
