/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */
/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */
/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */
/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */
.endora-panel{
    display: none !important;
}
/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */
/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */
/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */
/* ///  ODSTRANIT ODSTRANIT ODSTRANIT PŘED PUBLIKOVANIM !!!!!!!!!!!!!!!! */






/* /////////////////  FontFace  ///////////////////// */

@font-face{
    font-family: pack_font_bold;
    src: url(/font/pack_font_bold.woff);
    font-weight: bold;
}


/* /////////////////  Cookie banner a nastavení  ///////////////////// */

.scroll_stop{
    margin: 0 !important; 
    height: 100% !important; 
    overflow: hidden !important;
}

#eikooc_banner{
    display: none;
    z-index: 1010;
    position: fixed;
    margin: calc((var(--padding_scale_number) * 3.3));
    margin-bottom: calc((var(--padding_scale_number) * 3.3));;
    opacity: 100;
    left: 0;
    bottom: 0;
    max-width: 450px;
    height: fit-content;
    background-color: white;
    transition: margin-bottom .3s ease-out, opacity .3s ease-out;
}

.banner_show_up{
    margin-bottom: 5px !important;
    opacity: 0 !important;
}

#cookie_settings_wrapper{
    z-index: 1011;
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    height: calc(100dvh - (2 * (var(--padding_scale_number) * 3.3)));
    width: calc(100% - (2 * (var(--padding_scale_number) * 3.3)));
    top: 0;
    margin-top: calc((var(--padding_scale_number) * 3.3));
}

#cookie_settings{
    max-width: 650px;
    max-height: 100svh;
    overflow-y: scroll;
    height: fit-content;
    background-color: white;
}

#cookie_settings_content{
    margin: 22px;
}

#cookie_settings_hl{
    margin-top: 42px;
    font-size: 2.7em;
    line-height: 1.1em;
    text-align: center;
}

#cookie_settings_shl{
    margin-top: 10px;
    font-size: 1em;
    text-align: center;
}

#cookie_settings_switches{
    margin-top: 30px;
    margin-bottom: 30px;
}

.cookie_settings_switch{
    margin-bottom: 20px;
}

.cookie_settings_text{
    font-size: 1em;
    width: 90%;
}

.cookie_settings_category_text{
    background-color: black;
    font-size: 1.3em;
    line-height: 1.6em;
    color: white;
    padding-left: 10px;
    padding-right: 10px;
}

/* Checkmark */

.container {
    display: block;
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    float: right;
    top: 0;
    overflow: hidden;
    max-width: 30px;
    height: 30px;
}

.container input {
    margin: 0 !important;
    left: 0;
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 30px;
    width: 30px;
}

.close_cross{
    width: 22px;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 30px;
    width: 30px;
    background-color: white;
    box-shadow: inset 0 0 0 3px black;
}

.container:hover input ~ .checkmark {
    background-color: lime;
    box-shadow: inset 0 0 0 3px lime;
}

.container input:checked:hover ~ .checkmark {
    background-color: white;
    box-shadow: inset 0 0 0 3px black;
}

.container input:checked:disabled:hover ~ .checkmark {
    background-color: lime;
    box-shadow: inset 0 0 0 3px lime;
}

.container input:checked ~ .checkmark {
    background-color: lime;
    box-shadow: inset 0 0 0 3px lime;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.container input:checked ~ .checkmark:after {
    display: block;
}

.container .checkmark:after {
    left: 10px;
    top: 4px;
    width: 6px;
    height: 13px;
    border: solid black;
    border-width: 0 4px 4px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* ////////////////// */

.cookie_close_button, .cookie_settings_close_button{
    display: flex;
    align-items: center;
    justify-content: center;
    float: right;
    top: 0;
    width: 40px;
    height: 40px;
    background-color: lime;
    font-size: 35px;
}

#cookie_banner_content{
    margin: 22px;
}

#cookie_banner_text{
    width: 90%;
    font-size: 1em;
    margin-bottom: 15px;
}

.cookie_buttons{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    width: 100%;
    height: fit-content;
    margin-bottom: 15px;
}

