:root {
     --white: #FFFFFF;
     --pink: #F69CAA;
     --green: #008E4F;
     --red: #EE3C25;
     --blue: #3B5BA9;
}

html {
     scroll-behavior: smooth;
     font-family: 'WebFont', made_tommy, sans-serif; 
     text-align: center;
 }

/* Fonts & Typography */

@font-face {
	font-family: 'Made-Tommy';
	font-display: swap;
	font-weight: 800;
	font-style: normal;
	src:  url('../fonts/made_tommy_extrabold-webfont.woff2') format('woff2');
}

@font-face {
	font-family: 'Made-Tommy';
	font-display: swap;
	font-weight: 700;
	font-style: normal;
	src:  url('../fonts/made_tommy_bold-webfont.woff2') format('woff2');
}

@font-face {
	font-family: 'Made-Tommy';
	font-display: swap;
	font-weight: 500;
	font-style: normal;
	src:  url('../fonts/made_tommy_medium-webfont.woff2') format('woff2');
}

@font-face {
	font-family: 'Made-Tommy';
	font-display: swap;
	font-weight: 400;
	font-style: normal;
	src:  url('../fonts/made_tommy_regular-webfont.woff2') format('woff2');
}

.bold {
    font-family: 'Made-Tommy';
	font-weight: 700;
}

/* Base */

.menu-open:visited {
    color: var(--white);
}

img {
     max-width: 100%;
     margin: 0 auto;
}
 
.wrapper, .container {
     margin: 0 auto;
}

.container {
     max-width: 50rem;
}

.margin {
    margin: 0 1.25rem;
}

.flex {
     display: flex;
}

.block {
    display: block;
    margin-inline: auto;
}

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

a {
     text-decoration: none;
}

a:active,
a:focus,
input:focus {
    border: 0;
    outline: 0;
}

main {
    display: flex;
    justify-content: center;
    align-items: center;
}

.button {
    display: block;
    width: fit-content;
    margin-top: 1.2rem;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    font-family: 'Made-Tommy';
	font-weight: 800;
    color: var(--white);
    outline: none;
    place-self: center;
}

.pink-button {
    background-color: var(--pink);
    transition: color 0.3s ease-in-out;
}

.pink-button:hover {
    background-color: var(--red);
}

.green-button {
    background-color: var(--green);
    transition: color 0.3s ease-in-out;
}

.green-button:hover {
    background-color: var(--blue);
}

.red-button  {
    background-color: var(--red);
    transition: color 0.3s ease-in-out;
}

.red-button:hover {
    background-color: var(--pink);
}

.blue-button  {
    background-color: var(--blue);
    transition: color 0.3s ease-in-out;
}

.blue-button:hover {
    background-color: var(--green);
}

.design-page-button {
    align-items: center;
    justify-content: center;
}

.breadcrumb {
    margin-top: 1.5rem;
    font-family: 'Made-Tommy';
	font-weight: 400;
    font-size: 0.75rem;
    text-align: left;
    display: block;
}

.arrow {
    height: 0.85rem;
    width: auto;
}

.scroll-arrow {
    height: 1rem;
    width: auto;
    opacity: 0;
}

.pink-type {
    color: var(--pink);
}

.green-type {
    color: var(--green);
}

.red-type {
    color: var(--red);
}

.blue-type {
    color: var(--blue);
}

body.noscroll {
    overflow: hidden;
    position: fixed;
}

.image-hover {
    overflow: hidden; 
}
  
.image-hover img {
    width: 100%;
    height: 100%;
    transition: transform 0.3s; 
}
  
.image-hover:hover img {
    transform: scale(1.025); 
}

/* Desktop Breakpoint Columns */

.left-6-columns, .right-6-columns {
    grid-column: auto / span 12;
}

.left-6-columns img {
    width: 100%;
    height: auto;
}

.right-6-columns img {
    width: 100%;
    height: auto;
}

 /* Header */

.site-header-menu {
    padding-top: 2rem;
}

.site-header-logo {
    max-width: 5rem;
}

.site-header-logo #bm {
     width: 4.5rem;
}

.site-header-logo img {
    width: 4.5rem;
}

.site-header-menu ul {
    justify-content: space-between;
    align-items: center;
}

.menu-item {
	font-family: 'Made-Tommy';
	font-weight: 800;
}

