/* Variables */
:root{
    --clr-text-logo:#5d80b6;
    --clr-text-heading:#5d80b6;
    --clr-text-corpus:#101e5a;
    --clr-text-accent:#cbc6c3;
    --clr-text-menu:#cbc6c3;
    --clr-text-menu-hover:#5d80b6;
    --clr-text-link:#5d80b6;
    --clr-text-link-hover:#cbc6c3;
    /* --clr-background:#f7f8f9; */
    --clr-background:hsl(210, 14%, 99%);
    --clr-background-transparent:hsla(210, 14%, 99%, 0.7);

    --fnt-normal: Poppins,Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --fnt-logo: 'Syne Mono',Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console","Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
}

/* ----- MOBILE -- */


/* BODY */
body{
    background-color: var(--clr-background);
    color: var(--clr-text-corpus);
    font-family: var(--fnt-normal);
}

/* HEADER */
.header{
    padding:1rem 0 1rem 0;
    border-bottom: solid 1px var(--clr-text-menu);
    background-color: white;
    position: sticky;
    top: -3.5rem;
    z-index: 9999;
}

/* LOGO */

.logo{
    text-align:center;
    font-size: 2em;
    margin: 0;
    font-family: var(--fnt-logo);
    color:var(--clr-text-logo)
}

    .logo__link{
        text-decoration: none;
        color:inherit;
    }


/* NAV */

.nav{
    padding:1rem 0.5rem 0  0.5rem;
    display: flex;
    justify-content: center;
}
    .nav__ul{
        padding: 0;
        margin:0 auto;
        list-style-type: none;
        text-align: center;
        display: flex;
        justify-content: space-between;
        width: 24.5rem;
    }
    .nav__li{
        display: inline-block;
        padding: 0;
        color: var(--clr-text-menu);
    }
    .nav__item{
        color: var(--clr-text-menu);
        text-decoration: none;
        transition: 0.5s;
        display: inline-block;
        position: relative;

    }
    .nav__item:hover,
    .nav__item--present{
        color:var(--clr-text-menu-hover);
        padding:0 0 2px 0;
        margin:0 0 -2px 0;
        transform: translateY(-5px);
    }
    /* Shadow */
    .nav__item::after{
        content:'';
        height:100%;
        width: 100%;
        position:absolute;
        top: 3px;
        left:0;
        background:radial-gradient(ellipse 50% 10% at 50% 90%,  var(--clr-text-menu) 20%, transparent);
        opacity: 0;
        transition: all 0.4s;
    }
    .nav__item:hover::after,
    .nav__item--present::after{
        opacity: 0.5;
    }

/* MAIN WRAPPER */
.content-wrapper{
    padding:0 1rem;
}

/* MAIN */

.main{
 margin:0;
}


/* ARTICLE */
.article{
    color:var(--clr-text-corpus)
}
    .article__title{
        color:var(--clr-text-heading);
        font-size:1.4rem;
        font-family: var(--fnt-logo);
        font-weight: normal;
        padding:2rem 0 0 0;
        margin:0;
    }
    .article__content{
        font-size: 0.95rem;
        line-height: 1.5rem;
    }
        .article__content a,
        .article__content a:visited {
            color: var(--clr-text-link);
        }
        .article__content a:hover{
            color: var(--clr-text-hover);
            text-decoration: none;
        }
        .article__content h2{
            font-family: var(--fnt-normal);
            font-size: 1rem;
            color:var(--clr-text-heading);
            font-weight:normal;
            margin:0;
            padding:1rem 0 0.5rem 0;
        }
        .article__content--projects{
            display:flex;
            flex-wrap: wrap;
            gap: 1rem;
            box-sizing: border-box;
            padding:1rem 0;
        }