.cookie_button_cta{
    background-color: lime;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1em;
    color: black;
    width: 100%;
    text-align: center;
}

.cookie_button_cta:hover{
    background-color: black;
    color: lime;
}

.cookie_button_save{
    box-shadow: inset 0 0 0 3px black;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1em;
    color: black;
    width: 100%;
    text-align: center;
}

.cookie_button_save:hover{
    background-color: black;
    color: white;
}

.cookie_button{
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1em;
    color: black;
    width: 100%;
}

.cookie_button:hover{
    text-decoration: underline;
}


/* /////////////////  TXT  ///////////////////// */

a{
    text-decoration: none;
    color: white;
}

h1{
    font-size: calc(var(--scale_number) * 10);
    line-height: calc(var(--scale_number) * 11);
    color: white;
    margin: 0;
    text-align: center;
    padding-bottom: 30px;
}

h2{
    font-size: calc(var(--scale_number) * 3);
    line-height: calc(var(--scale_number) * 4);
    color: white;
    margin: 0;
}

h3{
    font-size: 4em;
    line-height: 1em;
    margin: 0;
    color: white;
}

h4{
    font-size: 3em;
    line-height: 3em;
    margin: 0;
}

h5{
    font-size: calc(var(--scale_number) * 2.6);
    line-height: calc(var(--scale_number) * 3);
    margin: 0;
}
  
p{
    color: white;
    font-size: calc(var(--scale_number) * 2.5);
    line-height: calc(var(--scale_number) * 3.5);
    margin-block-start: 0;
    margin-block-end: 0;
    text-size-adjust: 100%;
}

.shl{
    padding-top: calc(var(--scale_number) * 2);
    width: 80%;
    margin: auto;
    text-align: center;
}

.hl{
    width: 90%;
    margin: auto;
}

.text_block{
    padding-top: calc(var(--scale_number) * 2);
    width: 80%;
    cursor: default;
    text-align: center;
    margin: 0 auto;
}

.large_text_margin{
    color: black;
    z-index: 1;
    background-color: black;
    width: fit-content;
    position: absolute;
    padding-right: calc(var(--scale_number) * 2);
    padding-left: calc(var(--scale_number) * 2);
    padding-bottom: calc(var(--scale_number) * 1);
    left: calc(var(--scale_number) * -.5);
}

.large_text_margin_top{
    z-index: 100;
    width: fit-content;
    position: relative;
    padding-right: calc(var(--scale_number) * 2);
    padding-left: calc(var(--scale_number) * 2);
    padding-bottom: calc(var(--scale_number) * 1.5);
    left: calc(var(--scale_number) * -.5);
}

.green{
    color: lime;
}



/* /////////////////  Globální úpravy a elementy  ///////////////////// */


body{
    box-sizing: border-box; 
    font-family: pack_font_bold, sans-serif;
    -webkit-font-smoothing: antialiased;
    padding: 0;
    margin: 0;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
}

#device_viewport{
    width: calc(100% - (var(--padding_scale_number) * 6.6));
    margin: calc((var(--padding_scale_number) * 3.3));
    padding-top: 0;
}

#page, #workDetail{
    padding: 0px;
    margin: 0px;
    width: 100%
}

html{
    scroll-behavior: auto;
    padding: env(safe-area-inset); 
}

html, body{
    max-width: 1800px;
    margin: auto;
    position: relative;
    background-color: black;
}

img, iframe{
    display: block;
}

object{
    pointer-events: none;
}

#line{
    width: 100%
}

#line_wrapper{
    position: absolute;
    display: flex;
    align-items: center;
    height: 100svh;
    width: 100%;
    margin-left: calc((var(--padding_scale_number) * 3.3) * -1);
}

.category_spacing{
    margin-bottom: 300px;
}

.display_none{
    display: none !important;
}

.block{
    display: block;
    line-height: 0px;
}

.hidden{
    display: none !important;
}

.padding_top_off{
    padding-top: 0;
}

.padding_left{
    padding-left: calc(var(--scale_number) * 2.8);
}

.padding_bottom{
    padding-bottom: calc(var(--scale_number) * 2.8);
}

