:root{
    --xlarge-vertical-margin: 180px;
    --large-vertical-margin: 80px;
    --medium-vertical-margin: 40px;
    --small-vertical-margin: 20px;
    --horizontal-margin: 40px;

    --main_section-narrow-column: 20vw;
    --main_section-wide-column: calc(40vw + 40px);
    --main_section-full-width: calc(70vw - 80px);
    
}





@font-face {
    font-family: Poppins_Bold;
    src: url(typography/Poppins-Bold.ttf);
}
@font-face {
    font-family: Poppins_Medium;
    src: url(typography/Poppins-Medium.ttf);
}





*{
    margin: 0;
    padding: 0;
}




h1,p,a,li{
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-weight: 400;
    font-style: normal;
}
h1::selection,p::selection,a::selection,li::selection,a:hover{
    color: #3e00e8;
}

h1{
    font-weight: normal;
    font-size: 1.8em;
    margin-top: 0;
    margin-bottom: 1em;
}
h1,a{
    hyphens: none;
}

ol,ul,p{
    margin-bottom: var(--small-vertical-margin);
}
p,a,li{
    font-size: 0.9em;
    line-height: 1.2;
}
p,li{
    hyphens: auto;
}
li{
    margin-left: 1.5em;
}

a{
    text-decoration: underline;
    margin-bottom: 0.5em;
    cursor: pointer;
    color: unset;
    transition: color ease-out 0.2s;
}

hr{
    margin-bottom: var(--medium-vertical-margin);
    border: 1px solid black;
}









#side_container{
    width: calc(30vw - 80px);
    height: calc(100vh - 2* var(--medium-vertical-margin));
    padding: var(--medium-vertical-margin) var(--horizontal-margin) var(--medium-vertical-margin) var(--horizontal-margin);
    border-right: 1px solid black;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    position: fixed;
}
        #side_container a{
            font-size: 1.8em;
            display: inline-table;
            margin-bottom: 0;
        }



#main_container{
    width: var(--main_section-full-width);
    margin-left: 30vw;
    padding: var(--medium-vertical-margin) var(--horizontal-margin) var(--medium-vertical-margin) var(--horizontal-margin);
}

    .image_container{
        width: var(--main_section-full-width);
        margin-bottom: var(--medium-vertical-margin);
        display: flex;
        justify-content: space-between;
    }
        .image_container video, .image_container img{
            width: var(--main_section-narrow-column);
            object-fit: cover;
        }
        img,video{
            border-radius: 10px;
            border: 1px solid black;
        }

    .client_intro_container{
        display: flex;
        margin-bottom: var(--large-vertical-margin);
        margin-top: var(--large-vertical-margin);
    }
        .client_intro_container div{
            width: var(--main_section-wide-column);
        }
        .client_intro_container > :first-child{
            width: var(--main_section-narrow-column);
            margin-right: var(--horizontal-margin);
        }
        .keywords{
            margin-bottom: 0;
        }



#intro_container{
    text-align: right;
    height: 60vh;
    width: var(--main_section-wide-column);
    margin-left: calc(var(--main_section-full-width) - var(--main_section-wide-column));
}
#me_img{
    width: 50vw;
    border: none;
    position: fixed;
    top: 25vh;
    right: 10vw;
    z-index: -100;
    filter: blur(15px);
    opacity: 0.8;
    transition: all ease-out 0.2s;
}



.svg_container{
    position: relative;
    border-radius: 10px;
    margin-bottom: var(--medium-vertical-margin);
}
.svg_container svg{
    position: absolute;
    stroke-linecap: round;
}
    #CC_logo{
        height: 65vh;
        background-color: #faf7f0;
    }
        .CC_carve_svg_path{
            fill: none;
            stroke: #0066ff;
            stroke-width: 90px;
        }
        #hero_logo{
            fill: #0066ff;
            top: 15vh;
            stroke-width: 7px;
            width: calc(50vw - 80px);
            margin-left: 10vw;
        }
            #Logo-Block1, #Logo-Block3{
                    stroke: #0066ff;
                }
            #Logo-Block2{
                stroke: #faf7f0;
            }

    #CC_CNC_container{
        height: 92vw;
        margin-top: var(--large-vertical-margin);
    }
        #CC_CNC{
            width: 30vw;
            margin-right: var(--horizontal-margin);
        }
        #cnc_svg_m{
            display: none;
        }
        #cnc_svg_d{
            stroke: #0066ff;
            stroke-width: 4px;
            fill: none;
            overflow: visible;
            width: calc(48vw - 80px);
        }
    #CC_extra_twist_container{
        height: fit-content;
        width: calc(35vw - 40px);
        position: sticky;
        top: var(--medium-vertical-margin);
    }



#S_extra_twist_container{
    position: relative;
    height: 100vh;
    margin-bottom: var(--medium-vertical-margin);
}
    #S_extra_twist_container .client_intro_container{
        position: absolute;
        height: fit-content;
        bottom: calc(-1* var(--large-vertical-margin));
    }
    #S_canvas{
        position: absolute;
        border-radius: 10px;
        width: var(--main_section-full-width);
        height: 100vh;
        cursor: pointer;
    }


