*{
    color-scheme: light only !important;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Exo 2', serif;
}

@font-face {
    font-family: 'Sintesa Sans';
    src: url('fonts/sintesasansregular-jrpyn-webfont.woff') format('woff'), url(fonts/SintesasansRegular-JRpYn.ttf) format('truetype'), url(fonts/sintesasansregular-jrpyn-webfont.svg) format('svg');
}

html {
    scroll-behavior: smooth;
    background-color: #eeeeee;
}

@keyframes mask-appear {
    100% {
        background-color: rgba(13, 25, 38, 0.85);
        mask-image: linear-gradient(black 95px, transparent);
        mask-size: 100% 100px;
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-size: 100% 100px;
    }
}

@keyframes mask-disappear {
    100% {
        background-color: #0d1926;
        mask-image: linear-gradient(black 95px, transparent);
        mask-size: 100% 200px;
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-size: 100% 200px;
    }
}

@keyframes mask-disappear-menu {
    99% {
        mask-image: linear-gradient(black 95px, transparent);
        mask-size: 100% 200px;
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-size: 100% 200px;
    }
    100% {
        background-color: #0d1926;
        mask-image: initial;
        -webkit-mask-image: initial;
    }
}

@keyframes blur-disappear {
    99% {
        backdrop-filter: blur(0px); 
        -webkit-backdrop-filter: blur(0px);
    }
    100% {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}


@keyframes logo-rotate {
    0% {
        transform: rotate(0deg) scale(1.0, 1.0);
    }
    50% {
        transform: rotate(0deg) scale(1.2, 1.2);
    }
    100% {
        transform: rotate(180deg) scale(1.2, 1.2);
    }
}

@keyframes logo-rotate-back {
    0% {
        transform: rotate(0deg) scale(1.2, 1.2);
    }
    100% {
        transform: rotate(-180deg) scale(1.0, 1.0);
    }
}

@keyframes remove-content-mask {
    100% {
        mask-size: 100% 200%;
        -webkit-mask-size: 100% 200%;
    }
}
@keyframes add-content-mask {
    50% {
        mask-size: 100% 100%;
        -webkit-mask-size: 100% 100%;
    }
    100% {
        mask-size: 100% 100%;
        -webkit-mask-size: 100% 100%;
    }
}

body {
    background-color:#eeeeee;
}

/* Navigation Bar */
#navbar {
    display: flex;
    background-color: #0d1926;
    mask-image: linear-gradient(black 95px, transparent);
    mask-size: 100% 200px;
    mask-repeat: no-repeat;
    -webkit-mask-image: linear-gradient(black 95px, transparent);
    -webkit-mask-size: 100% 200px;
    -webkit-mask-repeat: no-repeat;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 99;
    backdrop-filter: blur(6px); 
    -webkit-backdrop-filter: blur(6px);
    transition: all 0.5s ease;
}
#navbar.reduce_opacity {
    background-color: rgba(13, 25, 38, 0.85);
    mask-image: linear-gradient(black 95px, transparent);
    mask-size: 100% 100px;
    -webkit-mask-image: linear-gradient(black 95px, transparent);
    -webkit-mask-size: 100% 100px;
    transition: background-color 0.5s 0.1s ease, mask-size 0.3s ease;
}


.navigation_bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    width: 100%;
    margin: 0 auto;
    padding: 0px 50px;
}

.nav_logo_components {
    display: flex;
    position: relative;
    margin-right: 100px;
    align-items: center;
    text-align: center;
}
.nav_logo_components img {
    display: flex;
    position: absolute;
    transition: all 0.4s ease;
}
.nav_logo_image_border.mouse {
    transform: scale(1.2, 1.2);
    animation-name: logo-rotate;
    animation-play-state: running;
    animation-iteration-count: 1;
    animation-duration: 0.8s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
}
.nav_logo_image_border.no-mouse {
    transform: scale(1.2, 1.2);
    animation-name: logo-rotate-back;
    animation-play-state: running;
    animation-iteration-count: 1;
    animation-duration: 0.4s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
}
.nav_logo_components.mouse img#logo_letters {
    transform: scale(1.2, 1.2);
    transition: all 0.4s ease;
}
.nav_logo_components.mouse img#logo_waves {
    transform: scale(1.2, 1.2);
    transition: all 0.4s ease;
}

#navbar_logo {
    color: white;
    display: flex;
    align-items: center;
    justify-content: left;
    cursor: pointer;
    text-decoration: none;
    font-size: 3rem;
    font-weight: 200;
    padding: 0px 0px 0px 0px;
}

.navbar_logo_text {
    padding: 8px 0px 0px 0px;
    font-family: 'Sintesa Sans', serif;
    transition: all 0.2s ease;
}
.navbar_logo_text:hover {
    transform: scale(1.03, 1.03);
    transition: all 0.2s ease;
}

