﻿@font-face {
    font-family: "Gotham";
    src: url("../res/font/Gotham-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "Gotham";
    src: url("../res/font/Gotham-Book.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Gotham";
    src: url("../res/font/Gotham-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Gotham";
    src: url("../res/font/Gotham-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}

:root {
    /* Debug line color*/
    --debugLineOutlineColor: transparent; /*red*/
    /* Font style constants */
    --font_family: "Gotham", sans-serif;

    --navbar-height: 80px;
    /* Background style constants */
    --backgroundColorGradient1: var(--secondaryColorTheme);
    --backgroundColorGradient2: var(--secondaryColorTheme);
    --backgroundImagePath: linear-gradient(0deg, var(--backgroundColorGradient1), var(--backgroundColorGradient2));

    /* Primary color constants */
    --primaryColorTheme: #ffcc00;
    --primaryColorThemeLight: #ffcc00;
    --primaryColorThemeDark: #ffcc00;

    /* Secondary color constants */
    --secondaryColorTheme: #003b8b;
    --secondaryColorThemeLight: #043ca0;
    --secondaryColorThemeDark: #002f6c;

    /* Tertiary color constants */
    --tertiaryColorTheme: #ffffff;
    --tertiaryColorThemeLight: #ffffff;
    --tertiaryColorThemeDark: #ffffff;

    /* Buttons style constants */
    /* Primary Button style constants */
    --primaryBtnColor:  var(--primaryColorTheme);
    --primaryBtnColorStroke: unset;
    --primaryBtnColorHover: var(--secondaryColorTheme);
    --primaryBtnColorStrokeHover:  0 0 0 3px var(--tertiaryColorTheme);
    --textColorPrimaryButton: var(--secondaryColorThemeDark);
    --textColorPrimaryButtonHover: var(--tertiaryColorTheme);
    /* Secondary Button style constants */
    --secondaryBtnColor: var(--tertiaryColorTheme);
    --secondaryBtnColorStroke: unset;
    --secondaryBtnColorHover: var(--secondaryColorTheme);
    --secondaryBtnColorStrokeHover: unset;
    --textColorSecondaryButton: #000000;
    --textColorSecondaryButtonHover: #ffffff;
    /* Secondary Button Outline style constants */
    --secondaryBtnOutlineColor: transparent;
    --secondaryBtnOutlineColorStroke: 3px solid var(--tertiaryColorTheme);
    --secondaryBtnOutlineColorHover: transparent;
    --secondaryBtnOutlineColorStrokeHover: 3px solid var(--primaryColorTheme);
    --textColorSecondaryButtonOutline: var(--tertiaryColorTheme);
    --textColorSecondaryButtonOutlineHover: var(--primaryColorTheme);
    /* Login Buttons style constants */
    --appleLoginBtnColor: #ffffff;
    --appleLoginTextColor: #000000;
    --googleLoginBtnColor: var(--secondaryColorTheme);
    --googleLoginTextColor: #000000;
    --facebookLoginBtnColor: #4285f4;
    --facebookLoginTextColor: #ffffff;
    --emailLoginBtnColor: var(--primaryBtnColor);
    --emailLoginTextColor: #000000;
    /* CTA Buttons style constants */
    --primaryCtaBtnColor: linear-gradient(0deg, var(--secondaryColorThemeLight), var(--secondaryColorTheme));
    --primaryCtaBtnColorHover: var(--secondaryColorThemeDark);
    --primaryCtaBtnColorStroke: unset;
    --primaryCtaBtnColorStrokeHover: 0 0 0 2px var(--primaryCtaBtnColorStroke);
    --textColorPrimaryCtaButton: #ffffff;
    --textColorPrimaryCtaButtonHover: #ffffff;

    /* Textbox form style constants */
    --validInputFormColor: var(--primaryColorTheme);
    --invalidInputFormColor: #ffffff;

    /* Checkbox form style constants */
    --backgroundCheckboxSelected: linear-gradient(0deg, var(--secondaryColorThemeLight), var(--secondaryColorTheme));

    /* Status dots color constants */
    --activeStatusColor: #3eb838;
    --expiredStatusColor: #e51e25;
    --cancelledStatusColor: #eaa300;
    --notActiveStatusColor: #969696;

    /* Hyperlink style constants */
    --hyperlinkColorText: #ffffff;
    --hyperlinkUnderlineColorHover: var(--primaryColorTheme);
    --iconsLinkColor: #ffffff;
    --iconsLinkColorHover: var(--primaryColorTheme);

    /* Horizontal rule style constants */
    --horizontalRuleColor: var(--tertiaryColorTheme);
    --horizontalRuleOpacity: 25%;

    /* Membership Plan Cards style constants */
    /* Background color */
    --selectedPlanBackgroundColor: var(--primaryColorTheme);
    --notSelectedPlanBackgroundColor: linear-gradient(0deg, var(--backgroundColorGradient1), var(--backgroundColorGradient2));
    /* Border color */
    --borderStrokeSelectedPlanBackgroundColor: var(--secondaryColorTheme);
    --borderStrokeNotSelectedPlanBackgroundColor: unset;
    /* Check symbol */
    --checkIconColorSelectedPlan: var(--secondaryColorTheme);
    /* Foreground Plan color */
    --foregroundPlanBackgroundColor: var(--secondaryColorTheme);
    --foregroundPlanStrokeColor: var(--primaryColorTheme);
    /* Text color */
    --textColorSelectedPlanBackgroundColor: #ffffff;
    --textColorNotSelectedPlanBackgroundColor: #ffffff;

    /* Frequency buttons style constants */
    /* Background color */
    --selectedFrequencyBtnBackgroundColor: var(--secondaryColorThemeLight);
    --notSelectedFrequencyBtnBackgroundColor: #1d1d1d;
    /* Background opacity */
    --selectedFrequencyBtnOpacityColor: 100%;
    --notSelectedFrequencyBtnOpacityColor: 25%;
    /* Border color */
    --selectedFrequencyBtnBorderStrokeColor: var(--tertiaryColorTheme);
    --notSelectedFrequencyBtnBorderStrokeColor: unset;
    /* Background color hover */
    --selectedFrequencyBtnHoverBackgroundColor: var(--secondaryColorTheme);
    --notSelectedFrequencyBtnHoverBackgroundColor: #1d1d1d;
    /* Background opacity */
    --selectedFrequencyBtnHoverOpacityColor: 100%;
    --notSelectedFrequencyBtnHoverOpacityColor: 25%;
    /* Border color */
    --selectedFrequencyBtnHoverBorderStrokeColor: var(--tertiaryColorTheme);
    --notSelectedFrequencyBtnHoverBorderStrokeColor: var(--tertiaryColorTheme);

    /* Navbar line color */
    --navbarLineColor: var(--secondaryColorTheme);
    --navBarLineDisplayVisibility: none; /* Block or None*/

    /* Navbar line color */
    --lineSeparatorColor: #ffffff;
    --lineSeparatorOpacity: 25%;

    /* Font color */
    --fontColor: var(--tertiaryColorTheme);
    --fontColorH1: var(--tertiaryColorTheme);
    --fontColorH2: var(--tertiaryColorTheme);
    --fontColorH3: var(--tertiaryColorTheme);
    --fontColorH4: var(--tertiaryColorTheme);
    --fontColorH5: var(--tertiaryColorTheme);
    --fontColorH6: var(--tertiaryColorTheme);
    --fontColorParagraph: var(--tertiaryColorTheme);
    --fontColorTextMuted: var(--tertiaryColorTheme);
    --fontOpacityTextMuted: 0.5;
    --fontColorTextWarning: var(--secondaryColorTheme);
    --fontColorTextDanger: #dc3545;
    --fontColorInputText: var(--tertiaryColorTheme);
    --fontColorInputDisabledText: #d6d6d6;

    /* Dropdown user menu style */
    --backgroundColorDropdown: var(--primaryColorThemeLight);
    --textColorDropdown: var(--tertiaryColorTheme);
    --textColorDropdownHover: var(--secondaryColorThemeLight);

    /* Profile plan card style */
    --profilePlanCardBackgroundColor: var(--primaryColorTheme);

    /* Input form filled style */
    --inputFilledBackgroundColor: #e4e4e4;
    --inputFilledTextColor: #ffffff;
    --inputFilledBackgroundOpacity: 0.1;

    /* Background Input when autofill value */
    --autofillValueBackgroundColorInput: var(--secondaryColorThemeDark);
    --autofillValueTextColorInput: var(--tertiaryColorTheme);
}

* {
    outline: 1px solid var(--debugLineOutlineColor);
}

body {
    background-color: var(--secondaryColorTheme);
    background-image: var(--backgroundImagePath);
    color: var(--fontColor);
    font-family: var(--font_family), sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "slnt" 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    margin-bottom: 0;
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
}

/* Style text */
h1 {
    color: var(--fontColorH1);
}

h2 {
    color: var(--fontColorH2);
}

h3 {
    color: var(--fontColorH3);
}

h4 {
    color: var(--fontColorH4);
}

h5 {
    color: var(--fontColorH5);
}

h6 {
    color: var(--fontColorH6);
}

p, span {
    color: var(--fontColorParagraph);
}

.text-muted {
    color: var(--fontColorTextMuted) !important;
    opacity: var(--fontOpacityTextMuted) !important;
}

.text-danger {
    color: var(--fontColorTextDanger) !important;
}

.text-warning {
    color: var(--fontColorTextWarning) !important;
}

.text-danger ul {
    padding: 0;
    margin: 0;
}

.title-div {
    font-size: 3rem;
    font-weight: bolder;
    text-align: center;
}

.subtitle-text {
    font-size: 1.25rem;
    line-height: 32px;
    font-weight: 325;
}

.card-title {
    background: linear-gradient(92.95deg, rgba(248, 248, 248, 0.9) 0.1%, rgba(248, 248, 248, 0.5) 100.1%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    opacity: 0.8;
}

.page-title-div {
    font-size: 4rem;
    font-weight: bolder;
    text-align: center;
    line-height: 64px;
}

.icon-box {
    background-color: var(--secondaryColorThemeDark);
    height: 64px;
    width: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Style buttons */
button {
    font-size: 1rem;
    font-weight: bold;
    padding: 16px 32px;
}

.btn {
    font-weight: 600;
    width: 100%;
    padding: 15px;
    border-radius: 7px;
    transition: 0.2s all ease;
}

.btn-primary {
    background: var(--primaryBtnColor);
    color: var(--textColorPrimaryButton);
    border: var(--primaryBtnColorStroke);
}

.btn-primary i svg path {
    stroke: var(--textColorPrimaryButton);
    stroke-opacity: 1;
}

.btn-primary:disabled {
    opacity: .65;
    font-weight: 500;
    background: var(--primaryBtnColor);
    color: var(--textColorPrimaryButton);
    border: var(--primaryBtnColorStroke);
}

.btn-primary:disabled i svg path {
    stroke: var(--textColorPrimaryButton);
    stroke-opacity: 1;
}

.btn-primary:hover {
    background: var(--primaryBtnColorHover);
    color: var(--textColorPrimaryButtonHover);
    box-shadow: var(--primaryBtnColorStrokeHover);
}

.btn-primary:hover i svg path {
    stroke: var(--textColorPrimaryButtonHover);
    stroke-opacity: 1;
}

.btn-primary:focus {
    background: var(--primaryBtnColor);
    color: var(--textColorPrimaryButton);
    border: var(--primaryBtnColorStroke);
    box-shadow: none;
}

.btn-primary:focus i svg path {
    stroke: var(--textColorPrimaryButton);
    stroke-opacity: 1;
}

.btn-primary:active {
    background-color: var(--primaryBtnColor);
    color: var(--textColorPrimaryButton);
    border: var(--primaryBtnColorStroke);
    box-shadow: none;
}

.btn-primary:active i svg path {
    stroke: var(--textColorPrimaryButton);
    stroke-opacity: 1;
}

.btn-secondary {
    background: var(--secondaryBtnColor);
    color: var(--textColorSecondaryButton);
    border: var(--secondaryBtnColorStroke);
}

.btn-secondary i svg path {
    stroke: var(--textColorSecondaryButton);
    stroke-opacity: 1;
}

.btn-secondary:disabled {
    opacity: .65;
    font-weight: 500;
    background: var(--secondaryBtnColor);
    color: var(--textColorSecondaryButton);
    border: var(--secondaryBtnColorStroke);
}

.btn-secondary:disabled i svg path {
    stroke: var(--textColorSecondaryButton);
    stroke-opacity: 1;
}

.btn-secondary:hover {
    background: var(--secondaryBtnColorHover);
    color: var(--textColorSecondaryButtonHover);
    border: var(--secondaryBtnColorStrokeHover);
}

.btn-secondary:hover i svg path {
    stroke: var(--textColorSecondaryButtonHover);
    stroke-opacity: 1;
}

.btn-secondary:focus {
    background: var(--secondaryBtnColor);
    color: var(--textColorSecondaryButton);
    border: var(--secondaryBtnColorStroke);
    box-shadow: none;
}

.btn-secondary:focus i svg path {
    stroke: var(--textColorSecondaryButton);
    stroke-opacity: 1;
}

.btn-secondary:active {
    background: var(--secondaryBtnColor);
    color: var(--textColorSecondaryButton);
    border: var(--secondaryBtnColorStroke);
    box-shadow: none;
}

.btn-secondary:active i svg path {
    stroke: var(--textColorSecondaryButton);
    stroke-opacity: 1;
}

.btn-outline-secondary {
    background: var(--secondaryBtnOutlineColor);
    color: var(--textColorSecondaryButtonOutline);
    border: var(--secondaryBtnOutlineColorStroke);
}

.btn-outline-secondary i svg path {
    fill: var(--textColorSecondaryButtonOutline);
    stroke-opacity: 1;
}

.btn-outline-secondary:disabled {
    opacity: .65;
    font-weight: 500;
    background: var(--secondaryBtnOutlineColor);
    color: var(--textColorSecondaryButtonOutline);
    border: var(--secondaryBtnOutlineColorStroke);
}

.btn-outline-secondary:disabled i svg path {
    fill: var(--textColorSecondaryButtonOutline);
    stroke-opacity: 1;
}

.btn-outline-secondary:hover {
    background: var(--secondaryBtnOutlineColorHover);
    color: var(--textColorSecondaryButtonOutlineHover);
    border: var(--secondaryBtnOutlineColorStrokeHover);
}

.btn-outline-secondary:hover i svg path {
    fill: var(--textColorSecondaryButtonOutlineHover);
    stroke-opacity: 1;
}

.btn-outline-secondary:focus {
    background: var(--secondaryBtnOutlineColor);
    color: var(--textColorSecondaryButtonOutline);
    border: var(--secondaryBtnOutlineColorStroke);
    box-shadow: none;
}

.btn-outline-secondary:focus i svg path {
    fill: var(--textColorSecondaryButtonOutline);
    stroke-opacity: 1;
}

.btn-outline-secondary:active {
    background: var(--secondaryBtnOutlineColor);
    color: var(--textColorSecondaryButtonOutline);
    border: var(--secondaryBtnOutlineColorStroke);
    box-shadow: none;
}

.btn-outline-secondary:active i svg path {
    fill: var(--textColorSecondaryButtonOutline);
    stroke-opacity: 1;
}

.apple-btn {
    color: var(--appleLoginTextColor);
    background: var(--appleLoginBtnColor);
}

.google-btn {
    color: var(--googleLoginTextColor);
    background: var(--googleLoginBtnColor);
}

.facebook-btn {
    color: var(--facebookLoginTextColor);
    background: var(--facebookLoginBtnColor);
}

.mail-btn {
    color: var(--emailLoginTextColor);
    background-color: var(--emailLoginBtnColor);
}

.apple-btn:hover {
    color: var(--appleLoginTextColor);
    background: var(--appleLoginBtnColor);
}

.google-btn:hover {
    color: var(--googleLoginTextColor);
    background: var(--googleLoginBtnColor);
}

.facebook-btn:hover {
    color: var(--facebookLoginTextColor);
    background: var(--facebookLoginBtnColor);
}

.mail-btn:hover {
    color: var(--emailLoginTextColor);
    background: var(--emailLoginBtnColor);
}

.active-plan-profile-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 80px;
    width: 100%;
    padding: 15px;
    border-radius: 7px;
    background: var(--primaryCtaBtnColor);
    box-shadow: var(--primaryCtaBtnColorStroke);
    color: var(--textColorPrimaryCtaButton);
    transition: 0.2s all ease;
}

.active-plan-profile-btn:hover {
    background: var(--primaryCtaBtnColorHover);
    box-shadow: var(--primaryCtaBtnColorStrokeHover);
    color: var(--textColorPrimaryCtaButtonHover);
}

.active-plan-profile-btn p {
    color: var(--textColorPrimaryCtaButton) !important;
}

.active-plan-profile-btn:hover p {
    color: var(--textColorPrimaryCtaButtonHover) !important;
}


.customer-child-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 110px;
    width: 100%;
    padding: 15px;
    border-radius: 1rem;
    background-color: var(--primaryColorTheme);
    color: var(--fontColor);
    border: none;
}

.customer-child-btn, .payment-method{
    cursor: pointer;
}

.edit-profile-img {
    position: relative;
}

.edit-btn-container {
    position: absolute;
    top: 45%;
    right: -20%;
    align-content: end;
}

.edit-btn-container div {
    background-color: var(--primaryColorThemeDark);
    width: 25px;
    height: 25px;
    border-radius: 50%;
}

.edit-btn-container div i {
    font-size: 15px;
    position: relative;
    bottom: 4%;
}

.edit-btn-container div i::before {
    vertical-align: 0;
}
/* End style buttons */


/* Style logo nav bar */
.logo-nav {
    height: 50px;
}

.payoff-nav {
    height: 45px;
    margin-top: auto;
    margin-bottom: auto;
}

/* Style user icon nav bar */
.user-btn {
    background: none;
    color: var(--iconsLinkColor);
    transition: 0.2s all ease;
}

.user-btn:hover {
    background: none;
    color: var(--iconsLinkColorHover);
}

.user-btn:focus {
    box-shadow: none !important;
    background: none;
    color: var(--iconsLinkColorHover);
}
/* End style user icon nav bar */


/* Style Line Nav Bar */
.navbar-line {
    height: 20px;
    width: 100%;
    background-color: var(--navbarLineColor);
    display: var(--navBarLineDisplayVisibility);
}
/* End style Line Nav Bar */

/* Style Footer */
.gradient-container-footer-image {
    position: absolute;
    inset: 0;
    background: linear-gradient(
            180deg,
            color-mix(in srgb, var(--secondaryColorTheme) 0%, transparent),
            var(--secondaryColorTheme) 80%);
    pointer-events: none;
}
/* End style Footer */

/* Style buttons frequency membership plan */
.btn-frequency:has(input[type=radio]) {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background-color: color-mix(in srgb, var(--notSelectedFrequencyBtnBackgroundColor) 25%, transparent);
    border: var(--notSelectedFrequencyBtnBorderStrokeColor);
    color: var(--tertiaryColorThemeLight);
    transition: 0.2s all ease;
    border-radius: 1rem !important;
    padding: 0.5rem;
}

.btn-frequency:has(input[type=radio]):hover {
    box-shadow: 0 0 0 2px var(--notSelectedFrequencyBtnHoverBorderStrokeColor);
}

.btn-frequency:has(input[type=radio]:not(:disabled)) {
    cursor: pointer;
    appearance: none;
    border: inherit;
}

.btn-frequency input[type=radio] {
    appearance: none;
    width: 1.4rem;
    height: 1.4rem;
    flex: 0 0 auto;
    border: inherit;
    position: absolute;
    border-radius: inherit;
}

.btn-frequency:has(input[type=radio]:checked) {
    box-shadow: 0 0 0 2px var(--selectedFrequencyBtnHoverBorderStrokeColor);
    background: var(--selectedFrequencyBtnBackgroundColor);
    opacity: var(--selectedFrequencyBtnOpacityColor);
    border: var(--selectedFrequencyBtnBorderStrokeColor);
    color: var(--tertiaryColorThemeLight);
}
/* End style buttons frequency membership plan */


/* Style card membership plan */
/*.btn-card-plan:has(input[type=radio]) {*/
.btn-card-plan {
    /*    display: inline-flex;*/
    align-items: center;
    gap: 1rem;
    border: 3px solid var(--borderStrokeNotSelectedPlanBackgroundColor);
    background: var(--notSelectedPlanBackgroundColor);
    color: var(--textColorNotSelectedPlanBackgroundColor);
    transition: 0.2s all ease;
    border-radius: 1.5rem !important;
    padding: 1.5rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
    width: 24rem;
    height: fit-content;
}

/*.btn-card-plan:has(input[type=radio]):hover {*/
.btn-card-plan:hover {
    box-shadow: 0 0 0 2px var(--secondaryColorTheme);
    border: 3px solid var(--borderStrokeNotSelectedPlanBackgroundColor) !important;
    background: var(--notSelectedPlanBackgroundColor);
    color: var(--textColorNotSelectedPlanBackgroundColor);
}

.btn-card-plan:hover:has(input[type=radio]:checked) {
    border: 3px solid var(--borderStrokeNotSelectedPlanBackgroundColor) !important;
}

.btn-card-plan input[type=radio] {
    appearance: none;
    width: 1.4rem;
    height: 1.4rem;
    flex: 0 0 auto;
    border: inherit;
    position: absolute;
    border-radius: inherit;
}

.btn-card-plan:has(input[type=radio]:checked) {
    background: var(--selectedPlanBackgroundColor);
    box-shadow: 0 0 0 2px var(--primaryColorThemeLight);
}

.fore-ground-plan {
    box-shadow: 0 0 0 2px var(--tertiaryColorTheme);
}

.card-plan {
    background: var(--profilePlanCardBackgroundColor);
}

.card-plan i.bi-check,
.btn-card-plan i.bi-check,
.card-plan-checkout i.bi-check {
    color: var(--checkIconColorSelectedPlan);
}

/* End style card membership plan */


/* Style a elements */
a:not(.btn) {
    color: var(--hyperlinkColorText) !important;
    text-decoration: none;
    font-weight: 500;
    position: relative;
    transition: 0.2s all ease;
}

a:not(.btn)::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 2px;
    background-color: var(--hyperlinkUnderlineColorHover);
    transform: scaleX(0);
    border-radius: 4px;
    transition: all 0.2s ease;
}

a:not(.btn):hover::after {
    border-radius: 4px;
    transform: scaleX(1);
}

a:not(.btn):hover {
    color: var(--hyperlinkUnderlineColorHover);
    opacity: 1;
}
/* End style a elements */


/* Style form input box */
input[type="text"], input[type="email"],
input[type="password"], input[type="number"],
input[type="date"], input[type="tel"],
input[type="month"], input[type="file"],
textarea, #datetime-input {
    color: var(--tertiaryColorTheme);
    border-radius: 0;
    background: none;
    border: none;
    border-bottom: 3px solid var(--tertiaryColorTheme);
}

input[type="text"]:disabled, input[type="email"]:disabled,
input[type="password"]:disabled, input[type="number"]:disabled,
input[type="date"]:disabled, input[type="tel"]:disabled,
input[type="month"]:disabled, input[type="file"]:disabled,
textarea:disabled, #datetime-input:disabled,
input[type="text"]:read-only, input[type="email"]:read-only,
input[type="password"]:read-only, input[type="number"]:read-only,
input[type="date"]:read-only, input[type="tel"]:read-only,
input[type="month"]:read-only, input[type="file"]:read-only,
textarea:read-only, #datetime-input:read-only
{
    color: var(--fontColorInputDisabledText) !important;
    border-radius: 0;
    background: none;
    border: none;
    border-bottom: 3px solid var(--fontColorInputDisabledText);
}

input[type="text"]:focus, input[type="email"]:focus,
input[type="password"]:focus, input[type="number"]:focus,
input[type="date"]:focus, input[type="tel"]:focus,
input[type="month"]:focus, input[type="file"]:focus,
textarea:focus, #datetime-input:focus {
    box-shadow: none;
    color: var(--fontColorInputText) !important;
}

input[type="text"]:valid, input[type="email"]:valid,
input[type="password"]:valid, input[type="number"]:valid,
input[type="date"]:valid, input[type="tel"]:valid,
input[type="month"]:valid, input[type="file"], textarea:valid,
#datetime-input:valid, #datetime-input.is-valid {
    color: var(--fontColorInputText);
    border-radius: 0;
    background: none;
    border: none;
    border-bottom: 3px solid var(--validInputFormColor);
}

input[type="text"]:invalid, input[type="email"]:invalid,
input[type="password"]:invalid, input[type="number"]:invalid,
input[type="date"]:invalid, input[type="tel"]:invalid,
input[type="month"]:invalid, input[type="file"]:invalid,
textarea:invalid, #datetime-input:invalid,
#datetime-input:invalid, #datetime-input.is-invalid,
#datetime-input:placeholder-shown {
    color: var(--fontColorInputText) !important;
    border-radius: 0;
    background: none;
    border: none;
    border-bottom: 3px solid var(--invalidInputFormColor);
}

