:root {
    --primary-color: #fff;
    --secondary-color: #bff009;
    --color-variant_1: #86b8f9;
    --color-variant_2: #dee9f8;
    --grey-color: grey;
    --grey-color-2: #c4c2c2;
    --primary-color-reverse: #fff;
    --color-success: #0ac989;
    --color-danger: #f24242;
    --fill-primary: white;
    /* --fill-primary: linear-gradient(to right, #red, #red); */

    --bg-1: #080808;
    --bg-2: #202020;
    --bg-3: #121212;
    --bg-4: #161616;
    --bg-v-1: #363929;

    --text-xs: 12px;
    --text-sm: 14px;
    --text-md: 16px;
    --text-lg: 20px;
    --text-xl: 24px;

    --radius: 4px;
    --radius-2: 6px;
    --radius-3: 12px;
    --radius-4: 20px;
    --radius-5: 30px;
}
/* --------------------------------------------- */


body, html {
    height: 100%;
    margin: 0px !important;
    padding: 0px !important;
    scroll-behavior: smooth;
    background-color: var(--bg-1);
}

/* Background colors */
.bg-1 { background: var(--bg-1) !important; }
.bg-2 { background: var(--bg-2) !important; }
.bg-3 { background: var(--bg-3) !important; }
.bg-4 { background: var(--bg-4) !important; }
.bg-v-1 { background: var(--bg-v-1) !important; }

