/* Styles */
html{
    scroll-padding-top: 32px;
}

body{
    background-color: rgb(0, 0, 0);
}

.title_1{
    color:white;
    font-family: Arial;
    text-wrap: nowrap;
}
.header_1{
    color:rgb(235, 235, 235);
    font-size: max(2.01vw, 3.09vh);
    font-family: Arial;
    font-weight: bold;
}
.header_2{
    color:rgb(235, 235, 235);
    font-size: max(2.31vw, 3.55vh);
    font-family: Arial;
    font-weight: bold;
}
.text_1{
    font-size: max(1.3vw, 2vh);
    color:rgb(255, 255, 255);
    font-family: Arial;
    line-height: max(2vw, 3.07vh);
}

.separator{
    width: 100%;
    height: 4px;
    background: rgb(60, 60, 60);
    border-top: 4px solid rgb(50, 50, 50);
    border-bottom: 4px solid rgb(50, 50, 50);
}

.div_bg{
    background-color: rgb(79, 79, 79);
    border-radius: 3vh;
    padding: 1.5em;
    box-shadow: 0 1.0vh 1.5vh 0 rgba(90, 90, 90, 0.5);
}

.item_bg{
    background-color: rgb(114, 114, 114);
    border-radius: 2vh;
    padding: max(0.8vw, 1.23vh);
    box-shadow: 0 1.0vh 1.5vh 0 rgba(90, 90, 90, 0.5);
}


/* Functionality */
.nav_bar{
    background: #404040; /* #424242 */
    display: grid;
    grid-template-columns: 6fr 1fr 1fr 1fr;
    grid-template-rows: 8vh;
    position: fixed;
    width: 100%;
    box-shadow: 0 1.0vh 1.5vh 0 rgba(50, 50, 50, 0.5);;
    height: 8vh;
    z-index: 10;
}
.nav_bar div{
    padding: 0;
    height: 100%;
}

.nav_bar .main_link{
    font-size: min(5vh, 5vw);
    color: white;
    text-align: center;
    vertical-align: middle;
    line-height: 8vh;
    margin-left: 1.5vw;
}
.nav_bar .main_link:hover{
    color: rgb(238, 238, 238);
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: rgb(222, 222, 222);
}
.nav_bar .main_link:active{
    color: rgb(255, 255, 255);
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: rgb(150, 150, 150);
}

.nav_bar button{
    background-color: rgb(54, 54, 54);
    width: 100%;
    height: 100%;
    /* border-top: 0.3vh solid rgb(72, 72, 72); */
    border-top: none;
    border-left: 0.5vh solid rgb(72, 72, 72);
    border-right: 0.5vh solid rgb(40, 40, 40);
    /* border-bottom: 0.3vh solid rgb(40, 40, 40); */
    border-bottom: none;

    padding-left: 2vw;
    padding-right: 2vw;
    font-size: min(3vh, 2.75vw);

    cursor: pointer;
}
.nav_bar button:hover{
    background-color: rgb(62, 62, 62);
}
.nav_bar button:active{
    background-color: rgb(48, 48, 48);
    /* border-top: 0.2vh solid rgb(40, 40, 40); */
    border-right: 0.5vh solid rgb(66, 66, 66);
    border-left: 0.5vh solid rgb(34, 34, 34);
    /* border-bottom: 0.2vh solid rgb(72, 72, 72); */
}
.nav_bar .left_button{
    border-bottom-left-radius: 2.5vh;
    border-top-left-radius: 2.5vh;
}

@media all and (max-device-aspect-ratio:1.15) {
    .nav_bar{
        grid-template-columns: 2.25fr 1fr 1fr 1fr;
        height: 6vh;
        grid-template-rows: 6vh;
    }
    .nav_bar .main_link{
        line-height: 6vh;
    }
}


canvas {
    position: fixed;
    z-index: -10;
    width: 100vw;
    height: 100vh;
    image-rendering: pixelated;
}


.image_bar_1{
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    background: #0000001a;
    cursor: grab;
    margin-top: 15px;
    margin-bottom: 15px;
}
.image_bar_1::-webkit-scrollbar{
    width: 0px;
    background: transparent;
    display: none;
}

.image_group_1{
    display: inline-flex;
}
.image_group_1 > div{
    margin-left: 1.5vw;
    margin-right: 1.5vw;
    width: min(80vh, 80vw);
    display: grid;
}
.image_group_1 > div > div{
    margin-left: 2.5%;
    margin-right: 2.5%;
    width: 95%;
}
.image_group_1 a:has(img){
    margin-left: auto;
    margin-right: auto;
}
.image_group_1 img{
    border: 0.75vh solid rgb(54, 54, 54);
    border-radius: 0.75vh;

    width: auto;
    height: min(40vh, 40vw);
    max-width: 98%;
}
.image_group_1 img:hover{
    border: 0.75vh solid rgb(62, 62, 62);
}
.image_group_1 img:active{
    border: 0.75vh solid rgb(48, 48, 48);
}


