﻿:root {
    --cf-theme-core: var(--cf-code-magic-core);
    --cf-theme-100: var(--cf-code-magic-100);
    --cf-theme-150: var(--cf-code-magic-150);
    --cf-theme-200: var(--cf-code-magic-200);
    --cf-theme-300: var(--cf-code-magic-300);
    --cf-theme-400: var(--cf-code-magic-400);
    --cf-theme-500: var(--cf-code-magic-500);
    --cf-theme-600: var(--cf-code-magic-600);
    --cf-theme-700: var(--cf-code-magic-700);
    --cf-theme-800: var(--cf-code-magic-800);
    --cf-theme-850: var(--cf-code-magic-850);
    --cf-theme-900: var(--cf-code-magic-900);

    /* #region code-magic */
    --cf-code-magic-core: #f2c864; /* yellow accent */
    --cf-code-magic-100: hsl(192, 77%, 79%); /* turqoise */
    --cf-code-magic-150: hsl(192, 77%, 74%);
    --cf-code-magic-200: #87bbd7;
    --cf-code-magic-300: hsl(192, 77%, 69%);
    --cf-code-magic-400: #f2c864;
    --cf-code-magic-500: hsl(192, 77%, 49%);
    --cf-code-magic-600: hsl(192, 77%, 39%);
    --cf-code-magic-700: hsl(192, 77%, 29%);
    --cf-code-magic-800: hsl(192, 77%, 19%);
    --cf-code-magic-850: hsl(192, 77%, 15%);
    --cf-code-magic-900: hsl(192, 77%, 9%);
    /* #endregion code-magic */

    /* #region blue */
    --cf-blue-core: hsl(216, 98%, 52%);
    --cf-blue-100: hsl(216, 50%, 91%);
    --cf-blue-150: hsl(216, 50%, 86%);
    --cf-blue-200: hsl(216, 50%, 81%);
    --cf-blue-300: hsl(216, 50%, 71%);
    --cf-blue-400: hsl(216, 50%, 61%);
    --cf-blue-500: hsl(216, 50%, 51%);
    --cf-blue-600: hsl(216, 50%, 41%);
    --cf-blue-700: hsl(216, 50%, 31%);
    --cf-blue-800: hsl(216, 50%, 21%);
    --cf-blue-850: hsl(216, 50%, 16%);
    --cf-blue-900: hsl(216, 50%, 11%);
    /* #endregion blue */
    /* #region indigo */
    --cf-indigo-core: #6610f2;
    --cf-indigo-100: hsl(263, 88%, 90%);
    --cf-indigo-150: hsl(263, 88%, 85%);
    --cf-indigo-200: hsl(263, 88%, 80%);
    --cf-indigo-300: hsl(263, 88%, 70%);
    --cf-indigo-400: hsl(263, 88%, 60%);
    --cf-indigo-500: hsl(263, 88%, 50%);
    --cf-indigo-600: hsl(263, 88%, 40%);
    --cf-indigo-700: hsl(263, 88%, 30%);
    --cf-indigo-800: hsl(263, 88%, 20%);
    --cf-indigo-850: hsl(263, 88%, 15%);
    --cf-indigo-900: hsl(263, 88%, 10%);
    /* #endregion indigo */
    /* #region purple */
    --cf-purple-core: #6f42c1;
    --cf-purple-100: hsl(261, 52%, 90%);
    --cf-purple-150: hsl(261, 52%, 85%);
    --cf-purple-200: hsl(261, 52%, 80%);
    --cf-purple-300: hsl(261, 52%, 70%);
    --cf-purple-400: hsl(261, 52%, 60%);
    --cf-purple-500: hsl(261, 52%, 50%);
    --cf-purple-600: hsl(261, 52%, 40%);
    --cf-purple-700: hsl(261, 52%, 30%);
    --cf-purple-800: hsl(261, 52%, 20%);
    --cf-purple-850: hsl(261, 52%, 15%);
    --cf-purple-900: hsl(261, 52%, 10%);
    /* #endregion purple */
    /* #region pink */
    --cf-pink-core: #d63384;
    --cf-pink-100: hsl(331, 47%, 90%);
    --cf-pink-150: hsl(331, 47%, 85%);
    --cf-pink-200: hsl(331, 47%, 80%);
    --cf-pink-300: hsl(331, 47%, 70%);
    --cf-pink-400: hsl(331, 47%, 60%);
    --cf-pink-500: hsl(331, 47%, 50%);
    --cf-pink-600: hsl(331, 47%, 40%);
    --cf-pink-700: hsl(331, 47%, 30%);
    --cf-pink-800: hsl(331, 47%, 20%);
    --cf-pink-850: hsl(331, 47%, 15%);
    --cf-pink-900: hsl(331, 47%, 10%);
    /* #endregion pink */
    /* #region red */
    --cf-red-core: #dc3545;
    --cf-red-100: hsl(355, 70%, 91%);
    --cf-red-150: hsl(355, 70%, 86%);
    --cf-red-200: hsl(355, 70%, 81%);
    --cf-red-300: hsl(355, 70%, 71%);
    --cf-red-400: hsl(355, 70%, 61%);
    --cf-red-500: hsl(355, 70%, 51%);
    --cf-red-600: hsl(355, 70%, 41%);
    --cf-red-700: hsl(355, 70%, 31%);
    --cf-red-800: hsl(355, 70%, 21%);
    --cf-red-850: hsl(355, 70%, 16%);
    --cf-red-900: hsl(355, 70%, 11%);
    /* #endregion red */
    /* #region orange */
    --cf-orange-core: #fd7e14;
    --cf-orange-100: hsl(19, 50%, 91%);
    --cf-orange-150: hsl(19, 50%, 86%);
    --cf-orange-200: hsl(19, 50%, 81%);
    --cf-orange-300: hsl(19, 50%, 71%);
    --cf-orange-400: hsl(19, 50%, 61%);
    --cf-orange-500: hsl(19, 50%, 51%);
    --cf-orange-600: hsl(19, 50%, 41%);
    --cf-orange-700: hsl(19, 50%, 31%);
    --cf-orange-800: hsl(19, 50%, 21%);
    --cf-orange-850: hsl(19, 50%, 16%);
    --cf-orange-900: hsl(19, 50%, 11%);
    /* #endregion orange */
    /* #region yellow */
    --cf-yellow-core: #ffc107;
    --cf-yellow-100: hsl(46, 70%, 90%);
    --cf-yellow-150: hsl(46, 70%, 85%);
    --cf-yellow-200: hsl(46, 70%, 80%);
    --cf-yellow-300: hsl(46, 70%, 70%);
    --cf-yellow-400: hsl(46, 70%, 60%);
    --cf-yellow-500: hsl(46, 70%, 50%);
    --cf-yellow-600: hsl(46, 70%, 40%);
    --cf-yellow-700: hsl(46, 70%, 30%);
    --cf-yellow-800: hsl(46, 70%, 20%);
    --cf-yellow-850: hsl(46, 70%, 15%);
    --cf-yellow-900: hsl(46, 70%, 10%);
    /* #endregion yellow */
    /* #region green */
    --cf-green-core: #198754;
    --cf-green-100: hsl(152, 38%, 95%);
    --cf-green-150: hsl(152, 38%, 90%);
    --cf-green-200: hsl(152, 38%, 85%);
    --cf-green-300: hsl(152, 38%, 75%);
    --cf-green-400: hsl(152, 38%, 65%);
    --cf-green-500: hsl(152, 38%, 55%);
    --cf-green-600: hsl(152, 38%, 45%);
    --cf-green-700: hsl(152, 38%, 35%);
    --cf-green-800: hsl(152, 38%, 25%);
    --cf-green-850: hsl(152, 38%, 20%);
    --cf-green-900: hsl(152, 38%, 15%);
    /* #endregion green */
    /* #region teal */
    --cf-teal-core: #20c997;
    --cf-teal-100: hsl(162, 60%, 89%);
    --cf-teal-150: hsl(162, 60%, 84%);
    --cf-teal-200: hsl(162, 60%, 79%);
    --cf-teal-300: hsl(162, 60%, 69%);
    --cf-teal-400: hsl(162, 60%, 59%);
    --cf-teal-500: hsl(162, 60%, 49%);
    --cf-teal-600: hsl(162, 60%, 39%);
    --cf-teal-700: hsl(162, 60%, 29%);
    --cf-teal-800: hsl(162, 60%, 19%);
    --cf-teal-850: hsl(162, 60%, 14%);
    --cf-teal-900: hsl(162, 60%, 9%);
    /* #endregion teal */
    /* #region cyan */
    --cf-cyan-core: #0dcaf0;
    --cf-cyan-100: hsl(191, 60%, 90%);
    --cf-cyan-150: hsl(191, 60%, 85%);
    --cf-cyan-200: hsl(191, 60%, 80%);
    --cf-cyan-300: hsl(191, 60%, 70%);
    --cf-cyan-400: hsl(191, 60%, 60%);
    --cf-cyan-500: hsl(191, 60%, 50%);
    --cf-cyan-600: hsl(191, 60%, 40%);
    --cf-cyan-700: hsl(191, 60%, 30%);
    --cf-cyan-800: hsl(191, 60%, 20%);
    --cf-cyan-850: hsl(191, 60%, 15%);
    --cf-cyan-900: hsl(191, 60%, 10%);
    /* #endregion cyan */
    /* #region gray */
    --cf-gray-core: #adb5bd;
    --cf-gray-100: hsl(210, 17%, 98%);
    --cf-gray-150: hsl(210, 17%, 93%);
    --cf-gray-200: hsl(210, 17%, 88%);
    --cf-gray-300: hsl(210, 17%, 78%);
    --cf-gray-400: hsl(210, 17%, 68%);
    --cf-gray-500: hsl(210, 17%, 58%);
    --cf-gray-600: hsl(210, 17%, 48%);
    --cf-gray-700: hsl(210, 17%, 38%);
    --cf-gray-800: hsl(210, 17%, 28%);
    --cf-gray-850: hsl(210, 17%, 23%);
    --cf-gray-900: hsl(210, 17%, 18%);
    /* #endregion gray */
}

