:root{
    --grey: rgb(189, 189, 189);
    --background-input: #0e0e0e;
    --dark-font: #b8b8b8;
    --button-color: #0098ad;
    --button-hover: #006573;
    --border-contact: #434343;
    --tw-shadow: 0 0 22.5px 8px rgba(51, 51, 51, 1);
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth; /*smooth scroll in the nav*/
    overflow-x: hidden; /*no scrollbar*/
}

html, body{
    width: 100%;
    height: 100%;
    margin: 0;
}


.navbar-brand img{
    width: 100%;
    height: 70px;
}

.navbar-brand:hover{
    background-color: var(--grey);
    border-radius: .5rem;
}

.nav-container{
    background-color: #cdcdcdcc;
    border-radius: .875rem;
    min-height: 11vh;
    width: 60%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    backdrop-filter: blur(8px); /*blur behind the nav*/
    display: flex;
    align-items: center;
    justify-content: center;
}

.text-center{
    gap: 15px;
}

.text-center ul{
    padding: 5%;
}

.nav-link {
    font-size: 18px;
    font-weight: 600;
    color: black;
    padding: 1rem 1.5rem;
}

.nav-link:hover{
    color: black;
}

.nav-link.active {
    color: #c5c5c5 !important;
    background-color: black !important; 
}

/*remove the border*/
.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

.nav-container li:hover{
    background-color: var(--grey);
    border-radius: .5rem;
    transition: background-color .2s;
}

#hero{
    margin-top: 100px; /*distance to the navbar*/
    display: flex;
    width: 100%;
    padding-bottom: .5%;
}

#hero img{
    width: 25%;
    height: 600px;
    margin-left: auto;
    margin-top: 2%;
    border-radius: .875rem;
}

#hero .hero-text{
    width: 50%;
    text-align: center;
    padding: 20px;
    margin-left: 5%;
    margin-top: 10%;
    margin-right: auto;
}

#hero .hero-text h1{
    overflow: visible;
    font-size: 50px;
}

#hero .hero-text p{
    margin-top: 5%;
    font-size: 19px;
}

#hero .btn{
    margin-top: 5%;
    height: 3.75rem;
    border: 0;
    border-radius: .5rem;
    padding: 1rem;
    font-weight: 500;
    font-size: 16px;
    box-shadow: 0 2px .375rem #0000000f, 0 .5rem .75rem #00000014;
    background-color: var(--button-color);
    color: white;
}

#hero .btn:hover{
    background-color: var(--button-hover);
    transition: .3s;
    transform: translateY(-3px); /*3 pixels up*/
    box-shadow: 0 5px 15px rgba(0, 140, 158, 0.4); /*Shadow under the button*/
}

#about{
    text-align: center;
}

#about img{
    width: 400px;
    height: 400px;
    border-radius: 50%; /*rounded picture*/
    object-fit: cover;
    object-position: top center;
    box-shadow: var(--tw-shadow);
    margin-top: 8%;
}

.about-text{
    width: 60%;
    padding: 2%;
    margin-right: auto;
    margin-left: auto;
    font-size: 18px;
    text-align: center;
}

.about-text h1{
    overflow: visible;
    font-size: 45px;
    margin-bottom: 3%;
    text-align: center;
}

#resume{
    width: 100%;
    background-color: black;
    line-height: 1.4;
}

#resume h1{
    text-align: center;
    color: white;
    padding: 2%;
}

#resume .box-resume .centered{
    text-align: center;
}

#resume .box-resume-text{
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

#resume p{
    overflow: visible;
}

.terminal-window{                  
    background-color: #1e1e1e;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    font-family: 'Courier New', monospace; /*terminal font style*/
    overflow: hidden;
    width: 100%;
    max-width: 350px;
    margin-bottom: 30px;
    border: 1px solid #333;
}

/*terminal top mac*/
.terminal-header{
    background-color: #2d2d2d;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #333;
}

