/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./cartridges/app_fgh_core/cartridge/client/default/scss/pages/login/loginMain.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * TABLE OF CONTENTS
 *
 * SETTINGS
 * Global..................Globally-available variables and config.
 *
 * TOOLS
 * Mixins..................Useful mixins.
 *
 * COMPONENTS
 * 
 * 
 * MODULES
 *
 */
/*------------------------------------*\
  #SETTINGS
\*------------------------------------*/
/**
 * Returns the value of the `$key` value of a provided `$map`.
 */
/**
 * Uses `getProperty()` to return a value from the `$colors` map.
 */
/**
 * Uses `getProperty()` to return a value from the `$breakpoints` map.
 */
/*------------------------------------*\
  #TYPOGRAPHY
\*------------------------------------*/
/*------------------------------------*\
  #COLORS
\*------------------------------------*/
/*------------------------------------*\
  #ELEMENT-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #HEADER-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #HORIZONTAL-SPACING
\*------------------------------------*/
/*------------------------------------*\
  #BREAKPOINTS
\*------------------------------------*/
/*------------------------------------*\
  #TRANSITIONS
\*------------------------------------*/
/*------------------------------------*
  #COLORS
\*------------------------------------*/
/*------------------------------------*\
  #ELEMENT-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #TOOLS
\*------------------------------------*/
/**
 * Responsive Mixin
 * This mixin is designed for a _cleaner_ first approach
 * This means that css isn't overridden but rather replaced for
 * different viewport widths; making it easier to inspect/debug css
 *
 * Usage:
 * @include media-query(exclude-medium)    { ... }
 * @include media-query(medium-up-to-site) 	   { ... }
 * ... etc
 */
/**
 * [Adds styles to allow an element's height scale proportionatelly]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 */
/**
 * [Calculates the percentage aspect ratio (what % height is compared to the width)]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * *****REMEMBER TO USE MARGIN OR PADDING AND NOT TOP/BOTTOM******
 * [Calculates the center of an element in relation to a provided width and height.
 * Useful to place an absolute element at the center of another when
 * the positioned element cannot be the target's child ]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * [In the  awful case you can't use Flexbox to vertically align something]
 * @param  {[type]} $transform:       false         [Use transforms to align instead of the absolute trick]
 * @param  {[type]} $pos:             absolute      [position type]
 * @param  {[type]} $posAdj:          0             [position adjustment. If $transform is true, this value only affects the 'top' property.]
 * @param  {[type]} $alignHorizontal: false         [Includes horizontal alignment]
 */
/**
 * Generate Enumerated Class
 * Iterates from 0 to the specified length and generates classes that set the specified property
 * @param  {[String]} $classname:       required      [Required: Specify the class name]
 * @param  {[String]} $property:        $classname    [Optional: Specify the enumerated property (if it's different from the name of the class)]
 * @param  {[Number]} $length:          10            [Optional: Specify the end of the loop]
 * @param  {[String]} $units:           null          [Optional: specify units to append to the enumerated property]
 */
/**
* [Strip the pesky units from values]
* @param  {[Number]} $value
*/
/**
* [Fluid Type]
*/
/**
 * Custom font definition
 *
 * Example of utilization
 * @include font-face('Graphik', 'Graphik-Medium', 'graphik/medium', 500);
 */
/**
 * Position definition
 *
 * Example of utilization
 * @include absolute(top 1rem left 2rem);
 */
/**
 * Custom font definition
 *
 * Example of utilization
 * @include line-clamp(1);
 */
/**
 * Custom scrollbar definition
 *
 * Example of utilization
 * @include custom-scollbar;
 */
/*------------------------------------*\
  #EXTERNALS
\*------------------------------------*/
.store-locator__detect-location {
  margin-top: 0.5rem;
}

.store-locator__result-check:checked + .store-locator__result-content {
  background-color: #F2F2F2;
}

.store-locator__result-content {
  display: block;
  padding: 1.25rem 1rem;
}
.store-locator__result-content:hover {
  cursor: pointer;
  background-color: #F8F8F8;
}

.store-locator__form {
  margin-bottom: 3rem;
}

.store-locator__results {
  overflow: auto;
}

.store-locator__result-item {
  position: relative;
  border-bottom: solid 0.0625rem #F2F2F2;
}

.store-locator__no-results {
  margin: auto;
}

