* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}

@font-face {
    font-family: "Gelasio";
    src: url('Gelasio/Gelasio-Regular.ttf');
}

body {
    background: rgba(255, 255, 255);
}

#video_grid_occ {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#video_grid_occ > .video_wrapper {
    flex: 0 0 50%;
    box-sizing: border-box;
}

#video_grid_occ > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#video_grid_occ > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}


#video_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#video_grid > .video_wrapper {
    width: 50%;
}

#video_grid > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#video_grid > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}

#video_grid_gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#video_grid_gallery > .video_wrapper {
    width: 25%;
}

#video_grid_gallery > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#video_grid_gallery > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}

#video_grid_3view {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#video_grid_3view > .video_wrapper {
    width: 50%;
}

#video_grid_3view > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#video_grid_3view > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}

#video_grid_2view {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#video_grid_2view > .video_wrapper {
    width: 50%;
}

#video_grid_2view > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#video_grid_2view > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}

#video_grid_app {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#video_grid_app > .video_wrapper {
    width: 50%;
}

#video_grid_app > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#video_grid_app > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}

#uncurated_short_video_grid {
    width: 75%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: auto;
}

#uncurated_short_video_grid > .video_wrapper {
    width: 33.33333333%;
    padding: 1px; /* 添加内边距 */
    box-sizing: border-box; /* 确保内边距包含在宽度内 */
}

#uncurated_short_video_grid > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#uncurated_short_video_grid > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 1px;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}

#uncurated_long_video_grid {
    width: 75%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: auto;
}

#uncurated_long_video_grid > .video_wrapper {
    width: 33.3333333%;
    padding: 1px; /* 添加内边距 */
    box-sizing: border-box; /* 确保内边距包含在宽度内 */
}

#uncurated_long_video_grid > .video_wrapper > .video_container {
    display: grid;
    position: relative;
    overflow: hidden;
}

#uncurated_long_video_grid > .video_wrapper > .video_container > video {
    width: 100%;
    height: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 1px;
    padding: 0;
    display: block; /* Ensures the video fills its container */
    transition: transform 0.5s ease; /* Smooth transition for dimming */
}

.overlay1 {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%; /* Each overlay takes up half the width */
    background: rgba(0, 0, 0, 0.5); /* Semi-transparent black overlay */
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none; /* Allows clicking 'through' the overlay */
    font-family: 'Arial', sans-serif; /* Example font family */
    font-size: 20px; /* Example font size */
    text-align: center; /* Centers text horizontally */
    padding: 10px; /* Adds padding to prevent text touching the edges */
}

.overlay1.left {
    left: 0; /* Position at the left half */
}

.overlay1.right {
    right: 0; /* Position at the right half */
}

.video_container:hover .overlay1 {
    opacity: 1; /* Show the overlay on hover */
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5); /* Semi-transparent black overlay */
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none; /* Allows clicking 'through' the overlay */
    font-family: 'Arial', sans-serif; /* Example font family */
    font-size: 20px; /* Example font size */
    text-align: center; /* Centers text horizontally */
    padding: 10px; /* Adds padding to prevent text touching the edges */
}

.video_container:hover video {
    filter: brightness(80%); /* Dim the video */
}

.video_container:hover .overlay {
    opacity: 1; /* Show the overlay on hover */
}

#overview > .final_paragraph {
    padding-bottom: 3vw;
}

#overview > video {
    max-width: 75%;
    max-height: 75%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}


#overview > .video_container {
    max-width: 75%;
    max-height: 75%;
    margin-left: auto;
    margin-right: auto;
}

#overview > .video_container > video {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

#overview  > .video_container > img {
    margin-top: 1vw;
    max-width: 100%;
    max-height: 100%;
}

#overview > .video_container > .caption {
    margin-top: -1vw;
    max-width: 100%;
    max-height: 100%;
    position: relative;
}

#overview > .video_container > .caption > p {
    width: 100% !important;
    color: rgba(0, 0, 0, 0.5) !important;
    font-family: "Avenir Next",Gelasio,Helvetica,sans-serif !important;
    font-size: 0.7vw !important;
    font-weight: 500 !important;
}

#overview  > .image_container {
    max-width: 100%;
    max-height: 100%;
    margin-left: auto;
    margin-right: auto;
}

#overview  > .image_container > img {
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    margin-top: 1.5vw;
    display: block;
}

#overview > .image_container > .caption {
    margin-top: 0vw;
    max-width: 100%;
    max-height: 100%;
    position: relative;
}

#overview > .image_container > .caption > p {
    width: 100% !important;
    color: rgba(0, 0, 0, 0.5) !important;
    font-family: "Avenir Next",Gelasio,Helvetica,sans-serif !important;
    font-size: 0.7vw !important;
    font-weight: 500 !important;
}
