:root {
    --primary-color: #ed145b;
    --base-color: #121212;
    --text-color: #c6c6c6;
    --font-mono: 'Courier New', monospace;
    --font-text: 'Raleway', 'Inter', 'Courier New';
}

.text-primary,
.border-primary {
    color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.text-secondary {
    color: var(--font-text) !important;
}

.text-light {
    color: var(--text-color) !important;
}

.bg-dark,
.navbar-dark {
    background-color: var(--base-color) !important;
}

.bebas-logo {
    font-family: 'Bebas Neue';
}

.text-mono {
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;


}

p,
li,
h1,
h2,
h3 {
    color: var(--text-color);
    font-family: color: var(--font-text);
}

/*----- HOME ------*/

/* header e nav */

.navbar-brand {
    color: var(--text-color);
    transition: color 0.3s ease;
}

.navbar-brand:hover {
    color: var(--primary-color);
}

@media (max-width: 991.98px) {

    /* até lg */
    #navbarNav {
        text-align: center;
        color: var(--text-color);

    }

    .navbar-nav {
        flex-direction: column;
        align-items: center;
    }
}

.navbar-nav .nav-link {
    transition: color 0.3s ease;
    color: var(--text-color);
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;

}

.navbar-nav .nav-link:hover {
    color: var(--primary-color);
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
}

.navbar-toggler {
    border: none;
    box-shadow: none !important;
    /* remove borda ao clicar */
    outline: none !important;
    /* remove contorno azul */
    transition: color 0.3s ease;
}

.navbar-toggler:focus {
    color: var(--primary-color);
    background-color: transparent;
    box-shadow: none;
    outline: none;
}

/* hero and icons */
.main-hero {
    background-color: var(--base-color);
    min-height: 100vh;
    padding: 2rem;
}

.main-hero h1 {
    height: 7rem;
    overflow: hidden;
    text-wrap: balance;
}

.icons a {
    font-size: 22px;
    color: var(--text-color);
    transition: 0.3s ease;
}

.icons a:hover {
    color: var(--primary-color);
    transition: color 0.3s ease;

}

/* JS effects */

#typewriter::after {
    content: '|';
    animation: blink 1s infinite;
    margin-left: 5px;
}

@keyframes blink {

    0%,
    50%,
    100% {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0;
    }
}


/* scrollbar */

/* WebKit (Chrome, Edge, Safari) */
::-webkit-scrollbar {
    width: 3px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: var(--primary-color);
    border-radius: 10px;
    border: none;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #a855f7;
}

/*-----ABOUT------*/

.main-about {
    padding-top: 6rem;
}

.text-justify {
    text-align: justify;
}

.tech-icon {
    height: 30px;
    transition: transform 0.3s ease, filter 0.3s ease;
    cursor: pointer;
}

.tech-icon:hover {
    transform: scale(1.5);
    filter: brightness(1.5);
}


/* Campos escuros */
.form-control-dark,
.form-select.form-control-dark {
    background-color: #0f0f12;
    /* fundo */
    border: 1px solid #333;
    /* borda */
    color: #e1e1e1;
    /* texto */
}

.form-control-dark::placeholder {
    color: #6c757d;
    /* placeholder */
    opacity: 1;
}

.form-control-dark:focus {
    background-color: #0f0f12;
    color: #fff;
    border-color: #ed145b;
    /* realce no foco */
    box-shadow: 0 0 0 .2rem rgba(237, 20, 91, .25);
}

/* Botão de destaque */
.btn-accent {
    background-color: #ed145b;
    border-color: #ed145b;
    color: #fff;
}

.btn-accent:hover,
.btn-accent:focus {
    background-color: #c3124c;
    /* tom mais escuro */
    border-color: #c3124c;
    color: #fff;
}