input[type="text"]::placeholder, input[type="email"]::placeholder,
input[type="password"]::placeholder, input[type="number"]::placeholder,
input[type="date"]::placeholder, input[type="tel"]::placeholder,
input[type="month"]::placeholder,  input[type="file"]::placeholder,
textarea::placeholder, #datetime-input::placeholder {
    color: var(--fontColorInputText) !important;
    opacity: 0.60;
}

input[type="text"]:is(:-webkit-autofill), input[type="email"]:is(:-webkit-autofill),
input[type="password"]:is(:-webkit-autofill), input[type="number"]:is(:-webkit-autofill),
input[type="date"]:is(:-webkit-autofill), input[type="tel"]:is(:-webkit-autofill),
input[type="month"]:is(:-webkit-autofill), input[type="file"]:is(:-webkit-autofill),
textarea:is(:-webkit-autofill), #datetime-input:is(:-webkit-autofill) {
    background: none !important;
    -webkit-box-shadow: 0 0 0 1000px var(--autofillValueBackgroundColorInput) inset;
    -webkit-text-fill-color: var(--autofillValueTextColorInput);
}
/* End style form input box */


/* Style checkbox */
.checkbox {
    /*    width: 25px;
    height: 25px;*/
    background: none;
    border: 2px solid rgba(255, 255, 255, .5);
    box-shadow: inset var(--tertiaryColorTheme) 0 0 3.5px 0.1px;
}