.navigation_menu {
    display: flex;
    align-items: center;
    list-style: none;
    text-align: center;
}

.menu_item {
    height: 80px;
}

.menu_link {
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 0 2rem;
    font-size: 1.5rem;
    text-transform: uppercase;
    height: 100%;
    transition: all 0.4s ease;
}

.menu_link:hover {
    color: #4075BF;
    transition: all 0.15s ease;
}

.social_icons_container {
    display: flex;
    font-size: 2rem;
    align-items: center;
}

.fa-brands {
    padding: 0 2.5rem;
    color: white;
    text-align: center;
    text-decoration: none;
    width: 50px;
    transition: all 0.4s ease;
}


.fa-linkedin-in:hover {
    color: #0077B5;
    font-size: 2.5rem;
    transition: all 0.4s ease;
}

.fa-twitter:hover {
    color: #1DA1F2;
    font-size: 2.5rem;
    transition: all 0.4s ease;
}

@media screen and (max-width: 1300px) {
    #navbar.site_top {
        mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        animation-name: mask-disappear;
        animation-duration: 0.3s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
    }
    #navbar.active:not(.reduce_opacity) {
        background-color: #0d1926;
        mask-image: linear-gradient(black 95px, transparent);
        mask-size: 100% 200px;
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-size: 100% 200px;
        animation-name: mask-disappear-menu;
        animation-duration: 0.2s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
    }
    #navbar.to-turn-off {
        background-color: #0d1926;
        mask-image: linear-gradient(black 95px, transparent);
        mask-size: 100% 200px;
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-size: 100% 200px;
        animation-name: mask-disappear-menu;
        animation-duration: 0.2s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
    }
    #navbar.reduce_opacity {
        background-color: #101f33;
        mask-image: linear-gradient(black 95px, transparent);
        mask-size: 100% 200px;
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-size: 100% 200px;
        animation-name: mask-appear;
        animation-duration: 0.3s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
    }
    #navbar.reduce_opacity.active {
        background-color: rgba(8, 16, 26, 0.85);
        mask-image: linear-gradient(black 95px, transparent);
        mask-size: 100% 100px;
        -webkit-mask-image: linear-gradient(black 95px, transparent);
        -webkit-mask-size: 100% 100px;
        animation-name: mask-disappear-menu;
        animation-duration: 0.2s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
    }

    #navbar.remove_filter {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    #navbar_logo {
        font-size: calc(1rem + 0.8vw);
    }

    .nav_logo_components {
        transform: scale(0.8, 0.8);
        margin-right: 70px;
        transition: all 0.3s ease;
    }

    .navigation_bar {
        padding: 0px 0px;
        transition: all 0.5s ease;
    }

    .navigation_menu {
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        display: grid;
        justify-content: center;
        grid-template-columns: max-content;
        grid-template-rows: 70px 70px 70px 90px;
        background: rgba(25, 25, 25, 0.8);
        mask-image: linear-gradient(black 90%, transparent);
        -webkit-mask-image: linear-gradient(black 90%, transparent);
        margin: 0;
        width: 100%;
        position: absolute;
        top: 100px;
        transition: all 0.5s ease;
        height: 0px;
        font-size: 1.6rem;
        align-items: unset;
    }

    .navigation_menu.active {
        height: 360px;
        transition: all 0.2s 0.2s ease;
    }

    #navbar_logo {
        padding-left: 25px;
    }

    .mobile_toggle {
        align-items: center;
        padding-top: 5px;
    }

    .mobile_toggle .bar {
        width: 25px;
        height: 3px;
        margin: 5px auto;
        transition: all 0.3s ease-in-out;
        background-color: white;
    }

    .menu_item {
        width: 100%;
    }

    .menu_link {
        text-align: center;
        padding: 2rem;
        width: 100%;
        display: table;
    }

    #mobile-menu {
        position: absolute;
        top: 20%;
        right: 5%;
        transform: translate(5%, 20%);
    }

    .button {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 80%;
        height: 80px;
        margin: 0;
    }

    .mobile_toggle .bar {
        display: block;
        cursor: pointer;
    }

    #mobile-menu.is-active .bar:nth-child(2) {
        opacity: 0;
    }

    #mobile-menu.is-active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    #mobile-menu.is-active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }
}



/* Main Website Content */
.main {
    justify-content: center;
    align-items: center;
}

/* Video */
.video_container {
    display:flex;
    position: relative;
    justify-content: center;
    background-color: #eeeeee;
}

.video_container iframe  {
    margin: 40px 0px 0px 0px;
    aspect-ratio: 16 / 9;
    width: 100%;
    max-width: 1600px;
    height: 100%;
    max-height: 900px;
    transition: all 0.1s ease;
}