.menu-close-icon {
    position: absolute;
    right: 0;
    top: 0;
}

.js-nav .menu-items {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.menu-items li a {
    font-size: 1.25rem;
}


.site-header-menu li {
    padding-block: 0.75rem;
}

.js-nav {
    padding-right: 0;
    position: fixed;
    top: 0;
    right: 0;
    flex-grow: 1;
    height: 0;
    justify-content: center;
    transform: translateY(-100%);
    transition: transform 250ms ease;
    z-index: 100;
    background-color: var(--white);
    text-align: center;
    overflow: hidden;
}

.js-nav.open {
    transform: translateY(0%);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow-y: hidden;
}

.js-nav a {
     font-size: 1rem;
}

.menu-open {
    width: 1.5rem;
}

.menu-close {
    margin-top: 4.5rem;
    margin-right: 1.25rem;
    width: 1.15rem;
    height: auto;
}

.about {
    color: var(--red);
    transition: color 0.3s ease-in-out;
}

.about:hover {
    color: var(--blue);
}

.design {
    color: var(--pink);
    transition: color 0.3s ease-in-out;
}

.design:hover {
    color: var(--blue);
}

.art-direction {
    color: var(--green);
    transition: color 0.3s ease-in-out;
}

.art-direction:hover {
    color: var(--blue);
}

 /* Home Page Content */

.greeting {
    margin: 3rem 0 1.25rem 0;
    grid-column: auto / span 12;
	font-family: 'Made-Tommy';
	font-weight: 800;
    font-size: 2.75rem;
    line-height: 2.5rem;
    text-transform: uppercase;
    background: linear-gradient(0, #008E4F, #3B5BA9);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
}

.featured-project-header {
    margin-top: 3.5rem;
    grid-column: auto / span 12;
    font-family: 'Made-Tommy';
	font-weight: 800;
    font-size: 2rem;
    color: var(--red);
}

.featured-projects img {
    margin-top: 4rem;
}

.featured-projects p {
    grid-column: auto / span 12;
    margin-top: 1rem;
	font-weight: 400;
    font-size: 1rem;
    line-height: 1.6rem;
    color: var(--blue);
}

/* About Page Content */

.about h1 {
    margin-top: 2.5rem;
    grid-column: auto / span 12;
    font-family: 'Made-Tommy';
	font-weight: 800;
    font-size: 2rem;
    text-align: center;
    color: var(--red);
}

.about img {
    margin: 2rem 0 1rem 0;
    grid-column: 5 / span 4;
    aspect-ratio: 1 / 1.1;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
}

.about p {
    margin-top: 1rem;
    grid-column: auto / span 12;
    font-family: 'Made-Tommy';
	font-weight: 400;
    font-size: 1rem;
    line-height: 1.6rem;
    color: var(--blue);
}

.kids-pic {
    margin-top: 2rem;
    grid-column: auto / span 12;
}

.kids {
    margin-top: 1rem;
    grid-column: auto / span 12;
}

/* Design Page Content */

.design-page h1, h3 {
    margin: 4rem 0 0.75rem 0;
    font-family: 'Made-Tommy';
	font-weight: 800;
    font-size: 1.25rem;
    line-height: 1.25;
    text-align: center;
}

.design-page img {
    margin-top: 0.5rem;
    aspect-ratio: 3 / 2;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
}

/* Art Direction Page Content */

.desktop-6-col-centre {
    grid-column: auto / span 12;
}

/* Project Page Content */

.project-page h1 {
    margin-top: 3.75rem;
    margin-bottom: -1rem;
    grid-column: auto / span 12;
    font-family: 'Made-Tommy';
	font-weight: 800;
    font-size: 1.5rem;
}

 .project-page h3 {
    margin-top: 2rem;
    font-family: 'Made-Tommy';
	font-weight: 800;
    font-size: 1.25rem;
}

 .project-img {
    margin-top: 4rem;
    aspect-ratio: 3.5 / 2;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
}

.project-page p {
    margin-top: 1rem;
    font-family: 'Made-Tommy';
	font-weight: 400;
    font-size: 1rem;
    line-height: 1.6rem;
}

.cover-img {
    grid-column: auto / span 12;
}

.project-page ul {
    margin-top: 4.5rem;
}

.project-page li {
    font-family: 'Made-Tommy';
	font-weight: 700;
    line-height: 2rem;
}

.project-1-2, .project-1-3 {
    grid-column: auto / span 12;
    margin-top: 2rem;
}

.overview {
    grid-column: auto / span 12;
}

.tools, .role {
    grid-column: auto / span 12;
}

.image-col {
    grid-column: auto / span 12;
}

.text-col {
    grid-column: auto / span 12;
}

.monster-project-img {
    margin-top: 4rem;
    aspect-ratio: 3.5 / 2.65;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
}

/* Footer */

.site-footer {
    margin: 2rem 0 1.5rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.site-footer .social-icons {
    justify-content: center;
    align-items: center;
}

.contact {
    text-align: center;
    font-family: 'Made-Tommy';
    font-weight: 800;
    font-size: 1.25rem;
    color: var(--pink);
}

.social-icons li {
    margin: 1.25rem 0.9rem;
}

.site-footer p {
    font-weight: 400;
    font-size: 0.875rem;
    color: var(--blue);
}

/* Media Queries */

/* Mobile */

@media screen and (max-width: 768px) {

    /* Base */
    .wrapper {
        max-width: unset;
    }

    .js-nav {
        max-width: unset;
    }
}

/* Tablet */
@media screen and (min-width: 768px) {

    /* Base */
    .wrapper {
        max-width: 48rem;
    }

    .container {
        max-width: 75rem;
        margin: 0 auto;
        position: relative;
    }

    .margin {
        margin: 0 4rem;
    }

    .grid {
        gap: 2.5rem;
   }

    .breadcrumb {
        margin-top: 1.75rem;
        font-size: 1rem;
    }

    /* Header */

    .site-header-logo #bm {
        width: 5rem;
    }

    .site-header-logo img {
        width: 5rem;
   }

    .menu-items li a {
        font-size: 1.5rem;
    }
    
    .menu-open {
       width: 1.8rem;
    }
   
    .menu-close {
        margin-right: 4.15rem;
        width: 1.25rem;
    }

   /* Home Page Content */

    .greeting {
        margin: 4rem 1rem 4rem 1rem;
        font-size: 5rem;
        line-height: 4.4rem;
    }

     .featured-project-header {
        margin-bottom: -2.5rem;
        font-size: 2.5rem;
    }

    .featured-project-2 img {
        margin-top: 2rem;
    }

      /* About Page Content */

      .about h1 {
        margin-top: 3rem;
        font-size: 2rem;
     }

      .about img {
        grid-column: 5 / span 4;
    }

    /* Design Page Content */

    .design-page h1, h3 {
        margin-top: 5rem;
        font-size: 2rem;
    }
    
    /* Art Direction Page Content */

    .art-direction-page h1 {
        font-size: 2rem;
    }

    .art-direction-page img {
        margin-top: 4rem;
    }

    /* Project Page Content */

    .project-page h1 {
        margin-bottom: -2rem;
        font-size: 2rem;
    }

    .project-page h3 {
        margin-top: 0.5rem;
        font-size: 1.75rem;
    }

    .row-gap-p {
        margin-bottom: -2.5rem;
    }

    .project-1-2 {
        grid-column: auto / span 6;
        margin-top: 0rem;
    }

    .project-1-3 {
        grid-column: 7 / span 6;
        margin-top: 0rem;
    }

    .tools {
        grid-column: 4 / span 3;
    }

    .role {
        grid-column: 7 / span 3;
    }

    /* Footer */

    .site-footer {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin: 6rem 4rem 2rem 4rem;
    }
    
    .social-icons {
        order: 2;
    }
    
    .contact {
        order: 1;
        margin: 0;
        font-size: 1.25rem;
        align-self: center;
    }
    
    .social-icons li {
        margin: 1.25rem 0 1.25rem 1.85rem;
    }

    .social-icons img {
        width: 1.25rem;
        height: auto;
    }
    
    p.copyright {
        position: relative;
        order: 3;
        font-size: 1rem;
        margin-left: auto;
    }
}

/* Desktop */

@media screen and (min-width: 1024px) {
    
    /* Base */
    .wrapper {
        max-width: 75rem;
    }

    .container {
        max-width: 180rem;
        position: relative;
        display: flex;
        justify-content: space-between;
    }

    .margin {
        margin: 0 11.875rem;
    }

    header.margin {
        margin: auto;
        padding: 2rem 4rem;
    }

    .grid {
        gap: 2.5rem;
    }

    .left-6-columns {
        grid-column: auto / span 6;
    }

    .right-6-columns  {
        grid-column: 7 / span 6;
    }

    /* Header */

    .site-header-menu {
        display: flex;
        align-items: center;
        max-width: 95rem;
    }

    .js-nav .menu-items {
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 100%;
    }

    .js-nav {
        display: flex;
        position: relative;
        padding: unset;
        transform: unset;
        transition: unset;
        height: 100%;
        justify-content: flex-end;
    }

    .js-nav ul {
        display: flex;
        align-items: center;
    }
    
    .js-nav a {
        justify-content: flex-end;
    }

    .site-header-menu li {
        margin-top: unset;
    }

    .menu-items li {
        display: inline-block;
        position: relative;
    }

    .menu-items li a {
        font-size: 1.15rem;
        position: relative;
        text-decoration: none;
        overflow: hidden;
        margin-left: 2rem;
    }
  
    .menu-items li a::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -0.25rem;
        width: 100%;
        height: 0.15rem;
        background-image: linear-gradient(to right,  var(--pink), var(--red));
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.3s ease-in-out;
    }
  
    .menu-items li a:hover::after {
        transform: scaleX(1);
    }
  
    .menu-items li a.underline {
        text-decoration: underline;
        text-decoration-color: var(--blue);
        text-underline-offset: 0.422rem;
        text-decoration-thickness: 0.15rem;
    }

    .site-header-logo #bm {
        width: 5rem;
    }

    .site-header-logo img {
        width: 5.25rem;
   }

    .menu-close, 
    .menu-open {
        display: none;
    }

    .menu-close-icon {
        display: none;
    }

    /* .js-nav li a {
        position: relative;
        padding-left: 20px; 
    }

    .js-nav li a:hover:before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 16px; 
        height: 16px; 
        background-image: url("images/asterisk.svg"); 
        background-repeat: no-repeat;
        background-size: cover;
        margin-right: 10px; 
    } */

    /* Home Page Content */
    .greeting {
        margin: 5rem 1rem 5rem 1rem;
        font-size: 7rem;
        line-height: 6.2rem;
    }

    .scroll-arrow {
        opacity: 100%;
    }
     .featured-project-header {
        font-size: 3rem;
        margin-bottom: 2rem;
    }

    .featured-project-1 img {
        margin-top: 0;
    }

    .featured-project-2 img {
        margin-top: 0;
    }

    .featured-projects p {
        margin-top: 1.25rem;
        font-size: 1.15rem;
        line-height: 1.8rem;
    }

    /* About Page Content */

    .about h1 {
        font-size: 3rem;
    }

    .about img {
        grid-column: 5 / span 4;
    }

    .about p {
        font-size: 1.25rem;
        line-height: 1.7rem;
    }

    .kids-pic {
        margin-top: 4rem;
        grid-column: 3 / span 8;
    }

    .kids {
        margin-top: 1rem;
        grid-column: 3 / span 8;
    }

    /* Design Page Content */

    .design-page h1, h3 {
        margin-top: 3rem;
        font-size: 1.75rem;
    }

    /* Art Direction Page Content */

    .desktop-6-col-centre {
        grid-column: 4 / span 6;
    }

    /* Project Page Content */

    .project-page h1 {
        font-size: 3rem;
        margin: 7rem 0 0.25rem 0;
    }

    .project-page h3 {
        margin-top: 4rem;
        font-size: 2rem;
    }

    .project-page p, ul {
        font-size: 1.15rem;
        line-height: 1.8rem;
    }

    .project-page li {
        line-height: 2.5rem;
    }

    .row-gap-p {
        margin-bottom: -2rem;
    }

    .image-col {
        grid-column: auto / span 8;
    }

    .text-col {
        grid-column: auto / span 4;
    }

    .left-align-text {
        text-align: left;
    }

    .overview {
        margin-top: -3.5rem;
        grid-column: auto / span 12;
    }

    .tools, .role {
        margin-top: -3rem;
    }

    /* Footer */

    .site-footer {
        max-width: 85rem;
        display: flex;
        justify-content: center;
        margin: auto;
        padding: 6rem 4rem 2rem 4rem;
    }

}