.padding_top{
    padding-top: 80px;
}

#header{
    z-index: 1001 !important;
    box-sizing: border-box; 
    padding: calc(var(--padding_scale_number) * 1);
    padding-top: 0;
    padding-left: 0;
    width: 100%;
    height: fit-content;
    display: inline-flex;
    align-items: flex-end;
    z-index: 100;
    top: 0;
    pointer-events: none;
}

#logo_header{
    width: calc(var(--scale_number) * 20);
    position: relative;
    pointer-events: initial;
}

#menu_btn{
    position: fixed;
    right: calc((var(--padding_scale_number) * 3.3));
    top: calc((var(--padding_scale_number) * 3.3));
    background-color: lime;
    z-index: 1006;
    width: 53px;
    height: 50px;
    display: flex;
    color: lime;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
    overflow: hidden;
}

#menu_btn_touch{
    position: fixed;
    right: calc((var(--padding_scale_number) * 3.3));
    bottom: 100px;
    background-color: lime;
    z-index: 1006;
    width: 53px;
    height: 50px;
    display: none;
    color: lime;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    user-select: none;
    -webkit-touch-callout: none;
    overflow: hidden;
}

#menu_btn:hover, #menu_btn_touch:hover{
    color: black;
}

.menu_icon {
    width: 25px;
    display: none;
}

#menu_btn:hover .icon-menu {
    display: inline-block;
}

#menu_btn:hover .icon-close {
    display: none;
}

#menu_btn.active:hover .icon-close {
    display: inline-block;
}

#menu_btn.active:hover .icon-menu {
    display: none;
}

#menu_btn_touch .icon-close {
    display: none;
}

#menu_btn_touch.active .icon-close {
    display: inline-block;
}

#lang_settings{
    display: inline-flex;
    gap: .5em;
    position: relative;
    left: 10%;
    top: calc((var(--padding_scale_number) * 3.3));
}

#lang_box_cs.active,
#lang_box_en.active {
    background-color: lime;
    color: black;
}

#lang_box_cs:hover,
#lang_box_en:hover {
    background-color: lime;
    color: black;
}

#lang_box_cs,
#lang_box_en {
    cursor: pointer;
    width: fit-content;
    padding: .2em .5em .1em .5em;
    background-color: black;
    color: white;
}

#menu{
    position: fixed;
    display: flex;
    flex-direction: column;
    width: 0px;
    height: 100vh;
    right: 0;
    top: 0;
    z-index: 1005;
    background-color: black;
    transition: width 0.3s ease;
}

.menu_open{
    width: 50% !important;
}

#menu_content_cover{
    z-index: 1002;
    top: 0;
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: black;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: block;
}

#menu_content_cover.visible{
    opacity: 0.8;
}

#menu_items{
    display: flex;
    flex-direction: column;
    gap: 3vh;
    margin-top: 20svh;
    margin-left: 10%;
    color: white;
}

#dvh_wrapper{
    display: flex;
    flex-direction: column;
    height: 100dvh;
}

#top_btn{
    margin-left: 10%;
    margin-top: auto;
    position: relative;
    bottom: 100px;
}

#arrow_work{
    width: fit-content;
    position: relative;
    bottom: 0;
    align-self: end;
    margin-top: 5px;
}

#arrow_back_to_top{
    margin-top: 30px;
    width: fit-content;
    position: relative;
    bottom: 0;
    align-self: end;
}

.hover_dot::after{
    content: "";
    transition: opacity 0.3s;
    opacity: 0;
}

.hover_dot:hover::after{
    content: ".";
    opacity: 1;
    color:lime;
}

.link{
    user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
}

.checkbox_disabled{
    user-select: none;
    -webkit-user-select: none;
    cursor: not-allowed;
}

#title_wrapper{
    display: flex;
    flex-direction: column;
    height: calc(100svh - ((var(--padding_scale_number) * 6.6)));
    cursor: default;
}

#title{
    display: flex;
    flex-direction: column;
    align-items: left;
    height: 100%;
    cursor: default;
}

#title_txt{
    height: 100%;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

