@font-face{
    font-family: 'roboto-black';
    src: url(../assets/fonts/Roboto-Black.ttf);
}

@font-face{
    font-family: 'roboto-bold';
    src: url(../assets/fonts/Roboto-Bold.ttf);
}

@font-face{
    font-family: 'roboto-light';
    src: url(../assets/fonts/Roboto-Light.ttf);
}

@font-face{
    font-family: 'roboto-medium';
    src: url(../assets/fonts/Roboto-Medium.ttf);
}

@font-face{
    font-family: 'roboto-regular';
    src: url(../assets/fonts/Roboto-Regular.ttf);
}

@font-face{
    font-family: 'roboto-thin';
    src: url(../assets/fonts/Roboto-Thin.ttf);
}

:root{
    /* colors */
    --main-white : #f8f5ee;
    --main-black : #000000;
    --main-gray : #666666;

    --main-color : #201e1e;
    --second-color : #4B3665;
    --red: #bc2b1c;
    --blue: #29335c;
   

    /* fonts */
    --roboto-thin : 'roboto-thin';
    --roboto-light : 'roboto-light';
    --roboto-regular : 'roboto-regular';
    --roboto-medium : 'roboto-medium';
    --roboto-bold : 'roboto-bold';
    --roboto-black : 'roboto-black';
}

h1{
    font-family: var(--roboto-regular);
}

h2{
    font-family: var(--roboto-thin);
}

h3{
    font-family: var(--roboto-light);
}

p{
    font-family: var(--roboto-light);
}

a{
    font-family: var(--roboto-regular);
    cursor: pointer;
    text-decoration: none;
    color: var(--main-white);
}

body{
    background-color: var(--main-color);
    margin: 0px !important;
}

.title{
    font-size: 45px;
}

.mobile-nav-bars{
    display: none;
}

.hide-menu{
    left: 0px !important;
}

.main{
    width: 100%;
    display: flex;
    flex-direction: column;
}

.container{
    padding: 0px 80px !important;
}

.content{
    /* margin-top: 100px; */
}

hr{
    /* width: 100%;
    height: 1px;
    background-color: var(--light-blue) !important; */
    border: 0;
    border-top: 2px solid var(--light-blue); 
    border-bottom: 2px solid #333;
    height:0;
    margin: 0px 40px;
    margin-top: 50px;
}

ul{
    list-style: none !important;
}

.w-100{
    width: 100%;
}

.main-bg{
    background-color: var(--main-color);
}

.w-txt{
    color: var(--main-white);
}

.txt-center{
    text-align: center;
}

.flex-row{
    display: flex;
    flex-direction: row;
}

.flex-column{
    display: flex;
    flex-direction: column;
}

.button{
    padding: 15px 40px;
    font-size: 35px;
    background-color: var(--red);
    border-radius: 15px;
    box-shadow: 3px 6px 9px #000000b7;
    transition: .3s all ease-in-out;
}

.button:hover{
    background-color: var(--main-white);
    color: var(--red);
    box-shadow: unset;
}

.show-btn{
    right: 40px !important;
}

.go-up{
    position: fixed;
    bottom: 100px;
    right: -200px;
    cursor: pointer;
    transition: all .4s ease-in-out;
}

.go-up i{
    font-size: 70px;
    color: var(--main-white);
    text-shadow: 4px 6px 10px #000000b1;
    transition: all .3s ease-in-out;
}

.go-up i:hover{
    text-shadow: unset;
}

.shadow{
    box-shadow: 3px 5px 12px #0000008b;
}

/* nav */
.main-nav{
    height: 70px;
    position: fixed;
    top: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    z-index: 99999;
    transition: all .5s ease-in-out;
}

.main-nav h2{
    font-size: 34px;
    padding-left: 70px;
}

.nav-links{
    justify-content: center;
    padding-right: 70px;
}

.nav-links .nav-li{
    margin: 0px 25px;
}