#C_first_image_container video, #C_first_image_container img{
    height: 70vh;
}
#C_first_image_container img{
    width: 20vw;
}
#C_first_image_container video{ 
    width: var(--main_section-wide-column);
}
#C_extra_twist_container{
    display: flex;
    justify-content: space-between;
    width: var(--main_section-full-width);
}
    #C_extra_twist_container .image_container{
        display: block;
        width: var(--main_section-wide-column);
    }
        #C_extra_twist_container img,#C_image_container_2 img{
            width: 31vw;
            height: 75vh;
        }
        #C_extra_twist_container .image_container > :first-child{
            margin-bottom: var(--medium-vertical-margin);
        }
    #C_extra_twist_text_container{
        display: block;
        width: 31vw;
        position: sticky;
        top: var(--medium-vertical-margin);
        height: fit-content;
        margin-bottom: var(--small-vertical-margin);
    }



#ND_extra_twist_container{
    margin-bottom: var(--medium-vertical-margin);
}



#contact_container{
    height: 80vh;
    margin-bottom: var(--medium-vertical-margin);
}
    .contact_inline_link_container{
        display: flex;
    }
        .contact_inline_link_container a{
            margin-right: 0.4em;
        }








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


}





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

    :root{
        /* --xlarge-vertical-margin: 180px;
        --large-vertical-margin: 80px;
        --medium-vertical-margin: 40px;
        --small-vertical-margin: 20px;
        --horizontal-margin: 40px;

        --main_section-narrow-column: 20vw;
        --main_section-wide-column: calc(40vw + 40px);
        --main_section-full-width: calc(70vw - 80px); */

        --xlarge-vertical-margin: 100px;
        --large-vertical-margin: 60px;
        --medium-vertical-margin: 30px;
        --small-vertical-margin: 10px;
        --horizontal-margin: 20px;

        --main_section-full-width: calc(100vw - 40px);
    }



    #side_container{
        background-color: white;
        width: calc(100vw - 40px);
        height: unset;
        padding: 5px var(--horizontal-margin) var(--small-vertical-margin) var(--horizontal-margin);

        border-right: none;
        border-bottom: 1px solid black;
        z-index: 100;
    }
        #side_container h1{
            display: none;
        }
        #side_container div{
            display: flex;
            justify-content: space-between;
        }
            #side_container a{
                font-size: 1em;
            }
    


    #main_container{
        width: var(--main_section-full-width);
        margin-left: 0;
        padding: var(--large-vertical-margin) var(--horizontal-margin) var(--medium-vertical-margin) var(--horizontal-margin);
    }

        .client_intro_container{
            display: block;
            margin-bottom: var(--xlarge-vertical-margin);
            margin-top: var(--xlarge-vertical-margin);
        }
            .client_intro_container > :first-child{
                width: calc(var(--main_section-full-width) - 14vw);
                margin-bottom: var(--medium-vertical-margin);
            }
            .client_intro_container div{
                width: calc(var(--main_section-full-width) - 14vw);
                margin-left: 7vw;
            }

        .image_container{
            flex-wrap: wrap;
            justify-content: center;
        }
            .image_container video, .image_container img{
                width: calc((var(--main_section-full-width) - var(--horizontal-margin) - 10px) /2);
                margin: 5px;
            }



    #intro_container{
        height: 50vh;
        width: var(--main_section-full-width);
        margin-left: 0;
    }
    #me_img{
        width: var(--main_section-full-width);
        top: unset;
        right: unset;
        top: 50vh;
    }
            


    .svg_container{
        margin-bottom: calc(-1 * var(--medium-vertical-margin));
    }
        #CC_logo{
            height: 30vh;
        }
            #hero_logo{
                top: 7vh;
                stroke-width: 7px;
                width: calc(80vw - 40px);
                margin-left: 8vw;
            }

        #CC_CNC_container{
            height: 1340px;
            justify-content: left;
            flex-direction: column-reverse;
        }
            #CC_CNC{
                height: 900px;
            }
                #cnc_svg_d{
                    display: none;
                }
                #cnc_svg_m{
                    display: block;
                    stroke: #0066ff;
                    fill: none;
                    overflow: visible;
                    stroke-width: 6px;
                    width: var(--main_section-full-width);
                }
            #CC_extra_twist_container{
                width: calc(var(--main_section-full-width) - 14vw);
                position: static;
                margin-bottom: var(--xlarge-vertical-margin);
                margin-top: var(--large-vertical-margin);
            }
                #CC_extra_twist_container p{
                    margin-left: 7vw;
                }

        

    #S_extra_twist_container, #S_canvas{
        height: 650px;
    }



    #C_first_image_container, #C_image_container_2{
        display: block;
    }
        #C_first_image_container img, #C_first_image_container video, #C_image_container_2 img{ 
            width: calc(var(--main_section-full-width) - 10px);
        }

    #C_extra_twist_container{
        flex-direction: column-reverse;
        width: var(--main_section-full-width);
    }
        #C_extra_twist_container .image_container, #C_extra_twist_container img,#C_image_container_2 img{
            width: calc(var(--main_section-full-width) - 10px);
        }
        #C_extra_twist_container .image_container > :first-child{
            margin-bottom: 0;
        }

        #C_extra_twist_text_container{
            position: static;
            width: calc(var(--main_section-full-width) - 14vw);
            margin-bottom: var(--xlarge-vertical-margin);
            margin-top: var(--large-vertical-margin);
        }
            #C_extra_twist_text_container p{
                margin-left: 7vw;
            }



    #ND_extra_twist_container{
        margin-bottom: var(--xlarge-vertical-margin);
    }
}