#work_title{
    background-color: black;
    display: flex;
    flex-direction: column;
    margin-top: 20svh;
    align-items: left;
    height: fit-content;
    margin-bottom: calc(var(--padding_scale_number) * 1);
    cursor: default;
}

#related_works_title{
    width: 100%;
    text-align: center;
    margin-top: 100px;
    margin-bottom: 50px;
}

#work_images{
    background-color: black;
    display: flex;
    flex-direction: column;
    margin-top: 10svh;
    height: fit-content;
    cursor: default;
}

#work{
    padding-top: calc(var(--scale_number) * 2);
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(7, auto);
    grid-column-gap: 1.3vw;
    grid-row-gap: 1.3vw;
}

#work_reveal_wrapper{
    transition: height .3s ease, padding-top .5s ease, opacity .5s ease;
    overflow: hidden;
}

.line_break{
    display: block;
}

.ready{
    opacity: 0;
    position: relative;
    padding-top: 100px;
}

.in_viewport_work{
    opacity: 100% !important;
    padding-top: 0 !important;
}

#work_images{
    gap: 1.3vw;
}

#related_stack{
    width: calc(100% + (var(--padding_scale_number) * 6.6));
    margin-left: calc((var(--padding_scale_number) * 3.3) * -1);
    height: 153px;
    position: relative;
    overflow: hidden;
}

#related_works{
    width: 500%;
    margin-left: calc((var(--padding_scale_number) * 3.3));
    margin-right: calc((var(--padding_scale_number) * 3.3));
    min-height: 100%;
    max-height: 100%;
    width: 2655px;
    display: inline-flex;
    gap: 1vw;
}

#related_works_wrapper{
    width: 100%;
    height: 100%;
    overflow: auto hidden;
    white-space: nowrap;
    position: absolute;
}

#fadeouts{
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0) 2%, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, .5));
    pointer-events: none;
}

.opacity_100{
    opacity: 1 !important;
}

#ref1{ grid-area: 1 / 1 / 4 / 3; }
#ref2{ grid-area: 1 / 3 / 3 / 5; }
#ref3{ grid-area: 1 / 5 / 3 / 7; }
#ref4{ grid-area: 4 / 1 / 6 / 3; }
#ref5{ grid-area: 3 / 3 / 6 / 7; }
#ref6{ grid-area: 6 / 1 / 8 / 4; }
#ref7{ grid-area: 6 / 4 / 8 / 7; }
#ref8{ grid-area: 8 / 1 / 10 / 3; }
#ref9{ grid-area: 8 / 3 / 10 / 5; }
#ref10{ grid-area: 8 / 5 / 11 / 7; }
#ref11{ grid-area: 10 / 1 / 13 / 5; }
#ref12{ grid-area: 11 / 5 / 13 / 7; }
#ref13{ grid-area: 13 / 1 / 15 / 4; }
#ref14{ grid-area: 13 / 4 / 15 / 7; }

.fill{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    -webkit-user-drag: none;
}

.fill_img{
    object-fit: cover;
    min-width: 100%;
    min-height: 120%;
    -webkit-user-drag: none;
}

.size100x100{
    width: 100%;
    height: 100%;
}

#hover_name{
    z-index: 101;
    position: fixed;
    pointer-events: none;
    white-space: nowrap;
}

.gallery_picture_wrapper{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.hover_underlay{
    width: fit-content;
    height: fit-content;
    padding: 5px 10px 3px 10px;
    background-color: black;

}

.hover_underlay_touch{
    width: fit-content;
    height: fit-content;
    padding: 5px 10px 0px 10px;
    background-color: black;

}

#show_more_button, #show_less_button, #go_back_button{
    text-size-adjust: 100%;
    cursor: pointer;
    height: fit-content;
    width: 100%;
    display: flex;
    justify-content: end;
    margin-top: 5px;
}

#contact_content{
    padding-top: calc(var(--scale_number) * 2);
    display: inline-flex;
    flex-direction: column;
    width: 100%;
}

#map{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 500px;
    overflow: hidden;
    position: relative;
    background-color: white;
}