.store-locator__actions {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.store-locator__container .product-pickup__selected {
  padding-left: 0;
}

@media (min-width: 36rem) {
  .store-locator__results {
    max-height: 30rem;
  }
}
@media (max-width: 35.9375rem) {
  .store-locator--modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: inherit;
  }
  .store-locator--modal .store-locator__form {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .store-locator--modal .store-locator__results {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    max-height: none;
  }
  .store-locator--modal .store-locator__actions {
    margin-top: auto;
  }
  .store-locator__results {
    max-height: 22rem;
  }
}
/*------------------------------------*\
  #COMPONENTS
\*------------------------------------*/
@media (min-width: 36rem) {
  .login {
    padding-top: 3.75rem;
    padding-bottom: 8rem;
  }
}
@media (max-width: 35.9375rem) {
  .login {
    padding-top: 2.75rem;
    padding-bottom: 5rem;
  }
  .login__section:not(:last-child) {
    margin-bottom: 4.5rem;
  }
}
@media (max-width: 47.9375rem) {
  .login {
    padding-top: 2rem;
  }
}

.password-reset-link {
  margin-left: 0.125rem;
}

.login-error-container.invalid-feedback.set--visible {
  margin-top: 0;
}

.login-section__wrap {
  border: 1px solid #DEDEDE;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 47.9375rem) {
  .login-section__wrap {
    border: 0;
    padding: 0;
  }
}
@media (min-width: 48rem) {
  .login-section__wrap.login-section__signin {
    margin-right: 0.25rem;
  }
}
@media (min-width: 48rem) {
  .login-section__wrap.login-section__signup {
    margin-left: 0.25rem;
  }
}
.login-section__wrap h2 {
  font-size: 1.5rem;
  font-weight: 500;
}
.login-section__wrap .forgot-password-link {
  display: inline-block;
  text-align: right;
}
.login-section__wrap .reCaptcha-text {
  color: #666666;
  font-size: 0.95rem;
}
.login-section__wrap .reCaptcha-text a {
  border-bottom: 0.0625rem solid;
}
.login-section__wrap .reCaptcha-text a:hover {
  border: 0;
}

.form-register__subtitle {
  display: none;
}

.toggle-password {
  position: absolute;
  right: 0.625rem;
  top: 47%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
  display: none;
}

.form-control.is-invalid + .toggle-password {
  top: 40%;
}

.form-group--constraints-register {
  position: relative;
}

.login-section[data-login-hide] {
  width: 100%;
  max-height: 100rem; /* Use a value larger than the possible height */
  -webkit-transition: max-height 1s ease;
  transition: max-height 1s ease;
  overflow: hidden;
}
.login-section[data-login-hide] .login-section__signup .form-group,
.login-section[data-login-hide] .login-section__signup .create-btn {
  margin: 0;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 1s ease;
  transition: max-height 1s ease;
}
.login-section[data-login-hide] .login-section__signup .form-group.email-field,
.login-section[data-login-hide] .login-section__signup .create-btn.email-field {
  max-height: 20rem;
  margin-bottom: 1.25rem;
}
.login-section[data-login-hide] .login-section__signup .register-btn {
  margin: 0;
}
.login-section[data-login-hide].hide {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.login-section[data-login-hide].hide .login-section__signin,
.login-section[data-login-hide].hide .registrationButton {
  height: 0;
  padding: 0;
  overflow: hidden;
}
.login-section[data-login-hide].hide.login-section__login-container {
  width: 0;
  -ms-flex-preferred-size: 0%;
      flex-basis: 0%;
}
@media (min-width: 48rem) {
  .login-section[data-login-hide].hide.signup-section {
    margin-left: 25%;
  }
}
.login-section[data-login-hide].hide .login-section__signup .form-group,
.login-section[data-login-hide].hide .login-section__signup .create-btn {
  height: auto;
  max-height: 20rem;
  margin-bottom: 1.25rem;
}
.login-section[data-login-hide].hide .login-section__signup .register-btn {
  display: none;
}
.login-section[data-login-hide].hide .form-register__subtitle {
  display: block;
  margin-bottom: 1.5rem;
}

.account-registeration-form {
  width: 50%;
  margin: 2rem auto;
  border: 1px solid #DEDEDE;
  border-radius: 0.5rem;
  padding: 1.5rem;
}
@media (max-width: 35.9375rem) {
  .account-registeration-form {
    width: 95%;
    border: none;
  }
}
.account-registeration-form .form-intro__title {
  font-size: 1.5rem;
  font-weight: 500;
}
.account-registeration-form .form-intro__subtitle {
  font-size: 1rem;
  line-height: 1.25rem;
  margin: 1rem 0;
}
.account-registeration-form .password-strength-message {
  text-align: right;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #666666;
}
.account-registeration-form .progress-bar {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 0.25rem;
  margin: 0.375rem 0;
}
.account-registeration-form .progress-block {
  margin-right: 0.125rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #EAEAEA;
  border-radius: 0.25rem;
}
.account-registeration-form .progress-block.poor {
  background-color: #D32C2C;
}
.account-registeration-form .progress-block.ok {
  background-color: #F9A61A;
}
.account-registeration-form .progress-block.good {
  background-color: #55ae90;
}
.account-registeration-form .progress-block.strong {
  background-color: #00593b;
}
.account-registeration-form .form-control-remember {
  margin-top: 2rem;
}

.register-error-message::before {
  content: "";
  background: none;
}
.register-error-message.register-error::before {
  content: "!";
  width: 1.25rem;
  height: 1.25rem;
  background: #D32C2C;
  border-radius: 1.25rem;
  display: inline-block;
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  margin-right: 0.5rem;
}

.login-link + .invalid-feedback {
  display: none;
}

.register-login {
  color: #1967D2;
}

.login-form [class*=form-check-label]::before {
  border-radius: 0.125rem;
}
.login-form .form-check-input:checked + .form-check-label:after {
  -webkit-transform: scale(1);
          transform: scale(1);
  top: 0.25rem;
  left: 0.3rem;
}
.login-form .form-check-input:checked + .form-check-label:before {
  background: #070707;
}

.login-footer p {
  color: #333;
  font-size: 0.95rem;
  border-top: 0.0625rem solid #DEDEDE;
  padding-top: 2.5rem;
  margin-top: 0.625rem;
}
.login-footer p a {
  border-bottom: 0.0625rem solid;
}
.login-footer p a:hover {
  border: 0;
}

/*# sourceMappingURL=loginMain.css.map*/