body{
    background-color: violet;
}

:root{
    --accent_color: rgb(210, 210, 210);
}



/* CONTAINER -----------------------------------------------------------------------------------------------------*/
#general_container{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-self: center;
    background-color: transparent;
    border-radius: 15px;
}

.nav_header h1 p{
    align-items: flex-start;
    padding: 25px 40px;
}

.nav_header h1, .nav_header h2{
    background-color: transparent !important;
}



/* TEXT -----------------------------------------------------------------------------------------------------*/
#text_container{
    position: relative;
    width: 40%;
    border-right: var(--border);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    overflow-x: hidden;
}

#text_container h1{
    width: 100%;
    border-right: none;
}

#text_container h2, #text_container h3{
    width: 100%;
    box-sizing: border-box;
    background-color: white;
}

#text_container h2{
    font-size: clamp(2rem, 2.9vw, 6rem);
    font-variation-settings: "wght" 900;
    padding: 20px 20px 25px 40px;
    border-bottom: var(--border);
    cursor: text;
    line-height: 1.1;
}

#text_container h3{
    font-family: "red_hat";
    font-size: clamp(1rem, 1.5vw, 3rem);
    font-variation-settings: "wght" 650;
    padding: 25px 40px 25px 40px;
    border-bottom: var(--border);
    cursor: text;
}



/* IMAGE -----------------------------------------------------------------------------------------------------*/
#image_container{
    width: 60%;
    background-color: rgba(255, 255, 255, .5);
}

.carousel_element_container{
    width: 100%;
    height: fit-content !important;
    margin-bottom: 0px !important;
    border-top: var(--border);
    border-bottom: var(--border);
    cursor: grab;
    background-color: white;
    overflow: hidden;
    max-height: 80vh !important;
    background-color: rgba(210,210,210,1) !important;
    /* background-color: rgba(210,210,210, .7) !important; */
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 20px !important;
}

.carousel_element_container:active{
    cursor: grabbing;
}

.carousel_element_container:first-of-type{
    margin-top: -2px !important;
}

.carousel_element_container:last-of-type{
    margin-bottom: -10px !important;
}

.one_element{
    cursor: default !important;
}

.one_element:active{
    cursor: default !important;
}

.carousel_element{
    width: 100%;
    height: auto;
    max-height: calc(80vh - 4px);
    background-color: white;
}



/* PREV NEXT ------------------------------------------------------------------------------------------------------*/
.nav_prev_next{
    position: relative;
    z-index: 100;
    bottom: 0%;
    left: 0%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    background-color: white;
    width: 100%;
    height: auto;
    border-top: var(--border);
}

.prev_next{
    width: 50%;
    height: 100%;
    cursor: pointer !important;
    background-color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}


.prev_next:first-of-type{
    text-align: right;
    border-right: var(--border);
}

.prev_next p{
    width: 100%;
    height: fit-content;
    font-size: clamp(1.1rem, 1.1vw, 1.2rem);
    font-variation-settings: "wght" 600;
    line-height: 1.2;
    box-sizing: border-box;
    display: flex;
    /* padding: 25px 15px 28px 15px; */
    padding: 7% 7%;
    flex-direction: column;
    justify-content: center;
    transition: 150ms all;
    text-align: center;
}

.prev_next p em{
    font-size: clamp(1.1rem, 1vw, 1.2rem);
    font-family: "red_hat";
    font-variation-settings: "wght" 450;
    margin-top: 5px;
}

.prev_next:hover p{
    text-decoration: var(--text_decoration);
}

.prev_next:first-of-type:hover p{
    rotate: -6deg;
}

.prev_next:last-of-type:hover p{
    rotate: 6deg;
}

#nav_prev_next_desktop{
    display: flex;
}

#nav_prev_next_mobile{
    display: none;
}



/* SPLIDE, CAROUSEL -----------------------------------------------------------------------------------------------------*/
#splide01{
    height: 100%;
}

.splide__arrow{
    height: 40px !important;
    width: 40px !important;
    border: var(--border) !important;
    border-radius: 0% !important;
    opacity: 1 !important;
    transition: var(--transition);
    background-color: white !important;
}

.splide__arrow:hover{
    background-color: var(--accent_color) !important;
}

.splide__arrow svg{
    height: 20px !important;
    width: 20px !important;
}

.splide__pagination__page.is-active{
    transform: unset !important;
    background-color: var(--accent_color) !important;
}

.splide__pagination__page{
    border: var(--border) !important;
    height: 15px !important;
    width: 15px !important;
    opacity: 1 !important;
    border-radius: 0% !important;
    background-color: white !important;
    /* margin: 0% !important; */
}

.splide__pagination{
    padding: 0px !important;
}

.splide__pagination li{
    line-height: 0 !important;
}

.splide__slide{
    height: fit-content !important;
}