#google_map_wrapper{
    width: 100%;
    height: 100%;
    /* filter: grayscale(100%) contrast(110%); */
}

.map_text{
    color:black;
    width: 100%;
    padding: calc((var(--padding_scale_number) * 3.3));
    text-align: center;
}

#map_link{
    display: none;
}

.map_button{
    background-color: lime;
    padding: .3em;
    padding-left: .7em;
    padding-right: .7em;
}

.map_buttons{
    margin-top: 30px;
    display: inline-flex;
    flex-direction: row;
    gap: 1em;
}

.visible_map_link{
    display: block !important;
}

#contact_text_block{
    display: flex;
    gap: calc(var(--scale_number) * 10);
    padding-top: calc(var(--scale_number) * 2);
    height: fit-content;
    margin: auto;
    text-align: center;
}

#footer{
    width: 100%;
    display: flex;
    flex-direction: column;
}

#divider{
    background-color: lime;
    height: 5px;
    width: 100%;
    margin-bottom: 50px;
}

#logo_footer{
    width: 250px;
    padding-bottom: 30px;
    margin: auto;
}

#footer_content{
    display: flex;
    flex-direction: row;
}

#footer_links{
    display: flex;
    flex-direction: column;
}

#contact_us{
    width: 80%;
    margin: auto;
    text-align: center;
}

.touch_link_gap{
    display: flex;
    flex-direction: column;
}

#copyright{
    display: inline-flex;
    flex-direction: row;
    padding-top: 80px;
    cursor: default;
}




