:root {
    --color-primary: #3858F6;
    --color-dark: #20232b;
    --color-secondary: #424a57;
    --color-muted: #a2a6b1;
    --color-light: #e7e8eb;
    --color-danger: #ea1414;
    --color-warning: #ff8338;
    --color-info: #34968e;
    --color-body: #535d6d;
    --btn-primary: #3858F6;
    --btn-dark: #20232b;
    --btn-secondary: #424a57;
    --btn-light: #e7e8eb;
    --btn-danger: #ea1414;
    --btn-danger-light: #ffe8e8;
    --btn-success: #41d589;
    --btn-outline-primary: #eff2ff;
    --btn-outline-danger: #ffe6e6;
    --bg-primary: #3858F6;
    --bg-dark: #20232b;
    --bg-secondary: #424a57;
    --bg-light: #f3f3f4;
    --bg-muted: #e7e8eb;
    --bg-danger: #ea1414;
    --bg-warning: #ffe9d5;
    --bg-body: #f7f7fb;
    --border-primary: #3858F6;
    --border-dark: #20232b;
    --border-secondary: #424a57;
    --border-muted: #c4c6cd;
    --border-light: #e7e8eb;
    --border-danger: #f7094c;
    --border-outline-primary: #e3e8ff;
    --night-color-primary: #3858F6;
    --night-color-primary-curr: #4665ff;
    --night-color-dark: #f4f4f4;
    --night-color-secondary: #bfc2cc;
    --night-color-muted: #aaacb6;
    --night-color-light: #e7e8eb;
    --night-color-danger: #f7094c;
    --night-color-body: #fff;
    --night-btn-primary: #3858F6;
    --night-btn-dark: #181818;
    --night-btn-secondary: #2c2c2c;
    --night-btn-light: #4b4b4b;
    --night-btn-danger: #f7094c;
    --night-btn-danger-light: #ffe8e8;
    --night-btn-success: #41d589;
    --night-btn-outline-primary: #1b213f;
    --night-bg-primary: #3858F6;
    --night-bg-dark: #181818;
    --night-bg-secondary: #2c2c2c;
    --night-bg-danger: #f7094c;
    --night-bg-light: #4b4b4b;
    --night-bg-muted: #393939;
    --night-bg-body: #242424;
    --night-bg-white: #000000;
    --night-bg-warning: #0e0d0d;
    --night-border-primary: #3858F6;
    --night-border-dark: #181818;
    --night-border-secondary: #2c2c2c;
    --night-border-light: #4b4b4b;
    --night-border-muted: #393939;
    --night-border-danger: #f7094c;
    --night-border-outline-primary: #2a3468;
    --radius-xs: 2px;
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --swiper-pagination-bullet-inactive-color: #fff;
    --swiper-pagination-color: #fff;
    --swiper-theme-color: #fff;
}


/* -------------------------------------------------------------------------- */
/*	CSS Reset
/* -------------------------------------------------------------------------- */

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    border: none;
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
    border: none;
    font-size: inherit;
    line-height: inherit;
    text-align: inherit;
    margin: 0;
    padding: 0;
}

/* General ------------------------------------- */

body {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Hiragino Sans GB, Microsoft YaHei UI, Microsoft YaHei, Source Han Sans CN, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
    font-size: .9375rem;
    color: var(--color-body);
    background-color: var(--bg-body);
    padding: 0;
    margin: 0;
}

body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased
}



/* Links ------------------------------------- */

