.popup-newsletter-01 .btn-primary {
  background-color: var(--popup-newsletter-01--primary-button--background-color);
  border-color: var(--popup-newsletter-01--primary-button--border-color);
  border-bottom-width: var(--popup-newsletter-01--primary-button--border-bottom-width);
  border-left-width: var(--popup-newsletter-01--primary-button--border-left-width);
  border-right-width: var(--popup-newsletter-01--primary-button--border-right-width);
  border-top-width: var(--popup-newsletter-01--primary-button--border-top-width);
  border-radius: var(--popup-newsletter-01--primary-button--border-radius);
  box-shadow: var(--popup-newsletter-01--primary-button--box-shadow);
  color: var(--popup-newsletter-01--primary-button--color);
  font-family: var(--popup-newsletter-01--primary-button--font-family);
  font-size: var(--popup-newsletter-01--primary-button--font-size);
  font-weight: var(--popup-newsletter-01--primary-button--font-weight);
  letter-spacing: var(--popup-newsletter-01--primary-button--letter-spacing);
  padding: var(--popup-newsletter-01--primary-button--padding-y) var(--popup-newsletter-01--primary-button--padding-x);
  text-transform: var(--popup-newsletter-01--primary-button--text-transform);
}
.popup-newsletter-01 .btn-primary:hover {
  background-color: var(--popup-newsletter-01--primary-button--background-color-hover);
  border-color: var(--popup-newsletter-01--primary-button--border-color-hover);
  color: var(--popup-newsletter-01--primary-button--color-hover);
}

.fw_newsletter_modal .modal-dialog {
  width: 100%;
  min-width: 0;
  max-width: var(--popup-newsletter-01--modal--max-width);
  max-height: 90dvh;
  background-color: var(--popup-newsletter-01--modal--background-color);
  border-radius: var(--popup-newsletter-01--modal--border-radius);
  display: flex;
  flex-direction: row;
  align-items: stretch;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 0;
  position: relative;
}
.fw_newsletter_modal .modal-header {
  padding: 0;
  border-bottom: 0;
  margin-bottom: var(--popup-newsletter-01--header--margin-bottom);
}
.fw_newsletter_modal .modal-title {
  font-family: var(--popup-newsletter-01--title--font-family);
  font-size: var(--popup-newsletter-01--title--font-size);
  font-weight: var(--popup-newsletter-01--title--font-weight);
  line-height: var(--popup-newsletter-01--title--line-height);
  letter-spacing: var(--popup-newsletter-01--title--letter-spacing);
  text-transform: var(--popup-newsletter-01--title--text-transform);
  color: var(--popup-newsletter-01--title--color);
  padding-right: var(--popup-newsletter-01--title--padding-right);
}
.fw_newsletter_modal .modal-body {
  padding: 0;
  color: var(--popup-newsletter-01--body--color);
  font-family: var(--popup-newsletter-01--body--font-family);
  font-size: var(--popup-newsletter-01--body--font-size);
  font-weight: var(--popup-newsletter-01--body--font-weight);
  line-height: var(--popup-newsletter-01--body--line-height);
}

.fw_newsletter_modal_image {
  flex-shrink: 0;
  width: var(--popup-newsletter-01--image--width);
  height: var(--popup-newsletter-01--image--height);
  align-self: stretch;
  overflow: hidden;
}
.fw_newsletter_modal_image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--popup-newsletter-01--image--min-height);
  -o-object-fit: cover;
     object-fit: cover;
}

.fw_newsletter_modal_content {
  flex: 1 1 auto;
  padding-top: var(--popup-newsletter-01--content--padding-y);
  padding-bottom: var(--popup-newsletter-01--content--padding-y);
  padding-left: var(--popup-newsletter-01--content--padding-x);
  padding-right: var(--popup-newsletter-01--content--padding-x);
}

.fw_newsletter_modal_optin {
  display: flex;
  align-items: flex-start;
  gap: var(--popup-newsletter-01--optin--gap);
  text-align: left;
  cursor: pointer;
  font-size: var(--popup-newsletter-01--optin--font-size);
  line-height: var(--popup-newsletter-01--optin--line-height);
  color: var(--popup-newsletter-01--optin--color);
}
.fw_newsletter_modal_optin input[type=checkbox] {
  margin-top: var(--popup-newsletter-01--optin--margin-top);
  flex-shrink: 0;
}

.fw_newsletter_modal_disclosure {
  margin-top: var(--popup-newsletter-01--disclosure--margin-top);
  font-size: var(--popup-newsletter-01--disclosure--font-size);
  line-height: var(--popup-newsletter-01--disclosure--line-height);
  color: var(--popup-newsletter-01--disclosure--color);
}

.fw_newsletter_modal_code_wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--popup-newsletter-01--code--gap);
  align-items: center;
}

.fw_newsletter_modal_code {
  font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, monospace;
  font-size: var(--popup-newsletter-01--code--font-size);
  font-weight: var(--popup-newsletter-01--code--font-weight);
  letter-spacing: var(--popup-newsletter-01--code--letter-spacing);
  padding-top: var(--popup-newsletter-01--code--padding-y);
  padding-bottom: var(--popup-newsletter-01--code--padding-y);
  padding-left: var(--popup-newsletter-01--code--padding-x);
  padding-right: var(--popup-newsletter-01--code--padding-x);
  background-color: var(--popup-newsletter-01--code--background-color);
  border-color: var(--popup-newsletter-01--code--border-color);
  border-width: var(--popup-newsletter-01--code--border-width);
  border-style: dashed;
  border-radius: var(--popup-newsletter-01--code--border-radius);
  color: var(--popup-newsletter-01--code--color);
  word-break: break-all;
}

.fw_newsletter_modal a.fw_newsletter_modal_close {
  position: absolute;
  top: var(--popup-newsletter-01--close--top);
  right: var(--popup-newsletter-01--close--right);
  width: var(--popup-newsletter-01--close--width);
  height: var(--popup-newsletter-01--close--height);
  background-color: var(--popup-newsletter-01--close--background-color);
  border-radius: var(--popup-newsletter-01--close--border-radius);
  border-style: solid;
  border-color: var(--popup-newsletter-01--close--border-color);
  border-width: var(--popup-newsletter-01--close--border-width);
  color: var(--popup-newsletter-01--close--color);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

@media (max-width: 1023px) {
  .fw_newsletter_modal .modal-dialog {
    flex-direction: column;
  }
}