.modal-body { background: #181818; }

/* --------------------------- */
/*  Text colors && fonts */
/* --------------------------- */
.primary-color { color: var(--primary-color) !important; }
.primary-color-reverse { color: var(--primary-color-reverse) !important; }
.secondary-color { color: var(--secondary-color) !important; }
.color-v_1 { color: var(--color-variant_1) !important; }
.color-v_2 { color: var(--color-variant_2) !important; }

.grey-color { color: var(--grey-color) !important }
.grey-color-2 { color: var(--grey-color-2) !important }
.color-success { color: var(--color-success) !important; }
.color-danger { color: var(--color-danger) !important; }

.color-white-only {
    color: white !important;
}
.color-black-only {
    color: black !important;
}

p, h1, h2, h3, h4, h5, span, label, small {
    color: var(--primary-color);
}
p {
    font-size: var(--text-sm);
}
.icon-symbol {
    fill: #fff;
    width: 16px;
    height: 16px;
}

.fill-primary { fill: var(--fill-primary) }
.fill-grey { fill: var(--grey-color-2) }
.fill-secondary { fill: var(--secondary-color) }

.stroke-grey {
    stroke: var(--grey-color-2);
}
.icon-stroke {
    stroke: var(--primary-color);
}

a {
    text-decoration: none !important;
    color: var(--primary-color) !important;
    font-size: var(--text-sm);
}
.link-hover:hover {
    background: var(--bg-2);
}

.text-xs { font-size: var(--text-xs) }
.text-sm { font-size: var(--text-sm) }
.text-md { font-size: var(--text-md) }
.text-lg { font-size: var(--text-lg) }
.text-xl { font-size: var(--text-xl) }

@media (max-width: 576px) {
    .text-xs-mobile { font-size: 10px; }
}

.open-sans {
    font-family: 'open sans';
}
.open-sans-2 {
    font-family: 'open sans';
    font-weight: 500;
}
.open-sans-3 {
    font-family: 'open sans';
    font-weight: 700;
}
.anuphan {
    font-family: 'anuphan';
    font-weight: 400;
}
.anuphan-2 {
    font-family: 'anuphan';
    font-weight: 500;
}
.anuphan-3 {
    font-family: 'anuphan';
    font-weight: 600;
}
.gabarito {
    font-family: 'gabarito';
    font-weight: 200;
}
.gabarito-2 {
    font-family: 'gabarito';
    font-weight: 500;
}
.gabarito-3 {
    font-family: 'gabarito';
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase !important;
}
.capitalize {
    text-transform: capitalize !important;
}
.index-hero-text {
    font-size: 55px;
}
@media (max-width: 576px) {
    .index-hero-text {
        font-size: 40px;
    }
}
/* End */


/* ------------------------ */
/* forms inputs .. */
/* ------------------------ */
.form-wrapper {
    position: relative;
    margin: 25px 0px;
}

.form-wrapper input {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #232323;
    border-radius: 6px;
    color: #fff !important;
    background: transparent;
    caret-color: #fff;
}
.form-wrapper select {
    width: 100%;
    height: 50px;
    border: 1px solid #232323;
    border-radius: 6px;
    padding: 0px 15px;
    color: #fff !important;
    background: transparent;
}
input:focus,
select:focus {
    box-shadow: none !important;
    outline: none !important;
}
.form-wrapper .has-icon {
    padding-right: 20% !important;
    position: relative;
}
.form-wrapper .input-icon-wrapper {
    position: absolute;
    right: 0px;
    top: 0px;
    display: flex;
    height: 100%;
    width: auto;
    padding: 0px 8px;
    padding-top: 2px;
    justify-content: center;
    align-items: center;
    border-radius: 0px 4px 4px 0px;
    cursor: pointer;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  -webkit-box-shadow: none;
  transition: background-color 5000s ease-in-out 0s;
}
.form-wrapper .dark-input {
    background: #282828 !important;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.input-border-2 {
    border-color: #404040 !important;
}
.dark-input { background: var(--bg-2) !important; }
/* End */


/* Box Sizing / layout */
.min-h-100 {
    min-height: 100% !important;
}
.min-w-100 {
    min-width: 100% !important;
}
.vh-100 {
    height: 100vh;
}
.vw-100 {
    width: 100vw;
}
.w-fit-content {
    width: fit-content;
}
.h-fit-content {
    height: fit-content;
}

.position-relative {
    position: relative !important;
}
.position-absolute {
    position: absolute !important;
}
.radius {
    border-radius: var(--radius);
}
.radius-2 {
    border-radius: var(--radius-2) !important;
}
.radius-3 {
    border-radius: var(--radius-3) !important;
}
.radius-4 {
    border-radius: var(--radius-4) !important;
}
.n-top-1{ position: relative; top: -1px !important; }
.n-top-2{ position: relative; top: -2px !important; }
.n-top-3{ position: relative; top: -3px !important; }

/* cards */
._card {
    background: #181818;
    border-radius: 4px;
    padding: 30px;
}
.border { border-color: #252525 !important; }
.input-border { border-color: #282828 !important; }
.border-top { border-color: #252525 !important; }
.border-right { border-color: #252525 !important; }
.border-left { border-color: #252525 !important; }
.border-bottom {border-color: #252525 !important;}
.border-bottom-2 {border-bottom: 1px solid #303030 !important;}
.border-top-bottom-dashed { 
    border-top-style: dashed !important; 
    border-bottom-style: dashed !important; 
}
.border-none{
    border: none !important;
}

/* End */

/* Buttons */
button {
    background: var(--secondary-color);
    border: none;
    border-radius: 4px;
    text-align: center;
    color: #000;
    width: 100%;
    font-family: 'anuphan';
    font-size: 14px;
    height: 40px;
}

.btn-md {
    height: 45px !important;
}
.btn-lg {
    height: 55px !important;
}

button:focus {
    outline: 0px;
    box-shadow: 0px;
    -webkit-box-shadow: none;
    border: none !important;
}

.btn-grey {
    background: #303030 !important;
    color: #fff;
}

.btn-sec {
    background: white;
    color: black;
}

.btn-sec i {
    columns: white !important;
}

.btn-rounded {
    border-radius: 30px !important;
}

.btn-open {
    background: none;
    color: var(--secondary-color);
    border: 1px solid var(--secondary-color);
}

.btn-open:hover {
    background: var(--secondary-color);
    color: black;
}

.pill-toggle-wrp {
    border: 2px solid #202020;
    border-radius: var(--radius-5);
    display: flex;
    padding: 2px;
}
.pill-toggle {
    background: transparent;
    border-radius: var(--radius-5);
    color: var(--grey-color-2);
}
.pill-toggle.active {
    color: var(--secondary-color);
    background: #333b18;
}

/* End buttons */

.radius { border-radius: var(--radius) }
.radius-2 { border-radius: var(--radius-2) !important }
.radius-3 { border-radius: var(--radius-3) !important }
.radius-4 { border-radius: var(--radius-4) !important }
.radius-5 { border-radius: var(--radius-5) !important }

/* Marquee */
.marquee {
    overflow: hidden;
    width: 100%;
    padding: 10px 0;
}

.lines {
    display: flex;
    flex-direction: row;
    width: 200%;
    /* Important to accommodate both line instances */
}

.line {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: center;
    white-space: nowrap;
}

.line.forward {
    animation: marquee 30s linear infinite;
}

.line.reverse {
    animation: marquee-reverse 40s linear infinite;
}

.line div {
    padding: 8px;
    margin-left: 18px;
    background-color: #4A90E2;
    color: white;
    border-radius: 5px;
    font-size: 16px;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}
.slide-nm-text {
    font-size: 50px;
}
/* End */

.pointer {
    cursor: pointer;
}
.toggle-icon {
    transition:  all .4s;
}
.shift-collapse-icon {
    transform: rotate(45deg);
}

.blur-bg {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.loader {
    width: 48px;
    height: 48px;
    border: 5px solid #FFF;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.menu-bar {
    background: white;
}

@media (max-width: 576px) {
    .px-mobile-0 {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
}

/* slow rotate */
.slow-rotate {
    -webkit-animation: df-spin 30s infinite linear;
    animation: df-spin 30s infinite linear
}

@-webkit-keyframes df-spin {
    0% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }

    100% {
        -webkit-transform: rotateY(359deg);
        transform: rotateY(359deg);
    }
}

@keyframes df-spin {
    0% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }

    100% {
        -webkit-transform: rotateY(359deg);
        transform: rotateY(359deg);
    }
}
  