.card-container {
    background-image: linear-gradient(90deg, var(--secondaryColorTheme), var(--secondaryColorThemeLight));
    color: var(--tertiaryColorTheme);
    aspect-ratio: 8/5;
    padding: 2.3rem 2rem;
}

.bullet-point-group {
    letter-spacing: 2px;
    font-family: serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: normal;
}

.bullet-point-char {
    width: 1vw;
    height: 1vw;
    border-radius: 5vw;
    background-color: var(--fontColor);
}


/* Customer style form with background */
.form-background-filled {
    position: relative;
    width: 100%;
    height: 50px;
    border-radius: 15px;
    overflow: hidden;
}

.form-background-filled::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--inputFilledBackgroundColor);
    opacity: var(--inputFilledBackgroundOpacity);
    z-index: 0;
}

.form-background-filled input, .form-background-filled textarea,
.form-background-filled select, .form-background-filled div {
    background: transparent !important;
    opacity: 1 !important;
    border-bottom: 0 !important;
    border-radius: 15px !important;
    /*height: 60px;*/
    color: var(--inputFilledTextColor);
    font-weight: 500;
    padding: 20px;
    border: none;
    position: relative;
    z-index: 1;
}

.form-background-filled:focus {
    box-shadow: 0 0 0 2px var(--tertiaryColorTheme);
    color: var(--tertiaryColorTheme);
    font-weight: 500;
}

