@font-face {
    font-family: NotoSans;
    src: url(../fonts/noto/notosans.ttf);
}

:root {
    --color-01: #2987f9;
    --color-02: #296DF9;
    --color-03: #FFFFFF;
    --color-04: #FAFAFA;
    --color-05: #d8dae5;
    --color-06: #a5a9ac;
    --color-07: #5f5f5f;
    --color-08: #141A21;
    --color-09: #11aa00;
    --color-10: #f87676;

    --gradient-01: linear-gradient(180deg, var(--color-01) 0%, var(--color-02) 100%);;

    --radius-m: 4px;
    --radius-l: 8px;

    --box-shadow-01: 0px 0px 40px -20px rgba(0, 0, 0, 0.2);

    --font-size-s: 12px;
    --font-size-m: 16px;
    --font-size-l: 28px;

    --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: 48px;

    --transition-01: 0.2s;
    --transition-02: 0.4s;
}

::selection {
    color: var(--color-03);

    background: var(--color-01);

    text-shadow: none;
}

::-webkit-selection {
    color: var(--color-03);

    background: var(--color-01);

    text-shadow: none;
}

::-moz-selection {
    color: var(--color-03);

    background: var(--color-01);

    text-shadow: none;
}

::placeholder {
    color: var(--color-05);
    
    opacity: 1;
}

:-ms-input-placeholder {
    color: var(--color-05);
}
  
::-ms-input-placeholder {
    color: var(--color-05);
}

* {
    font-family: BokoniqueLight, NotoSans, Helvetica, Arial, sans-serif;

    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

html {
    overflow-x: hidden;
    
    scroll-behavior: smooth;
}

body {
    margin: 0;

    overflow-x: hidden;
}

main {
    width: 100%;
    min-height: 100vh;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    background-color: #FFFFFF;
}

h1 {
    color: var(--color-07);

    font-family: NotoSans, Helvetica, Arial, sans-serif;

    line-height: 1.2;

    margin: 0;
}

h2 {
    color: var(--color-07);

    font-family: NotoSans, Helvetica, Arial, sans-serif;
    font-weight: 800;

    line-height: 1.4;

    margin: 0;
}

h3, h4, h5, h6 {
    color: var(--color-07);

    font-family: NotoSans, Helvetica, Arial, sans-serif;
    font-size: var(--font-size-m);
    font-weight: 800;

    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(--placeholder-color);
    
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

input {
    font-size: 16px;
}

input[type="submit"] {
    cursor: pointer;

    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

button {
    border: none;

    outline: none;

    color: var(--color-07);

    background: none;

    font-size: var(--font-size-m);

    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;
}

img {
    object-fit: cover;

    object-position: center;
}

@media (max-width: 600px) {
    :root {
        --space-xxl: 28px;
    }
}