.pricing-simulator .block-invisible {
  opacity: 0;
  display: none !important;
  transition: opacity 1s ease-in-out;
}

/* TOGGLE -------------------- */

.pricing-simulator .custom-toggle {
  /* color */
  --ap_toggle__color--accent: var(--e-global-color-primary);
  --ap_toggle__color--muted: #bdbdbd;

  --ap_toggle__color--checked: transparent;
  --ap_toggle__color--unchecked: transparent;
  --ap_toggle__color__border--checked: var(--ap_toggle__color--accent);
  --ap_toggle__color__border--unchecked: var(--ap_toggle__color--muted);
  --ap_toggle__color__handle--checked: var(--ap_toggle__color--accent);
  --ap_toggle__color__handle--unchecked: var(--ap_toggle__color--muted);
  --ap_toggle__color__text--checked: var(--ap_toggle__color--accent);
  --ap_toggle__color__text--unchecked: #333;

  /* toggle */
  --ap_toggle--width: 49px;
  --ap_toggle--height: 26px;
  --ap_toggle--border-width: 1px;
  --ap_toggle--border-radius: 35px;

  /* text */
  --ap_toggle__text--gap: 3px;
  --ap_toggle__text--font-size: 16px;
  --ap_toggle__text--font-weight: 400;
  --ap_toggle__text--margin: 20px;
  display: flex;
  align-items: left;
}

.pricing-simulator .custom-toggle,
.pricing-simulator .custom-toggle * {
  cursor: pointer;
}

.pricing-simulator .custom-toggle input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: var(--ap_toggle--width);
  height: var(--ap_toggle--height);
  margin: 0 var(--ap_toggle__text--margin) 0 0;
  position: relative;
  transition: all 0.2s ease-in-out;
}

.pricing-simulator .custom-toggle input:before,
.pricing-simulator .custom-toggle input:after {
  content: '';
  position: absolute;
  left: 0;
  border-radius: var(--ap_toggle--border-radius);
  transition: all 0.2s ease-in-out;
}

.pricing-simulator .custom-toggle input:before {
  width: var(--ap_toggle--width);
  height: var(--ap_toggle--height);
  background-color: var(--ap_toggle__color--unchecked);
  border: var(--ap_toggle--border-width) solid var(--ap_toggle__color__border--unchecked);
}

.pricing-simulator .custom-toggle input:after {
  width: calc(var(--ap_toggle--height) - (2 * var(--ap_toggle__text--gap)) - (2 * var(--ap_toggle--border-width)));
  height: calc(var(--ap_toggle--height) - (2 * var(--ap_toggle__text--gap)) - (2 * var(--ap_toggle--border-width)));
  background-color: var(--ap_toggle__color__handle--unchecked);
  top: calc(var(--ap_toggle__text--gap) + var(--ap_toggle--border-width));
  left: calc(var(--ap_toggle__text--gap) + var(--ap_toggle--border-width));
}

.pricing-simulator .custom-toggle input:checked:before {
  background-color: var(--ap_toggle__color--checked);
  border: var(--ap_toggle--border-width) solid var(--ap_toggle__color__border--checked);
}

.pricing-simulator .custom-toggle input:checked:after {
  left: calc(100% - var(--ap_toggle--height) + calc(var(--ap_toggle__text--gap) + var(--ap_toggle--border-width)));
  background-color: var(--ap_toggle__color__handle--checked);
}

.pricing-simulator .custom-toggle input:checked ~ span {
  color: var(--ap_toggle__color__text--checked);
}

.pricing-simulator .custom-toggle span {
  display: inline-flex;
  align-items: center;
  font-size: var(--ap_toggle__text--font-size);
  font-weight: var(--ap_toggle__text--font-weight);
  color: var(--ap_toggle__color__text--unchecked);
}

.pricing-simulator .toggle-switch + .toggle-switch {
  margin-top: 20px;
}

.pricing-simulator .center-pricing-simulator {
  max-width: 720px !important;
  margin: 0 auto !important;
}

/* BOUNCING ARROW -------------------- */

.pricing-simulator .bouncing-arrow {
  color: var(--e-global-color-primary);
  position: absolute;
  top: 0;
  right: -70px;
  -webkit-animation: bounce-left 2s infinite;
  animation: bounce-left 2s infinite;
}

.pricing-simulator .bouncing-arrow .elementor-icon-wrapper {
  text-align: center;
}

.pricing-simulator .bouncing-arrow .elementor-icon {
  color: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
}

/* SELECT -------------------- */

.pricing-simulator .pricing-simulator-select {
  z-index: 10;
  position: relative;
  height: 60px;
  color: #4f555a;
  font-size: 18px;
  border-radius: 10px;
}

/* BREAKPOINTS -------------------- */

@media (max-width: 1024px) {
  .hide-mobile {
    display: none !important;
  }
  .pricing-simulator .toggle-group {
    display: flex;
    border: 1px solid #dedede;
    border-radius: 10px;
    height: 45px;
    background-color: #f8f8f8;
  }
  .pricing-simulator .toggle-group > .toggle-switch {
    margin: 0 !important;
    flex: 1;
    position: relative;
  }
  .pricing-simulator .custom-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
  }
  .pricing-simulator .toggle-group span {
    position: absolute;
    white-space: nowrap;
  }
  .pricing-simulator .toggle-group input {
    margin: 0;
    border-radius: 8px;
    width: 100%;
    height: 35px;
  }
  .pricing-simulator .toggle-group input:checked {
    background: white;
  }
  .pricing-simulator .toggle-group .toggle-switch input:before {
    border: none !important;
  }
  .pricing-simulator .toggle-group .toggle-switch input:after {
    display: none !important;
  }
}

/* ANIMATIONS -------------------- */

@-webkit-keyframes bounce-left {
  0%,
  100%,
  20%,
  50%,
  80% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  40% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  60% {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
}

@keyframes bounce-left {
  0%,
  100%,
  20%,
  50%,
  80% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  40% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  60% {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
}
