/*Setup global variables */
/* Spacing helpers */
/* Container size */
:root, .theme--light {
  --primary-light: #c3dfdf;
  --primary: #478cd0;
  --primary-dark: #3762dd;
  --secondary-orange: #ec6937;
  --beta-purple: #574ae2;
  --grey: #d1d1d6;
  --grey-lighter: #f1f1f1;
  --grey-lightest: #fafafa;
  --grey-dark: #2d2d2d;
  --grey-darkest: #1d1d1d;
  --background-grey-light: #f7f9fa;
  --background-blue-light: #d9e3ed;
  --background-blue-lightest: #f1f5f8;
  --input-focus-box-shadow-size: 0 0 0 0;
  --button-focus-box-shadow-size: 0 0 0 0;
  --transparent: transparent;
  --body-background: #ffffff;
  --black: #1f1f1f;
  --white: #ffffff;
  --red: #bf3045;
  --info: #ecf2f8;
  --scrollbar-color: #e0e0e0;
  --scrollbar-background: transparent;
  --background-interactive: #376ef2;
  /* Buttons */
  --secondary-button-background-hover: #ecf3f3;
  --is-white-button-background-hover: rgba(255, 255, 255, 0.9);
  --is-transparent-button-background-hover: rgba(255, 255, 255, 0.1);
  /* Subscribe modal */
  --subscribe-modal-text-secondary: #606c79;
  --subscribe-modal-purchase-btn-background: #2675de;
  --subscribe-modal-background: #ffffff;
  --subscribe-modal-text-primary: #29313a;
  --subscribe-modal-plan-border-color: #c1c7cf;
  --subscribe-modal-form-invalid: #d8403a;
  --subscribe-modal-label-color: rgb(147, 159, 173);
  --subscribe-modal-input-bg: #ffffff;
  --subscribe-modal-input-color: #29313a;
  --subscribe-modal-input-color-placeholder: #9da0a3;
  --subscribe-modal-input-color-border: #e6e6e6;
  --subscribe-modal-input-color-border-focus: rgba(38, 118, 223, 0.5);
  --subscribe-modal-input-color-border-focus-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(0, 0, 0, 0.02), 0 0 0 3px rgba(38, 118, 223, 0.25), 0 1px 1px 0 rgba(0, 0, 0, 0.08);
  /* Text Colors */
  --text: var(--black);
  --text-strong: var(--black);
  --text-dark-grey: var(--grey-dark);
  --text-grey: #606c7c;
  --text-light-grey: #6b7888;
  --card-background: #ffffff;
  --text-primary-inverse: #ffffff;
  --box-background: #ffffff;
  --input-background-color: var(--white);
  --input-placeholder-color: #c3c3c3;
  --input-border-color: var(--grey);
  /* Gradients */
  --primary-gradient: linear-gradient(180deg, rgb(116, 150, 247) 0%, rgb(72, 139, 210) 50%);
  --primary-gradient-horizontal: linear-gradient(121.11deg, #5278fe 0%, #478cd0 96.22%);
  --primary-gradient-horizontal-darker: linear-gradient(121.11deg, #3762dd 0%, #2d64b3 51.56%);
  --primary-gradient-darker: linear-gradient(180deg, #3762dd 0%, #2d64b3 51.56%);
  --primary-gradient-darker-flipped: linear-gradient(0deg, #3762dd 0%, #2d64b3 51.56%);
  --beta-gradient-horizontal: linear-gradient(121.11deg, #574ae2 0%, #5e4efc 96.22%);
  --grey-gradient-horizontal: linear-gradient(121.11deg, #6d6d6d 0%, #478cd0 96.22%);
  --grey-gradient-horizontal-darker: linear-gradient(121.11deg, #6d6d6d 0%, #2d64b3 51.56%);
  /* Filters */
  --grey-filter: invert(73%) sepia(50%) saturate(17%) hue-rotate(202deg) brightness(108%) contrast(86%);
  --grey-dark-filter: invert(13%) sepia(7%) saturate(14%) hue-rotate(314deg) brightness(102%) contrast(89%);
  --black-filter: invert(0%) sepia(0%) saturate(12%) hue-rotate(257deg) brightness(104%) contrast(104%);
  --white-filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
  --primary-filter: invert(75%) sepia(71%) saturate(4613%) hue-rotate(185deg) brightness(87%) contrast(86%);
  --primary-dark-filter: invert(34%) sepia(35%) saturate(6497%) hue-rotate(218deg) brightness(92%) contrast(88%);
  --secondary-orange-filter: invert(63%) sepia(38%) saturate(5896%) hue-rotate(337deg) brightness(95%) contrast(95%);
  --secondary-filter: invert(62%) sepia(10%) saturate(396%) hue-rotate(169deg) brightness(92%) contrast(79%);
  --svg-filter-black: var(--black-filter);
  --tile-primary-shadow-color: rgba(0, 0, 0, 0.2);
  --tag-row-hover-color: #f4f6f9;
  --dropdown-content-background-color: var(--white);
  --dropdown-item-background-color-hover: whitesmoke;
  --book-gallery-card-shadow-color: #8a8a8a;
  --modal-background-background-color: rgba(31, 31, 31, 0.86);
  --base-font-weight: 400;
  --notification-is-info-is-light-color: #1d72aa;
  --notification-is-info-is-light-background-color: #eef6fc; }

.theme--dark {
  --card-background: #2d2f33;
  --black: #f8f8f8;
  --white: #1f1f1f;
  --primary-light: #c3dfdf;
  --primary: #7ebcff;
  --primary-dark: #94c5ff;
  --secondary-orange: #ec6937;
  --beta-purple: #574ae2;
  --grey: #3c3e43;
  --grey-lighter: #585b64;
  --grey-lightest: #676a74;
  --grey-dark: #2d2f33;
  --grey-darkest: #292a2e;
  --info: #36495c;
  --background-interactive: #84acf1;
  --text: #f8f8f8;
  --text-primary-inverse: #232323;
  --text-strong: #f8f8f8;
  --text-grey: #c5d2e3;
  --text-dark-grey: #cfdfec;
  --text-light-grey: #c9c9c9;
  --input-background-color: var(--grey-dark);
  --input-border-color: var(--grey-lighter);
  --input-placeholder-color: var(--grey-lightest);
  --input-background-color-disabled: var(--grey);
  --input-focus-box-shadow-size: 0 0 0 0;
  --button-focus-box-shadow-size: 0 0 0 0;
  --body-background: #1f2023;
  --scrollbar-color: var(--grey-lighter);
  --scrollbar-background: var(--card-background);
  --box-background: var(--grey-dark);
  --primary-filter: invert(66%) sepia(14%) saturate(1557%) hue-rotate(179deg) brightness(105%) contrast(102%);
  --primary-dark-filter: invert(83%) sepia(16%) saturate(4304%) hue-rotate(181deg) brightness(101%) contrast(102%);
  --secondary-filter: invert(45%) sepia(14%) saturate(387%) hue-rotate(169deg) brightness(88%) contrast(89%);
  /* Subscribe modal */
  --subscribe-modal-text-secondary: #939fad;
  --subscribe-modal-purchase-btn-background: #7caeec;
  --subscribe-modal-background: #29313a;
  --subscribe-modal-text-primary: #e0e3e6;
  --subscribe-modal-plan-border-color: #8592a0;
  --subscribe-modal-input-bg: #333C46;
  --subscribe-modal-label-color: rgb(224, 227, 230);
  --subscribe-modal-input-color: #e0e3e6;
  --subscribe-modal-input-color-placeholder: #606C79;
  --subscribe-modal-input-color-border: #4d5966;
  --subscribe-modal-input-color-border-focus: hsla(213, 75%, 71%, 50%);
  --subscribe-modal-input-color-border-focus-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(0, 0, 0, 0.02), 0 0 0 3px hsla(213, 75%, 71%, 25%), 0 1px 1px 0 rgba(255, 255, 255, 0.12);
  /* Buttons */
  --secondary-button-background-hover: rgba(0, 0, 0, 0.9);
  --is-white-button-background-hover: rgba(0, 0, 0, 0.9);
  --is-transparent-button-background-hover: rgba(255, 255, 255, 0.1);
  --tile-primary-shadow-color: rgba(0, 0, 0, 1);
  --tag-row-hover-color: var(--grey-lighter);
  --dropdown-content-background-color: var(--card-background);
  --dropdown-item-background-color-hover: var(--grey);
  --book-gallery-card-shadow-color: #000000;
  --modal-background-background-color: rgba(19, 18, 18, 0.86);
  --base-font-weight: 500;
  --primary-gradient-horizontal: linear-gradient(121.11deg, #3f58c2 0%, #376da0 96.22%);
  --svg-filter-black: var(--white-filter);
  --notification-is-info-is-light-color: #a9d6f6;
  --notification-is-info-is-light-background-color: #5c6f7b; }

.is-native-app:not(.theme--dark) {
  --body-background: #f1f5f8; }
  .is-native-app:not(.theme--dark) .input.search-input {
    background-color: white; }

/* Colors */
/* Gradients */
/* Filters */
/* Text Colors */
/* sizes */
/* Buttons (bulma) */
/* input form element variables */
/* Card */
/* Font families */
/* Tabs */
/* HR */
/* Dropdown */
/* Tables */
/* Tags */
/* Bulma Footer */
/* table width styles */
/* this generates styles like w-2 w-3 that equal to width: 20% and width: 30% respectively */
/* if we ever need another width, go ahead and add here */
/* these classes help us avoid inline styling for very specific width values */
.w-auto {
  width: auto !important; }

@media screen and (max-width: 768px) {
  .w-auto-mobile {
    width: auto !important; } }

@media screen and (min-width: 768px) {
  .w-auto-tablet {
    width: auto !important; } }

.w-0 {
  width: 1% !important; }

@media screen and (max-width: 768px) {
  .w-0-mobile {
    width: 1% !important; } }

@media screen and (min-width: 768px) {
  .w-0-tablet {
    width: 1% !important; } }

.w-03 {
  width: 3% !important; }

@media screen and (max-width: 768px) {
  .w-03-mobile {
    width: 3% !important; } }

@media screen and (min-width: 768px) {
  .w-03-tablet {
    width: 3% !important; } }

.w-05 {
  width: 5% !important; }

@media screen and (max-width: 768px) {
  .w-05-mobile {
    width: 5% !important; } }

@media screen and (min-width: 768px) {
  .w-05-tablet {
    width: 5% !important; } }

.w-1 {
  width: 10% !important; }

@media screen and (max-width: 768px) {
  .w-1-mobile {
    width: 10% !important; } }

@media screen and (min-width: 768px) {
  .w-1-tablet {
    width: 10% !important; } }

.w-2 {
  width: 20% !important; }

@media screen and (max-width: 768px) {
  .w-2-mobile {
    width: 20% !important; } }

@media screen and (min-width: 768px) {
  .w-2-tablet {
    width: 20% !important; } }

.w-3 {
  width: 30% !important; }

@media screen and (max-width: 768px) {
  .w-3-mobile {
    width: 30% !important; } }

@media screen and (min-width: 768px) {
  .w-3-tablet {
    width: 30% !important; } }

.w-4 {
  width: 40% !important; }

@media screen and (max-width: 768px) {
  .w-4-mobile {
    width: 40% !important; } }

@media screen and (min-width: 768px) {
  .w-4-tablet {
    width: 40% !important; } }

.w-5 {
  width: 50% !important; }

@media screen and (max-width: 768px) {
  .w-5-mobile {
    width: 50% !important; } }

@media screen and (min-width: 768px) {
  .w-5-tablet {
    width: 50% !important; } }

.w-6 {
  width: 60% !important; }

@media screen and (max-width: 768px) {
  .w-6-mobile {
    width: 60% !important; } }

@media screen and (min-width: 768px) {
  .w-6-tablet {
    width: 60% !important; } }

.w-7 {
  width: 70% !important; }

@media screen and (max-width: 768px) {
  .w-7-mobile {
    width: 70% !important; } }

@media screen and (min-width: 768px) {
  .w-7-tablet {
    width: 70% !important; } }

.w-8 {
  width: 80% !important; }

@media screen and (max-width: 768px) {
  .w-8-mobile {
    width: 80% !important; } }

@media screen and (min-width: 768px) {
  .w-8-tablet {
    width: 80% !important; } }

.w-9 {
  width: 90% !important; }

@media screen and (max-width: 768px) {
  .w-9-mobile {
    width: 90% !important; } }

@media screen and (min-width: 768px) {
  .w-9-tablet {
    width: 90% !important; } }

.w-10 {
  width: 100% !important; }

@media screen and (max-width: 768px) {
  .w-10-mobile {
    width: 100% !important; } }

@media screen and (min-width: 768px) {
  .w-10-tablet {
    width: 100% !important; } }

.h-10 {
  height: 100%; }

.m-auto {
  margin: auto; }

/* Mobile only spacing */
@media screen and (max-width: 768px) {
  .mt-0-mobile {
    margin-top: 0 !important; } }

@media screen and (min-width: 768px) {
  .mt-0-tablet {
    margin-top: 0 !important; } }

@media screen and (max-width: 768px) {
  .mr-0-mobile {
    margin-right: 0 !important; } }

@media screen and (min-width: 768px) {
  .mr-0-tablet {
    margin-right: 0 !important; } }

@media screen and (max-width: 768px) {
  .mb-0-mobile {
    margin-bottom: 0 !important; } }

@media screen and (min-width: 768px) {
  .mb-0-tablet {
    margin-bottom: 0 !important; } }

@media screen and (max-width: 768px) {
  .ml-0-mobile {
    margin-left: 0 !important; } }

@media screen and (min-width: 768px) {
  .ml-0-tablet {
    margin-left: 0 !important; } }

@media screen and (max-width: 768px) {
  .mt-1-mobile {
    margin-top: 10px !important; } }

@media screen and (min-width: 768px) {
  .mt-1-tablet {
    margin-top: 10px !important; } }

@media screen and (max-width: 768px) {
  .mr-1-mobile {
    margin-right: 10px !important; } }

@media screen and (min-width: 768px) {
  .mr-1-tablet {
    margin-right: 10px !important; } }

@media screen and (max-width: 768px) {
  .mb-1-mobile {
    margin-bottom: 10px !important; } }

@media screen and (min-width: 768px) {
  .mb-1-tablet {
    margin-bottom: 10px !important; } }

@media screen and (max-width: 768px) {
  .ml-1-mobile {
    margin-left: 10px !important; } }

@media screen and (min-width: 768px) {
  .ml-1-tablet {
    margin-left: 10px !important; } }

@media screen and (max-width: 768px) {
  .mt-2-mobile {
    margin-top: 20px !important; } }

@media screen and (min-width: 768px) {
  .mt-2-tablet {
    margin-top: 20px !important; } }

@media screen and (max-width: 768px) {
  .mr-2-mobile {
    margin-right: 20px !important; } }

@media screen and (min-width: 768px) {
  .mr-2-tablet {
    margin-right: 20px !important; } }

@media screen and (max-width: 768px) {
  .mb-2-mobile {
    margin-bottom: 20px !important; } }

@media screen and (min-width: 768px) {
  .mb-2-tablet {
    margin-bottom: 20px !important; } }

@media screen and (max-width: 768px) {
  .ml-2-mobile {
    margin-left: 20px !important; } }

@media screen and (min-width: 768px) {
  .ml-2-tablet {
    margin-left: 20px !important; } }

@media screen and (max-width: 768px) {
  .mt-3-mobile {
    margin-top: 30px !important; } }

@media screen and (min-width: 768px) {
  .mt-3-tablet {
    margin-top: 30px !important; } }

@media screen and (max-width: 768px) {
  .mr-3-mobile {
    margin-right: 30px !important; } }

@media screen and (min-width: 768px) {
  .mr-3-tablet {
    margin-right: 30px !important; } }

@media screen and (max-width: 768px) {
  .mb-3-mobile {
    margin-bottom: 30px !important; } }

@media screen and (min-width: 768px) {
  .mb-3-tablet {
    margin-bottom: 30px !important; } }

@media screen and (max-width: 768px) {
  .ml-3-mobile {
    margin-left: 30px !important; } }

@media screen and (min-width: 768px) {
  .ml-3-tablet {
    margin-left: 30px !important; } }

@media screen and (max-width: 768px) {
  .mt-4-mobile {
    margin-top: 40px !important; } }

@media screen and (min-width: 768px) {
  .mt-4-tablet {
    margin-top: 40px !important; } }

@media screen and (max-width: 768px) {
  .mr-4-mobile {
    margin-right: 40px !important; } }

@media screen and (min-width: 768px) {
  .mr-4-tablet {
    margin-right: 40px !important; } }

@media screen and (max-width: 768px) {
  .mb-4-mobile {
    margin-bottom: 40px !important; } }

@media screen and (min-width: 768px) {
  .mb-4-tablet {
    margin-bottom: 40px !important; } }

@media screen and (max-width: 768px) {
  .ml-4-mobile {
    margin-left: 40px !important; } }

@media screen and (min-width: 768px) {
  .ml-4-tablet {
    margin-left: 40px !important; } }

@media screen and (max-width: 768px) {
  .mt-5-mobile {
    margin-top: 50px !important; } }

@media screen and (min-width: 768px) {
  .mt-5-tablet {
    margin-top: 50px !important; } }

@media screen and (max-width: 768px) {
  .mr-5-mobile {
    margin-right: 50px !important; } }

@media screen and (min-width: 768px) {
  .mr-5-tablet {
    margin-right: 50px !important; } }

@media screen and (max-width: 768px) {
  .mb-5-mobile {
    margin-bottom: 50px !important; } }

@media screen and (min-width: 768px) {
  .mb-5-tablet {
    margin-bottom: 50px !important; } }

@media screen and (max-width: 768px) {
  .ml-5-mobile {
    margin-left: 50px !important; } }

@media screen and (min-width: 768px) {
  .ml-5-tablet {
    margin-left: 50px !important; } }

@media screen and (max-width: 768px) {
  .mt-6-mobile {
    margin-top: 60px !important; } }

@media screen and (min-width: 768px) {
  .mt-6-tablet {
    margin-top: 60px !important; } }

@media screen and (max-width: 768px) {
  .mr-6-mobile {
    margin-right: 60px !important; } }

@media screen and (min-width: 768px) {
  .mr-6-tablet {
    margin-right: 60px !important; } }

@media screen and (max-width: 768px) {
  .mb-6-mobile {
    margin-bottom: 60px !important; } }

@media screen and (min-width: 768px) {
  .mb-6-tablet {
    margin-bottom: 60px !important; } }

@media screen and (max-width: 768px) {
  .ml-6-mobile {
    margin-left: 60px !important; } }

@media screen and (min-width: 768px) {
  .ml-6-tablet {
    margin-left: 60px !important; } }

@media screen and (max-width: 768px) {
  .pt-0-mobile {
    padding-top: 0 !important; } }

@media screen and (min-width: 768px) {
  .pt-0-tablet {
    padding-top: 0 !important; } }

@media screen and (max-width: 768px) {
  .pr-0-mobile {
    padding-right: 0 !important; } }

@media screen and (min-width: 768px) {
  .pr-0-tablet {
    padding-right: 0 !important; } }

@media screen and (max-width: 768px) {
  .pb-0-mobile {
    padding-bottom: 0 !important; } }

@media screen and (min-width: 768px) {
  .pb-0-tablet {
    padding-bottom: 0 !important; } }

@media screen and (max-width: 768px) {
  .pl-0-mobile {
    padding-left: 0 !important; } }

@media screen and (min-width: 768px) {
  .pl-0-tablet {
    padding-left: 0 !important; } }

@media screen and (max-width: 768px) {
  .pt-1-mobile {
    padding-top: 10px !important; } }

@media screen and (min-width: 768px) {
  .pt-1-tablet {
    padding-top: 10px !important; } }

@media screen and (max-width: 768px) {
  .pr-1-mobile {
    padding-right: 10px !important; } }

@media screen and (min-width: 768px) {
  .pr-1-tablet {
    padding-right: 10px !important; } }

@media screen and (max-width: 768px) {
  .pb-1-mobile {
    padding-bottom: 10px !important; } }

@media screen and (min-width: 768px) {
  .pb-1-tablet {
    padding-bottom: 10px !important; } }

@media screen and (max-width: 768px) {
  .pl-1-mobile {
    padding-left: 10px !important; } }

@media screen and (min-width: 768px) {
  .pl-1-tablet {
    padding-left: 10px !important; } }

@media screen and (max-width: 768px) {
  .pt-2-mobile {
    padding-top: 20px !important; } }

@media screen and (min-width: 768px) {
  .pt-2-tablet {
    padding-top: 20px !important; } }

@media screen and (max-width: 768px) {
  .pr-2-mobile {
    padding-right: 20px !important; } }

@media screen and (min-width: 768px) {
  .pr-2-tablet {
    padding-right: 20px !important; } }

@media screen and (max-width: 768px) {
  .pb-2-mobile {
    padding-bottom: 20px !important; } }

@media screen and (min-width: 768px) {
  .pb-2-tablet {
    padding-bottom: 20px !important; } }

@media screen and (max-width: 768px) {
  .pl-2-mobile {
    padding-left: 20px !important; } }

@media screen and (min-width: 768px) {
  .pl-2-tablet {
    padding-left: 20px !important; } }

@media screen and (max-width: 768px) {
  .pt-3-mobile {
    padding-top: 30px !important; } }

@media screen and (min-width: 768px) {
  .pt-3-tablet {
    padding-top: 30px !important; } }

@media screen and (max-width: 768px) {
  .pr-3-mobile {
    padding-right: 30px !important; } }

@media screen and (min-width: 768px) {
  .pr-3-tablet {
    padding-right: 30px !important; } }

@media screen and (max-width: 768px) {
  .pb-3-mobile {
    padding-bottom: 30px !important; } }

@media screen and (min-width: 768px) {
  .pb-3-tablet {
    padding-bottom: 30px !important; } }

@media screen and (max-width: 768px) {
  .pl-3-mobile {
    padding-left: 30px !important; } }

@media screen and (min-width: 768px) {
  .pl-3-tablet {
    padding-left: 30px !important; } }

@media screen and (max-width: 768px) {
  .pt-4-mobile {
    padding-top: 40px !important; } }

@media screen and (min-width: 768px) {
  .pt-4-tablet {
    padding-top: 40px !important; } }

@media screen and (max-width: 768px) {
  .pr-4-mobile {
    padding-right: 40px !important; } }

@media screen and (min-width: 768px) {
  .pr-4-tablet {
    padding-right: 40px !important; } }

@media screen and (max-width: 768px) {
  .pb-4-mobile {
    padding-bottom: 40px !important; } }

@media screen and (min-width: 768px) {
  .pb-4-tablet {
    padding-bottom: 40px !important; } }

@media screen and (max-width: 768px) {
  .pl-4-mobile {
    padding-left: 40px !important; } }

@media screen and (min-width: 768px) {
  .pl-4-tablet {
    padding-left: 40px !important; } }

@media screen and (max-width: 768px) {
  .pt-5-mobile {
    padding-top: 50px !important; } }

@media screen and (min-width: 768px) {
  .pt-5-tablet {
    padding-top: 50px !important; } }

@media screen and (max-width: 768px) {
  .pr-5-mobile {
    padding-right: 50px !important; } }

@media screen and (min-width: 768px) {
  .pr-5-tablet {
    padding-right: 50px !important; } }

@media screen and (max-width: 768px) {
  .pb-5-mobile {
    padding-bottom: 50px !important; } }

@media screen and (min-width: 768px) {
  .pb-5-tablet {
    padding-bottom: 50px !important; } }

@media screen and (max-width: 768px) {
  .pl-5-mobile {
    padding-left: 50px !important; } }

@media screen and (min-width: 768px) {
  .pl-5-tablet {
    padding-left: 50px !important; } }

@media screen and (max-width: 768px) {
  .pt-6-mobile {
    padding-top: 60px !important; } }

@media screen and (min-width: 768px) {
  .pt-6-tablet {
    padding-top: 60px !important; } }

@media screen and (max-width: 768px) {
  .pr-6-mobile {
    padding-right: 60px !important; } }

@media screen and (min-width: 768px) {
  .pr-6-tablet {
    padding-right: 60px !important; } }

@media screen and (max-width: 768px) {
  .pb-6-mobile {
    padding-bottom: 60px !important; } }

@media screen and (min-width: 768px) {
  .pb-6-tablet {
    padding-bottom: 60px !important; } }

@media screen and (max-width: 768px) {
  .pl-6-mobile {
    padding-left: 60px !important; } }

@media screen and (min-width: 768px) {
  .pl-6-tablet {
    padding-left: 60px !important; } }

.rot-left-45 {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.rot-left-90 {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg); }

.rot-left-180 {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }

.rot-left-270 {
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg); }

.rot-right-45 {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.rot-right-90 {
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg); }

.rot-right-180 {
  -webkit-transform: rotate(-180deg);
  -moz-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
  transform: rotate(-180deg); }

.rot-right-270 {
  -webkit-transform: rotate(-270deg);
  -moz-transform: rotate(-270deg);
  -ms-transform: rotate(-270deg);
  -o-transform: rotate(-270deg);
  transform: rotate(-270deg); }

@media screen and (max-width: 768px) {
  .clamp-text-two-lines-mobile {
    display: -webkit-box;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical;
    overflow: hidden; } }

.clamp-text-one-line {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden; }

@keyframes spinAround {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(359deg); } }

html.is-native-app {
  /* Force white bg, even as native app embed */
  background: var(--body-background) !important;
  padding-top: 20px; }

.pricing-table .table-body {
  -webkit-box-shadow: 0px 0px 1px 0px var(--grey) !important;
  -moz-box-shadow: 0px 0px 1px 0px var(--grey) !important;
  box-shadow: 0px 0px 1px 0px var(--grey) !important;
  border-bottom-right-radius: 10px;
  position: relative; }

.pricing-table .top-row {
  display: flex; }

.pricing-table .row {
  display: flex; }
  .pricing-table .row .is-lite, .pricing-table .row .is-full {
    display: flex;
    justify-content: center;
    align-items: center; }
  .pricing-table .row:nth-child(odd) {
    background-color: var(--grey-lightest); }
  .pricing-table .row:last-child .is-full, .pricing-table .row:last-child .is-lite {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border-bottom: 2px solid var(--grey); }
  .pricing-table .row:last-child .is-selected {
    border-bottom: 2px solid var(--primary); }

.pricing-table .is-feature {
  width: 60%;
  padding: 8px 4px; }
  @media screen and (max-width: 768px) {
    .pricing-table .is-feature {
      width: 50%; } }
.pricing-table .is-lite, .pricing-table .is-full {
  width: 20%;
  cursor: pointer;
  text-align: center;
  margin-left: 10px;
  border-right: 2px solid var(--grey);
  border-left: 2px solid var(--grey); }
  .pricing-table .is-lite.is-selected, .pricing-table .is-full.is-selected {
    background-color: inherit;
    color: inherit;
    border-right: 2px solid var(--primary);
    border-left: 2px solid var(--primary); }
  @media screen and (max-width: 768px) {
    .pricing-table .is-lite, .pricing-table .is-full {
      width: 25%; } }
.pricing-table .plan-header {
  border-top: 1px solid var(--grey);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px; }
  .pricing-table .plan-header .plan-checkmark {
    display: none;
    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(68deg) brightness(103%) contrast(107%); }
  .pricing-table .plan-header .plan-header-checkmark-box {
    width: 101%;
    height: 10px;
    border-top: 1px solid var(--grey);
    background-color: var(--grey);
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    display: flex;
    justify-content: center;
    margin-top: -1px; }
    @media screen and (min-width: 769px), print {
      .pricing-table .plan-header .plan-header-checkmark-box {
        margin-left: -1px;
        height: 31px; } }
  .pricing-table .plan-header.is-selected {
    border-top: 1px solid var(--primary); }
    .pricing-table .plan-header.is-selected .plan-header-checkmark-box {
      background-color: var(--primary);
      border-top: 1px solid var(--primary); }
    .pricing-table .plan-header.is-selected .plan-checkmark {
      display: flex; }

@media screen and (min-width: 769px), print {
  .pricing-table .is-feature {
    padding: 13px 20px; } }

@media screen and (max-width: 768px) {
  .pricing-table .row {
    font-size: smaller; } }

.row-checkmark {
  max-height: 20px; }

.cta-content {
  text-align: center; }

img.other-readers {
  font-size: 2em;
  margin-left: -0.5em;
  border: 2px white solid;
  height: 1em;
  width: 1em;
  border-radius: 1em;
  display: inline;
  vertical-align: bottom; }

.faq-chevron {
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg); }

.collapsible {
  padding: 0;
  background: none;
  cursor: pointer;
  width: 100%;
  border: none;
  text-align: left; }
  .collapsible.active .faq-chevron {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }

.faq-content {
  display: none;
  overflow: hidden; }

#continue-modal-header {
  color: var(--black);
  font-size: 40px;
  font-weight: 700;
  line-height: 43.4px;
  margin-bottom: 0.5rem; }

#continueModal {
  font-family: "Helvetica Neue", Helvetica, sans-serif; }
  #continueModal .modal-content {
    max-width: 485px;
    border-radius: 16px; }
    @media screen and (min-width: 769px), print {
      #continueModal .modal-content {
        padding: 32px; } }
  #continueModal #join-thousands {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    margin-bottom: 32px;
    color: var(--subscribe-modal-text-secondary); }
  #continueModal #save-percent {
    color: var(--subscribe-modal-purchase-btn-background); }
  #continueModal #purchase-btn {
    font-size: 16px;
    font-weight: bold;
    line-height: 24px;
    height: 40px;
    border-radius: 5px;
    border: 0;
    cursor: pointer;
    color: var(--white);
    width: 100%;
    margin-top: 16px;
    font-family: inherit;
    background-color: var(--subscribe-modal-purchase-btn-background); }
    #continueModal #purchase-btn:disabled {
      opacity: .7;
      cursor: not-allowed; }

