@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css");


:root {
  --primary-color: #E94D5F;
  --secondary-color: #30A3DC;

  --gray-600: #212327BF;
  --gray-500: #707070;
  --gray-300: #CED2D6;
  --gray-200: #DEE2E6;
  --gray-100: #E9EDF1;

  --white: #FAFAFA;
  --black: #0F0F0F;
}

html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    scrollbar-width: thin;
    scrollbar-color: var(--gray-300) transparent; 
} 

::-webkit-scrollbar {
    width: 0.4rem;
}

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

::-webkit-scrollbar-thumb {
    background: var(--gray-300);
    border-radius: 50rem;
}

body {
    font-family: 'Open Sans', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--black);
    background: var(--gray-100);
    width: 100vw;
    overflow-x: hidden;
}

a {
    color: var(--black);
    font-weight: 600;
    text-decoration: none;
}

a:hover {
    color: var(--secondary-color);
}

ul > li,
ol > li {
    margin: .5rem 1.25rem;
}

code {
    color: var(--black);
    background: var(--gray-300);
    border-radius: .35rem;
    padding: .25rem .35rem;
}


header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

header div {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    background: var(--black);
    padding: .75rem 2rem;
}

header nav ul{
    display: flex;
    text-align: center;
    justify-content: center;
}

.brand {
    display: flex;
    gap: .65rem;
}

.brand img {
    height: 2rem;
}

.brand span {
    font-size: 1.5rem;
    color: var(--white);
}


.menu-social {
    list-style: none;
    user-select: none;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: .5rem;
}

.menu-social__item {
    width: 2.2rem;
    height: 2.2rem;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background: var(--gray-600);
    border-radius: 50rem;
    padding: .5rem 1rem;
}

.menu-social__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .5rem;
    font-size: 1.25rem;
    color: var(--white);
}

.menu-social__link:hover {
    color: var(--secondary-color);
}

header nav {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    background: var(--gray-200);
    padding: .25rem 2rem;
    box-shadow: inset 0 0.1rem 0.2rem var(--gray-500);
}

.menu {
    list-style: none;
    user-select: none;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: .5rem;
}

.menu__item {
    margin: 0.5rem;
}

.menu__link {
    font-size: .95rem;
    color: var(--black);
}

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

main, section {
    padding: 2rem 2rem 0;
}

#desafio h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;   
}

#desafio p {
    text-align: justify; 
}

#comunidade {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#searchForm {
    display: flex;
}

#searchButton {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .5rem;
    color: var(--black);
    text-transform: uppercase;
    background: var(--secondary-color);
    border: .125rem solid var(--secondary-color);
    border-radius: 0 50rem 50rem 0;
    box-shadow: 0 1.125rem 5rem 0 rgba(153, 153, 153, 0.3);
    padding: .25rem .35rem;
    cursor: pointer;
    transition: all 1s ease;
}

#searchButton span {
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .1rem;
    padding-left: .5rem;
}

#searchButton i {
    font-size: 1.5rem;
}

#searchButton:hover {
    color: var(--white);
    background-color: #0F0F0F;
    border: #0F0F0F;
}

#searchInput {
    max-width: 100%;
    font-size: 1rem;
    border: .125rem solid var(--secondary-color);
    border-radius: .35rem 0 0 .35rem;
    padding: .5rem 1.5rem;
    cursor: pointer; 
}

#searchInput:focus {
    box-shadow: inset 0 1.125rem 5rem 0 rgba(153, 153, 153, 0.3);
    outline: 0;
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: .1rem solid var(--gray-300);
    background: var(--gray-200);
    margin-top: 2rem;
    padding: 1.125rem 2rem;
}

footer p {
    text-align: center;
    font-size: .9rem;
    color: var(--black);
}