/* SUMMARY */
.summary{
        padding:1rem 0 0.5rem 0;
        overflow: visible;
}
    .summary__article{
            padding:0 0 0.5rem 0;
            overflow: auto;
    }
    .summary__title{
        color:var(--clr-text-heading);
        font-size:1rem;
        padding: 1rem 0 0rem 40px;
        background-size: 2rem 2rem;
        background-repeat: no-repeat;
        background-position: left ;
        font-weight: 400;
    }
    .summary__content{
        font-size: 0.9rem;
        margin:0;
    }
        .summary__content img{
            width:150px;
            float:left;
            margin: 0 1em 1em 0;
            border-radius: 0.5em;
            border: solid 1px var(--clr-text-accent)
        }
    .summary__button{
        font-size: 0.9rem;
        padding:0;
        margin: 0;
        display: flex;
        align-items:center;
        justify-content: end;
        transition: all 0.3s;
    }
        .summary__button a{
            border-radius: 0.2rem;
            text-decoration: none;
            background-color: var(--clr-text-link-hover);
            color:var(--clr-text-corpus);
            display: inline-block;
            padding: 0.2rem 0.3rem;
        }
        .summary__button a:hover{
            color:var(--clr-text-menu-hover);
        }

        /* SUMMARY BLOG */
        .summary__title--blog{
            background-image:  url("../img/general/blogger-darkBlue-128px.png");
        }

        /* SUMMARY PROJECT */
        .summary__title--project{
            background-image:  url("../img/general/projects-darkBlue-128px.png");
        }


/* SKILLS */
.skills{
    border-collapse: collapse;
    border-top:solid 1px var(--clr-text-corpus);
    border-left:solid 1px var(--clr-text-corpus);
}
    .skills th{
        background-color: var(--clr-text-accent);
        padding: 0.5rem 1rem;
        border-right:solid 1px var(--clr-text-corpus);
        border-bottom:solid 1px var(--clr-text-corpus);
    }
    .skills td{
        text-align:center;
        border-right:solid 1px var(--clr-text-corpus);
        border-bottom:solid 1px var(--clr-text-corpus);
        padding: 0.5rem 1rem;
    }

/* FOOTER */
.footer{
    padding: 1rem 0 0.5rem 0;
    border-top: solid 1px var(--clr-text-menu);
    background-color: white;
    font-size: 0.8em;
}

/* SOCIALS */
.socials{
    text-align: center;
    padding: 0.5rem 0 0 0;
}
    .socials img{
        height:2rem;
    }

/* COPYRIGHT */
.copyright{
    text-align: center;
    padding: 1rem 0 0 0;
}
    .copyright p{
        margin: 0;
    }
    .copyright a,
    .copyright a:visited {
        color: var(--clr-text-link);
    }
    .copyright a:hover{
        color: var(--clr-text-hover);
        text-decoration: none;
    }


/* PROJECTS */

.project{
    border: solid 1px var(--clr-text-accent);
    border-radius: .5rem;
    padding: 0 0.5rem 1rem 0.5rem;
    
}
    .project__title{
        font-family: var(--fnt-normal);
        font-size: 1.2rem;
        color:var(--clr-text-heading);
        font-weight:normal;
        margin: 0;
        padding:1rem 0 0.3rem 0;
        
    }
    .project__date{
        font-size: 0.8rem;
        margin:0;
        padding:0 0 1.5rem 0;
    }
    .project__image img{
        max-width: 100%;
    }

/* BUTTONS */
.buttons{
    list-style-type: none;
    margin:0;
    padding: 0;
}
    .buttons--blog{
        padding:1rem 0 0 0;
    }
    .buttons__item{
        display: inline-block;
    }
    .buttons__item a{
        padding:0.3em;
        border-radius: 0.2em;
        background-color: var(--clr-text-menu);
        text-decoration: none;
    }

/* BLOG */
.blog{
            position: relative;
            padding:1rem 0 2rem 0;
            border-bottom:solid 1px var(--clr-text-link-hover)
}
.blog:last-child{
            border-bottom:none
}
    .blog__title{
        color:var(--clr-text-heading);
        font-size:1.2rem;
        font-family: var(--fnt-logo);
        font-weight: normal;
        margin:0;
        padding: 1rem 0 0.3rem 0;
    }
    .blog__date{
        font-size: 0.8rem;
        margin:0;
        padding:0 0 0.5rem 0;
    }
.blog__content::after{
    content:'';
    display: block;
    clear:both;
}
    .blog__content img{
        float:left;
        max-width: 50%;
        margin: 0 1rem 1rem 0;
    }
        .blog__content a,
        .blog__content a:visited {
            color: var(--clr-text-link);
        }
        .blog__content a:hover{
            color: var(--clr-text-hover);
            text-decoration: none;
        }