#payment-form {
  margin-bottom: 1rem; }

#api-error {
  margin-top: 2.5rem;
  margin-bottom: 0;
  color: var(--subscribe-modal-form-invalid); }

.step-icon {
  height: 13rem;
  width: 13rem;
  margin-bottom: 2rem; }

@media screen and (min-width: 769px), print {
  .standard-modal .form {
    max-width: 480px;
    margin: auto; } }

.billing-interval {
  display: flex;
  padding: 12px 16px 12px 12px;
  border-radius: 5px;
  box-shadow: 0px 0px 0px 1px var(--grey);
  flex-direction: row;
  gap: 12px;
  text-align: left;
  color: var(--subscribe-modal-plan-border-color);
  cursor: pointer;
  justify-content: start; }
  .billing-interval.billing-is-selected {
    box-shadow: 0px 0px 0px 2px #598ef4; }
  .billing-interval .billing-interval-price {
    font-size: 14px;
    color: var(--subscribe-modal-text-secondary);
    line-height: 18px; }
  .billing-interval .price-title {
    color: var(--subscribe-modal-text-primary);
    font-weight: bolder;
    line-height: 18px; }
  @media screen and (min-width: 769px), print {
    .billing-interval {
      max-width: 200px; } }
.round {
  position: relative;
  width: 20px;
  margin-top: 3px; }

.round label {
  background-color: var(--subscribe-modal-background);
  border: 1px solid var(--subscribe-modal-text-secondary);
  border-radius: 50%;
  cursor: pointer;
  height: 20px;
  left: 0;
  position: absolute;
  top: 0;
  width: 20px; }

.round label:after {
  border: 2px solid var(--subscribe-modal-background);
  border-top: none;
  border-right: none;
  content: "";
  height: 5px;
  left: 4px;
  opacity: 0;
  position: absolute;
  top: 5px;
  transform: rotate(-45deg);
  width: 10px; }

.round input[type="checkbox"] {
  visibility: hidden; }

.round input[type="checkbox"]:checked + label {
  background-color: var(--subscribe-modal-purchase-btn-background);
  border-color: var(--subscribe-modal-purchase-btn-background); }

.round input[type="checkbox"]:checked + label:after {
  opacity: 1; }

a.underline-link {
  color: #333333;
  text-decoration: underline; }

#card-errors {
  text-align: left; }

