/* CSS Document*/

/* Reference guide for the colours used in my website:
   #1A1A1A - dark/black
   #F4F6F0 - light background
   #F16E71 - accent / buttons 
*/

/* Im going to work my way from top to bottom */


/*  body styles */

body {
    background-color: #F4F6F0;
    color: #1A1A1A;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    margin: 0px;
    padding: 0px;
    width: 100%;
    min-height: 100vh;
}


/*  header and footer */

header {
    background-color: #1A1A1A;
    padding: 0 40px;
    height: 90px;
    display: flex;
    align-items: center;
}

.header-inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo-img {
    height: 80px;
    width: auto;
}

footer {
    background-color: #1A1A1A;
    color: #F4F6F0;
    padding: 40px 40px 0px 40px;
}

.footer-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 24px;
}

.footer-credit {
    text-align: right;
    font-size: 15px;
    color: #888888;
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 16px;
}

.footer-logo .logo-img {
    height: 100px;
    width: auto;
}

.footer-bar {
    background-color: #F16E71;
    height: 10px;
    width: 100%;
    margin-bottom: 20px;
}


/* All headings styles */


h1, h2, h3, h4, h5, h6 {
    font-family: 'Unbounded', sans-serif;
    color: #1A1A1A;
    line-height: 1.15;
    margin-top: 0px;
    margin-bottom: 16px;
}

h1 {
    font-size: 42px;
    font-weight: 900;
}

h2 {
    font-size: 30px;
    font-weight: 800;
}

h3 {
    font-size: 20px;
    font-weight: 700;
}

/* NOTE: headings in dark sections need to be light of colour */

.section-about h2 {
    color: #F4F6F0;
}

.section-work h2 {
    color: #F4F6F0;
}

.section-cta h2 {
    color: #1A1A1A;
}


/*    navigation */

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
}

nav ul li {
    margin: 0;
}

header nav a {
    color: #F4F6F0;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

header nav a:hover {
    color: #F16E71;
}

footer nav ul {
    flex-direction: column;
    gap: 6px;
    text-align: right;
}

footer nav a {
    color: #F4F6F0;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

footer nav a:hover {
    color: #F16E71;
}


/*   sections - ( flexbox layout)  */

/* hero section */

.section-hero {
    max-width: 1100px;
    margin: 0 auto;
    padding: 90px 40px;
    display: flex;
    align-items: center;
    gap: 60px;
}

.hero-content {
    flex: 1;
}

.hero-image {
    flex: 1;
}

/* about section */

.section-about {
    background-color: #1A1A1A;
    padding: 90px 40px;
}

.section-about .about-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

.about-text {
    flex: 1;
}

.about-image {
    flex: 0 0 auto;
}

.about-text p {
    color: #F4F6F0;
    margin-bottom: 18px;
}

/* featured project section */

.section-featured {
    background-color: #F4F6F0;
    padding: 90px 40px;
}

.section-label {
    display: block;
    max-width: 1100px;
    margin: 0 auto 30px auto;
}

.featured-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 50px;
}

.featured-images {
    flex: 1;
}

.featured-text {
    flex: 1;
}

.featured-text p {
    font-size: 14px;
    color: #333333;
    margin-bottom: 20px;
}

/* work gallery section */

.section-work {
    background-color: #1A1A1A;
    padding: 90px 40px;
    text-align: center;
}

.section-cta {
    background-color: #F4F6F0;
    padding: 100px 40px;
    text-align: center;
}


/*  anchor / button styles */

a {
    color: #F16E71;
    text-decoration: none;
}

a:hover {
    opacity: 0.8;
}

.btn {
    display: inline-block;
    background-color: #F16E71;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 12px 28px;
    border: 2px solid #F16E71;
}

.btn:hover {
    background-color: transparent;
    color: #F16E71;
    opacity: 1;
}

/* outline button for dark backgrounds */

.btn-outline {
    background-color: transparent;
    color: #F4F6F0;
    border: 2px solid #F4F6F0;
}

.btn-outline:hover {
    background-color: #F4F6F0;
    color: #1A1A1A;
    opacity: 1;
}

/* outline button for light backgrounds */

.btn-outline-dark {
    background-color: transparent;
    color: #1A1A1A;
    border: 2px solid #1A1A1A;
}

.btn-outline-dark:hover {
    background-color: #1A1A1A;
    color: #F4F6F0;
}


/*   image styles */

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.hero-image img {
    width: 100%;
    height: auto;
}

.about-image img {
    width: 340px;
    height: auto;
}

.featured-main-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    margin-bottom: 10px;
}

.featured-thumbs {
    display: flex;
    gap: 8px;
}