a {
    color: var(--color-dark);
    text-decoration: none;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

a:link,
a:visited {
    text-decoration: none;
}

a:hover {
    color: var(--color-primary)
}

a:focus {
    outline: 0;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

h1>a,
h2>a,
h3>a,
h4>a,
h5>a,
h6>a,
.h1>a,
.h2>a,
.h3>a,
.h4>a,
.h5>a,
.h6>a {
    color: var(--color-dark);
}

h1>a:hover,
h2>a:hover,
h3>a:hover,
h4>a:hover,
h5>a:hover,
h6>a:hover,
.h1>a:hover,
.h2>a:hover,
.h3>a:hover,
.h4>a:hover,
.h5>a:hover,
.h6>a:hover {
    color: var(--color-primary);
}


/* code -------------------------- */

code {
    font-size: 80%;
    color: inherit;
    padding: 4px 10px;
    word-break: break-word;
}

pre {
    padding: 24px;
    margin-bottom: 24px;
    display: block;
    overflow: auto;
    word-wrap: normal;
    overflow-wrap: normal;
}

code,
pre {
    background: var(--bg-light);
}


/* Table -------------------------- */

table {
    max-width: 100%;
    background-color: transparent;
}

th,
td {
    background: transparent;
    padding: 6px 12px;
    border: .0625rem solid var(--border-light);
    text-align: initial;
}

th {
    background: rgba(var(--bg-light), 0.05);
}

table caption {
    padding: 0 0 8px 0;
    width: auto;
}

i {
    font-style: normal;
}

/* Media ------------------------------------- */

iframe {
    border: none;
}

video,
iframe {
    max-width: 100%;
}

img,
embed,
object {
    max-width: 100%;
}

img {
    height: auto;
}

video {
    background-size: cover;
    display: table-cell;
    vertical-align: middle;
}


/* Form ------------------------------------- */

form {
    margin: 0;
    padding: 0;
    outline: none;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

textarea {
    overflow: auto;
    -webkit-appearance: none;
    -moz-appearance: none;
}

[type="url"],
[type="email"],
[type="tel"] {
    direction: ltr;
}

[type="text"],
[type="password"],
[type="email"],
[type="url"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: 0;
}

[type="date"],
[type="month"],
[type="time"],
[type="datetime"],
[type="datetime-local"],
[type="week"],
[type="number"],
[type="search"],
[type="tel"],
[type="color"] {
    -webkit-appearance: none;
    -moz-appearance: none;
}

[type="number"] {
    -moz-appearance: textfield;
}

[type="number"]::-webkit-outer-spin-button,
[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

template {
    display: none;
}

[hidden] {
    display: none;
}


/* Lists ------------------------------------- */

menu,
ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

dt,
dd {
    line-height: 1.5;
}

dt {
    font-weight: 500;
}

dt+dd {
    margin-top: .5rem;
}

dd+dt {
    margin-top: 1.5rem;
}

/*--------------------------------------------------------------
/*	Element Base
--------------------------------------------------------------*/
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bolder;
    margin: 0;
}

/*--------------------------------------------------------------
/*	Font Size style
--------------------------------------------------------------*/

h1,
.h1 {
    font-size: 2rem;
    line-height: 1.4;
}

h2,
.h2 {
    font-size: 1.75rem;
    line-height: 1.4;
}

h3,
.h3 {
    font-size: 1.375rem;
    line-height: 1.5;
}

h4,
.h4 {
    font-size: 1.25rem;
    line-height: 1.5;
}

h5,
.h5 {
    font-size: 1.125rem;
    line-height: 1.5;
}

h6,
.h6 {
    font-size: 1rem;
    line-height: 1.5;
}

@media (min-width: 768px) and (max-width: 991.98px) {

    h1,
    .h1 {
        font-size: 1.75rem;
    }

    h2,
    .h2 {
        font-size: 1.5rem;
    }

    h3,
    .h3 {
        font-size: 1.25rem;
    }

    h4,
    .h4 {
        font-size: 1.125rem;
    }

    h5,
    .h5 {
        font-size: 1rem;
    }
}

@media (max-width: 767.98px) {

    h1,
    .h1 {
        font-size: 1.5rem;
    }

    h2,
    .h2 {
        font-size: 1.25rem;
    }

    h3,
    .h3 {
        font-size: 1.125rem;
    }

    h4,
    .h4 {
        font-size: 1rem;
    }

    h5,
    .h5 {
        font-size: 1rem;
    }

}

/* Inputs ------------------------------------ */

input,
textarea {
    border-color: var(--border-light);
    color: var(--text-dark);
}

code,
input[type="url"],
input[type="email"],
input[type="tel"] {
    /*rtl:ignore*/
    direction: ltr;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: 0;
}

input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type="number"] {
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

textarea {
    line-height: 1.5;
    width: 100%;
}

input::-webkit-input-placeholder {
    line-height: normal;
}

input:-ms-input-placeholder {
    line-height: normal;
}

input::-moz-placeholder {
    line-height: revert;
    /* Reset to the value from the user-agent stylesheet. */
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

button,
button:focus,
button:hover,
.button:focus,
.button:hover {
    -webkit-appearance: none;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-transition: all 0.15s linear;
    transition: all 0.15s linear;
}

button:focus,
button:hover,
.button:focus,
.button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover {
    text-decoration: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    outline: 0;
}

select {
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear;
}

textarea {
    height: auto;
    resize: none;
}


/* Lists ------------------------------------- */

menu,
ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

dt,
dd {
    line-height: 1.5;
}

dt {
    font-weight: 500;
}

dt+dd {
    margin-top: .5rem;
}

dd+dt {
    margin-top: 1.5rem;
}


/* Quotes ------------------------------------ */

blockquote {
    padding: 16px 20px;
    margin: 24px 0;
    background-color: var(--bg-light);
    border-radius: var(--radius-sm);
}

blockquote::before,
blockquote::after {
    content: "";
}

cite {
    color: inherit;
    font-size: 85%;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25;
}

blockquote cite {
    display: block;
    margin: 32px 0 0 0;
}

blockquote p,
blockquote>p:last-child {
    margin-bottom: 32px;
}

blockquote p:last-child {
    margin: 0;
}

blockquote em,
blockquote i,
blockquote cite {
    font-style: normal;
}


/* Media ------------------------------------- */

figure {
    margin: 0;
}

img,
embed,
iframe,
object,
video {
    max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.wp-block-video video {
    height: auto;
}

/*--------------------------------------------------------------
/*	Size style
--------------------------------------------------------------*/

.w-8 {
    width: .5rem;
    height: .5rem
}

.w-12 {
    width: .75rem;
    height: .75rem
}

.w-16 {
    width: 1rem;
    height: 1rem
}

.w-20 {
    width: 1.25rem;
    height: 1.25rem;
    font-size: 0.6em
}

.w-24 {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 0.7em
}

.w-28 {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.8em
}

.w-32 {
    width: 2rem;
    height: 2rem;
    font-size: 0.85em
}

.w-36 {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 0.875em
}

.w-40 {
    width: 2.5rem;
    height: 2.5rem
}

.w-48 {
    width: 3rem;
    height: 3rem
}

.w-56 {
    width: 3.5rem;
    height: 3.5rem
}

.w-64 {
    width: 4rem;
    height: 4rem
}

.w-72 {
    width: 4.5rem;
    height: 4.5rem
}

.w-80 {
    width: 5rem;
    height: 5rem
}

.w-96 {
    width: 6rem;
    height: 6rem
}

.w-128 {
    width: 8rem;
    height: 8rem;
}

.w-168 {
    width: 10.5rem;
    height: 10.5rem;
}

.w-192 {
    width: 12rem
}

.w-xs {
    width: 5.625rem
}

.w-auto {
    width: auto
}

.h-auto {
    height: auto
}

.hv {
    height: 100vh
}

.h-v {
    min-height: 100vh
}

.h-v-30 {
    min-height: 30vh
}

.h-v-33 {
    min-height: 33vh
}

.h-v-50 {
    min-height: 50vh
}

.h-v-66 {
    min-height: 66vh
}

.h-v-75 {
    min-height: 75vh
}

@media (max-width:1199.98px) {
    .w-auto-lg {
        width: auto
    }

    .w-100-lg {
        width: 100%
    }
}

@media (max-width:991.98px) {
    .w-auto-md {
        width: auto
    }

    .w-100-md {
        width: 100%
    }
}

@media (max-width:767.98px) {
    .w-auto-sm {
        width: auto
    }

    .w-100-sm {
        width: 100%
    }
}

@media (max-width:575.98px) {
    .w-auto-xs {
        width: auto
    }

    .w-100-xs {
        width: 100%
    }
}

@media (min-width: 768px) {
    .h-v-25 {
        min-height: 25vh
    }
}

/*--------------------------------------------------------------
/*	 Text Size style
--------------------------------------------------------------*/

.text-xs {
    font-size: .75rem
}

.text-sm {
    font-size: .875rem
}

.text-md {
    font-size: 1.125rem
}

.text-lg {
    font-size: 1.25rem
}

.text-xl {
    font-size: 1.375rem
}

.text-xxl {
    font-size: 1.75rem
}

.text-40 {
    font-size: 2.5rem
}

.text-50 {
    font-size: 3.125rem
}

.text-64 {
    font-size: 4rem
}

@media (max-width: 767.98px) {
    .text-xs {
        font-size: .75rem
    }

    .text-sm {
        font-size: .875rem
    }

    .text-md {
        font-size: 1rem
    }

    .text-lg {
        font-size: 1.125rem
    }

    .text-xl {
        font-size: 1.25rem
    }

    .text-xxl {
        font-size: 1.5rem
    }
}

/*--------------------------------------------------------------
/*	Font Size style
--------------------------------------------------------------*/

.text-height-xs {
    line-height: 1
}

.text-height-sm {
    line-height: 1.2
}

.text-height-md {
    line-height: 1.75
}

.text-height-lg {
    line-height: 1.85
}

.text-height-xl {
    line-height: 2
}

/* Icon style ----------------------------- */

.iconfont {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
}

.text-lg .iconfont {
    top: -.125rem;
}

.text-xs .iconfont,
.iconfont.text-lg,
.iconfont.text-md,
.iconfont.text-sm {
    position: relative;
    top: -.0625rem;
}

/* Tooltip style ----------------------------- */

@media (min-width: 768px) {
    [tooltip] {
        position: relative;
        /* opinion 1 */
        cursor: pointer;
    }

    /* Applies to all tooltips */
    [tooltip]::before,
    [tooltip]::after {
        text-transform: none;
        font-size: 13px;
        line-height: 1;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        pointer-events: none;
        position: absolute;
        display: none;
        opacity: 0;
    }

    [tooltip]::before {
        content: '';
        border: 5px solid transparent;
        /* opinion 4 */
        z-index: 1001;
        /* absurdity 1 */
    }

    [tooltip]::after {
        content: attr(tooltip);
        text-align: center;
        min-width: 3em;
        max-width: 21em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 10px 20px;
        background-color: var(--bg-dark);
        color: #fff;
        border-radius: 3rem;
        -webkit-box-shadow: 0px 2px 15px -5px rgb(10 10 10 / 3%);
        box-shadow: 0px 2px 15px -5px rgb(10 10 10 / 3%);
        z-index: 1000
            /* absurdity 2 */
    }

    /* Make the tooltips respond to hover */
    [tooltip]:hover::before,
    [tooltip]:hover::after {
        display: block;
    }

    /* don't show empty tooltips */
    [tooltip='']::before,
    [tooltip='']::after {
        display: none;
    }

    /* FLOW: UP */
    [tooltip]:not([flow])::before,
    [tooltip][flow^="up"]::before {
        bottom: 100%;
        border-bottom-width: 0;
        border-top-color: #333;
    }

    [tooltip]:not([flow])::after,
    [tooltip][flow^="up"]::after {
        bottom: calc(100% + 5px);
    }

    [tooltip]:not([flow])::before,
    [tooltip]:not([flow])::after,
    [tooltip][flow^="up"]::before,
    [tooltip][flow^="up"]::after {
        left: 50%;
        -webkit-transform: translate(-50%, -.5em);
        transform: translate(-50%, -.5em);
    }

    /* FLOW: DOWN */
    [tooltip][flow^="down"]::before {
        top: 100%;
        border-top-width: 0;
        border-bottom-color: #333;
    }

    [tooltip][flow^="down"]::after {
        top: calc(100% + 5px);
    }

    [tooltip][flow^="down"]::before,
    [tooltip][flow^="down"]::after {
        left: 50%;
        -webkit-transform: translate(-50%, .5em);
        transform: translate(-50%, .5em);
    }

    /* FLOW: LEFT */
    [tooltip][flow^="left"]::before {
        top: 50%;
        border-right-width: 0;
        border-left-color: #333;
        left: calc(0em - 5px);
        -webkit-transform: translate(-.5em, -50%);
        transform: translate(-.5em, -50%);
    }

    [tooltip][flow^="left"]::after {
        top: 50%;
        right: calc(100% + 5px);
        -webkit-transform: translate(-.5em, -50%);
        transform: translate(-.5em, -50%);
    }

    /* FLOW: RIGHT */
    [tooltip][flow^="right"]::before {
        top: 50%;
        border-left-width: 0;
        border-right-color: #333;
        right: calc(0em - 5px);
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }

    [tooltip][flow^="right"]::after {
        top: 50%;
        left: calc(100% + 5px);
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }

    /* KEYFRAMES */
    @-webkit-keyframes tooltips-vert {
        to {
            opacity: .9;
            -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
        }
    }

    @keyframes tooltips-vert {
        to {
            opacity: .9;
            -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
        }
    }

    @-webkit-keyframes tooltips-horz {
        to {
            opacity: .9;
            -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
        }
    }

    @keyframes tooltips-horz {
        to {
            opacity: .9;
            -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
        }
    }

    /* FX All The Things */
    [tooltip]:not([flow]):hover::before,
    [tooltip]:not([flow]):hover::after,
    [tooltip][flow^="up"]:hover::before,
    [tooltip][flow^="up"]:hover::after,
    [tooltip][flow^="down"]:hover::before,
    [tooltip][flow^="down"]:hover::after {
        -webkit-animation: tooltips-vert 300ms ease-out forwards;
        animation: tooltips-vert 300ms ease-out forwards;
    }

    [tooltip][flow^="left"]:hover::before,
    [tooltip][flow^="left"]:hover::after,
    [tooltip][flow^="right"]:hover::before,
    [tooltip][flow^="right"]:hover::after {
        -webkit-animation: tooltips-horz 300ms ease-out forwards;
        animation: tooltips-horz 300ms ease-out forwards;
    }
}

/*--------------------------------------------------------------
/*	Dark mode style
--------------------------------------------------------------*/

.nice-dark-mode code,
.nice-dark-mode pre {
    background: var(--night-bg-light);
}


/* Quotes ------------------------------------ */

.nice-dark-mode blockquote {
    background-color: var(--night-bg-light);
}
