/**
  Funko Login Stylesheet
**/
/**
  @mixin caret-direction
  Use to assign consistent transforms that will rotate a
  right-pointing caret in the 3 other cardinal directions
*/
/**
  @mixin aspect-ratio
  Use CSS aspect-ratio rule where possible, but fall back to
  padding-top hack iff needed (i.e. iOS 14)
*/
/**
    Funko site variables.
    See node_modules/bootstrap/scss/_variables.scss to see a full
        list of customizeable variables.
**/
/**
    Core shared variables.
    Set variables here that will be shared among both brands.
**/
/**
    Funko - Login page styles
**/
/**
    Shared - Login common styles
**/
.login-page {
  position: relative; }
  .login-page .card,
  .login-page .card-header {
    border: 0; }
  .login-page .login-header,
  .login-page .track-order-header {
    color: #0f0f0f; }
  .login-page .login-header {
    display: none; }
    .login-page .login-header.show {
      display: block; }
  @media (min-width: 768px) {
    .login-page .login {
      margin-top: 1.25rem; } }
  @media (max-width: 767.98px) {
    .login-page .track-order-header {
      padding-top: 1.5625rem;
      position: relative; }
      .login-page .track-order-header::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        border-top: 1px solid #bfbfbf;
        width: 100%; } }
  @media (min-width: 1200px) {
    .login-page .vertical-divider-col {
      border-right: 1px solid #bfbfbf;
      padding-right: 8.33333%; }
    .login-page .vertical-divider-col + .col-12 {
      padding-left: 8.33333%; } }
  .login-page .global-login-header-content {
    position: absolute;
    bottom: 1.25rem;
    left: 0; }

.main-content {
  z-index: 2;
  position: relative; }

.svg-symbol.info {
  width: 0.75rem;
  height: 0.8125rem;
  margin-left: 0.1875rem;
  vertical-align: middle; }

@media (min-width: 1200px) {
  .login-page .card-header,
  .login-page .card-body {
    padding-top: 2.125rem;
    margin: auto;
    width: 66.66667%; } }

.login-page .login-header,
.login-page .track-order-header,
.login-page .registration-header {
  font-size: 1.625rem;
  line-height: 1.46154;
  font-family: "ProximaNova-Black", sans-serif; }
  @media (min-width: 1200px) {
    .login-page .login-header,
    .login-page .track-order-header,
    .login-page .registration-header {
      font-size: 2.8125rem;
      line-height: 0.84444; } }

@media (min-width: 1200px) {
  .login-page .login,
  .login-page .registration {
    margin-top: 1.25rem; } }

.login-page .forgot-password-label {
  text-transform: capitalize;
  font-size: 0.875rem;
  line-height: 1.71429; }

.login-page .new-user {
  color: #111;
  letter-spacing: -0.3px;
  font-size: 1rem;
  line-height: 1.5; }

.login-page .toggle-link {
  letter-spacing: -0.3px;
  font-size: 0.9375rem;
  line-height: 1.5;
  font-family: "ProximaNova-Medium", sans-serif; }
  @media (min-width: 768px) {
    .login-page .toggle-link {
      font-family: "ProximaNova-Bold", sans-serif;
      font-size: 1rem;
      line-height: 1.5; } }

.login-page .btn.btn-bigger {
  width: 100%;
  padding-top: 0.6875rem;
  padding-bottom: 0.6875rem; }
  @media (min-width: 768px) {
    .login-page .btn.btn-bigger {
      width: auto;
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; }
      .login-page .btn.btn-bigger.login-btn {
        padding-right: 3.125rem;
        padding-left: 3.125rem; }
      .login-page .btn.btn-bigger.check-order-btn {
        padding-right: 2.5rem;
        padding-left: 2.5rem; }
      .login-page .btn.btn-bigger.create-account-btn {
        padding-right: 3.125rem;
        padding-left: 3.125rem; } }

.login-page .track-order-header-text {
  color: #0b0b0b;
  font-family: "ProximaNova-Regular", sans-serif; }
  @media (max-width: 767.98px) {
    .login-page .track-order-header-text {
      font-size: 0.9375rem;
      line-height: 1.13333;
      font-family: "ProximaNova-Medium", sans-serif; } }

.login-page .existing-customer {
  color: #111;
  font-family: "ProximaNova-Regular", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: -0.3px; }

input[placeholder] {
  text-overflow: ellipsis; }

.inline-link {
  text-decoration: underline; }

.hide-order-discount,
.hide-order-loyalty-discount,
.hide-order-loyalty-discount-messages,
.hide-shipping-discount,
.hide-shipping-discount-messages,
.hide-order-discount-messages {
  display: none; }

.error-messaging {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1030; }

.error-hero {
  background-image: url("../images/storelocator.jpg");
  margin-bottom: 0.625em; }

.error-message {
  margin-top: 3.125rem;
  margin-bottom: 3.125rem; }

.error.continue-shopping {
  margin-bottom: 6.25em; }