input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button {
    border-radius: 15px;
    background: var(--primaryBtnColor);
    color: var(--textColorPrimaryButton);
    border: none;
    font-weight: bold;
    padding: 0 15px;
    height: 100%;
    cursor: pointer;
}

.input[type="file"]:hover::file-selector-button,
.input[type="file"]:hover::-webkit-file-upload-button{
    background-color: var(--secondaryColorThemeLight);
    color: var(--tertiaryColorTheme);
}

/* End customer style form with background */

.card-membership-container {
    background-color: var(--secondaryColorTheme);
    color: var(--tertiaryColorTheme);
    aspect-ratio: 8/5;
    padding: 2.3rem 2rem;
    margin: 2rem 0;
    border-radius: 1.5rem;
    width: 26rem;
    /*    height: 60%;*/
}

.card-membership-container-checkout {
    background-color: var(--secondaryColorTheme);
    color: var(--tertiaryColorTheme);
    aspect-ratio: 8/5;
    padding: 2.3rem 2rem;
    /*    margin: 2rem 0;*/
    border-radius: 1.5rem;
}

/*ul {
    list-style-type: none;
}*/

.box {
    background-color: var(--primaryColorTheme);
    padding: 1.7rem 1.5rem;
    margin: 2rem 0;
    border-radius: 1.5rem;
}

