:root,
[data-bs-theme=light] {
    --bs-blue: #23a8f2;
    --bs-indigo: #6610f2;
    --bs-purple: #7030a0;
    --bs-pink: #e83e8c;
    --bs-red: #da291c;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffd700;
    --bs-green: #00b050;
    --bs-teal: #20c997;
    --bs-cyan: #17a2b8;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #23a8f2;
    --bs-secondary: #6c757d;
    --bs-success: #00b050;
    --bs-info: #17a2b8;
    --bs-warning: #ffd700;
    --bs-danger: #da291c;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-royal: #6f42c1;
    --bs-primary-rgb: 35, 168, 242;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 0, 176, 80;
    --bs-info-rgb: 23, 162, 184;
    --bs-warning-rgb: 255, 215, 0;
    --bs-danger-rgb: 218, 41, 28;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-royal-rgb: 111, 66, 193;
    --bs-primary-text-emphasis: #0e4361;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #004620;
    --bs-info-text-emphasis: #09414a;
    --bs-warning-text-emphasis: #665600;
    --bs-danger-text-emphasis: #57100b;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-royal-text-emphasis: #2c1a4d;
    --bs-primary-bg-subtle: #d3eefc;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #ccefdc;
    --bs-info-bg-subtle: #d1ecf1;
    --bs-warning-bg-subtle: #fff7cc;
    --bs-danger-bg-subtle: #f8d4d2;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-royal-bg-subtle: #e2d9f3;
    --bs-primary-border-subtle: #a7dcfa;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #99dfb9;
    --bs-info-border-subtle: #a2dae3;
    --bs-warning-border-subtle: #ffef99;
    --bs-danger-border-subtle: #f0a9a4;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;
    --bs-royal-border-subtle: #c5b3e6;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: #23a8f2;
    --bs-link-color-rgb: 35, 168, 242;
    --bs-link-decoration: none;
    --bs-link-hover-color: #1c86c2;
    --bs-link-hover-color-rgb: 28, 134, 194;
    --bs-code-color: #e83e8c;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff7cc;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(35, 168, 242, 0.25);
    --bs-form-valid-color: #00b050;
    --bs-form-valid-border-color: #00b050;
    --bs-form-invalid-color: #da291c;
    --bs-form-invalid-border-color: #da291c;
}

[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-color: #dee2e6;
    --bs-body-color-rgb: 222, 226, 230;
    --bs-body-bg: #201f1e;
    --bs-body-bg-rgb: 32, 31, 30;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 226, 230, 0.75);
    --bs-secondary-color-rgb: 222, 226, 230;
    --bs-secondary-bg: #343a40;
    --bs-secondary-bg-rgb: 52, 58, 64;
    --bs-tertiary-color: rgba(222, 226, 230, 0.5);
    --bs-tertiary-color-rgb: 222, 226, 230;
    --bs-tertiary-bg: #2b3035;
    --bs-tertiary-bg-rgb: 43, 48, 53;
    --bs-primary-text-emphasis: #7bcbf7;
    --bs-secondary-text-emphasis: #a7acb1;
    --bs-success-text-emphasis: #66d096;
    --bs-info-text-emphasis: #74c7d4;
    --bs-warning-text-emphasis: #ffe766;
    --bs-danger-text-emphasis: #e97f77;
    --bs-light-text-emphasis: #f8f9fa;
    --bs-dark-text-emphasis: #dee2e6;
    --bs-royal-text-emphasis: #a98eda;
    --bs-primary-bg-subtle: #072230;
    --bs-secondary-bg-subtle: #161719;
    --bs-success-bg-subtle: #002310;
    --bs-info-bg-subtle: #052025;
    --bs-warning-bg-subtle: #332b00;
    --bs-danger-bg-subtle: #2c0806;
    --bs-light-bg-subtle: #343a40;
    --bs-dark-bg-subtle: #1a1d20;
    --bs-royal-bg-subtle: #160d27;
    --bs-primary-border-subtle: #156591;
    --bs-secondary-border-subtle: #41464b;
    --bs-success-border-subtle: #006a30;
    --bs-info-border-subtle: #0e616e;
    --bs-warning-border-subtle: #998100;
    --bs-danger-border-subtle: #831911;
    --bs-light-border-subtle: #495057;
    --bs-dark-border-subtle: #343a40;
    --bs-royal-border-subtle: #432874;
    --bs-heading-color: inherit;
    --bs-link-color: #7bcbf7;
    --bs-link-hover-color: #95d5f9;
    --bs-link-color-rgb: 123, 203, 247;
    --bs-link-hover-color-rgb: 149, 213, 249;
    --bs-code-color: #f18bba;
    --bs-highlight-color: #dee2e6;
    --bs-highlight-bg: #665600;
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --bs-form-valid-color: #66d096;
    --bs-form-valid-border-color: #66d096;
    --bs-form-invalid-color: #e97f77;
    --bs-form-invalid-border-color: #e97f77;
}