/* /////////////////  Úpravy podle zařízení  ///////////////////// */




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

    :root{
        --scale_number: 1vw;
    }

    :root{
        --padding_scale_number: 1.5vw;
    }    

    h1{
        font-size: calc(var(--scale_number) * 12);
        line-height: calc(var(--scale_number) * 13);
    }

    h2{
        font-size: calc(var(--scale_number) * 6);
        line-height: calc(var(--scale_number) * 7);
        color: white;
        margin: 0;
    }

    h3{
        font-size: 3em;
    }

    p{
        font-size: calc(var(--scale_number) * 4);
        line-height: calc(var(--scale_number) * 5);
    }

    .category_spacing{
        margin-bottom: 250px;
    }

    .menu_open{
        width: 90% !important;
    }

    #work{
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(7, auto);
        grid-column-gap: 1.2vw;
        grid-row-gap: 1.2vw;

    }

    #work_images{
        gap: 1.2vw;
    }

    #related_works{
        gap: 1.2vw;
    }

    #ref1{ grid-area: 1 / 1 / 4 / 3; }
    #ref2{ grid-area: 1 / 3 / 3 / 5; }
    #ref3{ grid-area: 3 / 3 / 5 / 5; }
    #ref4{ grid-area: 4 / 1 / 7 / 3; }
    #ref5{ grid-area: 5 / 3 / 7 / 5; }
    #ref6{ grid-area: 7 / 1 / 9 / 3; }
    #ref7{ grid-area: 7 / 3 / 9 / 5; }
    #ref8{ grid-area: 9 / 3 / 12 / 5; }
    #ref9{ grid-area: 9 / 1 / 11 / 3; }
    #ref10{ grid-area: 11 / 1 / 13 / 3; }
    #ref11{ grid-area: 12 / 3 / 15 / 5; }
    #ref12{ grid-area: 13 / 1 / 15 / 3; }
    #ref13{ grid-area: 15 / 1 / 17 / 3; }
    #ref14{ grid-area: 15 / 3 / 17 / 5; }

    .shl{
        font-size: calc(var(--scale_number) * 4);
        line-height: calc(var(--scale_number) * 5);
        width: 80%;
        margin: auto;
    }
    .hl{
        width: 90%;
        margin: auto;
    }

    .text_block{
        width: 80%;
        margin: auto;
    }

    .fill, .work_image, #map, #title{
        border-radius: .7vw;
    }

    #logo_header{
        width: calc(var(--scale_number) * 40);
    }

    #contact_content{
        display: inline-flex;
        flex-direction: column;
        padding-top: calc(var(--scale_number) * 3);
    }

    #contact_text_block{
        padding-top: calc(var(--scale_number) * 3);
    }

    #map{
        width: 100%;
        height: 500px;
    }

    .map_buttons{
        flex-direction: column;
        gap: 1em;
    }

    #contact_us{
        width: initial;
    }

    #footer_content{
        flex-direction: column;
        gap: 60px;
    }

    #go_back_button{
        padding-bottom: 0;
    }

    #logo_footer{
        width: 190px;
        padding-bottom: 20px;
    }

    #ilu1{
        bottom: 70px;
        right: 0;
        width: 180px;
    }

    #ilu2{
        bottom: 180px;
        right: 0;
        width: 230px;
    }

    #ilu3{
        top: -24vw;
        width: 170px;
    }
}



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

    #eikooc_banner{
        margin: calc((var(--padding_scale_number) * 3.3));
    }

    #cookie_settings{
        margin-left: calc((var(--padding_scale_number) * 3.3) * -1);
        margin-right: calc((var(--padding_scale_number) * 3.3) * -1);
        height: 100dvh;
    }

    .cookie_settings_close_button{
        margin-top: calc((var(--padding_scale_number) * 3.3));
        margin-right: calc((var(--padding_scale_number) * 3.3));
    }

    #cookie_banner_content{
        margin: 17px;
    }

    #cookie_settings_content{
        margin-top: auto;
        margin: 17px;
    }

    #cookie_banner_text, .cookie_settings_text{
        width: 88%;
        font-size: .9em;
        margin-bottom: 10px;
    }

    #cookie_settings_hl{
        font-size: 2.5em;
        margin-top: 60px;
    }

    #cookie_settings_shl{
        font-size: .9em;
    }

    .cookie_buttons{
        gap: 8px;
        margin-bottom: 10px;
    }

    .cookie_button_cta{
        font-size: .9em;
    }

    .cookie_button_save{
        font-size: .9em;
    }

    .cookie_button{
        font-size: .9em;
    }

    :root{
        --padding_scale_number: 1.5vw;
    }

    :root{
        --scale_number: 1vw;
    }

    h1{
        font-size: calc(var(--scale_number) * 11.5);
        line-height: calc(var(--scale_number) * 13);
    }

    h2{
        font-size: calc(var(--scale_number) * 6);
        line-height: calc(var(--scale_number) * 8);
    }

    h3{
        font-size: 2.5em !important;
    }

    h4{
        font-size: 2.5em;
        line-height: 2.5em;
    }

    .category_spacing{
        margin-bottom: 200px;
    }

    #menu_btn_touch{
        width: 43px;
        height: 40px;
    }

    #work{
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(7, auto);
        grid-column-gap: 3vw;
        grid-row-gap: 3vw;
    }

    #work_images{
        gap: 3vw;
    }

    #related_works{
        gap: 3vw;
    }

    .fill, .work_image, #map, #title{
        border-radius: 1vw;
    }

    #ref1{ grid-area: 1 / 1 / 2 / 5; }
    #ref2{ grid-area: 2 / 1 / 3 / 5; }
    #ref3{ grid-area: 3 / 1 / 4 / 5; }
    #ref4{ grid-area: 4 / 1 / 5 / 5; }
    #ref5{ grid-area: 5 / 1 / 6 / 5; }
    #ref6{ grid-area: 6 / 1 / 7 / 5; }
    #ref7{ grid-area: 7 / 1 / 8 / 5; }
    #ref8{ grid-area: 8 / 1 / 9 / 5; }
    #ref9{ grid-area: 9 / 1 / 10 / 5; }
    #ref10{ grid-area: 10 / 1 / 11 / 5; }
    #ref11{ grid-area: 11 / 1 / 12 / 5; }
    #ref12{ grid-area: 12 / 1 / 13 / 5; }
    #ref13{ grid-area: 13 / 1 / 14 / 5; }
    #ref14{ grid-area: 14 / 1 / 15 / 5; }

    #header{
        padding: calc(var(--padding_scale_number) * 2);
        padding-left: 0;
        padding-top: 0;
    }

    #logo_header{
        min-width: 240px;
    }

    p{
        font-size: calc(var(--scale_number) * 4.5);
        line-height: calc(var(--scale_number) * 6.5);
    }

    .shl{
        width: 90%;
        margin: auto;
        font-size: calc(var(--scale_number) * 5);
        line-height: calc(var(--scale_number) * 7);
        padding-top: calc(var(--scale_number) * 3);
    }

    .text_block{
        padding-top: calc(var(--scale_number) * 3);
    }

    #map{
        height: 450px;
    }

    #contact_text_block{
        gap: calc(var(--scale_number) * 5);
        padding-top: calc(var(--scale_number) * 4);
        flex-direction: column;
    }
    
    #contact_content{
        padding-top: calc(var(--scale_number) * 3);
    }

    #footer_content{
        gap: 30px
    }

    #go_back_button{
        padding-bottom: 0;
    }

    #logo_footer{
        width: 150px;
        padding-bottom: 15px;
    }

    #divider{
        margin-bottom: 30px;
    }

    #copyright{
        padding-top: 80px;
    }
}