.custom-point-checkbox-active {
    width: 100%;
    height: 1.3em;
    accent-color: var(--secondaryColorTheme);
}

.container-img-profile {
    width: 75px;
    height: 75px;
    background-color: var(--primaryColorTheme);
    border-radius: 1.5rem;
}

.container-img-profile > img {
    max-height: 100%;
    max-width: 100%;
}

/* Form radio buttons style */
.form-check:has(input[type=radio]) {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    height: 80px;
    width: 100%;
    background-color: var(--secondaryColorTheme);
    font-weight: 600;
    font-size: 1.3rem;
    color: var(--tertiaryColorTheme);
    transition: 0.2s all ease;
    border-radius: 1rem !important;
    padding: 0 30px;
}

.form-check:has(input[type=radio]:not(:disabled)) {
    cursor: pointer;
}

.form-check input[type=radio] {
    width: 1.4rem;
    height: 1.4rem;
    flex: 0 0 auto;
    border: inherit;
    border-radius: inherit;
}

.form-check:has(input[type=radio]:checked) {
    background-color: var(--tertiaryColorThemeDark);
}
/* End form radio buttons style */


/* Dropdown menu style for user button */
.dropdown-menu {
    background: var(--backgroundColorDropdown);
    border: 0;
    border-radius: 20px;
    width: 250px;
}