.error-unassigned-category {
  color: #c92a1d; }

.skip {
  position: absolute;
  left: 0;
  top: -4.2em;
  overflow: hidden;
  padding: 1em 1.5em;
  background: #fff;
  transition: all 0.2s ease-in-out; }

a.skip:active,
a.skip:focus,
a.skip:hover {
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  z-index: 10000000;
  background: #fff;
  transition: all 0.2s ease-in-out; }

.card-header-custom {
  font-size: 1.5rem;
  margin-bottom: 0; }

.ratio_1-1 {
  aspect-ratio: 1 auto; }
  @supports not (aspect-ratio: 1) {
    .ratio_1-1::before {
      float: left;
      padding-top: 100%;
      content: ''; }
    .ratio_1-1::after {
      display: block;
      content: '';
      clear: both; } }

.ratio_16-9 {
  aspect-ratio: 1.77778 auto; }
  @supports not (aspect-ratio: 1.77778) {
    .ratio_16-9::before {
      float: left;
      padding-top: 177.77778%;
      content: ''; }
    .ratio_16-9::after {
      display: block;
      content: '';
      clear: both; } }

.ratio_4-3 {
  aspect-ratio: 1.33333 auto; }
  @supports not (aspect-ratio: 1.33333) {
    .ratio_4-3::before {
      float: left;
      padding-top: 133.33333%;
      content: ''; }
    .ratio_4-3::after {
      display: block;
      content: '';
      clear: both; } }

.alert {
  position: fixed;
  width: 100vw;
  left: 0;
  top: 0;
  z-index: 2;
  margin-bottom: 0;
  transition: transform 0.35s cubic-bezier(0, 0, 0.2, 1);
  transform: none; }
  .alert.header-visible {
    transform: translateY(var(--header-height)); }
  .alert.welcome-alert {
    position: static;
    width: auto;
    transform: none;
    margin-bottom: 1rem; }

.alert:not(.alert-dismissible) {
  padding-left: 10px;
  padding-right: 10px; }

.alert-dismissible {
  padding-right: 0; }
  .alert-dismissible .close {
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    background-color: transparent;
    border-width: 0;
    top: calc(50% - 0.75rem);
    right: 10px;
    line-height: 0;
    transition: background-color 0.24s cubic-bezier(0.4, 0, 0.2, 1), transform 0.24s cubic-bezier(0, 0, 0.2, 1); }
    .alert-dismissible .close .modal-close-x {
      transition: fill 0.24s cubic-bezier(0.4, 0, 0.2, 1); }
    .alert-dismissible .close:hover {
      transform: scale(1.1); }
  .alert-dismissible.alert-danger {
    background-color: #f5cccc; }
    .alert-dismissible.alert-danger .modal-close-x {
      filter: brightness(0) saturate(100%) invert(11%) sepia(46%) saturate(6595%) hue-rotate(352deg) brightness(83%) contrast(88%); }
  .alert-dismissible.valid-cookie-warning .close {
    top: 1.25rem; }

.carousel-item {
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); }

.collapse-taller.collapsing {
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1); }

#ot-sdk-btn-floating .ot-floating-button__front,
#ot-sdk-btn-floating .ot-floating-button__back {
  left: 0.75rem; }

#launcher {
  margin-right: 0.9375rem !important; }

body > .veil {
  z-index: 1050; }

#collapse-container {
  display: -webkit-box;
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  overflow-wrap: break-word; }
  #collapse-container.limited-height-container {
    max-height: 3.75rem;
    -webkit-line-clamp: 3; }

#collapse-button {
  cursor: pointer; }

.error-msg {
  color: #da2525;
  font-size: 1rem;
  line-height: 1.25rem; }

/**
  Component - Funko Search Result banner styles
**/
.search-banner {
  position: relative; }
  .search-banner .banner-image-wrapper {
    position: absolute;
    overflow: hidden;
    right: 0;
    bottom: -0.9375rem;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
    .search-banner .banner-image-wrapper:not(.no-animate):hover {
      transform: translateY(-1.375rem); }
    @media (min-width: 768px) {
      .search-banner .banner-image-wrapper {
        right: 4%; } }
    @media (min-width: 1200px) {
      .search-banner .banner-image-wrapper {
        right: 8%; }
        .search-banner .banner-image-wrapper:not(.no-animate):hover {
          transform: translateY(-2.75rem); } }

.category-banner .banner-image-wrapper,
.account-banner .banner-image-wrapper {
  bottom: calc(-1.25rem + -1.375rem); }
  @media (min-width: 1200px) {
    .category-banner .banner-image-wrapper,
    .account-banner .banner-image-wrapper {
      bottom: calc(-1.5625rem + -2.75rem); } }

.no-result-banner .banner-image-wrapper,
.product-result-banner .banner-image-wrapper {
  bottom: calc(-3.625rem + -1.375rem); }
  @media (min-width: 1200px) {
    .no-result-banner .banner-image-wrapper,
    .product-result-banner .banner-image-wrapper {
      bottom: calc(-6.125rem + -2.75rem); } }

.col-page-heading {
  max-width: calc(100% - 110px); }
  @media (min-width: 1200px) {
    .col-page-heading {
      max-width: calc(96% - 135px); } }
  @media (min-width: 1200px) {
    .col-page-heading {
      max-width: calc(92% - 265px); } }
  @media (min-width: 1200px) {
    .col-page-heading {
      max-width: calc(92% - 315px); } }

/**
    Shared - Password requirements list
**/
.password-requirements .required-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: start; }
  .password-requirements .required-item .valid-message {
    display: none; }
  .password-requirements .required-item::before {
    content: '';
    border-radius: 50%;
    height: 0.5rem;
    width: 0.5rem;
    min-width: 0.5rem;
    border: 1px solid #bfbfbf;
    margin-top: 0.25rem; }
  .password-requirements .required-item.is-valid .valid-message {
    display: initial; }
  .password-requirements .required-item.is-valid .invalid-message {
    display: none; }
  .password-requirements .required-item.is-valid::before {
    background-color: #0070cc;
    border: 0; }

.password-requirements .requirement-label {
  color: #111;
  font-size: 0.75rem; }
  @media (min-width: 1200px) {
    .password-requirements .requirement-label {
      font-size: 0.875rem; } }

/*# sourceMappingURL=fnk-login.css.map*/