@import url('https://fonts.googleapis.com/css2?family=Karma:wght@300;400;500;600;700&display=swap');
:root {
    --gradient-grey-blue: linear-gradient(
            125deg,
            hsl(199deg 57% 84%) 0%,
            hsl(199deg 55% 84%) 14%,
            hsl(199deg 53% 84%) 22%,
            hsl(200deg 51% 85%) 30%,
            hsl(200deg 48% 85%) 36%,
            hsl(200deg 46% 85%) 42%,
            hsl(200deg 44% 85%) 48%,
            hsl(200deg 42% 86%) 54%,
            hsl(200deg 40% 87%) 61%,
            hsl(200deg 37% 87%) 68%,
            hsl(200deg 35% 88%) 76%,
            hsl(200deg 32% 89%) 86%,
            hsl(200deg 28% 90%) 100%
        );
    --gradient-green: linear-gradient(
            125deg,
            hsl(151deg 57% 84%) 0%,
            hsl(153deg 55% 84%) 14%,
            hsl(155deg 53% 84%) 22%,
            hsl(157deg 51% 84%) 30%,
            hsl(158deg 49% 85%) 36%,
            hsl(160deg 47% 85%) 42%,
            hsl(162deg 44% 85%) 48%,
            hsl(157deg 42% 86%) 54%,
            hsl(152deg 40% 87%) 61%,
            hsl(146deg 38% 88%) 68%,
            hsl(139deg 35% 88%) 76%,
            hsl(130deg 32% 89%) 86%,
            hsl(120deg 28% 90%) 100%
        ); 
    --off-white: #f3f3f3;
    --dad: #e2deea;
    --light-green: #d3e2c4;
    --header-bg: #242424;
    --text-color: #333;
    --nav: #444;
    --nav-active:#888;
    --yellow: #EDE268;
    --lime-green: #a0d029;
    --purple: #d3c5f0;
    --blue: #84c1df;
}

* {
  box-sizing: border-box
}

body,
html {
  overflow-x: hidden;
  margin: 0;
  padding: 0
}

