* {
    box-sizing: border-box;
}

.flex {
    display: flex;
    /* flex-wrap: wrap; */
}

.grid {
    display: grid;
}

/* NAV BAR MEDIA QUERIES */

@media (width < 32rem) {

    .nav-bar {
        padding-left: 1rem;
        padding-right: 0;
    }

    .nav-buttons {
        grid-template-columns: 1fr;
        display: none;
    }

    /* Show .nav-buttons when 'active' class is added */
    .nav-buttons.active {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 50%;
        bottom: 50%;
        left: 50%;
        right: 50%;
        z-index: 2;
    }

    .side-bar-bg {
        background-color: white;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 2;
    }

    .menu-toggle-button {
        display: block;
        justify-self: right;
        margin: 0.5rem;
        z-index: 3;
    }
    
    .button-nav {
        max-height: 8rem;
        padding: 1.5rem;
        margin-bottom: auto;
    }
    
}

@media (width >= 32rem) {

    .nav-buttons {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

}

/* PROJECT SECTION MEDIA QUERIES */

@media (width < 35.25rem) {

    .projects-heading {
        grid-template-columns: 1fr;
    }

    .projects-heading h2, .projects-heading .default-button-two {
        justify-self: center;
        margin: auto;
        margin-bottom: 1rem;
    }
    
}

@media (width >= 35.25rem) {

    .projects-heading {
        grid-template-columns: 1fr 1fr;
    }

}


/* ABOUT SECTION MEDIA QUERIES */

@media (width < 49.38rem) {

    .about-section {
        grid-template-columns: 1fr;
        row-gap: 2rem;
        padding-top: 0;
        padding-bottom: 0;
    }

}

@media (width >= 49.38rem) {

    .about-section {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

}

/* WORK CONTAINER MEDIA QUERIES */

@media (width <= 42.19rem) {

    .work-container {
        grid-template-columns: 1fr;
        row-gap: 2rem;
    }

}

@media (min-width: 42.19rem) {
    
    .work-container {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        row-gap: 2rem;
    }

}

@media (min-width: 63.56rem) {
    
    .work-container {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        gap: 2rem;
        row-gap: 2rem;
    }

    .work-item {
        grid-column: span 2;
    }

    .mid-block {
        grid-column: span 3;
    }

    .long-block {
        grid-column: span 4;
    }

    .work-image-mid {
        max-width: 39rem;
    }

    .work-image-long {
        max-width: 52.5rem;
    }

}

@media (width >= 85.88rem) {
    
    .work-container {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        gap: 2rem;
        row-gap: 2rem;
    }

    .work-item {
        grid-column: span 2;
    }

    .mid-block {
        grid-column: span 3;
    }

    .long-block {
        grid-column: span 4;
    }

    .work-image-mid {
        max-width: 39rem;
    }

    .work-image-long {
        max-width: 52.5rem;
    }

}

/* PROJECT SIDE BAR MEDIA QUERIES */

@media (width < 42.75rem) {

    /* .side-bar-section, .side-bar {
        background-color: none;
        position: absolute; 
        display: none; 
        visibility: hidden; 
        width: 0; 
        height: 0;
        padding: 0; 
        margin: 0; 
    } */

    .side-bar {
        background-color: none;
        position: relative;
        padding: 0;
        padding-left: 1.5rem;
        padding-bottom: 0.5rem;
        max-width: 10rem;
    }

    .side-bar h1, .side-bar h2 {
        display: block;
        margin: 0;
    }

    .side-bar .side-button {
        display: none;
    }

    .intro-section, .project-overview-section, #functionalities_section, .challenges-section, .solution-section, .final-product-section, #key_features_section, .key-takeaway-section, .design-concept-section {
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin-left: 1.5rem;
    }

    .intro-section {
        margin-top: 0;
    }

}


/* PROJECT HERO SECTION MEDIA QUERIES */

@media (width <= 71.44rem) {

    #soul_waves_hero_video {
        display: none;
    }

    #soul_waves_hero_image {
        display: block;
    }

}

/* INTRO SECTION MEDIA QUERIES */

@media (max-width: 32.5rem) {
    
    .project-info {
        grid-template-columns: 1fr;
    }
    
    .project-info dl {
        padding-top: 0.5rem;
    }

    .intro-section {
        height: auto;
    }

}

