| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568 |
- /**
- * MAIN CONTENT
- */
- #subscription-dashboard-root {
- .hover-highlight {
- &:hover,
- &:focus {
- background-color: var(--neutral-10);
- }
- }
- li.row-link {
- display: flex;
- border: 0;
- padding: 0;
- .row-link-inner {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: var(--spacing-02) 0;
- text-decoration: none;
- color: var(--neutral-90);
- width: 100%;
- }
- a.row-link-inner {
- &:hover {
- background-color: var(--neutral-10);
- }
- }
- }
- }
- /**
- * MODALS
- */
- .group-subscription-modal-title-discount {
- @include body-base;
- margin-top: var(--spacing-02);
- margin-bottom: unset;
- }
- .group-subscription-modal {
- .circle {
- font-size: var(--font-size-06);
- border-radius: 50%;
- background-color: var(--green-70);
- color: white;
- white-space: nowrap;
- height: 180px;
- width: 180px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- gap: var(--spacing-02);
- font-weight: bold;
- .small {
- opacity: 0.85;
- }
- .circle-subtext {
- font-size: var(--font-size-03);
- }
- }
- .legend-as-label {
- font-size: var(--font-size-02);
- font-weight: 600;
- color: var(--content-secondary);
- margin-bottom: 0;
- }
- .educational-discount-badge {
- height: 50px;
- p {
- display: inline-block;
- font-weight: bold;
- padding-left: var(--spacing-02);
- padding-right: var(--spacing-02);
- }
- .applied {
- background-color: rgba($green-70, 0.1);
- color: var(--green-70);
- }
- .ineligible {
- background-color: var(--neutral-10);
- }
- }
- }
- #change-plan {
- table {
- @include media-breakpoint-up(lg) {
- th:last-child,
- td:last-child {
- width: 1%; // will expand to fit the content
- }
- }
- @include media-breakpoint-down(lg) {
- display: block;
- thead {
- display: none;
- }
- tbody,
- td,
- tr {
- display: inline-block;
- padding-top: 0;
- padding-bottom: 0;
- text-align: center;
- width: 100%;
- }
- td:first-child {
- padding-top: var(--spacing-07);
- }
- td:last-child {
- padding-top: var(--spacing-03);
- padding-bottom: var(--spacing-07);
- }
- tr {
- border-bottom: 1px solid var(--bs-border-color);
- td,
- th {
- border: 0 !important;
- }
- }
- tr:last-child {
- border-bottom: 0;
- }
- }
- }
- }
- .payment-container {
- padding-top: var(--spacing-08);
- display: flex;
- gap: var(--spacing-10);
- justify-content: center;
- @include media-breakpoint-down(lg) {
- flex-direction: column;
- align-items: center;
- }
- .notification {
- align-self: flex-start;
- }
- .payment-review-panel {
- width: 339px;
- height: 100%;
- @include media-breakpoint-down(lg) {
- width: 100%;
- }
- h4 {
- color: var(--neutral-70);
- font-weight: 600;
- @include heading-sm;
- }
- .price-feature-description {
- color: var(--neutral-70);
- font-weight: 400;
- @include body-base;
- h4 {
- margin-bottom: var(--spacing-06);
- }
- .features-list {
- margin-top: var(--spacing-08);
- }
- .price-summary {
- .price-summary-line {
- display: flex;
- justify-content: space-between;
- .price-summary-line-width {
- width: 70%;
- }
- }
- p {
- margin: unset;
- }
- .price-nowrap {
- white-space: nowrap;
- }
- .price-summary-total-line {
- margin-top: var(--spacing-06);
- .price-summary-due {
- color: var(--green-50);
- }
- }
- }
- .price-cancel-anytime {
- @include body-xs;
- }
- .trial-coupon-summary {
- padding-top: var(--spacing-08);
- .trial-coupon-summary-list-container {
- padding-left: 0;
- li {
- display: flex;
- color: var(--neutral-90);
- align-items: center;
- justify-content: flex-start;
- margin-bottom: var(--spacing-04);
- gap: var(--spacing-05);
- @include body-sm;
- }
- }
- }
- }
- }
- .payment-checkout {
- padding: var(--spacing-08);
- width: 408px;
- @include media-breakpoint-down(lg) {
- width: 100%;
- }
- @include media-breakpoint-down(xs) {
- padding-left: 0;
- padding-right: 0;
- }
- .address-line-1-tooltip {
- font-size: var(--font-size-03);
- }
- h1 {
- @include heading-md;
- margin-bottom: var(--spacing-08);
- }
- .student-disclaimer {
- @include body-sm;
- }
- .paypal-disclaimer {
- @include body-sm;
- margin: var(--spacing-05) 0 0 0;
- }
- .form-group {
- &:not(.payment-method-toggle) {
- margin-bottom: var(--spacing-05);
- }
- &.address-1 {
- margin-bottom: var(--spacing-04);
- }
- }
- .form-check {
- margin-bottom: 0; // override bootstrap5 default margin-bottom of 0.125rem
- }
- .checkout-form-submit {
- margin-top: var(--spacing-08);
- }
- }
- &.stripe-payment-container {
- .payment-checkout {
- .checkout-form-inputs {
- display: flex;
- flex-direction: column;
- gap: 1rem;
- }
- // Everything under .form-group is to make the form better match
- // Stripe's payment inputs
- .form-group {
- // we can't use "Noto Sans" as the font within PaymentElement,
- // so we're using sans-serif for the text elsewhere in the page
- font-family: sans-serif;
- .form-control {
- padding: 10px 12px;
- font-size: 16px;
- line-height: 20px;
- border: 1px solid #e6e6e6;
- transition:
- box-shadow 0.15s ease,
- border-color 0.15s ease;
- box-shadow: 0 1px 3px 0 rgb(0 0 0 / 2%);
- &:focus {
- outline: none;
- border-color: #046530; // brand primary color
- box-shadow:
- 0 1px 1px rgb(0 0 0 / 3%),
- 0 3px 6px rgb(0 0 0 / 2%),
- 0 0 0 3px rgb(11 107 39 / 25%),
- 0 1px 1px 0 rgb(0 0 0 / 8%);
- }
- &.is-invalid {
- border-color: var(--bs-form-invalid-border-color);
- box-shadow:
- 0 1px 3px 0 rgb(0 0 0 / 10%),
- 0 0 0 1px var(--bs-form-invalid-border-color);
- }
- }
- .invalid-feedback {
- .material-symbols {
- display: none;
- }
- }
- }
- }
- }
- }
- .group-heading {
- display: flex;
- align-items: center;
- gap: var(--spacing-04);
- margin-bottom: var(--spacing-06);
- h2,
- .heading {
- @include heading-lg;
- margin: 0;
- word-break: break-all;
- }
- .btn-ghost {
- --bs-btn-bg: transparent;
- }
- }
- .change-currency {
- margin-top: var(--spacing-02);
- .dropdown-item:not(:first-child) {
- margin-top: var(--spacing-02);
- }
- }
- .change-currency-toggle {
- padding-left: 0;
- padding-bottom: 0;
- text-decoration: underline;
- color: var(--content-secondary);
- &:hover,
- &:focus,
- &:active {
- // !important is unfortunately necessary to override btn:first-child:active
- color: var(--content-secondary) !important;
- }
- &:not(:hover) {
- text-decoration: underline;
- }
- // Hide the dropdown caret, BS5 react-bootstrap does not have a prop for this
- &::after {
- display: none;
- }
- @include body-xs;
- }
- .change-currency-dropdown-selected-icon {
- position: absolute;
- right: 10px;
- top: var(--bs-dropdown-item-padding-y);
- }
- .payment-method-toggle {
- .form-check {
- &:first-of-type {
- margin-bottom: var(--spacing-05);
- }
- label {
- margin-bottom: 0; // override .website-redesign default
- }
- }
- .payment-method-logos {
- display: inline-block;
- margin-left: var(--spacing-05);
- img:not(:last-child) {
- margin-right: var(--spacing-04);
- }
- }
- }
- .address2-button {
- text-decoration: none;
- margin-bottom: var(--spacing-05);
- padding: 0;
- :hover {
- text-decoration: underline;
- }
- .button-content {
- justify-content: flex-start;
- color: var(--link-web);
- }
- }
- .three-d-secure-container {
- > .three-d-secure-recurly-container {
- height: 400px;
- }
- }
- .group-subscription-upgrade-features {
- .material-symbols {
- @include body-sm;
- vertical-align: top;
- }
- .per-user-price {
- @include heading-lg;
- color: var(--content-primary);
- }
- .per-user-price-text {
- @include body-xs;
- }
- .feature-list-item {
- @include body-sm;
- }
- }
- .group-subscription-upgrade-card {
- .title {
- @include body-lg;
- }
- }
- .pricing-warning-heading {
- @include body-base;
- font-weight: 600;
- }
- .not-student-switch {
- font-size: var(--font-size-02);
- margin-left: var(--spacing-08);
- label {
- font-weight: normal;
- }
- button {
- margin: 0 0 0 var(--spacing-03);
- padding: 0;
- color: var(--link-web);
- font-size: var(--font-size-02);
- vertical-align: inherit;
- .button-content {
- color: var(--link-web);
- }
- }
- }
- .add-on-card {
- display: flex;
- align-items: center;
- padding: var(--spacing-05);
- gap: var(--spacing-05);
- border: 1px solid var(--border-divider);
- border-radius: var(--border-radius-base);
- .add-on-card-icon {
- width: 40px;
- height: 40px;
- }
- .add-on-card-content {
- display: flex;
- flex-direction: column;
- }
- .heading {
- @include body-base;
- font-weight: 600;
- }
- .description {
- color: var(--content-secondary);
- }
- .highlight {
- color: var(--content-primary);
- }
- .add-on-options-toggle {
- padding: var(--spacing-04);
- font-size: 0;
- line-height: 1;
- border: none;
- border-radius: 50%;
- &::after {
- content: none;
- }
- }
- }
- .payment-summary-card {
- @extend .card-gray;
- border-radius: var(--border-radius-large);
- h3 {
- margin-top: 0;
- margin-bottom: var(--spacing-08);
- font-weight: 600;
- }
- }
- .plan-terms {
- @include body-xs;
- margin-top: var(--spacing-04);
- }
|