.dropdown-menu li a {
    /*background-color: var(--secondaryColorTheme);*/
    border: 0;
    color: var(--textColorDropdown);
}

.dropdown-menu li a:hover {
    color: var(--textColorDropdownHover);
}

.dropdown-menu li a:hover p {
    color: var(--textColorDropdownHover);
}


/* End dropdown menu style for user button */


.card-history-sub {
    background-color: var(--primaryColorTheme);
    border-radius: 1rem !important;
    padding: 2rem;
    /*    display: flex;
    flex-direction: column;*/
}

/*.card-history-sub div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}*/

.price-status-responsive {
    display: none !important;
}

.active-status {
    color: var(--activeStatusColor);
}

.expired-status {
    color: var(--expiredStatusColor);
}

.cencelled-status {
    color: var(--cancelledStatusColor);
}

.not-active-status {
    color: var(--notActiveStatusColor);
}

/*.active-plan {
    background-image: linear-gradient(var(--selectedCard2), var(--selectedCard2));
}*/

#y-divider-container {
    display: block;
}

#x-divider-container {
    display: none
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}

.required-policy-chr {
    color: var(--fontColorTextWarning);
}

.content-container-overlay {
    height: 60vh !important;
    background-image: linear-gradient(var(--primaryColorTheme), var(--secondaryColorTheme));
    border-end-end-radius: 1.5rem;
    border-end-start-radius: 1.5rem;
    position: relative;
    left: 11px;
    overflow-y: scroll;
}