@media (min-width: 32.5rem) {

    .project-info {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    #intro_content {
        margin: 1rem;
    }

    .intro-section {
        height: auto;
    }

}

@media (min-width: 42.75rem) {

    .project-info {
        display: flex;
        justify-content: space-between;
    }

    #intro_content {
        margin-left: 1rem;
        margin-right: 1rem;
    }

}


/* PROJECT OVERVIEW SECTION MEDIA QUERIES */

@media (width <= 52.5rem) {
    
    .project-overview-image {
        width: 14rem;
    }

}

@media (width <= 62.69rem) {

    .project-overview-section {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

}

@media (min-width: 62.69rem) {

    .project-overview-section {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
    
    .project-overview-image {
        width: 11rem;
    }

}

@media (min-width: 70.56rem) {

    .project-overview-section {
        grid-template-columns: 2fr 3fr;
        gap: 2rem;
    }
    
    .project-overview-image {
        width: 16rem;
    }

}

@media (width >= 83.88rem) {
    
    .project-overview-section {
        grid-template-columns: 2fr 3fr;
        gap: 2rem;
    }

    .project-overview-image {
        width: 20rem;
    }

}


/* FUNCTIONALITIES CONTAINER MEDIA QUERIES */

@media (width <= 40.31rem) {

    .functionalities-container video {
        width: 100%;
        height: 100%;
    }

}

@media (min-width: 61.25rem) {
    
    .functionalities-container {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

}

@media (width >= 83.88rem) {
    
    .functionalities-container {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

}


/* SOLUTION SECTION MEDIA QUERIES */

@media (width < 67rem) {

    .solution-section {
        grid-template-columns: 1fr;
        row-gap: 2rem;
    }

    #solution_content video {
        width: 100%;
        height: 100%;
    }

}

@media (min-width: 67rem) {

    .solution-section {
        grid-template-columns: 2fr 3fr;
        gap: 2rem;
    }

    #solution_code_image {
        width: 25rem;
    }

    #solution_content video {
        width: 100%;
        height: 100%;
    }

}

@media (width >= 83.88rem) {
    
    .solution-section {
        grid-template-columns: 2fr 3fr;
        gap: 2rem;
    }

    #solution_code_image {
        width: 27rem;
    }

}


/* FINAL PRODUCT SECTION MEDIA QUERIES */

@media (width >= 52rem) {
    
    .final-product-section {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

}

/* MOOVIEW PAGE */

/* KEY FEATURES CONTAINER MEDIA QUERIES */

@media (width <= 61.25rem) {

    .key-features-container {
        grid-template-columns: 1fr;
        row-gap: 1rem;
    }

}

@media (min-width: 61.25rem) {
    
    .key-features-container {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

}

@media (width >= 83.88rem) {
    
    .key-features-container {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 1rem;
    }

}

/* SOLUTION SECTION - COMMENT CONTAINER MEDIA QUERIES */

@media (width >= 52rem) {
    
    .solution-image-container {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

}

/* SPES PAGE */

/* DESIGN CONCEPT CONTAINER MEDIA QUERIES */

@media (width <= 61.25rem) {

    .design-concept-container {
        grid-template-columns: 1fr;
        row-gap: 1rem;
    }

}

@media (min-width: 61.25rem) {
    
    .design-concept-container {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

}

/* SECTIONS MAIN (MARGIN) CHANGE FOR SMALL DEVICES */

@media (width <= 42.69rem) {

    #hero_section, .about-section, #work_section, .contact-section, .project-overview-section, #functionalities_section, .challenges-section, .solution-section, .final-product-section {
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin: 1.5rem;
    }

    .about-section, #work_section {
        margin-top: 4rem;
    }

    h1 {
        font-size: 2.2rem;
    }
    
    h2 {
        font-size: 1.8rem;
    }
    
    h3 {
        font-size: 1.4rem;
    }

    #inner_greetings span {
        font-size: 2.2rem;
    }

    .functionalities-item h3 {
        font-size: 1.4rem;
    }

    #hidden_image, #arrow_button {
        display: none;
    }

}

.project-info {
    /* grid-template-columns: 1fr 1fr; */
}