:root,
[data-bs-theme=light] {
    --light-theme-display: block;
    --dark-theme-display: none;
    --nf-bg-extreme: #fff;
    --nf-color-extreme: #000;
    --nf-grayscale-11: #1c1c1c;
    --nf-grayscale-13: #212121;
    --nf-grayscale-17: #2b2b2b;
    --nf-grayscale-83: #d4d4d4;
    --nf-grayscale-87: #dedede;
    --nf-grayscale-89: #e3e3e3;
    --nf-silhouette-color: #eff0f2;
    --nf-silhouette-bg: #fbfbfc;
    --nf-silhouette-hover-bg: #eff0f2;
    --nf-silhouette-border-color: #eff0f2;
}

[data-bs-theme=dark] {
    --dark-theme-display: block;
    --light-theme-display: none;
    --nf-bg-extreme: #000;
    --nf-color-extreme: #fff;
    --nf-grayscale-11: #e3e3e3;
    --nf-grayscale-13: #dedede;
    --nf-grayscale-17: #d4d4d4;
    --nf-grayscale-83: #2b2b2b;
    --nf-grayscale-87: #212121;
    --nf-grayscale-89: #1c1c1c;
    --nf-silhouette-color: #3c3d3e;
    --nf-silhouette-bg: #484848;
    --nf-silhouette-hover-bg: #3c3d3e;
    --nf-silhouette-border-color: #3c3d3e;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

hr.nf-strand {
    border: 0;
    height: 2px;
    opacity: 1;
    background-color: transparent;
    /*background-image: -webkit-linear-gradient(left, #c83737, #c83737 15%, #ffd400 85%, #ffd400);*/
    background-image: -webkit-linear-gradient(left, #23a8f2, rgba(35, 168, 242, 0.2) 10%, rgba(35, 168, 242, 0.2) 90%, #23a8f2);
    background-image: -moz-linear-gradient(left, #23a8f2, rgba(35, 168, 242, 0.2) 10%, rgba(35, 168, 242, 0.2) 90%, #23a8f2);
    background-image: -ms-linear-gradient(left, #23a8f2, rgba(35, 168, 242, 0.2) 10%, rgba(35, 168, 242, 0.2) 90%, #23a8f2);
    background-image: -o-linear-gradient(left, #23a8f2, rgba(35, 168, 242, 0.2) 10%, rgba(35, 168, 242, 0.2) 90%, #23a8f2);
}

body {
    color: #efefef;
    padding: 0;
    margin: 0;
    padding-top: 3rem;
    font-family: 'Calibri';
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.nf-gradient {
    min-height: 3rem;
    border: 0;
    border-radius: 0;
    background-size: 200% 100% !important;
    background-attachment: fixed;
    position: relative;
}

    .nf-gradient.x2 {
        border: 0;
        border-radius: 0;
    }

        .nf-gradient.x2.anim-1 {
            animation: optical-repeat-x2 2s linear infinite;
        }

    .nf-gradient.anim-1 {
        animation: optical-repeat 2s linear infinite;
    }

    .nf-gradient.mod-8 {
        color: var(--bs-body-color);
        background: repeating-linear-gradient(45deg, transparent, transparent 10px, var(--nf-grayscale-83) 10px, var(--nf-grayscale-83) 20px), linear-gradient(to bottom, var(--nf-grayscale-89), var(--nf-grayscale-89));
    }

        .nf-gradient.mod-8.x2 {
            color: var(--bs-body-color);
            background: repeating-linear-gradient(45deg, transparent, transparent 12px, var(--nf-grayscale-83) 12px, var(--nf-grayscale-83) 24px), linear-gradient(to bottom, var(--nf-grayscale-89), var(--nf-grayscale-89));
        }

    .nf-gradient.gb::before {
        content: "";
        position: absolute;
        pointer-events: none;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background: linear-gradient(to top, var(--bs-body-bg) 0, transparent 20px);
        height: 100%;
    }

    .nf-gradient.gt::before {
        content: "";
        position: absolute;
        pointer-events: none;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background: linear-gradient(to bottom, var(--bs-body-bg) 0, transparent 20px);
        height: 100%;
    }

    .nf-gradient.header {
        border-bottom: 6px var(--nf-grayscale-89) solid;
        padding: 0 0.5rem 0 0.5rem !important;
    }

.nf-logo-container {
    padding: 20px;
    text-align: center;
}

.nf-logo {
    display: inline-block;
    fill: #ff0099;
    stroke: #00769a;
    stroke-width: 0;
    --nf-color: #009ccc;
    --letter-color: #009ccc;
}

.nf-logo-soothing {
    transition: all 0.3s;
    --custom-duration: 0.3s;
    --custom-property: all;
    filter: url('/image/nf.svg#blur');
}

    .nf-logo-soothing:hover {
        transition: all 0.7s;
        --custom-duration: 0.7s;
        --custom-property: all;
        filter: url('/image/nf.svg#drop-shadow');
    }

    .nf-logo-soothing.nf-logo--color-1:hover {
        --nf-color: #ffd700;
        --letter-color: #ffd700;
    }

.nf-logo-x1 {
    width: 24px;
    height: 24px;
}

.nf-logo-x4 {
    width: 512px;
    height: 512px;
}

.nf-text-x4 {
    width: 512px;
    height: 128px;
}

.nf-text {
    --face-transition: all 0.7s ease 2s;
    --face-opacity: 0;
    fill: #6c757d;
    stroke: #000;
    stroke-width: 0;
}
    .nf-text:hover {
        --face-transition: all 2s ease 2s;
        --face-opacity: 1;
    }

    .nf-text.y-16 {
        height: 16px;
        width: 64px;
    }

    .nf-text.y-24 {
        height: 24px;
        width: 96px;
    }

    .nf-text.y-32 {
        height: 32px;
        width: 128px;
    }

    .nf-text.y-48 {
        height: 48px;
        width: 192px;
    }

    .nf-text.y-64 {
        height: 64px;
        width: 256px;
    }

    .nf-text.y-96 {
        height: 96px;
        width: 384px;
    }

    .nf-text.y-128 {
        height: 128px;
        width: 512px;
    }

    .nf-text.y-192 {
        height: 192px;
        width: 768px;
    }

    .nf-text.y-256 {
        height: 256px;
        width: 1024px;
    }

    .nf-text.y-512 {
        height: 512px;
        width: 2048px;
    }

.nf-logo {
    fill: #6c757d;
    stroke: #000;
    stroke-width: 0;
}

    .nf-logo.y-16 {
        height: 16px;
        width: 16px;
    }

    .nf-logo.y-24 {
        height: 24px;
        width: 24px;
    }

    .nf-logo.y-32 {
        height: 32px;
        width: 32px;
    }

    .nf-logo.y-48 {
        height: 48px;
        width: 48px;
    }

    .nf-logo.y-64 {
        height: 64px;
        width: 64px;
    }

    .nf-logo.y-96 {
        height: 96px;
        width: 96px;
    }

    .nf-logo.y-128 {
        height: 128px;
        width: 128px;
    }

    .nf-logo.y-192 {
        height: 192px;
        width: 192px;
    }

    .nf-logo.y-256 {
        height: 256px;
        width: 256px;
    }

    .nf-logo.y-512 {
        height: 512px;
        width: 512px;
    }