.content-container-overlay::-webkit-scrollbar,
.container-list-payment-methods::-webkit-scrollbar {
    width: 10px;
    margin-bottom: 10px;
}

.content-container-overlay::-webkit-scrollbar-track,
.container-list-payment-methods::-webkit-scrollbar-track {
    background: none;
}

.content-container-overlay::-webkit-scrollbar-thumb,
.container-list-payment-methods::-webkit-scrollbar-thumb {
    background: var(--tertiaryColorTheme);
    border-radius: 10px;
    opacity: 0.5;
}

.content-container-overlay::-webkit-scrollbar-thumb:hover,
.container-list-payment-methods::-webkit-scrollbar-thumb:hover {
    background: var(--tertiaryColorTheme);
    opacity: 0.8;
}


.header-container-overlay .content-container-overlay {
    width: 100%;
    height: 35vh;
    background-color: var(--secondaryColorTheme);
    left: 11px;
    position: relative;
}

.content-container.content-container-overlay {
    position: relative;
    left: 12px;
    border-end-end-radius: 1.5rem;
    border-end-start-radius: 1.5rem;
}

.modal-bootstrap-policy {
    background-color: rgba(0, 0, 0, .9);
    border-radius: 1.5rem;
}

.modal-header-bootstrap-policy {
    padding: 0;
    border-bottom: 0;
}