.copyable{
    font-weight: bold;
}
.copyable:hover{
    text-decoration: underline;
}


.link{
    text-decoration: none;
    color: rgb(165, 231, 249);
}
.link:hover{
    text-decoration: underline;
}
.link:visited{
    color:rgb(209, 193, 250);
}

.icon_link{
    width: max(5.75vw, 9.5vh);
    height: auto;
    padding: max(1.2vw, 1.5vh);
    vertical-align: middle;
}
.icon_link:hover{
    filter: drop-shadow(0px 0px 18px rgb(124, 124, 124));
}
.icon_link:active{
    filter: drop-shadow(0px 0px 15px rgb(56, 56, 56));
}

.image_link{
    
}
.image_link:hover{
    filter: drop-shadow(0px 0px 18px rgb(100, 100, 100));
}
.image_link:active{
    filter: drop-shadow(0px 0px 15px rgb(56, 56, 56));
}


/* Alignment */
body{
    margin: 0;
    padding: 0;
}

.center{
    margin: auto;
    text-align: center;
    align-items: center;
}

.center_self{
    margin: auto;
}

.container_1{
    padding-left: 7%;
    padding-right: 7%;
    margin: 0px auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    column-gap: 5px;
}

.container_2{
    padding-left: 7%;
    padding-right: 7%;
    margin: 0px auto;
}

.container_3{
    padding-left: 10%;
    padding-right: 10%;
    margin: 0px auto;
}

.segment_padding{
    padding-top: 5vh;
    padding-bottom: 5vh;
}
.segment_padding_2{
    padding-top: 9vh;
    padding-bottom: 9vh;
}
.page_top{
    padding-top: 11.33vh;
}
.page_bottom{
    padding-bottom: 20vh;
}
.bottom_padding{
    padding-bottom: 8vh;
}

.container_2col{
    display: flex;
    flex-direction: row;
    width: 86%;
    height: fit-content;
    padding-left: 7%;
    padding-right: 7%;
    
}
.container_2col > .text_div{
    flex: 1;
    min-width: 52%;
    display: inline-block;
}
.container_2col > .img_col{
    flex: 1;
    min-width: 20%;
    width: 45%;
    display: inline-block;
    padding-left: 2%;
    padding-right: 2%;
    padding: 2%;
}
.container_2col > .img_col img{
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 50vh;
}
.container_2col span{
    padding: 2rem;
}
.container_2col iframe{
    width: 100%;
    height: auto;
    aspect-ratio: 1.77;
}
.container_2col > .right{
    order: 1;
}

.text_padding{
    padding-bottom: 0.75em;
    padding-top: 1.5em;
}

.div_shrink{
    width: fit-content;
}


/* Phone Display*/
@media all and (max-device-aspect-ratio:1.15){
    .segment_padding{
        padding-top: 3vh;
        padding-bottom: 3vh;
    }
    .segment_padding_2{
        padding-top: 5vh;
        padding-bottom: 5vh;
    }
    .page_top{
        padding-top: 8vh;
    }
    .page_bottom{
        padding-bottom: 14vh;
    }
    
    .container_2col{
        flex-direction: column;
        width: 94%;
        padding-left: 3%;
        padding-right: 3%;
    }
    .container_2col .right{
        order: 0;
    }
    .text_div{
        padding-left: 4%;
        padding-right: 4%;
        padding-bottom: 4%;
    }
    .container_2col > .img_col{
        width: 95%;
    }

    .container_2{
        padding-left: 3%;
        padding-right: 3%;
    }

    .container_3{
        padding-left: 6%;
        padding-right: 6%;
    }

    .header_2{
        margin-left: auto;
        margin-right: auto;
    }
}


.table{
    padding-bottom: 4%;
    padding-top: 4%;
}

.table > table{
    border-collapse: collapse;
    display: inline-block;
    
}
.table > table > td{
    padding: 0 15px;
}
.table > table > th{
    padding: 0 15px;
}
tr:first-of-type{
    border-bottom: 3px solid white;
}
th, td {
    padding-left: 6px;
    padding-right: 10px;
    border-right: 3px solid white;
}
th:last-child, td:last-child {
    border-right: none;
}



/* Obfuscation */
.email:before{
    content: attr(website) "\0040" attr(user);
    unicode-bidi: bidi-override;
    direction: rtl;
}