/* FLUID, VIDEO -----------------------------------------------------------------------------------------------------*/
.fluid_video_wrapper, .container_img{
    height: 100% !important;
    width: fit-content !important;
    margin: 0% !important;
    padding: 0% !important;
    box-sizing: border-box !important;
    outline: var(--border) !important;
}

.fullscreen_element{
    max-height: 100% !important;
}

.fluid_controls_container{
    background: unset !important;
    background-color: white !important;
    color: black !important;
    border-top: var(--border)!important;
    box-sizing: border-box;
    /* position: relative !important; */
    visibility: hidden;
    opacity: 0;
    padding-bottom: 3px;
}

.fluid_button{
    filter: invert(1);
}

.fluid_control_currentvolume, .fluid_control_volume_currentpos{
    background-color: black !important;
}

.fluid_control_duration, .fluid_timeline_preview{
    font-family: "red_hat" !important;
    font-variation-settings: "wght" 500 !important;
}

.fluid_control_volume{
    background-color: lightgray !important;
}

.fluid_controls_progress_container{
    filter: invert(0);
    display: flex;
    flex-direction: row;
    justify-content: center !important;
}

.fluid_controls_progress{
    background-color: lightgray !important;
    /* width: 98% !important; */
}

.fluid_controls_currentpos{
    background-color: black !important;
}

.fluid_timeline_preview{
    color: black !important;
    background-color: white !important;
    border: var(--border);
}

.fluid_initial_play{
    border: 2px solid black !important;
    background-color: white !important;
    transition: var(--transition);
}

.fluid_initial_play_button{
    filter: invert(1);
}

.fluid_initial_play:hover{
    background-color: var(--accent_color) !important;
}

.fluid_button_fullscreen{
    margin-right: 10px;
}



.vertical{
    width: 100% !important;
    height: fit-content !important;    
}

.vertical img, .vertical video{
    width: 100% !important;
    height: 100% !important;
}

.one_element video{
    width: 101% !important;
}



/* MOBILE -----------------------------------------------------------------------------------------------*/
@media screen and (max-width: 700px) {
    .nav_header h1 p{
        padding: 11px 15px 14px 18px !important;
    }
    
    #general_container{
        flex-direction: column;
    }

    #text_container{
        width: 100%;
        height: 65%;
    }

    #image_container{
        height: 35%;
        width: 100%;
    }


    #text_container h2{
        line-height: 1.15;
        /* padding: 15px 15px 15px 15px !important; */
        font-size: clamp(1.75rem, 3vw, 6rem);
    }

    #text_container h3{
        /* padding: 15px 15px 15px 15px !important; */
        font-size: clamp(1.1rem, 1.5vw, 3rem) !important;
        /* background-color: red !important; */
    }

    #text_container h3, #text_container h2{
        padding: 10px 15px 13px 15px !important;
    }

    #nav_prev_next_desktop{
        display: none;
    }
    
    #nav_prev_next_mobile{
        height: 9vh;
        display: flex;
    }

    .prev_next p{
        font-size: clamp(.9rem, 1.2vw, 3rem);
        padding: 12px 10px;
    }

    .prev_next p em{
        margin-top: 1px;
        font-size: clamp(.9rem, 1vw, 3rem);
    }

    .prev_next:hover p{
        text-decoration: none !important;
        rotate: 0deg !important;
    }

    #splide01-track{
        height: 100% !important;
    }

    .splide__arrow{
        display: none !important;
        left: unset !important;
        right: -.5em !important;
        height: 30px !important;
        width: 30px !important;
    }
    
    .splide__arrow svg{
        height: 15px !important;
        width: 15px !important;
    }

    .splide__pagination__page{
        height: 10px !important;
        width: 10px !important;
    }

    .vertical{        
        width: 100% !important;
        height: fit-content !important;
        max-height: 100% !important;
    }

    .fluid_video_wrapper, .container_img{    
        width: 100% !important;
    }

    .fluid_video_wrapper{
        height: fit-content !important;
    }

    /* .fluid_controls_container{
        visibility: visible !important;
        opacity: 1 !important;
    } */

    .vertical .container_img{
        width: fit-content !important;
    }

    .project_carousel .carousel_element_container{
        border-top: none;
        border-bottom: none;
        /* border-left: var(--border); */
        /* border-right: var(--border); */
        outline: var(--border);
        margin-bottom: 0% !important;
        margin-right: 20px;
        height: 100% !important;
        width: calc(100% + 4px) !important;
    }

    .carousel_element_container:first-of-type{
        margin-top: 0px !important;
    }

    .carousel_element_container:last-of-type{
        margin-right: 0px !important;
    }

    .project_carousel .carousel_element_container .container_img{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .project_carousel .carousel_element_container .container_img img{
        /* border-bottom: var(--border); */
        /* border-top: var(--border); */
        outline: var(--border);
    }
}