/* #region color selectors */
[data-cf-theme="code-magic"] {
    --cf-theme-core: var(--cf-code-magic-core);
    --cf-theme-100: var(--cf-code-magic-100);
    --cf-theme-150: var(--cf-code-magic-150);
    --cf-theme-200: var(--cf-code-magic-200);
    --cf-theme-300: var(--cf-code-magic-300);
    --cf-theme-400: var(--cf-code-magic-400);
    --cf-theme-500: var(--cf-code-magic-500);
    --cf-theme-600: var(--cf-code-magic-600);
    --cf-theme-700: var(--cf-code-magic-700);
    --cf-theme-800: var(--cf-code-magic-800);
    --cf-theme-850: var(--cf-code-magic-850);
    --cf-theme-900: var(--cf-code-magic-900);
}

[data-cf-theme="blue"] {
    --cf-theme-core: var(--cf-blue-core);
    --cf-theme-100: var(--cf-blue-100);
    --cf-theme-150: var(--cf-blue-150);
    --cf-theme-200: var(--cf-blue-200);
    --cf-theme-300: var(--cf-blue-300);
    --cf-theme-400: var(--cf-blue-400);
    --cf-theme-500: var(--cf-blue-500);
    --cf-theme-600: var(--cf-blue-600);
    --cf-theme-700: var(--cf-blue-700);
    --cf-theme-800: var(--cf-blue-800);
    --cf-theme-850: var(--cf-blue-850);
    --cf-theme-900: var(--cf-blue-900);
}