body {
  min-width: 320px;
  background-color: var(--dad, #e2deea);
  font-family: Karma,Times New Roman,serif;
  color: var(--text-color, #383838);
  font-size: 16px;
  line-height: 1.666;
}

/*----- Typography -----*/
a {
    text-decoration: none;
    color: #0691fb;
    transition: all ease 0.3s;
    
    &:hover, &:focus {
        color: #0374cb;
    }
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    margin-top: 0;
    line-height: 1.666;
}
p {
    font-size: 1rem;
    line-height: 1.666;
}
.lead {
    font-size: 1.25rem;
}
h2.washi-tape {
    display: inline-block;
    position: relative;
    z-index: 9001;
    margin-bottom: 0;
    
    &::before {
        content: "";
        width: 112%;
        height: 0.75rem;
        background-color: var(--dad);
        display: inline-block;
        position: absolute;
        left: 0;
        bottom: 0.5rem;
        z-index: -1;
    }
}

/*----- Layout -----*/
.site-container {
    display: grid;
    min-height: 100vh;
    grid-template-rows: auto 1fr auto;

    @media screen and (min-width: 1080px) {
        grid-template-rows: 1fr auto;
        grid-template-areas:
        "head main"
        "head footer"; 
    }
}
.header {
    display: flex;
    justify-content: space-between;
    background-color: var(--header-bg, #242424);
    text-align: center;
    box-shadow: 0 0 6px -1px #000;
    color: var(--off-white, #f9f9f9);
    padding: 1rem;
  
    @media screen and (min-width: 1080px) {
        height: 100vh;
        position: fixed;
        grid-area: head;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        max-width: 240px;
        padding: 2.25rem;
    }
    .header--logo {
        margin: 0;
        line-height: 1;

        img {
            width: 100%;
            max-width: 2.5rem;
        }
        @media screen and (min-width: 1080px) {
            img {
                max-width: 5rem;
            }
        }
    }
    nav {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-end;

        a {
            padding: .5rem .65rem;
            color: var(--off-white, #f9f9f9);
            color: var(--nav, #444);
            font-size: 1.125rem;
            letter-spacing: 1px;

            &:hover, &:visited:hover {
                color: var(--nav-active, #888);
            }

            &.active {
                border-bottom: 1px solid var(--lime-green, #a0d029);
                color: var(--nav-active, #888);
            } 
            @media screen and (min-width: 700px) {
                padding: .75rem 1rem;
            }
        }

        @media screen and (min-width: 1080px) {
            flex-direction: column;
            align-items: center;
            margin: 6rem 0;
            gap: 2rem;
        }
    } 
}
.main {
    padding: 3rem;

    @media screen and (min-width: 1080px) {
        grid-area: main;
        padding: 3rem 6rem;
        padding: 5% 15% 7% 40%;
    }
}
.footer {
    padding: 1rem 2rem;
    text-align: right;
    font-size: 0.85rem;

    @media screen and (min-width: 1080px) {
        grid-area: footer;
    }
}
/*----- Content Stuff -----*/
.flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;

    @media screen and (min-width: 700px) {
        flex-wrap: no-wrap;  
        gap: 3rem;  
    }
}
/*--- Nav Funnel ---*/
.nav-funnel {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3rem;

    .tile {
        font-size: 2rem;
        display: block;
        background-color: var(--light-green);
        background-size: cover;
        background-repeat: no-repeat;
        border: 0.25rem solid #f7f7f7;
        border-radius: 0.35rem;

        &.tile__art {
            background-image: url("/assets/images/artwork/square-29427.jpg");
            background-position: center -530px;
        }
        &.tile__design {
            background-image: url("/assets/images/graphy.png");
            background-repeat: repeat;
            background-size: auto;
            background-position: top center; 
        }
        &.tile__photo {
            background-image: url("/assets/images/bg--road.webp");
            background-position: center center;
            background-position: center -341px;
        }
        &:hover {
            span {
                background-color: rgba(255,255,255,0.2);
            }
        }
        span {
            display: block;
            background-color: rgba(255,255,255,0.6);
            padding: 2rem;
        }
        
    }
}

/*--- Featured Projects ---*/
    .project {
        background-color: #eee;
        border-radius: 0.35rem;
        padding: 2rem;
        margin: 1rem 0;

        img {
            height: 100%;
            width: 100%;
            max-width: 300px;
        }
        
        @media screen and (min-width: 700px) {
            margin: 3rem 0;
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            align-items: center;

            div {
                flex: 1;
                order: 2;
            }
        }

        @media screen and (min-width: 1080px) {
            padding: 3.5em 2em;
        }
    }

/*--- Cards ---*/
section.cards {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    div {
        flex: 1 0 calc(50% - 4rem);
        padding: 1.25rem 1.75rem;
        border-radius: 0.85rem;
        border: 0.125rem solid rgba(0,0,0,0.05);
        background-color: var(--light-green);

        svg {
            height: 4.5rem;
            fill: var(--lime-green);
            margin: 0 auto;
            width: 100%;
        }
        h2 {
            display: flex;
            align-content: center;
            margin-bottom: 0;
            line-height: 1.3;
        }
    }
    &.cards__three {
        div {
            flex: 1 0 calc(33.333% - 6rem);    
        }
    }

    @media screen and (min-width: 900px) {
        flex-wrap: wrap;
        flex-direction: row;
    }
}

/*--- CTA ---*/
section.cta {
    padding: 1rem 2rem 2rem;
    margin: 3rem 0;
    background-image: var(--gradient-green);
    font-size: 1.25rem;
}

/*--- Blog Listing ---*/
ul.recent-blog-posts {
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 89ch;
    
    
    li {
        padding: 2rem 1rem;
        border-bottom: 0.125rem dotted rgba(0,0,0,0.25);
        background-image: var(--gradient-green);
        border-radius: 0.35rem;
        margin: 1rem 0;
    }
}

/*--- Gallery ---*/
.gallery {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin: 3rem 0;

    a { 
        img {
            width: 100%;
            transition: all 0.25s ease;
        }
        &:hover {
            img {
                transform: scale(1.1);
            }
        }
        @media screen and (min-width: 700px) {
            flex: 0 1 calc(25% - 4rem);
        }
    }
}