/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */
/* OOTB phx animations */
.fade-in-scale {
    animation: 0.2s ease-in 0s normal forwards 1 fade-in-scale-keys;
}

.fade-out-scale {
    animation: 0.2s ease-out 0s normal forwards 1 fade-out-scale-keys;
}

.fade-in {
    animation: 0.2s ease-out 0s normal forwards 1 fade-in-keys;
}

.fade-out {
    animation: 0.2s ease-out 0s normal forwards 1 fade-out-keys;
}

@keyframes fade-in-scale-keys {
    0% {
        scale: 0.95;
        opacity: 0;
    }

    100% {
        scale: 1.0;
        opacity: 1;
    }
}

@keyframes fade-out-scale-keys {
    0% {
        scale: 1.0;
        opacity: 1;
    }

    100% {
        scale: 0.95;
        opacity: 0;
    }
}

@keyframes fade-in-keys {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-out-keys {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/* Global background image */
body {
    background-image: url("/assets/backgrounds/main-9bacc52d.webp");
}

/*BN themed fonts by MegaRock.EXE
   * https://twitter.com/megarock_exe/status/959320476790095872 */

@font-face {
    font-family: "BN5 DS Thin";
    src: url("/assets/bn5ds/bn5ds_font_thin-eff06517.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BN5 DS Thin Mono";
    src: url("/assets/bn5ds/bn5ds_font_thin_mono-24415ba8.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BN5 DS UI Bold";
    src: url("/assets/bn5ds/bn5ds_font_ui_bold-0624dcd5.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BN6 Thin";
    src: url("/assets/bn6/bn6_font_thin-e3c645df.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BN6 Bold Extended";
    src: url("/assets/bn6/bn6_font_bold_extended-6e303ab2.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BN6 Bold";
    src: url("/assets/bn6/bn6_font_bold-32281e07.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BN6 Condensed";
    src: url("/assets/bn6/bn6_font_condensed-aeadb445.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BN6 Small Thin Condensed";
    src: url("/assets/bn6/bn6_font_small_thin_condensed-3840b42c.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "SF3 Small";
    src: url("/assets/sf3/sf3_font_small-2dc8011e.ttf");
    font-weight: normal;
    font-style: normal;
}

.bn5_thin {
    font-family: "BN5 DS Thin", "Playfair Display", sans-serif !important;
}

.bn5_thin_mono {
    font-family: "BN5 DS Thin Mono", "Playfair Display", sans-serif !important;
    font-size: 14px !important;
}

.bn5_ui_bold {
    font-family: "BN5 DS UI Bold", "Playfair Display", sans-serif !important;
    text-shadow: 1px 1px 0px #777777;
}

.bn6_thin {
    font-family: "BN6 Thin", "Playfair Display", sans-serif !important;
    font-size: 32px !important;
}

.bn6_bold_extended {
    font-family: "BN6 Bold Extended", "Playfair Display", sans-serif !important;
    font-size: 48px !important;
    text-shadow: 1px 1px 0px #777777;
}

.bn6_bold {
    font-family: "BN6 Bold", "Playfair Display", sans-serif !important;
    font-size: 28px !important;
    text-shadow: 1px 1px 0px #777777;
}

.bn6_condensed {
    font-family: "BN6 Condensed", "Playfair Display", sans-serif !important;
    font-size: 24px !important;
    line-height: 14px !important;
}

.bn6_small_thin_condensed {
    font-family: "BN6 Small Thin Condensed", "Playfair Display", sans-serif !important;
    font-size: 28px !important;
    line-height: 18px !important;
}

.sf3_small {
    font-family: "SF3 Small", "Playfair Display", sans-serif !important;
    font-size: 20px !important;
    text-shadow: none;
}

/* Global styles used in Header */
@media only screen and (min-width: 900px) {
    .headline {
        width: calc(100% + 16px);
        height: 70px;

        position: sticky;
        top: 0;
        z-index: 10;

        margin-left: -8px;
        margin-top: -8px;
        border-bottom: 2px solid white;

        background: #000000;

        display: flex;
        align-items: center;
        justify-content: left;
    }

    .site_logo img {
        width: 10vw;
        max-height: 63px;
        object-fit: contain;
    }

    .toolbar {
        width: 90vw;
        margin-left: -5.5vw;

        display: flex;
        flex-direction: row;

        justify-content: center;
        text-align: center;
    }

    .toolbar a {
        text-decoration: none;
        padding: 4px;
    }

    .toolbar div {
        border: 3px solid black;
        padding: 3px;

        color: white;
        font-size: 13px;
        font-weight: bolder;
        text-shadow: 1px 1px 0px #777777;

        transition: border-color 0.2s, background-color 0.2s
    }

    .toolbar div:hover {
        border-color: rgb(127, 140, 25);
        background-color: rgb(172, 185, 69);

        transition: border-color 0.2s, background-color 0.2s
    }

    .toolbar div.active_tab {
        border-color: rgb(127, 140, 25);
        background-color: rgb(172, 185, 69);
    }

    .toolbar div span {
        font-size: 11px;
        color: gray;
        text-shadow: none;
    }

    table.hamburger_table {
        display: none;
    }
}

@media only screen and (max-width: 899px) {
    .headline {
        width: calc(100% + 16px);
        height: 70px;

        position: sticky;
        top: 0;
        z-index: 10;

        margin-left: -8px;
        margin-top: -8px;
        border-bottom: 2px solid white;

        background: #000000;

        display: flex;
    }

    .site_logo {
        width: 50%;
    }

    .site_logo img {
        width: 80px;
        height: 40px;

        margin-top: 16px;
    }

    .toolbar {
        display: none;
    }

    table.hamburger_table {
        width: 50%;

        text-align: right;
        z-index: 10;
        background-color: black;

        font-size: 13px;

        border-spacing: 0px;
    }

    table.hamburger_table tr {
        visibility: collapse;
        text-align: left;
    }

    table.hamburger_table tr.header {
        visibility: visible;
        text-align: right;
    }

    table.hamburger_table.open tr {
        visibility: visible;
    }

    table.hamburger_table a {
        display: block;
        text-decoration: none;
        color: white;
    }

    tr.header td {
        padding-right: 30px;
    }

    tr.header:hover {
        background-color: black;
    }

    tr:hover {
        border-color: rgb(127, 140, 25);
        background-color: rgb(170, 160, 70);

        transition: border-color 0.2s, background-color 0.2s
    }

    tr.header img {
        width: 30px;
        height: 30px;
        margin-top: 15px;
    }

    td.emote {
        text-align: center;
    }

    td.nav {
        font-size: 24px;
        vertical-align: middle;
    }

    td.nav a {
        margin-top: -6px;
    }

    hr.emote img {
        width: 32px;
        height: 32px;
    }
}

/* Global styles used in Footer */
.hero_end {
    width: 99%;
    margin: auto;
    margin-top: 10px;
}

.end_footer {
    width: 100%;

    margin: auto;
    padding-top: 10px;
    border: 2px solid #777777;
    border-radius: 0 0 30px 30px;
    padding-bottom: 3px;

    background-color: rgb(0, 0, 0, 0.7);
    text-align: center;
}

.affiliate_bar {
    margin-bottom: 25px;
    padding-top: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.affiliate_bar a {
    margin: 10px;
    min-height: 40px;
    min-width: 105px;
    background-size: contain;
    background-repeat: no-repeat;
}

a.megaman_melee {
    background-image: url("/assets/backgrounds/megaman_melee-be3c2367.webp");
}

a.megaman_pc {
    background-image: url("/assets/backgrounds/megaman_pc-74627841.webp");
}

a.megaman_network {
    background-image: url("/assets/backgrounds/megaman_network-4c23c0ac.webp");
}

a.protodude {
    background-image: url("/assets/backgrounds/protodude-28fa867e.webp");
}

a.sprites_inc {
    background-image: url("/assets/backgrounds/sprites_inc-ece629cf.webp");
}

a.trez {
    background-image: url("/assets/backgrounds/trez-99d33403.webp");
}

a.voice_bn {
    background-image: url("/assets/backgrounds/voice_battle_network-7ded6054.webp");
}

a.mechanical_maniacs {
    background-image: url("/assets/backgrounds/mechanical_maniacs-49d1a0f3.webp");
}

.credits_flex {
    display: flex;
    flex-direction: row;
    max-width: 1400px;
    margin: auto;
    font-size: 11px !important;
    color: #666666 !important;
}

.small_border {
    border-right: 1px solid #666666;
}

.end_nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    font-weight: bold;
}

.end_nav a {
    color: #aeb850;
    text-decoration: underline;
}

.credits_left {
    font-weight: bold;
    font-size: 11px;
    color: #666666;
    width: 45%;
}

.credits_right {
    text-align: left;
    font-weight: bold;
    font-size: 11px;
    color: #666666;
    width: 55%;
    padding-left: 5%;
}

@media only screen and (max-width: 900px) {
    .credits_flex {
        flex-direction: column;
        padding: 2px;
    }

    .small_border {
        border-right: 0;
        border-bottom: 1px solid #666666;
        margin-bottom: 8px;
    }

    .credits_left {
        width: 100%;
        border: 0;
    }

    .credits_right {
        width: 100%;
        text-align: center;
        padding: 0;
    }
}

.notfound {
    width: 71.7vw;
    height: 47.8125vw;

    margin: auto;
    margin-top: 20px;

    border: 3px solid #777777;
    background-image: url("/assets/backgrounds/404_notfound-f1c5149b.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}