.buttons{ 
    display: flex; gap: 6px; 
}

.buttons span{
    width: 10px; height: 10px; border-radius: 50%;
}

.red{ 
    background-color: #ff5f56;
}

.yellow{
    background-color: #ffbd2e;
}

.green {
    background-color: #27c93f;
}

#resume .title {
    margin-left: auto;
    margin-right: auto;
    color: #999;
    font-size: 10px;
}

/*terminal body*/
#resume .terminal-body {
    padding: 15px;
    color: #fff;
    font-size: 14px;
}

#resume .prompt {
    color: #8ae234; /*user color*/
    margin-right: 8px;
}

#resume.typing {
    display: inline-block;
    overflow: hidden; /*hide untyped text*/
    white-space: nowrap; /*same line*/
    border-right: 2px solid white;
    width: 0; /*starts invisible*/
    animation: typing 0.5s steps(30, end) forwards;
}

/*response*/
#resume .response {
    opacity: 0; /*starts invisible*/
    margin-top: 10px;
    color: white; /*command color*/
    line-height: 1.5;
    animation: fadeIn 4s forwards infinite;

}

#resume .skills{
    color: white;
    text-align: center;
    width: 100%;
}

/*skills icon*/
#resume .skills i{
    scale: 1.5;
    margin: 2%;
}

/*download pdf*/
#resume .dw{ 
    margin-top: 15%;
    text-align: center;
}

#resume .btn{
    background-color: var(--button-color);
}

#resume .btn:hover{
    background-color: var(--button-hover);
    transition: .2s;
    box-shadow: 0 5px 15px rgba(0, 140, 158, 0.4);
}

/*white box*/
#resume .box-resume{
    text-align: left;
    margin-left: auto;
    margin-right: 5%;
    width: 55%;
    background-color: #ffffff;
    border-radius: .875rem;
    padding: 2%;
}

#resume .box-resume span{
    font-weight: 700;
    font-size: 24px;
}

#resume .box-resume p{
    line-height: 1.3;
}

#resume .box-resume h1{
    color: black;
}

#portfolio{
    background-color: black;
    padding-top: 10%;
}

#portfolio h1{
    color: white;
    text-align: center;
    margin-bottom: 5%;
    overflow: visible;
}

#portfolio .row{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/*project card*/
#portfolio .card{
    border: 2px solid #333;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 16px;
    padding: 1%;
    background-color: #1E1E1E;
    color: white;
    box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.2), 0 6px 20px 0 rgba(255, 255, 255, 0.19);
}

/*overlay over img*/
#portfolio .card-img-overlay{
    opacity: 0;
    transition: all 0.3s ease-in-out;
    background-color: rgba(0, 0, 0, 0.8);
}

/*show text*/
#portfolio .card:hover .card-img-overlay{
    opacity: 1;
}

#portfolio h5{
    overflow: visible;
}

#portfolio img{
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: .875rem;
}

#portfolio a{
    background-color: var(--button-color);
}

#portfolio a:hover{
    background-color: var(--button-hover);
}

/*badges*/
#portfolio .badge-area{
    background-color: #006573;
    color: white;
    font-weight: 400;
}

#portfolio .badge-skill{
    background-color: var(--grey);
    color: var(--background-input);
    font-weight: 400;
}

#unique{
    background-color: black;
    min-height: 300px;
    display: flex;
}

#unique .text-center{
   justify-content: center;
   align-items: center;
}

.tool-box{
    background-color: #1E1E1E;
    border: 1px solid #333;   
    border-radius: .875rem;     
    padding: 2rem 1rem;     
    transition: all 0.3s ease;
}

/*icons*/
.tool-box i{
    font-size: 3rem;
    color: #b8b8b8;
    margin-bottom: 1rem;
    transition: color 0.3s ease;
}

.tool-box h5{
    color: white;
    margin: 0;
    font-size: 1.1rem;
    overflow: visible;
}