.custom-stripe-address {
  display: flex;
  gap: 0.75rem;
  font-size: 16px;
  flex-direction: column;
  margin-top: 8px; }
  @media only screen and (min-width: 17rem) {
    .custom-stripe-address {
      flex-direction: row; } }
.custom-stripe-address-element {
  text-align: left;
  flex: 1;
  display: flex;
  flex-direction: column;
  box-sizing: border-box; }

.stripe-input {
  padding: 0.75rem;
  background-color: var(--subscribe-modal-input-bg);
  border-radius: 5px;
  transition: background 0.15s ease, border 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
  border: 1px solid var(--subscribe-modal-input-color-border);
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(0, 0, 0, 0.02);
  font-size: 16px;
  color: var(--subscribe-modal-input-color);
  width: 100%;
  appearance: none;
  flex: 1;
  font-family: "Helvetica Neue", Helvetica, sans-serif; }
  .stripe-input::placeholder {
    color: var(--subscribe-modal-input-color-placeholder); }
  .stripe-input:focus {
    outline: 0px;
    border-color: var(--subscribe-modal-input-color-border-focus);
    box-shadow: var(--subscribe-modal-input-color-border-focus-box-shadow); }

.stripe-input-invalid {
  color: var(--subscribe-modal-form-invalid);
  border-color: var(--subscribe-modal-form-invalid);
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(0, 0, 0, 0.02), 0 0 0 1px var(--subscribe-modal-form-invalid); }

