:root {
    --btnColor: #0000002;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
    overflow-x: hidden;
    scroll-behavior: smooth;
}
main {
    background-color: #090101;
    color: hsl(0, 80%, 92%);
    font-family: 'Genos', sans-serif;
    font-weight: 300;
}
main ol.all {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    list-style-type: none;
    padding-top: 5vh;
}
ol.all .link {
    width: calc(20% - 25px);
    aspect-ratio: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    overflow: hidden;
    background-color: hsla(0, 80%, 99%, .03);
    border-radius: 24px;
    transition: .3s;
}
ol.all .link:hover {
    /* background-color: hsla(0, 80%, 99%, 1); */
    border-radius: 24px 48px 24px 24px;
}
ol.all .link:hover a {
    color: #090101;
    z-index: 10;
}
ol.all .link:hover:before {
    transform-origin: 0 100%;
    transform: scaleY(1);
}
ol.all .link:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    transform: scaleY(0);
    background-color: hsl(0, 80%, 92%);
    transform-origin: top;
    transition: transform .3s;
}
ol.all .link__name {
    font-size: 3rem;
    font-weight: 400;
    font-family: 'Josefin Sans', sans-serif;
}
ol.all .link__counter {
    position: absolute;
    inset: 0;
    font-size:18rem;
    opacity: .03;
    font-weight: 900;
    mix-blend-mode: difference;
}
ol.all .link:nth-child(2n) .link__counter{
    right: 0;
}
ol.all .link a {
    text-decoration: none;
    color: hsl(346, 71%, 93%);
    transition: .3s;
}

h1 {
    padding-top: 25vh;
    background-color: hsl(0, 80%, 92%);
    color: #090101;
    font-size: 24vw;
    font-weight: 700;
    font-family: 'Genos', sans-serif;
    line-height: .7;
    padding-bottom: 100px;
    text-align: center;
    overflow: hidden;
    display: flex;
    justify-content: center;
    transform-origin: top left;
}

h1 span {
    transform: translate3d(0, 150%, 0);
}

.list {
    position: absolute;
    width: 100%;
}

.list-item {
    width: 100%;
    height: 100dvh;
    background-color: #090101;
}

.list-item img,
.list-item video {
    margin-top: 25%;
    margin-left: auto;
    width: 70%;
    height: 50%;
}

/* .sidebar {
    position: sticky;
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100dvh;
    width: 30%;
    background-color: #090101;
} */

.newlist {
    /* display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: 1fr; */
    display: flex;
}

.newlist .sidebar {
    width: 30%;
    height: 100vh;
    background-color: #f0f0f0;
    color: black;
    /* position: sticky;
    top: 0;
    left: 0;
    grid-column: 1;
    grid-row: 1; */
}

.newlist.sticked .sidebar {
    position: fixed;
    top: 0;
    left: 0;
}

.newlist .list-items {
    /* width: 100%;
    grid-column: 2;
    grid-row: 1; */
    width: 100%;
    
}

.newlist ul {
    list-style: none;
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.newlist ul.single-view {
    grid-template-columns: 1fr;
    margin-left: 5%;
    margin-right: 5%;
    padding-bottom: 50dvh;

}

.newlist li {
    /* height: 100vh; */
    margin: 10px;
    aspect-ratio: 1;
    overflow: hidden;
    transition: .3s;
    opacity: 0;
}

.newlist ul.single-view li {
    aspect-ratio: auto;
    height: 40dvh;
}

.newlist li a {
    color: white;
    border-radius: 8px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
    display: block;
    display: flex;
    align-items: center;
}

.newlist ul.single-view li a {
    pointer-events: none;
}

.newlist li a .title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    font-size: 50px;
    line-height: 54px;
    padding: 20px;
    /* color: #090101; */
    /* background-color: hsl(0, 80%, 92%); */
    color: hsl(0, 80%, 92%);
    border-radius: 8px 0 0 0;
    text-align: center;
    transition: .3s;
    font-weight: 900;
    font-family: 'Josefin Sans', sans-serif;
}
.newlist li a .desc {
    position: relative;
    font-size: 36px;
    line-height: 40px;
    padding: 20px;
    color: white;
    width: fit-content;
    transition: .3s;
    opacity: 0;
    font-family: 'Josefin Sans', sans-serif;
}

.newlist li a img {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: .3s;
    opacity: .7;
}

.newlist ul:not(.single-view) li:hover a img {
    /* opacity: .05; */
    filter: blur(20px);
}
.newlist ul:not(.single-view) li:hover a .title {
    opacity: 0;
}
.newlist ul:not(.single-view) li:hover {
    /* background-color: hsl(0, 80%, 92%); */
}

.newlist ul:not(.single-view) li:hover a .desc {
    opacity: 1;
    padding: 40px;
}

.navbar {
    position: fixed;
    bottom: 50px;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    background-color: #251a1a;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px;
    padding: 4px;
    transition: .3s;
}

.navbar:not(.visible) {
    bottom: 0;
    opacity: 0;
    animation: hideThatThing .1  .3 linear forwards;
}

.navbar .title {
    padding-left: 10px;
}

.navbar a {
    border-radius: 6px;
    background-color: var(--btnColor);
    color: white;
    mix-blend-mode: difference;
    border: 1.5px solid rgba(255, 255, 255, .4);
    padding: 18px;
    text-decoration: none;
}

#change-view {
    position: fixed;
    top: 20px;
    right: 20px;
    border-radius: 6px;
    color: white;
    background-color: black;
    border: .5px solid white;
    padding: 18px;
    text-decoration: none;
}

@keyframes hideThatThing {
    from {
        display: flex;
        visibility: visible;
    }
    to {
        display: none;
        visibility: hidden;
    }
}