:root {
    /* --accent1: #cc6dff;
    --accent2: #52b4f4; */
    --accent1: #21caf9;
    --accent2: #1082f3;
    --accent1-filter: invert(75%) sepia(16%) saturate(7500%) hue-rotate(155deg) brightness(99%) contrast(97%);
    --accent2-filter: invert(42%) sepia(43%) saturate(1983%) hue-rotate(187deg) brightness(91%) contrast(110%);
    
    --light-grey: #e8e8e8;
    --grey: #8e8e8e;
    --dark-grey: #414141;

    --dark-blue: #474075;
    --blue: #8098f7;
    --light-blue: #1082f321;
    --red: #f24949;
    --green: #96ff3b;
    --yellow: #f3ff50;

    --background: #f5f6f9;
    --text: var(--dark-grey);

    --topbar-height: 90px;
    --sidebar-width: 250px;

    /* gradients */
    --gradient-right: linear-gradient(to right, var(--accent1), var(--accent2));
    --gradient-left: linear-gradient(to left, var(--accent1), var(--accent2));
    --gradient-bottom-right: linear-gradient(to bottom right, var(--accent1), var(--accent2));

    --font: 'Poppins', Arial, Helvetica, sans-serif;
    --font-bold: 'Poppins-Bold';
}

* {
    margin: 0;
    padding: 0;
    font-family: var(--font);
    box-sizing: border-box;
}

@font-face {
    font-family: 'Roboto';
    src: url("../fonts/Roboto/Roboto-Regular.327362a7c8d4.ttf");
}

@font-face {
    font-family: 'Roboto-Bold';
    src: url("../fonts/Roboto/Roboto-Medium.6679d67d72e0.ttf");
}

@font-face {
    font-family: 'Poppins';
    src: url("../fonts/Poppins/Poppins-Regular.093ee89be9ed.ttf");
}

@font-face {
    font-family: 'Poppins-Bold';
    src: url("../fonts/Poppins/Poppins-Medium.bf59c687bc6d.ttf");
}

@font-face {
    font-family: 'Tiny5';
    src: url("../fonts/tiny5/Tiny5-Regular.6e6ba498de8b.ttf");
}

body {
    margin-top: var(--topbar-height);
    background-color: var(--background);
}

/***** NAVBAR *****/
.topbar {
    position: fixed;
    top: 0;

    height: var(--topbar-height);
    width: 100%;
    padding: 0 64px;

    background-image: var(--gradient-bottom-right);

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    /* border-bottom: 6px solid #000; */
}

.logo {
    height: 32px;
    filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.1));
}

.navbar {
    display: flex;
    gap: 10px;
    align-content: space-between;
    align-items: center;
}

.navbar > a {
    text-decoration: none;
    font-size: 1em;
    color: #000;

    /* background-color: #00000000; */
    padding: 10px 20px;
    border-radius: 5px;
}

/* .navbar div {
    text-decoration: none;
    font-size: 1em;
    float: left;
    color: #000;

    padding: 10px 20px;
    border-radius: 5px;
} */

.login-button {
    text-decoration: none;
    /* font-size: 1.1rem !important; */
    font-family: var(--font-bold);

    background-color: #fff;
    color: var(--accent2) !important;
    /* background-color: #000; */
    /* background-image: linear-gradient(to bottom right, var(--accent1), var(--accent2)); */
    /* border: 2px solid #000; */
    border: none;
    border-radius: 8px !important;
    padding: 10px 20px;
    transition: background-color 0.2s ease;
    transition: color 0.2s ease;
}

.login-button:hover {
    color: #fff !important;
    background-color: var(--accent2);
}

.shadow {
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.shadow-light {
    box-shadow: 0px 0px 10px 2px rgba(255, 255, 255, 0.5);
}

.error {
    width: 100%;
    margin-top: 40px;
    text-align: center;
    font-size: 2rem;
}

.cta-button {
    font-size: 1.5rem;
    padding: 10px 25px;
    border-radius: 100em;
    text-decoration: none;

    /* border-width: 3px; */
    /* border-style: solid; */
    /* background: linear-gradient(to bottom right, var(--accent1), var(--accent2)); */
    color: var(--accent1);
    background-color: #fff;
    transition: background-color 0.2s ease;
    transition: color 0.2s ease;
}

.cta-button:hover {
    background: transparent;
    color: #fff;
}

.pixel {
    font-family: 'Tiny5' !important;
    font-size: 115%;
}

.gradient {
    background: linear-gradient(to right, var(--accent1), var(--accent2));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
}

.gradient-border {
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to bottom right, var(--accent1), var(--accent2)) border-box;
    border: 2px solid transparent !important;
}

.gradient-background {
    background-image: linear-gradient(to bottom right, var(--accent1), var(--accent2));
    color: #fff;
    border: none !important;
}

.logout {
    color: var(--red) !important;
}

.button {
    display: block;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .topbar {
        padding: 0 2rem;
    }
}