
body
{
    background-color: #111111;
    color: #fff;
    font-family: "DM Sans", sans-serif;
}
header
{
    background-color: #262626;
    border-bottom: 2px solid #434343;
    width: 100vw;
}
section
{
    background-color: #262626;
    width: 100vw;
}

.section-title,.navbar-brand:hover
{
    font-family: "Lobster", cursive;
    font-size: 2em;
    color: #ef4b62;
}
.navbar-brand img
{
    height: 100px;
}
.nav-link
{
    font-size: 1.2em;
    color: #ef4b62;
    margin: 10px;
    text-align: center;
    
}
.nav-link:hover
{
    background-color: #434343;
    color: #fff;
    font-weight: 800;
}
.nav .nav-link.active
{
    background-color: #ef4b62;
    color: #fff;
}
.navbar-toggler
{
    background-color: #ef4b62;
}
.carousel-item img
{
max-width: 100vw;
}
.carousel button 
{
    padding: 5px;
}
.btn
{
    background-color: #ef4b62;
    color: #fff;
    border-radius: 10px;
    cursor: pointer;
    margin-top: 15px;
    font-size: 1em;
    padding: 5px;
    font-weight: 800;
}

.btn:hover, .action-btn:hover
{
    background-color: #fff;
    color:#262626; 
}
.btn-container
{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 20px;
}
hr{
    color: #ef4b62;
}
.action-btn
{
    background-color: #ef4b62;
    color: #fff;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 800;
    text-decoration: none;
    margin-top: 10px;
    padding: 10px;
    width: 60%;
}
.dev{
    border: 5px solid #fff;
    box-shadow: 8px 8px 6px rgba(0,0,0,.7);
}
.tab-content{
    padding: 10px;
    justify-content: center;
    align-items: center;
}
.tab-content card{
    max-width: fit-content;
    border: 2px solid #ef4b62;
    border-radius: 50%
}

aside{
    border: 1px solid #ef4b62;
    border-radius: 20px;
}

#portfolio h2
{
    margin-bottom: 50px;
}

.card
{
    background-color: #262626;
    border: 2px solid #ef4b62;
    border-radius: 15%;
    text-decoration: none;
    margin: 10px;
}
.card:hover
{
    background-color: #434343;  
}
.card-link 
{     
    text-decoration: none;
}
.card-body
{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.card-body img
{
    margin-bottom: 20px;
    padding : 5px;
}
#contato
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;  
}
.form-label
{
    margin: 5px 0 ;
    color:#ef4b62;
    font-weight: 600;
}
.form-control
{
    background-color: #262626;
    border: 2px solid #fff;
    padding: 5px;
    margin: 5px 0;
    color: #fff; 
}
textarea.form-control
{
    resize: none;
    height: 20vh;
}
.form-control:focus
{
    background-color: #434343;
    color: #fff;
    outline: none;
    border: 1px solid #ef4b62;
    box-shadow:0 0 0;
}
.form-control::placeholder
{
    color: #fff;
}
.social-links li, .tools li
{
    list-style: none;
    display: inline;
}
.social-links a, .tools a{
    text-decoration: none;
}
.email-link{
    text-decoration: none;
    color: #fff;
    font-weight: 500;
}
footer
{
    background-color: #262626;
    width: 100vw;
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.footer-content
{
    font-size: 1em;
    color: #ef4b62;
    font-weight: 800;
    padding-top: 2%;
    margin: 2%;
}
footer a {
    text-decoration: none;
    cursor: pointer;
}


@media screen and (max-width:767px){
.navbar-brand img
{
    height: 50px;
    padding: 5px;
    
}
.image-viewport
{
    display: flex;
    justify-content: center;
}
.text-viewport
{
    text-align: center;
    margin: 5px;
}


footer
{
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
}
footer p, footer a{
    text-align: center;
}
.social-links, .center-content
{
    justify-content: center;
    text-align: center;
}
.center-text
{
    text-align: center;
}
}
@media screen and (min-width:768px)
{
    
    
    .image-viewport
    {
    display: flex;
    align-items: center;
    justify-content: center;
    }
}