.nav-link{
    font-size: 26px;
}
/* nav */

h1{
    font-size: 100px;
}

h2{
    font-size: 45px;
}

.presentation-content{
    justify-content: center;
    align-items: center;
    height: 85vh;
}

.presentation-content h1{
    margin-bottom: 0px !important;
}

.presentation-content h2{
    font-family: var(--roboto-thin);
    font-weight: 300;
}

.presentation-content .button{
    /* margin-bottom: 120px !important; */
}

.presentation-links{
    display: flex;
    flex-direction: row;
    margin-bottom: 30px;
}

.presentation-links a{
    font-size: 70px;
    margin: 0px 20px;
}

.presentation-links a i{
    transition: all .3s ease-in-out;
}

.presentation-links a .fa-linkedin:hover{
    color: #0e76a8;
}

.presentation-links a .fa-github:hover{
    color: #6e5494;
}

#about-me{
    background-color: #303030;
}

.about-me-content{
    padding: 60px 0px;
    display: flex;
    flex-direction: column;
}

.about-me-data{
    display: flex;
    flex-direction: row;
}

.about-me-text, .about-me-skills{
    width: 50% !important;
    margin: 0px 30px !important;
}

.about-me-photo{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.about-me-photo img{
    width: 350px;
    border-radius: 175px;
    box-shadow: 4px 7px 12px #00000092;
    transition: all .3s ease-in-out;
}


.about-me-photo img:hover{
    filter: grayscale(85%);
}

.about-me-text p{
    font-size: 22px;
}

.about-me-text p a{
    font-weight: 600;
}


.about-me-text i{
    font-size: 50px !important;
}

.programming ul{
    display: flex;
    flex-direction: row;
    padding: 0px !important;
}

.programming .fa-code{
    font-size: 45px !important;
}

.programming ul li{
    margin: 0px 22px;
}

.about-me-skills{
    display: flex;
    flex-direction: column;
    align-items: center;
    
}

.about-me-skills img{
    width: 300px;
    transition: all .3s ease-in-out;
}

.about-me-skills img:hover{
    -webkit-transform:scale(1.1);
    transform:scale(1.1);
}

.about-me-skills .skills{
    display: flex;
    flex-direction: row;
    justify-content: space-between !important;
    width: 100%;
}

.skills h4{
    font-family: var(--roboto-thin);
    font-weight: 600;
    font-size: 28px;
}

.skills ul {
   padding-left: 20px !important;
}

.skills ul li{
    color: var(--main-white);
    font-size: 24px;
    font-family: var(--roboto-thin);
}

.about-me-my-skills{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.about-me-my-skills .title{
    width: 100%;
    text-align: center;
}

.my-skills{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.my-skills .skill {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 200px;
    background-color: #535353c2;
    border-radius: 20px;
    margin: 20px 20px;
}

.my-skills img{
    width: 60%;
    margin-top: 30px;
}

.my-skills p{
    font-size: 25px;
    font-weight: 600;
}



.projects-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.projects-content .title{
    width: 100%;
    text-align: center;
    margin-bottom: 0px !important;
}

.projects-content p{
    text-align: center;
    width: 75%;
    font-size: 28px;
}

.project{
    display: flex;
    flex-direction: row;
    margin: 45px 0px !important;
}

.project .web-photo, .project .web-presentation{
    width: 50%;
}

.web-photo{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.web-photo img{
    max-width: 250px;
    max-height: 200px;
}

.web-presentation{
    display: flex;
    flex-direction: column;
}

.web-presentation h4{
    font-family: var(--roboto-light);
    font-size: 32px;
    font-weight: 300;
    margin-bottom: 0px !important;
    text-shadow: 5px 9px 6px #000000;
    margin-top: 0px !important;
}

.web-presentation h4 a{
    transition: all .3s ease-in-out;
}

.web-presentation h4 a:hover{
    color: var(--red);
}

.web-presentation h4 a i{
    margin-left: 20px !important;
}


.web-presentation p{
    font-family: var(--roboto-thin);
    font-size: 20px;
    text-align: unset;
    margin-bottom: 0px !important;
    width: 100% !important;
    margin-bottom: 25px !important;
}

.job-title{
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 0px !important;
    margin-top: 10px !important;
    
}

.web-decoration{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0px 50px;
}

.web-decoration .circle{
    background-color: var(--red);
    width: 25px;
    height: 35px;
    border-radius: 20px;
    margin-bottom: 20px;
}

.web-decoration .line{
    background: rgb(255,255,255);
    background: linear-gradient(100deg, rgba(255,255,255,1) 58%, rgba(255,255,255,0.17970938375350143) 100%);
    width: 2px;
    height: 100%;
    /* padding-top: 50px !important; */
}

.contact-section{
    margin-top: 120px;
    background-color: #bc2b1c;
}

.contact-me-data{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.contact-me-data .title{
    margin-bottom: 0px !important;
}

.contact-me-data p{
    font-size: 25px;
    margin-bottom: 45px !important; 
}

.contact-div{
    display: flex;
    flex-direction: column;
}

.contact-form form{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    /* background-color: #4B3665; */
}

.contact-form form input{
    height: 50px;
    font-size: 26px;
    background-color: transparent !important;
    border: none;
    border-bottom: 1px solid var(--main-white);
    width: 45%;
    padding: 0px 10px;
    margin: 0px 15px;
    color: var(--main-white);
}

input:focus,
textarea:focus{
    transition: all .5s ease-in-out;
    border-bottom:solid var(--second-color-main);
}

input::placeholder,
textarea::placeholder {
    color: #dad7d7 !important;
    font-family: var(--roboto-thin) !important;
}

input:focus,
textarea:focus{
    outline: none !important;
    border-color: var(--main-blue);
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus
{
    /* border-bottom: none!important; */
    -webkit-text-size-adjust: 266px !important;
    -webkit-text-fill-color: var(--main-white) !important;
    -webkit-box-shadow: 40px 0  0px 100px var(--red)  inset !important;
}

.contact-form form textarea{
    width: 94% !important;
    height: 70px;
    font-size: 26px;
    background-color: transparent !important;
    color: var(--main-white);
    border: none;
    border-bottom: 1px solid var(--main-white);
    padding: 0px 10px;
    margin: 0px 15px;
    margin-top: 30px ;
    max-height: 70px;
    min-height: 70px;
    min-width: 94%;
    max-width: 94% !important;
}

.contact-form form .sent-form{
    background-color: var(--main-white) !important;
    color: var(--red) !important;
    border-radius: 20px;
    margin-top: 40px !important ;
    cursor: pointer;
    width: 100%;
    height: 50px;
    font-size: 26px;
    padding: 0px 10px;
    margin: 0px 15px;
    transition: .3s all ease-in-out;
    box-shadow: 3px 6px 12px #201e1eb7;
    border: 3px solid var(--main-white) !important;
}

.contact-form form .sent-form:hover{
    background-color: var(--red) !important;
    color: var(--main-white) !important;
    
    box-shadow: unset;
}

.contact-div .contact-info{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 60px;
}

.contact-info p{
    font-size: 32px;
    margin: 0px 0px !important;
    margin-bottom: 25px !important; 
}

footer{
    height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
}

.developed-by{
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.developed-by span{
    font-size: 20px;
    font-family: var(--roboto-bold);
}


@media screen and (max-width: 1500px){
    h1{
        margin-top: 100px !important;
        font-size: 80px;
    }

    .contact-info p{
        font-size: 28px;
    }
}

@media screen and (max-width: 1400px){
    h2{
        font-size: 40px;
    }

    .presentation-links a{
        font-size: 60px;
    }

    .about-me-photo img{
        width: 280px;
    }
}

@media screen and (max-width: 1300px){
    .main-nav h2{
        font-size: 30px;
    }

    .other-clients img, .web-photo img{
        max-width: 250px !important;
    }

    .go-up i {
        font-size: 60px;
    }

    .skills ul li{
        font-size: 22px;
    }

    .about-me-skills img{
        width: 260px !important;
    }
    .job-title{
        font-size: 28px
    }
}

@media screen and (max-width: 1200px){
    .presentation-content .button{
        font-size: 30px;
    }

    .presentation-content h2{
        font-size: 36px;
    }

    .nav-links .nav-li{
        margin: 0px 18px;
    }

    .about-me-text h3{
        margin-bottom: 15px;
    }

    .about-me-text p{
        font-size: 20px;
    }

    .skills h4{
        margin-bottom: 10px;
    }

    .skills ul li{
        font-size: 20px;
    }

    .projects-content p, .contact-info p{
        font-size: 25px;
    }

    .project{
        margin: 60px 0px !important;
    }

    .projects-content p{
        font-size: 20px;
    }

    .web-presentation h4{
        font-size: 28px;
    }

    h1{
        font-size: 70px;
    }

    .presentation-content h2{
        font-size: 34px;
    }

    .contact-form form input {
        width: 44%;
    }
    
}

@media screen and (max-width: 1100px){
    .contact-form form input {
        width: 43%;
    }


    .skills ul li, .about-me-text p{
        font-size: 18px;
    }

    .skill{
        width: 180px;
    }
}

@media screen and (max-width: 1024px){
    .about-me-data{
        flex-direction: column;
    }

    .about-me-text, .about-me-skills{
        width: 100% !important;
        margin: 20px 0px !important;
    }

    .about-me-text h3, .about-me-text p, .contact-me-data p{
        text-align: center;
    }

    .about-me-skills .skills{
        justify-content: center !important;
    }

    .projects-content p{
        width: 100%;
    }

    .skills ul li, .about-me-text p{
        font-size: 20px !important;
    }

    .other-clients img, .web-photo img{
        max-width: 230px !important;
    }

    h1{
        font-size: 60px;
    }

    .presentation-content h2{
        font-size: 30px;
    }

    .presentation-links a{
        font-size: 52px;
    }

    .presentation-content .button{
        font-size: 26px;
    }
    
    .skill{
        width: 150px !important;
    }

    .my-skills p{
        font-size: 21px;
    }
}

@media screen and (max-width: 900px){
    .main-nav h2{
        padding-left: 35px !important;
    }

    .nav-links{
        padding-right: 35px !important;
    }

    .nav-link{
        font-size: 22px;
    }

    .other-clients img, .web-photo img{
        max-width: 150px !important;
    }

    .web-decoration{
        margin-left: 0px !important;
    }

    .web-photo{
        width: 30% !important;
    }

    .web-presentation{
        width: 65% !important;
    }
}

@media screen and (max-width: 800px){
    h1{
        font-size: 50px;
    }

    .presentation-content h2{
        font-size: 26px;
    }

    .presentation-links a{
        font-size: 45px;
    }

    .presentation-content .button{
        font-size: 22px;
    }

    .container{
        padding: 0px 40px !important;
    }

    .web-presentation h4{
        font-size: 24px;
    }
    
    .web-presentation p{
        font-size: 16px;
    }

    .job-title{
        font-size: 22px;
    }
}

@media screen and (max-width: 700px){
    h1{
        font-size: 45px;
    }

    .presentation-content h2{
        font-size: 22px;
    }

    .nav-links .nav-li{
        margin: 0px 12px;
    }

    .about-me-photo img{
        width: 220px;
    }

    .title{
        font-size: 35px;
    }

    .about-me-text p{
        font-size: 18px;
    }

    .web-presentation h4{
        font-size: 20px;
    }

    .web-presentation h4 a i{
        margin-left: 10px !important;
    }

    .contact-form form input, .contact-form form textarea{
        width: 100% !important;
        margin: 0px !important;
        min-width: 100% !important;
        max-width: 100% !important;
        margin-top: 30px !important;

    }

    .web-decoration{
        margin-right: 20px !important;
    }

    .skill{
        width: 120px !important;
    }

    .my-skills p{
        font-size: 18px;
    }
}

@media screen and (max-width: 600px){
    .main-nav h2{
        font-size: 22px;
    }

    .nav-links{
        padding: 0px 10px !important;
    }

    h1{
        font-size: 38px;
    }

    .presentation-content h2{
        font-size: 20px;
    }

    .project{
        flex-wrap: wrap;
    }

    .web-photo{
        width: 100%  !important;
        justify-content: center;
    }

    .web-presentation{
        width: 90% !important;
    }

    .presentation-content .button{
        font-size: 20px;
    }

    .project .web-photo, .project .web-presentation{
        width: 100%;
    }


    .other-clients img{
        margin: 20px  0px;
        max-width: 220px !important;
    }

    .other-clients{
        margin-top: 0px !important;
    }

    .contact-info p{
        font-size: 22px;
    }
}

@media screen and (max-width: 500px){
    .main-nav h2{
        display: none;
    }

    .main-nav{
        justify-content: center;
    }

    h1{
        font-size: 34px;
    }

    .container{
        padding: 0px 30px !important;
    }

    .contact-form form input, .contact-form form textarea{
        width: 80% !important;
    }

    .contact-form form{
        padding: 0px 60px !important;
    }

    .skills ul l, .about-me-text p{
        font-size: 18px !important;
    }

    .about-me-skills img{
        width: 200px !important;
    }

    .show-btn{
        right: 20px !important;
    }

    .skill{
        width: 90px !important;
        margin: 10px 10px !important;
    }

    .skill p{
        font-size: 12px;
    }

    .web-presentation{
        width: 85% !important;
    }

    .projects-content p{
        font-size: 18px;
    }

    .web-presentation h4, .job-title{
        font-size: 19px !important;
    }

    .web-presentation p{
        font-size: 14px !important;
    }

}

@media screen and (max-width: 400px){
    .presentation-content h1{
        font-size: 25px !important;
    }

    .presentation-content h2{
        font-size: 16px !important;
    }

    .presentation-content .button{
        font-size: 18px !important;
    }

    .nav-link, .projects-content p{
        font-size: 18px !important;
    }

    .skills h4{
        font-size: 22px !important;
    }

    .skills ul li, .about-me-text p{
        font-size: 16px !important;
    }

    .skills ul{
        padding-left: 10px !important;
    }

    .contact-form form{
        padding: 0px 20px !important;
    }

    .contact-info p{
        font-size: 17px !important;
    }

    .nav-links .nav-li{
        margin: 0px 16px !important;
    }
    
    .skills{
        flex-direction: column !important;
    }

    
}

@media screen and (max-width: 350px){
    .presentation-content h1{
        font-size: 22px !important;
    }

    .skills{
        flex-direction: column !important;
    }

    .nav-link{
        font-size: 16px !important;
    }

    .web-presentation{
        width: 80% !important;
    }

    .web-presentation p{
        font-size: 16px !important;
    }

    .skill{
        width: 70px !important;
    }
}

@media screen and (max-width: 300px){
    .nav-link{
        font-size: 14px !important;
    }

    .contact-me-data p{
        font-size: 18px;
    }

    .contact-form form input, .contact-form form textarea{
        font-size: 22px !important;
    }

    .contact-me-data p  , .projects-content p{
        font-size: 15px !important;
    }

    .other-clients img{
        max-width: 200px !important;
    }

    .title{
        font-size: 30px;
    }

    .contact-section{
        margin-top: 40px !important;
    }

    .web-photo img{
        max-width: 170px !important;
    }


    .skill{
        width: 140px !important;
    }

    .skill p{
        font-size: 20px;
    }
}