@media screen and (max-height: 500px){

    h1{
        font-size: calc(var(--scale_number) * 8);
        line-height: calc(var(--scale_number) * 8.5);
    }

    h2{
        font-size: calc(var(--scale_number) * 3.5);
        line-height: calc(var(--scale_number) * 4);
    }

    h3{
        font-size: 2.5em !important;
    }

    .shl{
        font-size: calc(var(--scale_number) * 2.5);
        line-height: calc(var(--scale_number) * 3.5);
    }

    :root{
        --scale_number: 1vw;
    }

    :root{
        --padding_scale_number: 1.5vw;
    }

    #logo_header{
        width: calc(var(--scale_number) * 20) !important;
    }

    #title{
        height: calc(100lvh - ((var(--padding_scale_number) * 6.6)));
    }

    #work_title{
        padding-top: 5svh;
        height: fit-content;
    }

    #map{
        height: 100svh;
    }

    #logo_footer{
        width: 150px !important;
        padding-bottom: 20px !important;
    }

    #ilu1{
        bottom: 120px;
        right: 100px;
        width: 180px;
    }
}



@media screen and (min-width: 701px) and (max-width: 1024px){

    h2{
        font-size: calc(var(--scale_number) * 4);
        line-height: calc(var(--scale_number) * 5);
    }

    h3{
        font-size: 3em;
    }

    #work{
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(7, auto);
        grid-column-gap: 1.2vw;
        grid-row-gap: 1.2vw;
    }

    #work_images{
        gap: 1.2vw;
    }

    #related_works{
        gap: 1.2vw;
    }

    .category_spacing{
        margin-bottom: 250px;
    }

    #ref1{ grid-area: 1 / 1 / 4 / 3; }
    #ref2{ grid-area: 1 / 3 / 3 / 5; }
    #ref3{ grid-area: 3 / 3 / 5 / 5; }
    #ref4{ grid-area: 4 / 1 / 7 / 3; }
    #ref5{ grid-area: 5 / 3 / 7 / 5; }
    #ref6{ grid-area: 7 / 1 / 9 / 3; }
    #ref7{ grid-area: 7 / 3 / 9 / 5; }
    #ref8{ grid-area: 9 / 3 / 12 / 5; }
    #ref9{ grid-area: 9 / 1 / 11 / 3; }
    #ref10{ grid-area: 11 / 1 / 13 / 3; }
    #ref11{ grid-area: 12 / 3 / 15 / 5; }
    #ref12{ grid-area: 13 / 1 / 15 / 3; }
    #ref13{ grid-area: 15 / 1 / 17 / 3; }
    #ref14{ grid-area: 15 / 3 / 17 / 5; }

    :root{
        --scale_number: 1vw;
    }
    
    :root{
        --padding_scale_number: 1vw;
    }

    .fill, .work_image, #map, #title{
        border-radius: .6vw;
    }

    #logo_header{
        width: calc(var(--scale_number) * 35);
    }

    .shl{
        width: 80%;
        margin: auto;
    }

    .hl{
        width: 90%;
        margin: auto;
    }

    .menu_open{
        width: 53% !important;
    }

    #logo_footer{
        width: 200px;
        padding-bottom: 30px;
    }

    #ilu1{
        bottom: 80px;
        right: 0;
        width: 30%;
    }

    #ilu3{
        bottom: 50px;
    }

    #related_stack{
        height: 203px;
    }

    #related_works{
        width: 3540px;
    }
}