.tool-box:hover{
    border-color: var(--button-color);
    background-color: #252525;
}

.tool-box:hover i{
    color: var(--button-color); /*blue border*/
}

#contact{
    background-color: black;
    color: white;
    text-align: center;
}

#contact h2{
    overflow: visible;
    padding-top: 2%;
}

#contact p{
    margin-bottom: 2%;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}

/*form style*/
#contact form{
    width: 55%;
    text-align: left;
    margin-right: auto;
    margin-left: auto;
    color: #b9b9b9;
    border: .0625rem solid var(--border-contact);
    border-radius: .875rem;
    padding-bottom: 1.5rem;
}

#contact form input{
    background-color: var(--background-input);
    border: 0;
    color: var(--dark-font);
    height: 3.125rem;;
}

#contact form input:focus{
    box-shadow: none;
    transition: none;
    border: 1px solid var(--border-contact);
}

#contact form label{
    font-weight: 500;
}

#contact form textarea{
    background-color: var(--background-input);
    border: 0;
    color: var(--dark-font);
}

#contact form textarea:focus{
    box-shadow: none;
    transition: none;
    border: 1px solid var(--border-contact);
}

#contact form ::placeholder{
    color: #4c4c4c;
}

#contact .btn{
    background-color: var(--button-color);
    width: 80%;
    margin: 5px auto;
}

#contact button:hover{
    background-color: var(--button-hover);
}

/*social icons*/
#contact .ctcme{
    padding: 5%;
    width: 33.3%;
    align-items: center;
    justify-content: center;
}

#contact .ctcme a{
    color: white;
    text-decoration: none;
}

#contact .ctcme a i{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transform: scale(1.8);
    margin: 6%;
    border: 1px solid white;
    border-radius: 50%;
    padding: 4px 12px;
}

#contact .ctcme a i:hover{
    transition: .4s;
    transform: scale(2);
    background-color: white;
    color: black;
    filter: drop-shadow(0 0 5px var(--dark-font));
}

.foot .ctcme p{
    font-size: 20px;
    color: var(--dark-font);
}

.foot{
    display: flex;
    padding: 20px 40px;
    margin: 0;
    width: 100% !important;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
}

.foot img{
    width: 60%;
    margin-top: 3%;
}

.foot .txtctc{
    display: flex;
    justify-content: center;
}

.foot .right{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex: 1;
    margin-top: auto;
    margin-bottom: auto;
}

/*back to top button*/
.foot .top-page{
    color: white;
    background-color: black !important;
    border: 1px solid white;
    height: 3.75rem;
    padding: 0 .875rem;
    font-weight: 600;
    margin-left: 1rem;
}

.foot .top-page i{
    margin-right: .375rem;
    align-items: center;
    justify-content: center;
}

.foot .top-page:hover{
    background-color: white !important;
    color: black;
}

.foot .txtctc{
    width: 33.3%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.foot .txtctc i{
    margin-right: 6px;
}

footer{
    background-color: black;
    color: white;
    padding: 8px;
}

footer img{
    width: 60%;
}

/*---BLUEPRINT MODE---*/

label[for="blueprint-toggle"]{
    background-color: #333; 
    color: white;                 
    border: 1px solid white;      
    border-radius: 20px !important;
    padding: 5px 15px;            
    font-weight: bold;               
}

#blueprint-toggle:checked ~ .site-wrapper label[for="blueprint-toggle"]{
    /*ON BLUEPRITN*/
    background-color: #0098ad;
    color: black;
    border: 2px solid #0098ad;
    box-shadow: 0 0 10px #0098ad;  
}

.theme-checkbox{
    display: none;
}

label.pointer{
    cursor: pointer;
}

/*geral*/
#blueprint-toggle:checked ~ .site-wrapper{
    background-color: #0f0f0f;
    color: #b8b8b8;
}