[data-cf-theme="indigo"] {
    --cf-theme-core: var(--cf-indigo-core);
    --cf-theme-100: var(--cf-indigo-100);
    --cf-theme-150: var(--cf-indigo-150);
    --cf-theme-200: var(--cf-indigo-200);
    --cf-theme-300: var(--cf-indigo-300);
    --cf-theme-400: var(--cf-indigo-400);
    --cf-theme-500: var(--cf-indigo-500);
    --cf-theme-600: var(--cf-indigo-600);
    --cf-theme-700: var(--cf-indigo-700);
    --cf-theme-800: var(--cf-indigo-800);
    --cf-theme-850: var(--cf-indigo-850);
    --cf-theme-900: var(--cf-indigo-900);
}

[data-cf-theme="purple"] {
    --cf-theme-core: var(--cf-purple-core);
    --cf-theme-100: var(--cf-purple-100);
    --cf-theme-150: var(--cf-purple-150);
    --cf-theme-200: var(--cf-purple-200);
    --cf-theme-300: var(--cf-purple-300);
    --cf-theme-400: var(--cf-purple-400);
    --cf-theme-500: var(--cf-purple-500);
    --cf-theme-600: var(--cf-purple-600);
    --cf-theme-700: var(--cf-purple-700);
    --cf-theme-800: var(--cf-purple-800);
    --cf-theme-850: var(--cf-purple-850);
    --cf-theme-900: var(--cf-purple-900);
}