@media screen and (min-width: 1025px) and (max-width: 1200px){

    :root{
        --scale_number: .9vw;
    }
    
    :root{
        --padding_scale_number: 1vw;
    }

    .fill, .work_image, #map, #title{
        border-radius: .4vw;
    }

    #logo_header{
        width: calc(var(--scale_number) * 30);
    }

    .shl{
        width: 80%;
        margin: auto;
    }

    .hl{
        width: 90%;
        margin: auto;
    }

    #work{
        grid-column-gap: 1vw;
        grid-row-gap: 1vw;
    }

    #work_images{
        gap: 1vw;
    }

    #related_works{
        gap: 1w;
    }

    #related_stack{
        height: 203px;
    }

    #related_works{
        width: 3540px;
    }
}



@media screen and (min-width: 1201px) and (max-width: 1366px){
  
    :root{
        --scale_number: 9.5px;
    }

    :root{
        --padding_scale_number: 10px;
    }

    .fill, .work_image, #map, #title{
        border-radius: .4vw;
    }

    #header{
        width: 100%;
    }

    #logo_header{
        width: calc(var(--scale_number) * 35);
    }

    #work{
        grid-column-gap: .8vw;
        grid-row-gap: .8vw;
    }

    #work_images{
        gap: .8vw;
    }

    #related_works{
        gap: .8w;
    }

    .menu_open{
        width: 600px !important;
    }

    #related_stack{
        height: 251px;
    }

    #related_works{
        width: 4425px;
    }

    .line_break{
        display: none;
    }
}



@media screen and (min-width: 1367px){
  
    :root{
        --scale_number: 10px;
    }

    :root{
        --padding_scale_number: 11px;
    }

    .fill, .work_image, #map, #title{
        border-radius: .4vw;
    }

    #header{
        width: 100%;
    }

    #logo_header{
        width: calc(var(--scale_number) * 35);
    }

    #work{
        grid-column-gap: .8vw;
        grid-row-gap: .8vw;
    }

    #work_images{
        gap: .8vw;
    }

    #related_works{
        gap: .8vw;
    }

    #fullscreen_gallery_wrapper{
        margin-left: calc(var(--scale_number) * -3);
    }

    .menu_open{
        width: 600px !important;
    }

    #related_stack{
        height: 252px;
    }

    #related_works{
        width: 4425px;
    }

    .line_break{
        display: none;
    }
}



@media screen and (min-width: 1601px){
  
    :root{
        --scale_number: 11.5px;
    }

    :root{
        --padding_scale_number: 12px;
    }

    #logo_header{
        width: calc(var(--scale_number) * 30);
    }

    #work_title{
        height: fit-content;
    }

    .menu_open{
        width: 600px !important;
    }

    .fill, .work_image, #map, #title{
        border-radius: .3vw;
    }

    #related_stack{
        height: 311px;
    }

    #related_works{
        width: 5480px;
    }

    .line_break{
        display: none;
    }
    
}



@media (pointer: coarse){

    .cookie_button_cta:hover{
        background-color: lime;
        color: black;
    }

    .cookie_button:hover{
        text-decoration: none;
    }

    .cookie_button_save:hover{
        background-color: white;
        color: black;
        box-shadow: inset 0 0 0 3px black;
    }

    .hover_dot:hover::after{
        content: "";
    }

    #menu_btn_touch:hover{
        color: lime;
    }

    .container:hover input ~ .checkmark {
        background-color: white;
        box-shadow: inset 0 0 0 3px black;
    }

    .container input:checked:hover ~ .checkmark {
        background-color: lime;
        box-shadow: inset 0 0 0 3px lime;
    }

    #menu_btn{
        display: none;
    }

    #menu_btn_touch{
        display: flex;
    }
}