@media screen and (max-width: 1600px) {
    .video_container iframe  {
        margin: 0px 0px 0px 0px;
        transition: all 0.1s ease;
    }
}

/* Video Description */
.description_container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #eeeeee;
    flex-direction: column;
}

.description_top {
    position: relative;
    align-items: center;
    width: 100%;
    max-width: 1600px;
}

.open_description {
    display: flex;
    cursor: pointer;
    position: relative;
    background-color: #5c7599;
    justify-content: center;
    align-items: center;
    width: 1600px;
    max-width: 1600px;
    height: 70px;
    border: none;
    color: #ffffff;
    font-size: 1.5rem;
    margin: 30px 0px 0px 0px;
    clip-path: polygon(37.5% 100%, 37.5% 60%, 37.5% 60%, 37.5% 0%, 62.5% 0%, 62.5% 60%, 62.5% 60%, 62.5% 100%);
}

.open_description p.button_main {
    position: absolute;
    opacity: 1;
    transition: all 0.2s ease;
}
.open_description p.button_hover {
    position: absolute;
    opacity: 0;
    transition: all 0.2s ease;
}

.open_description:hover {
    background-color: #3d4e66;
    transition: all 0.3s ease;
}
.open_description:hover p.button_main {
    opacity: 0;
    transition: all 0.2s ease;
}
.open_description:hover p.button_hover {
    opacity: 1;
    transition: all 0.2s ease;
}

.open_description.active {
    clip-path: polygon(0% 100%, 2% 60%, 37.5% 60%, 37.5% 0%, 62.5% 0%, 62.5% 60%, 98% 60%, 100% 100%);
    cursor: initial;
    background-color: #1f2733;
    transition: all 0.2s ease;
}
.open_description.active p.button_main {
    opacity: 1;
    transition: all 0.2s ease;
}
.open_description.active p.button_hover {
    display: none;
}

.open_description i.fa-caret-down {
    position: absolute;
    right: 39%;
}

.description_tabs {
    display: flex;
    overflow: hidden;
    background-color: #5c7599;
    width: 100%;
    max-width: 1600px;
    align-items: center;
    justify-content: space-evenly;
    text-align: center;
    height: 0px;
    clip-path: polygon(37.5% 0, 62.5% 0, 62.5% 100%, 37.5% 100%);
}

.description_tabs.open-tabs {
    height: 70px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    transition: height 0.2s ease, clip-path 0.2s ease;
}

.tab {
    display: flex;
    background-color: inherit;
    border: none;
    cursor: pointer;
    color: #ffffff;
    height: 70px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    width: 100%;
    max-width: 400px;
    font-size: 1.5rem;
}

.tab:hover {
    background-color: #3d4e66;
    transition: all 0.3s ease;
}

.description_tabs button.active {
    background-color: #1f2733;
    transition: all 0.3s ease;
}

.tab_contents {
    display: flex;
    background-color: #d8e0eb;
    width: 100%;
    max-width: 1600px;
    height: 0px;
    font-size: 1.2rem;
}

.tab_contents.open-contents {
    height: 560px;
    transition: all 0.5s ease;
    transition-delay: 0.2s;
}

.tab_content {
    display: none;
    overflow-y: auto;
    border-top: none;
    color: #555555;
    margin: 20px 20px 20px 20px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.tab_content::-webkit-scrollbar {
    background: transparent;
    width: 0px;
}

.timestamp {
    color: #0077B5;
    text-decoration: none;
    font-size: 1.4rem;
}

@media screen and (max-width: 1600px) {
    .open_description {
        width: 100%;
    }
    .open_description p {
        width: calc(100% * 0.20);
        font-size: calc(0.5rem + 1vw);
    }
    .open_description i.fa-caret-down {
        font-size: calc(0.5rem + 1vw);
    }

    .tab {
        font-size: calc(0.5rem + 1.0vw);
    }

    .tab-contents {
        height: 0px;
    }
    .tab_contents.open-contents {
        height: 560px;
        transition: height 0.5s 0.5s ease;
    }

    .tab_content {
        font-size: calc(0.8rem + 0.5vw);
        mask-image: linear-gradient(black 70%, transparent);
        mask-size: 100% 100%;
        -webkit-mask-image: linear-gradient(black 70%, transparent);
        -webkit-mask-size: 100% 100%;
        transition: all 0.5s ease;
    }
    .tab_content.remove-mask {
        mask-size: 100% 200%;
        -webkit-mask-size: 100% 200%;
        transition: mask-size 3.0s ease;
    }

    #Overview {
        mask: none;
        -webkit-mask: none;
    }

    .timestamp {
        font-size: calc(1rem + 1.0vw);
    }
}