.logo-header-policy {
    width: 110px;
    height: auto;
}

/*
.title {
    color: var(--white2);
}*/

.list-style-type-policies {
    list-style-type: disc;
}

#close-btn {
    background: none;
    border: none;
    color: var(--tertiaryColorTheme);
    text-align: right;
    padding-right: 0;
}

.container-list-payment-methods {
    background: var(--primaryColorThemeDark);
    border-radius: 1.5rem;
    min-height: 100px;
    max-height: 250px;
    overflow-y: scroll;
}

.payment-method {
    font-size: 1.3rem;
    font-weight: lighter;
}

.payment-method:has(input[type=radio]), div .payment-method {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    height: 110px;
    background-color: var(--primaryColorTheme);
    color: var(--fontColor);
    transition: 0.2s all ease;
    border-radius: 1rem !important;
    padding: 0 30px;
}

.payment-method:has(input[type=radio]:not(:disabled)) {
    cursor: pointer;
}

.payment-method input[type=radio] {
    width: 1.4rem;
    height: 1.4rem;
    flex: 0 0 auto;
    border: inherit;
    border-radius: inherit;
}

.payment-method:has(input[type=radio]:checked) {
    background-color: var(--primaryColorThemeLight);
}

.no-card-plan-available {
    background-color: var(--notSelectedFrequencyBtnBackgroundColor);
    opacity: 0.5;
    aspect-ratio: 8 / 5;
    border-radius: 2.5rem;
    border: 5px var(--tertiaryColorTheme) dashed;
}

.no-card-plan-available p {
    color: var(--fontColorParagraph);
    opacity: 1;
}

.line-separator {
    border: 1px solid var(--lineSeparatorColor) !important;
    opacity: var(--lineSeparatorOpacity) !important;
}

.promo-code-card {
    border-radius: 1.5rem;
    background-image: linear-gradient(var(--primaryColorThemeLight), var(--primaryColorTheme));
}

@media only screen and (max-width: 992px) {
    #y-divider-container {
        display: none !important;
    }

    #x-divider-container {
        display: block !important;
    }
}

/* Swiper style */
.swiper {
    padding-top: 3px;
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2px;
}

@media (max-width: 600px) {
    .swiper-arrow-nav-container {
        display: none !important;
    }

    .content-swiper {
        width: 100%;
    }
}

@media (min-width: 600px) {
    .swiper-pagination {
        display: none;
    }
}

.swiper-button-next, .swiper-button-prev {
    color: var(--tertiaryColorTheme) !important;
    display: block !important;
    left: auto !important;
    right: auto !important;
}

.swiper-pagination-bullet {
    background-color: var(--notActiveStatusColor) !important;
    opacity: 0.7;
}

.swiper-pagination-bullet-active {
    background-color: var(--tertiaryColorTheme) !important;
}

.swiper-pagination {
    position: sticky !important;
    bottom: 20px !important;
}

.spinner-border {
    color: var(--tertiaryColorTheme);
}

.modal-content {
    background: var(--primaryColorTheme);
}

.modal-header {
    background: var(--secondaryColorTheme);
}

.modal-body {
    background: var(--secondaryColorTheme);
}

.modal-footer {
    background: var(--secondaryColorTheme);
}

.membership-plan-card-img {
    max-height: 500px;
    object-fit: contain;
    border-radius: 20px;
}

.policy-content, .policy-content tr {
    color: var(--tertiaryColorTheme) !important;
    opacity: 0.7;
}
.policy-content hr {
    color: var(--tertiaryColorTheme) !important;
} 