[data-cf-theme="pink"] {
    --cf-theme-core: var(--cf-pink-core);
    --cf-theme-100: var(--cf-pink-100);
    --cf-theme-150: var(--cf-pink-150);
    --cf-theme-200: var(--cf-pink-200);
    --cf-theme-300: var(--cf-pink-300);
    --cf-theme-400: var(--cf-pink-400);
    --cf-theme-500: var(--cf-pink-500);
    --cf-theme-600: var(--cf-pink-600);
    --cf-theme-700: var(--cf-pink-700);
    --cf-theme-800: var(--cf-pink-800);
    --cf-theme-850: var(--cf-pink-850);
    --cf-theme-900: var(--cf-pink-900);
}

[data-cf-theme="red"] {
    --cf-theme-core: var(--cf-red-core);
    --cf-theme-100: var(--cf-red-100);
    --cf-theme-150: var(--cf-red-150);
    --cf-theme-200: var(--cf-red-200);
    --cf-theme-300: var(--cf-red-300);
    --cf-theme-400: var(--cf-red-400);
    --cf-theme-500: var(--cf-red-500);
    --cf-theme-600: var(--cf-red-600);
    --cf-theme-700: var(--cf-red-700);
    --cf-theme-800: var(--cf-red-800);
    --cf-theme-850: var(--cf-red-850);
    --cf-theme-900: var(--cf-red-900);
}

[data-cf-theme="orange"] {
    --cf-theme-core: var(--cf-orange-core);
    --cf-theme-100: var(--cf-orange-100);
    --cf-theme-150: var(--cf-orange-150);
    --cf-theme-200: var(--cf-orange-200);
    --cf-theme-300: var(--cf-orange-300);
    --cf-theme-400: var(--cf-orange-400);
    --cf-theme-500: var(--cf-orange-500);
    --cf-theme-600: var(--cf-orange-600);
    --cf-theme-700: var(--cf-orange-700);
    --cf-theme-800: var(--cf-orange-800);
    --cf-theme-850: var(--cf-orange-850);
    --cf-theme-900: var(--cf-orange-900);
}

[data-cf-theme="yellow"] {
    --cf-theme-core: var(--cf-yellow-core);
    --cf-theme-100: var(--cf-yellow-100);
    --cf-theme-150: var(--cf-yellow-150);
    --cf-theme-200: var(--cf-yellow-200);
    --cf-theme-300: var(--cf-yellow-300);
    --cf-theme-400: var(--cf-yellow-400);
    --cf-theme-500: var(--cf-yellow-500);
    --cf-theme-600: var(--cf-yellow-600);
    --cf-theme-700: var(--cf-yellow-700);
    --cf-theme-800: var(--cf-yellow-800);
    --cf-theme-850: var(--cf-yellow-850);
    --cf-theme-900: var(--cf-yellow-900);
}