.stripe-label {
  color: var(--subscribe-modal-label-color);
  margin-bottom: 0.25rem;
  font-size: 0.93rem;
  display: block;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1); }

.country-Select {
  position: relative;
  box-sizing: border-box;
  margin: 0; }
  .country-Select select {
    cursor: pointer;
    display: block;
    width: 100%;
    filter: none;
    appearance: none;
    font-family: inherit;
    font-size: 16px;
    vertical-align: middle;
    padding-right: 30px !important; }
  .country-Select .select-arrow {
    color: #939fad;
    font-size: 16px;
    align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    pointer-events: none;
    position: absolute;
    top: 4px;
    right: 0;
    z-index: 10;
    padding: 12px; }

.charge-meta-info {
  color: var(--subscribe-modal-text-secondary);
  font-size: smaller; }

.tax-id-container {
  text-align: left;
  display: flex;
  flex-direction: column;
  color: var(--subscribe-modal-text-primary);
  gap: 16px;
  margin-top: 24px; }
  .tax-id-container .tax-id-checkbox-container {
    display: flex;
    align-items: center; }
    .tax-id-container .tax-id-checkbox-container input {
      width: 16px;
      height: 16px;
      top: 2px;
      left: 2px;
      accent-color: var(--subscribe-modal-purchase-btn-background); }
    .tax-id-container .tax-id-checkbox-container label {
      padding-left: 6px;
      line-height: 20px; }
  .tax-id-container #tax-id-form {
    display: none; }
  .tax-id-container #tax-id-input {
    padding: 12px 12px; }

.tax-select-container {
  display: flex;
  gap: 0.75rem;
  flex-direction: column; }
  @media only screen and (min-width: 17rem) {
    .tax-select-container {
      flex-direction: row; } }
.subscribe-form-error {
  color: var(--subscribe-modal-form-invalid);
  font-size: 0.93rem;
  margin-top: 0.25rem; }

.StripeElement {
  margin-left: auto;
  margin-right: auto;
  background-color: var(--subscribe-modal-input-bg);
  padding: 12px 12px;
  border-radius: 4px;
  border: 1px solid var(--subscribe-modal-input-color-border);
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease; }

.StripeElement--focus {
  outline: 0;
  border-color: var(--subscribe-modal-input-color-border-focus);
  box-shadow: var(--subscribe-modal-input-color-border-focus-box-shadow); }

.StripeElement--invalid {
  border-color: var(--subscribe-modal-form-invalid); }

.StripeElement--webkit-autofill {
  background-color: var(--grey-lighter) !important; }

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