.featured-thumbs img {
    width: 32%;
    height: 90px;
    object-fit: cover;
}

.project-tag {
    color: #F16E71;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
}

/* work grid */
/* NB: reference this = https://www.w3schools.com/css/css_grid.asp */

.work-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    max-width: 1100px;
    margin: 0 auto 40px auto;
}

.work-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}


/*

NB : FROM HERE ARE MY ABOUT PAGE STYLES

*/

/* about hero section */

.about-hero {
    background-color: #F4F6F0;
    padding: 90px 40px;
}

.about-hero-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

.about-hero-text {
    flex: 1;
}

.about-hero-image {
    flex: 1;
}

.about-hero-image img {
    width: 100%;
    height: auto;
}

/* story blocks section */

.about-stories {
    background-color: #1A1A1A;
    padding: 90px 40px;
}


.story-block {
    max-width: 1100px;
    margin: 0 auto 90px auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

.story-block:last-child {
    margin-bottom: 0px;
}

/* text left, image right */

.story-block-right {
    flex-direction: row;
}

.story-block-right .story-text {
    flex: 1;
}

.story-block-right .story-image {
    flex: 1;
}

/* image left, text right */

.story-block-left {
    flex-direction: row;
}

.story-block-left .story-image {
    flex: 1;
}

.story-block-left .story-text {
    flex: 1;
}

.story-text h2 {
    color: #F4F6F0;
    margin-bottom: 20px;
}

.story-text p {
    color: #F4F6F0;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 0px;
}

.story-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}


/* 

   RESPONSIVE STYLES


   */


/* ---- 768px breakpoint (tablets) ---- */

@media (max-width: 768px) {

    /* header */

    header {
        height: auto;
        padding: 16px 20px;
    }

    .header-inner {
        flex-direction: column;
        gap: 12px;
    }

    nav ul {
        gap: 16px;
    }

    /* hero section */

    .section-hero {
        flex-direction: column;
        padding: 50px 20px;
        gap: 30px;
    }

    .hero-content {
        width: 100%;
    }

    .hero-image {
        width: 100%;
    }

    /* about section */

    .section-about {
        padding: 50px 20px;
    }

    .section-about .about-inner {
        flex-direction: column;
        gap: 30px;
    }

    .about-image img {
        width: 100%;
    }

    /* featured project */

    .section-featured {
        padding: 50px 20px;
    }

    .featured-inner {
        flex-direction: column;
        gap: 30px;
    }

    /* work grid - 2 columns on tablet */

    .work-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .section-work {
        padding: 50px 20px;
    }

    .section-cta {
        padding: 60px 20px;
    }

    /* footer */

    footer {
        padding: 30px 20px 0px 20px;
    }

    .footer-inner {
        flex-direction: column;
        gap: 20px;
        align-items: center;
        text-align: center;
    }

    footer nav ul {
        text-align: center;
    }

    .footer-credit {
        text-align: center;
    }

    /* about page */

    .about-hero {
        padding: 50px 20px;
    }

    .about-hero-inner {
        flex-direction: column;
        gap: 30px;
    }

    .about-stories {
        padding: 50px 20px;
    }

    .story-block {
        flex-direction: column;
        gap: 30px;
        margin-bottom: 60px;
    }

    /* This will make image always show below text on tablet for both block types
        - remember for future use */
    
    .story-block-left {
        flex-direction: column-reverse;
    }

}


/* ---- 480px breakpoint (mobile phones) ---- */

@media (max-width: 480px) {

    /* smaller heading sizes so they dont overflow */

    h1 {
        font-size: 26px;
    }

    h2 {
        font-size: 20px;
    }

    h3 {
        font-size: 16px;
    }

    /* header */
    header {
        padding: 14px 16px;
    }

    .logo-img {
        height: 55px;
    }

    nav ul {
        gap: 10px;
    }

    header nav a {
        font-size: 12px;
    }

    /* sections */

    .section-hero {
        padding: 30px 16px;
    }

    .section-about {
        padding: 30px 16px;
    }

    .section-featured {
        padding: 30px 16px;
    }

    .section-work {
        padding: 30px 16px;
    }

    .section-cta {
        padding: 50px 16px;
    }

    /* work grid - 1 column on mobile */

    .work-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    /* footer */

    footer {
        padding: 24px 16px 0px 16px;
    }

    .footer-logo .logo-img {
        height: 70px;
    }

    /* about page */
    
    .about-hero {
        padding: 30px 16px;
    }

    .about-stories {
        padding: 30px 16px;
    }

    .story-block {
        margin-bottom: 40px;
    }

}