/* About Me Section */
.about_me_container {
    display: flex;
    position: relative;
    background-color: #eeeeee;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-bottom: 60px;
}

.about_me_heading {
    color: black;
    font-size: 2.6rem;
    font-family: 'Sintesa Sans', serif;
    margin: 60px 0px 40px 0px;
}

.about_me_content {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    max-width: 1600px;
    width: 100%;
}

.about_me_image {
    float: left;
    max-width: 800px;
    max-height: 1000px;
    width: 500px;
    height: 500px;
    margin: 00px 40px 0px 0px;
}

.about_me_text {
    color: black;
    width: 100%;
    max-width: 1600px;
    font-size: 1.2rem;
    margin: 0px 0px 0px 0px;
    line-height: 2rem;
}
br.about_me_line_break {
    display: block;
    content: "";
    margin: 6px;
}

@media screen and (max-width: 1600px) {
    .about_me_content {
        display: grid;
        justify-content: center;
    }

    .about_me_image {
        width: calc(100% * 0.3);
        height: auto;
        float: top;
        justify-self: center;
        margin: 0px 0px 40px 0px;
    }
    br.about_me_line_break {
        margin: 10px;
    }

    .about_me_text {
        padding: 0px 30px 0px 30px;
    }
}

/* Top Games and Currently Playing Lists */
.lists_container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 40px;
}

.games_lists {
    display: flex;
    width: 100%;
    max-width: 1600px;
    justify-content: center;
}

.top_games_list {
    display: flex;
    flex-direction: column;
    margin: 0px 40px 0px 40px;
    width: 25%;
    height: auto;
    align-items: center;
}

.playing_list {
    display: flex;
    flex-direction: column;
    margin: 0px 40px 0px 40px;
    width: 25%;
    height: auto;
    align-items: center;
}

.games_lists button {
    position: relative;
    cursor: pointer;
    border: none;
    background-color: #5c7599;
    color: white;
    align-items: center;
    justify-content: center;
    height: 50px;
    width: 100%;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}
.games_lists button:hover {
    background-color: #3d4e66;
    transition: all 0.3s ease;
}
.games_lists button i.fa-caret-down {
    position: absolute;
    top: 17px;
    right: 2%;
    transition: all 0.3s ease;
}
.games_lists button.active {
    background-color: #1f2733;
    transition: all 0.3s ease;
}
.games_lists button.active i.fa-caret-down {
    transform: rotate(180deg);
    transition: all 0.3s ease;
}

.top_games_list button p {
    margin: 0px 10px 0px 0px;
}

.top_games_content {
    display: flex;
    background-color: #d8e0eb;
    position: relative;
    width: 100%;
    font-size: 1.2rem;
    transition: all 0.2s ease;
    height: 0px;
}
.top_games_content.active {
    height: 200px;
    transition: all 0.2s ease;
}
.top_games_content ul {
    overflow: hidden;
    list-style-position: outside;
    padding: 0px 0px 0px 20px;
    margin: 10px 10px 10px 5px;
    transition: all 0.2s ease;
}

.playing_content {
    display: flex;
    background-color: #d8e0eb;
    position: relative;
    width: 100%;
    font-size: 1.2rem;
    transition: all 0.2s ease;
    height: 0px;
}
.playing_content.active {
    height: 200px;
    transition: all 0.2s ease;
}
.playing_content ul {
    overflow: hidden;
    list-style-position: outside;
    padding: 0px 0px 0px 20px;
    margin: 10px 10px 10px 5px;
    transition: all 0.2s ease;
}

@media screen and (max-width: 1600px) {
    .games_lists button p {
        font-size: calc(0.4rem + 0.75vw);
    }
    .games_lists button i {
        font-size: calc(0.4rem + 0.75vw);
    }

    .top_games_content {
        font-size: calc(0.5rem + 0.75vw);
    }
    .top_games_content ul {
        padding: 0px 0px 0px clamp(15px, 10%, 20px);
    }
    
    .playing_content {
        font-size: calc(0.5rem + 0.75vw);
    }
    .playing_content ul {
        padding: 0px 0px 0px clamp(15px, 10%, 20px);
    }
}

/* Contact Section */
.contact_container {
    display: flex;
    position: relative;
    background-color: #eeeeee;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-bottom: 30px;
}

.contact_heading {
    color: black;
    font-size: 2.6rem;
    font-family: 'Sintesa Sans', serif;
    margin: 30px 0px 0px 0px;
}

.contact_content {
    color: black;
    width: 100%;
    max-width: 1600px;
    font-size: 1.5rem;
    margin: 30px 20px 0px 20px;
}
br.content_line_break {
    display: block;
    margin: 2px 0;
}