#blueprint-toggle:checked ~ .site-wrapper *{
    font-family: 'Courier New', Courier, monospace;
    border-radius: 0px; /*square*/
    backdrop-filter: none; /*remove blur*/
    box-shadow: none; /* remove shadow */
}

#blueprint-toggle:checked ~ .site-wrapper .nav-container,
#blueprint-toggle:checked ~ .site-wrapper .card,
#blueprint-toggle:checked ~ .site-wrapper .btn,
#blueprint-toggle:checked ~ .site-wrapper .form-control,
#blueprint-toggle:checked ~ .site-wrapper .box-resume{
    background-color: #000000;
    border: 1px dashed #0098ad; /*dashed border*/
    color: #b8b8b8;
}

/*links and titles*/
#blueprint-toggle:checked ~ .site-wrapper h1,
#blueprint-toggle:checked ~ .site-wrapper h2,
#blueprint-toggle:checked ~ .site-wrapper h3,
#blueprint-toggle:checked ~ .site-wrapper h5,
#blueprint-toggle:checked ~ .site-wrapper a{
    color: #0098ad;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/*black and white*/
#blueprint-toggle:checked ~ .site-wrapper img{
    filter: grayscale(100%) contrast(1.2); /*grey image*/
    border: 1px solid #333;
}

#blueprint-toggle:checked ~ .site-wrapper label[for="blueprint-toggle"]{
    background-color: #0098ad !important;
    color: black !important;
    border-style: solid !important;
    font-weight: bold;
}

/*icons working*/
#blueprint-toggle:checked ~ .site-wrapper i,
#blueprint-toggle:checked ~ .site-wrapper .fa-brands,
#blueprint-toggle:checked ~ .site-wrapper .fa-solid,
#blueprint-toggle:checked ~ .site-wrapper .fa-regular{
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", FontAwesome !important;
}

/*KEYFRAMES FOR TERMINAL*/

@keyframes typing{
  from { width: 0 }
  to { width: 100% } /*reveal text*/
}

@keyframes fadeIn{
  to { opacity: 1; }
}

/*KEYFRAMES FOR PROGRESS BAR*/

@keyframes progressBarHtml{
    from {width: 0;}
    to {width: 80%;}
}

@keyframes progressBarJava{
    from {width: 0;}
    to {width: 80%;}
}

@keyframes progressBarLinux{
    from {width: 0;}
    to {width: 70%;}
}

@keyframes progressBarPython{
    from {width: 0;}
    to {width: 60%;}
}

/*MEDIA QUERY*/

@media (max-width: 780px){
    .nav-container{
        width: 90%;
    }

    .navbar-brand{
        margin-right: auto;
    }

    .collapsed{
        transform: scale(1.6);
        border: 0;
    }

    #hero{
        display: inline;
    }

    #hero img{
        width: 100%;
        margin-top: 40%;
    }

    #hero .hero-text{
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    #about img{
        width: 300px;
        height: 300px;
    }

    #about .about-text{
        width: 90%;
    }

    #resume h1{
        padding-top: 5%;
    }

    #resume .box-resume-text{
        display: flex;  
        flex-direction: column;
    }

    #resume .box-resume{
        width: 90%;
    }

    #contact{
        width: 100%;
    }

    #contact p{
        width: 90%;
        margin-bottom: 5%;
    }

    #contact form{
        width: 90%;
    }

    .foot{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 20px;
        width: 100%;
    }

    #contact .ctcme{
        width: 100%;
        margin-top: 0px;
    }

    #contact .mail{
        width: 100%;
    }

    footer .col-4{
        width: 100%;
        text-align: center !important; 
        margin-bottom: 10px;
    }

    .foot .right, 
    .foot .ctcme, 
    .foot .txtctc{
        width: 100%; 
        justify-content: center;
        margin-bottom: 20px;
    }

    .foot .right{
        align-items: center;
    }

}