[data-cf-theme="green"] {
    --cf-theme-core: #198754;
    --cf-theme-100: hsl(152, 38%, 95%);
    --cf-theme-150: hsl(152, 38%, 90%);
    --cf-theme-200: hsl(152, 38%, 85%);
    --cf-theme-300: hsl(152, 38%, 75%);
    --cf-theme-400: hsl(152, 38%, 65%);
    --cf-theme-500: hsl(152, 38%, 55%);
    --cf-theme-600: hsl(152, 38%, 45%);
    --cf-theme-700: hsl(152, 38%, 35%);
    --cf-theme-800: hsl(152, 38%, 25%);
    --cf-theme-850: hsl(152, 38%, 20%);
    --cf-theme-900: hsl(152, 38%, 15%);
}

[data-cf-theme="teal"] {
    --cf-theme-core: var(--cf-teal-core);
    --cf-theme-100: var(--cf-teal-100);
    --cf-theme-150: var(--cf-teal-150);
    --cf-theme-200: var(--cf-teal-200);
    --cf-theme-300: var(--cf-teal-300);
    --cf-theme-400: var(--cf-teal-400);
    --cf-theme-500: var(--cf-teal-500);
    --cf-theme-600: var(--cf-teal-600);
    --cf-theme-700: var(--cf-teal-700);
    --cf-theme-800: var(--cf-teal-800);
    --cf-theme-850: var(--cf-teal-850);
    --cf-theme-900: var(--cf-teal-900);
}

[data-cf-theme="cyan"] {
    --cf-theme-core: var(--cf-cyan-core);
    --cf-theme-100: var(--cf-cyan-100);
    --cf-theme-150: var(--cf-cyan-150);
    --cf-theme-200: var(--cf-cyan-200);
    --cf-theme-300: var(--cf-cyan-300);
    --cf-theme-400: var(--cf-cyan-400);
    --cf-theme-500: var(--cf-cyan-500);
    --cf-theme-600: var(--cf-cyan-600);
    --cf-theme-700: var(--cf-cyan-700);
    --cf-theme-800: var(--cf-cyan-800);
    --cf-theme-850: var(--cf-cyan-850);
    --cf-theme-900: var(--cf-cyan-900);
}

[data-cf-theme="gray"] {
    --cf-theme-core: var(--cf-gray-core);
    --cf-theme-100: var(--cf-gray-100);
    --cf-theme-150: var(--cf-gray-150);
    --cf-theme-200: var(--cf-gray-200);
    --cf-theme-300: var(--cf-gray-300);
    --cf-theme-400: var(--cf-gray-400);
    --cf-theme-500: var(--cf-gray-500);
    --cf-theme-600: var(--cf-gray-600);
    --cf-theme-700: var(--cf-gray-700);
    --cf-theme-800: var(--cf-gray-800);
    --cf-theme-850: var(--cf-gray-850);
    --cf-theme-900: var(--cf-gray-900);
}
/* #endregion color selectors */


a {
    color: var(--cf-theme-500);
}

    a:hover {
        color: var(--cf-theme-300);
    }

.btn-primary {
    --bs-btn-bg: var(--cf-theme-600);
    --bs-btn-border-color: var(--cf-theme-600);
    --bs-btn-hover-bg: var(--cf-theme-700);
    --bs-btn-hover-border-color: var(--cf-theme-700);
    --bs-btn-active-bg: var(--cf-theme-800);
    --bs-btn-active-border-color: var(--cf-theme-800);
}

.btn-dark {
    --bs-btn-bg: var(--cf-theme-850);
    --bs-btn-border-color: var(--cf-theme-850);
    --bs-btn-hover-bg: var(--cf-theme-800);
    --bs-btn-hover-border-color: var(--cf-theme-800);
    --bs-btn-active-bg: var(--cf-theme-700);
    --bs-btn-active-border-color: var(--cf-theme-700);
}

.btn-light {
    --bs-btn-bg: var(--cf-theme-100);
    --bs-btn-border-color: var(--cf-theme-100);
    --bs-btn-hover-bg: var(--cf-theme-150);
    --bs-btn-hover-border-color: var(--cf-theme-150);
    --bs-btn-active-bg: var(--cf-theme-200);
    --bs-btn-active-border-color: var(--cf-theme-200);
}
