/* =======================
======= 1. imports =======
======================= */

@import url('https://fonts.googleapis.com/css2?family=Averia+Serif+Libre:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Baloo+Tamma+2:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600&display=swap');


/* =======================
======= 2. resets ========
======================= */

*, 
*::before, 
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
}

/* =======================
======= 3. general ========
======================= */


*:hover, 
*:focus {
    transition: 250ms ease-out;
}

:root {
    --clr-main: rgb(0, 0, 0);
    --clr-txt-main: rgb(159, 175, 17);
    --clr-sec: rgb(212, 208, 199);
    --clr-sec-contr: rgb(46, 46, 46);
    --clr-warn: rgb(95, 13, 13);

    --clr-trans: rgba(0, 0, 0, .6);
    --clr-trans-dark: rgba(0, 0, 0, .80);
    --clr-trans-orn: rgba(159, 175, 17, .75);
    
    --fnt-head: 'Averia Serif Libre', cursive;    
    --fnt-main: 'Baloo Tamma 2', cursive;
    --fnt-sec: 'Orbitron', sans-serif;

    --ftn-wgh-lgh: 100;
    --ftn-wgh-nrl: 400;
    --ftn-wgh-bold: 600;
    --ftn-wgh-big: 700;

    --ln-hgh-cap: 1;
    --ln-hgh-nor: 1.6;
}

html {
    scroll-behavior: smooth;
  }

body {
    background-image: url('pics/ks_backLuke.jpg');
    background-color: var(--clr-trans-dark);    
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: top;
    background-size: cover;
    background-blend-mode: overlay;
}

.bold {
    font-weight: var(--ftn-wgh-bold);
}

.italics {
    font-style: italic;
}

.italics__small {
    font-size: .6rem;
    text-align: center;
}

/* =======================
======= 4. main grid ========
======================= */

.main__grid {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: 'nav'
    'main'
    'footer';
}

/* =======================
======= 5. nav ========
======================= */

nav {
    grid-area: nav;
    display: grid;
    grid-template-columns: 1fr 4fr 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: 'logo . icon';
    margin-top: .8rem;
}

.home__logo_wrap {
    grid-area: logo;
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.logo {
    width: calc(.9em + 6vw);
    height: calc(.9em + 6vw);
}

.home__logo_wrap .logo:hover,
.home__logo_wrap .logo:focus {
    opacity: 0.5;
}

.home__link {
    display: flex;
    grid-area: icon;
    justify-content: center;
    align-items: center;
}

.home__link .material-icons {
    color: var(--clr-txt-main);
    font-size: calc(1rem + 1vw);
    padding: 1em;
}

.home__link .material-icons:hover,
.home__link .material-icons:focus {
    opacity: 0.5;
    color: var(--clr-txt-main);
}

.material-icons:hover,
.material-icons:focus {
    text-shadow: 1px 5px 5px var(--clr-main);
}

.card__title {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.title__portfolio {
    background-color: var(--clr-trans-dark);
    color: var(--clr-txt-main);
    padding: 0.3rem 2.2rem;
    font-size: 1rem;
}


/* =======================
======= 6. main ========
======================= */

main {
    grid-area: main;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 850px;
    margin: 0 auto;
    font-family: var(--fnt-main);
    font-size: .8rem;
}


.card {
    min-width: 15rem;
    min-height: 25rem;
    max-width: 20rem;
    margin: 0 2em;
    background-color: var(--clr-trans-orn);
    color: var(--clr-sec-contr);
    margin-top: 1.2rem;
    position: relative;
}

.card h3 {
    text-transform: uppercase;
}

.card h3,
.card h4 {
    text-align: center;
}

.card__centre {
    padding-top: .5rem;
}

.card__centre h3 {
    text-transform: uppercase;
}

.card__centre p {
    margin: 0 .8rem .5rem .8rem;
}

.card__left {
    clip-path: polygon(0 0, 100% 0, 100% 90%, 90% 100%, 0 100%, 0% 50%);
    height: 27rem;
}

.card__text ul {
    font-size: calc(.5rem + .7vh);
    margin-top: .8rem;
}

.title__references {
    border-top: 1px solid var(--clr-main);
    margin-top: .8rem;
}

.work_descryption {
    font-size: calc(.5rem + .7vh);
    text-align: left;
}


.card__picture {
    text-align: center;
}

.card__picture img {
    width: 60%;
    padding-top: .8rem;
}

.card__picture:hover,
.card__picture:focus {
    opacity: 0.5;
}

.card__picture_no_link {
    text-align: center;
}

.card__picture_no_link img {
    width: 60%;
    padding-top: .8rem;
}

.card__text {
    padding: .8rem;
}

.back__link {
    position: absolute;
    text-align: center;
    bottom: 0;
    margin: 0 50%;
}

.back__link a {
    color: var(--clr-main);
}


/* =======================
======= 7. footer ========
======================= */

footer {
    grid-area: footer;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1rem;
    bottom: 0;
}

.footer__text {
    background-color: var(--clr-txt-main);
    text-align: center;
    font-family: var(--fnt-sec);
    font-size: calc(.3rem + .8vw);
    padding: 1em 0;
    flex: 0 0 100%;
}


/* =======================
======= 8. media ========
======================= */

@media (max-height:414px) {
    .title__portfolio {
        padding: 0.3rem 6rem;
        font-size: calc(1rem + .8vw);
    }

    main {
        flex-direction: row;
        flex-wrap: wrap;
        max-width: 860px;
    }

    .card {
        min-height: 21rem;
        margin-top: 1.2rem;
    }
}

@media (max-height:568px) {
    .card {
        min-width: 15rem;
        min-height: 5em;
    }
}

@media (max-height:568px) {
    .card {
        min-width: 15rem;
        min-height: 5em;
    }
}

@media (min-width:768px) {
    .title__portfolio {
        padding: 0.3rem 8rem;
        font-size: calc(1rem + .9vw);
    }

    main {
        flex-direction: row;
        flex-wrap: wrap;
        max-width: 860px;
    }

    .card {
        min-height: 25rem;
        min-width: 20rem;
        margin-top: 1.2rem;
    }

    .card__text h3 {
        font-size: calc(.5rem + 1vh);
        margin-top: .8rem;
    }

    .card__text ul {
        font-size: calc(.4rem + .6vh);
        margin-top: .8rem;
    }

    .work_descryption {
        font-size: calc(.4rem + .5vh);
    }
}

@media (min-width:1024px) {

    main {
        flex-direction: row;
        flex-wrap: wrap;
        max-width: 960px;
    }

    .card {
        min-height: 25rem;
        margin-top: 1.2rem;
    }

    .card__text ul {
        font-size: calc(.4rem + .6vh);
        margin-top: .8rem;
    }    
}

@media (min-width:1440px) {

    main {
        flex-direction: row;
        flex-wrap: wrap;
        max-width: 1260px;
    }

    .card {
        min-height: 35rem;
        margin-top: 1.2rem;
    }

    .card__text h3 {
        font-size: calc(.6rem + .8vh);
    }
        
    .card__text p,
    .card__text ul {
        font-size: calc(.5rem + .7vh);
        margin-top: .8rem;
    }
}