/* CONTACT */
.contact{
    padding:1rem 0;
}
    .contact__row{
        padding:0.5rem 0;
    }
        .contact__row--no{
            display: none;
        }
    .contact__label{
        display: block;
        padding:0 0 0.3rem 0;
    }
    .contact__input{
        width:95%;
        box-sizing: border-box;
        border: solid 1px var(--clr-text-accent);
    }
    .contact__input:focus{
        outline: none;
        border: solid 1px var(--clr-text-corpus);
    }
    .contact__input--error{
        border-color: red;
    }
    .contact__textarea{
        width:95%;
        height:20vh;
        box-sizing: border-box;
        border: solid 1px var(--clr-text-accent);
    }
    .contact__textarea:focus{
        outline: none;
        border: solid 1px var(--clr-text-corpus);
    }
    .contact__textarea--error{
        border-color: red;
    }
    .contact__button{
        padding:0.3em;
        border-radius: 0.2em;
        background-color: var(--clr-text-menu);
        border:none;
        color:var(--clr-text-corpus)
    }
    .contact__button:hover{
        color:var(--clr-text-link);
        cursor: pointer;
    }
    .contact__message{
        padding:2rem 0 0 0;
        color:var(--clr-text-logo);

    }

/* ----- BREAKPOINTS ----- */

/* Portrait phone */
@media screen and (min-width: 576px) {
    /* General */
    .content-wrapper{
        padding:2rem 2rem 0 2rem;
    }

}
/* Tablet */
@media screen and (min-width: 768px) {
    /* General */
    .header{
        display:flex;
        box-sizing: border-box;
        padding: 1rem 2rem;
        top:0;
        justify-content: space-between;
    }
    .logo{
        flex:2;
        text-align: left;
    }
    .nav{
            flex:1;

    }
    .nav__ul{
           width:100%;
    }
    .nav__li{
        padding:0 0 0 1rem;
    }

    .summary{
        display: flex;
        gap:1rem
    }
    .footer{
        display: flex;
        justify-content: center;
        gap:1rem;
    }
    .copyright{
        text-align: left;
    }

    /* Projects */

    .project{
        flex: calc(50% - 4rem - 4px);
        position: relative;
        margin:0;
    }
    .project__content{
        padding:0 0 2rem 0;
    }
    /* .buttons{

    } */
    .buttons--projects{
        position:absolute;
        width:100%;
        bottom:1rem;
        left:1rem;
    }
}

/* Laptop */
@media screen and (min-width: 992px) {
    .header{
        padding:1rem 10%
    }
    .content-wrapper{
        padding:2rem 10% 0 10%;
    }
}

/* Desktop */
@media screen and (min-width: 1200px) {
    .content-wrapper{
        display: flex;
        gap: 2rem;
        padding:2rem 10% 1rem 10%;
    }
    .main{
        flex:2;
        padding:0rem 0 0rem 0; 
    }
    .summary{
        padding: 2rem 0 0 0; 
        display: block;
        flex:1
    }
}

/* Large screen */
@media screen and (min-width: 1440px) {
    .header{
        padding:2rem 20%;
    }
    .content-wrapper{
        display: flex;
        gap: 2rem;
        padding:2rem 20% 1rem 20%;
    }
    .main{
        flex:2;
        padding:0rem 0 0rem 0; 
    }
    .summary{
        padding: 2rem 0 0 0; 
        display: block;
        flex:1
    }
}
/* DEVICES WITH POINTER */

/* Pointer */
@media screen and (pointer:fine) {
    /* Overlay summaries */

    /* Overlay link */
    .summary__article{
            position: relative;
    }
        .summary__button{
        font-size: 0.9rem;
        padding:0;
        margin: 0;
        position: absolute;
        top:0;
        left:0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items:center;
        justify-content: center;
        background-color: var(--clr-background-transparent);
        opacity: 0;
        transition: all 0.3s;
    }
    .summary__article a::before{
        content:'';
        position: absolute;
        top: 0;
        left: 0;
        width:100%;
        height:100%;
    }
    .summary__article:hover .summary__button{
        opacity: 1;
    }
}