@font-face {
    font-family: ThicccBoi;
    src: url(../assets/fonts/ThicccBoi/regular.ttf);
}

@font-face {
    font-family: ThicccBoiMedium;
    src: url(../assets/fonts/ThicccBoi/medium.ttf);
}

@font-face {
    font-family: ThicccBoiExtraBold;
    src: url(../assets/fonts/ThicccBoi/extra-bold.ttf);
}

@font-face {
    font-family: NotoSans;
    src: url(../assets/fonts/NotoSans/regular.ttf);
}

:root {
    --color-01: #1557FF;
    --color-02: #103daf;
    --color-03: #FFFFFF;
    --color-04: #d2d5dc;
    --color-04: #FFFFFF;
    --color-05: #d8dae5;
    --color-06: #a5a9ac;
    --color-07: #171e31;
    --color-08: #111216;
    --color-09: #11aa00;
    --color-10: #f87676;

    --font-size-s: 14px;
    --font-size-m: 18px;
    --font-size-l: 20px;
    --font-size-xl: 28px;

    --skew-positive-degree-m: 15deg;
    --skew-negative-degree-m: -15deg;

    --space-xxxs: 2px;
    --space-xxs: 4px;
    --space-xs: 8px;
    --space-s: 12px;
    --space-m: 20px;
    --space-l: 24px;
    --space-xl: 28px;
    --space-xxl: 36px;
    --space-xxxl: 96px;

    --transition-01: 0.2s;
    --transition-02: 0.4s;
}

::selection {
    color: #FFFFFF;
    background: var(--color-01);
    text-shadow: none;
}

::-webkit-selection {
    color: #FFFFFF;
    background: var(--color-01);
    text-shadow: none;
}

::-moz-selection {
    color: #FFFFFF;
    background: var(--color-01);
    text-shadow: none;
}

::placeholder {
    color: var(--color-06);
    opacity: 1;
}

:-ms-input-placeholder {
    color: var(--color-06);
}
  
::-ms-input-placeholder {
    color: var(--color-06);
}

* {
    font-family: ThicccBoi, NotoSans, Helvetica, Arial, sans-serif;

    letter-spacing: 1.2px;

    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

html {
    background-color: #0e0e12;

    overflow-x: hidden;
    
    scroll-behavior: smooth;
}

body {
    margin: 0;

    overflow-x: hidden;
}

body::-webkit-scrollbar {
    width: 10px;

    background-color: transparent;

    display: none;
}

body::-webkit-scrollbar-track {
    background-color: transparent;
}

body::-webkit-scrollbar-thumb {
    border: 5px solid #babac0;
    border-radius: 10px;
    
    color: #babac0;
}

body::-webkit-scrollbar-button {
    display: none;
}

main {
    width: 100%;

    background-color: #FFFFFF;
}

h1 {
    color: var(--color-07);

    line-height: 1.2;

    margin: 0;
}

h2 {
    color: var(--color-07);

    font-weight: 600;

    line-height: 1.4;

    margin: 0;
}

h3, h4, h5, h6 {
    color: var(--color-07);

    font-size: var(--font-size-m);
    font-weight: 400;

    line-height: 1.6;

    margin: 0;
}

p {
    color: var(--color-07);

    font-size: var(--font-size-m);
    font-weight: 400;

    line-height: 1.6;

    margin: 0;
}

span {
    color: var(--color-07);

    font-size: var(--font-size-m);
    font-weight: 400;

    line-height: 1.6;
}

a {
    color: var(--color-07);

    font-size: var(--font-size-m);
    font-weight: 400;
    
    line-height: 1.6;

    text-decoration: none;
}

a:focus {
	outline: none !important;
}

a:hover {
	text-decoration: none;
}

b {
    font-weight: 800;
}

select {
    color: var(--color-06);
    
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE4IDI5TDM2IDExLjE4NjJMMzEuNzcgN0wxOCAyMC41OTc4TDQuMjMgN0wwIDExLjE4NjJMMTggMjlaIiBmaWxsPSIjRDhEQUU1Ii8+Cjwvc3ZnPgo=");
    background-repeat: no-repeat;
    background-position: right calc(var(--space-s) + 12px) center;
    background-size: 12px 12px;
    
    cursor: pointer;
    
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

input {
    font-size: 16px;
}

input[type="checkbox"] {
    width: 16px;
    height: 16px;

    border: 1px solid var(--border-color);
    border-radius: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;

    cursor: pointer;

    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

input[type="checkbox"]::after {
    width: 8px;
    height: 8px;

    content: "";

    background-image: url("../media/components/checkmark-default.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

input[type="checkbox"]:checked {
    border: 1px solid var(--color-01);

    background-color: var(--color-01);
}

input[type="checkbox"]:checked::after {
    background-image: url("../media/components/checkmark-checked.svg");
}

input[type="submit"] {
    cursor: pointer;

    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

button {
    border: none;

    color: var(--color-07);
    
    background: none;

    font-size: 15px;

    padding: 0;

    margin: 0;

    cursor: pointer;
}

ul {
    padding: 0;

    margin: 0;

    list-style: none;
}

ol {
    padding: 0;

    margin: 0;

    list-style: none;
    list-style-position: inside
}

ol ol {
    padding-left: 40px;
}

li {
    color: var(--color-07);

    font-size: 15px;
    font-weight: 400;
    
    line-height: 1.6;
}

@media (max-width: 1280px) {
    
}

@media only screen and (max-width: 1024px) {
    :root {
        --space-xxxl: 64px;
    }

    body::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 768px) {
    :root {
        --font-size-m: 16px;
    }
}

@media (max-width: 480px) {
    :root {
        --space-xxl: 32px;
        --space-xxxl: 32px;

        /* --font-size-m: 14px; */
    }
}