@font-face {
    font-family: "CivilNetworksFont";
    src: url("assets/RedHatDisplay-VariableFont_wght.ttf");
}

@font-face {
    font-family: "CivilNetworksLogoFont";   
    src: url("assets/Basica solo letras para dafont lista__.ttf");
}

html {
    scroll-behavior: smooth !important;
}

:root {

    --primary_color: #ff2b2b;
    --secondary_color: #1f2125;

    --alt_secondary1: #343946;
    --alt_secondary2: #303134;

    --highlight_color: #ECF0F3;

    --banner_height: 75px;

    --white: #fff;

    --button_border_color: #575e6d;
    --button_background_color: #22252b;
    --button_text_color: #fff;

    --button_border_color_hover: #626a7b;
    --button_background_color_hover: #2e323a;
    --button_text_color_hover: rgb(232, 228, 228);

    --button_border_active: #494e5a;
    --button_background_active: #1b1d21;
    --button_text_color_active: rgb(191, 191, 191);
}

/* Reset */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* width */
::-webkit-scrollbar {
    width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background-color: var(--secondary_color);
}

/* Handle */
::-webkit-scrollbar-thumb {
    background-color: var(--alt_secondary1);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background-color: var(--primary_color);
}

a{
    text-decoration: none;
}

ul{
    list-style: none;
}

body {
    font-family: "Code Pro LS";
    color: white;
    font-family: 'CivilNetworksFont' !important;
    overflow: hidden;
}

#Container {
    width: 100%;
    overflow: hidden;
}

.content_container {
    position: absolute;
    top: 75px;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: hidden;

    display:flex; 
    flex-direction:column; 
}

.content {
    width: 100%;
    overflow-x: hidden;
}

/* Header */
.header{
    background-color: var(--secondary_color);
    position: fixed;
    top: 0;
    width: 100%;
    height: 75px;
    z-index: 1;
}

/* Logo */
.main_logo {
    display: inline-block;
    color: var(--white);
    margin-left: 10px;
    content:url("assets/logo/cn_logo_transparent.webp");
    height: 100%;
    margin-left: 2%;
}

/* Nav menu */
.nav{
    width: 100%;
    height: auto;
    position: fixed;
    background-color: var(--secondary_color);
    display: none;
    max-height: 0;
    margin-right: 2%;
}
.menu p{
    display: block;
    padding: 30px;
    color: var(--white);
}
.menu a:hover{
    background-color: var(--alt_secondary1);
}
.nav-button {
    display: block;
    padding: 30px;
    color: var(--button_text_color);

    width: 100%;
    background: transparent;

    border: none;
    border-bottom: var(--alt_secondary1) solid 5px;

    font-size: 15px;
    font-weight: 600;
    font-family: 'CivilNetworksFont' !important;

    cursor: pointer;

    transition: background .1s ease-in-out, color  .1s ease-in-out;
}
.nav-button:hover {
    background: var(--button_background_color_hover);
    color: var(--button_text_color_hover);
}
.nav-button:active {
    background: var(--button_background_active);
    color: var(--button_text_color_active);
}

/* Menu Icon */
.hamb{
    cursor: pointer;
    float: right;
    padding: 40px 20px;
}

.hamb-line {
    background: var(--white);
    display: block;
    height: 2px;
    position: relative;
    width: 24px;

}

.hamb-line::before,
.hamb-line::after{
    background: var(--white);
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
}

.hamb-line::before{
    top: 5px;
}

.hamb-line::after{
    top: -5px;
}

.side-menu {
    display: none;
}

.side-menu:checked ~ nav{
    max-height: 100%;
    display: block;
}

.side-menu:checked ~ .hamb .hamb-line {
    background: transparent;
}

.side-menu:checked ~ .hamb .hamb-line::before {
    transform: rotate(-45deg);
    top:0;
}

.side-menu:checked ~ .hamb .hamb-line::after {
    transform: rotate(45deg);
    top:0;
}

/* Sub nav */

.subnav-content {
    background-color:  var(--alt_secondary1);
    width: 100%;
    z-index: 1;
    padding: 0;
    border-bottom: var(--alt_secondary1) solid 5px;
    display: none;
  }
.subnav-content p {
    background: var(--button_background_color);
    text-decoration: none;
    padding: 10px 0;
    text-align: center;
    transition: background .1s ease-in-out;
}

.subnav-content p:hover {
    background: var(--button_background_color_hover);
    color: var(--button_text_color_hover);
}
.subnav-content p:active {
    background: var(--button_background_active);
    color: var(--button_text_color_active);
}

.subnav:active .subnav-content {
    display: block;
}

/* Responsiveness */
@media (min-width: 1100px) {

    .nav{
        max-height: none;
        top: 0;
        position: relative;
        float: right;
        width: fit-content;
        background-color: transparent;
        margin-right: 12%;
        display: block;
    }

    .menu li{
        float: left;
    }

    .menu a:hover{
        background-color: transparent;
        color: var(--gray);

    }

    .hamb{
        display: none;
    }

    .main_logo {
        content:url("assets/logo/cn_logo_full.webp");
        margin-left: 12%;
    }

    .nav-button {
        display: block;
        height: 35px;

        padding: 0;
    
        margin: 20px;
        margin-left: 10px;
        margin-right: 10px;
    
        width: 125px;
        /* background: var(--button_background_color); */
        border: none;
        outline: transparent solid 1px;
        border-radius: 25px;

        font-size: 15px;
        font-weight: 600;
        font-family: 'CivilNetworksFont';
    
        cursor: pointer;

        transition: outline .1s ease-in-out;
    }
    .nav-button:hover {
        outline: var(--button_border_color_hover) solid 2px;
    }
    .nav-button:active {
        outline: var(--button_border_active) solid 2px;
    }

    .nav-button i {
        margin-left: 5px;
    }

    /* Sub nav */
    .subnav {
        margin: 20px;
        margin-left: 10px;
        margin-right: 10px;
    }
    
    .subnav .nav-button {
        margin: 0;
    }    

    .subnav-content {
        z-index: 2;
        padding: 0;
        display: none;
        background-color:  var(--button_background_color);
        border: none;
        border-radius: 25px;
        overflow: hidden;
        margin-top: 10px;
    }

    .subnav-content p {
        color: white;
        cursor: pointer;
    }

    .subnav-content p:hover {
        background: var(--button_background_color_hover);
        color: var(--button_text_color_hover);
    }
    .subnav-content p:active {
        background: var(--button_background_active);
        color: var(--button_text_color_active);
    }

    .subnav:hover .subnav-content {
        display: block;
    }

}

button p {
    color: inherit;
    text-decoration: none;
}

section {
    width: 100%;
    height: calc(100vh - var(--banner_height));
}

.top_part {
    width: 100%;
    height: calc(45% - 7.5vh);
    position: relative;
}

.content_part {
    padding-top: 30px;
    padding-bottom: 30px;
    backdrop-filter: blur(8px);
}

.mid_part {
    display: flex;
    width: 100%;
    height: 15vh;
    position: relative;
    align-items: center;
}

.bottom_part {
    width: 100%;
    position: relative;
}

.server_title {
    font-family: "CivilNetworksFont";
    letter-spacing: 6px;
    font-weight: 1000;
    font-size: 7vh;
    line-height: 100px;
    height: 100px;
    margin-left: 12%;
    float: left;
    -webkit-filter: drop-shadow(0px 0px 7px #1515158c);
    filter: drop-shadow(0px 0px 7px #1515158c);
}

.mid_part .logo {
    height: 100%;
    margin-left: 12%;
    float: left;
    -webkit-filter: drop-shadow(0px 0px 7px #1515158c);
    filter: drop-shadow(0px 0px 7px #1515158c);
}

.info {
    
}

.info_top {
    background: transparent;
    padding: 0 12% 0 12%;
    position: relative;
    top: -3vh;
}

.info_top span {
    display: block;
    font-size: 1.1rem;
    width: 55vh;
    text-overflow: clip;
}

.info_top h2 {
    display: block;
    font-size: 1.1rem;
    font-weight: 100;
    width: 55vh;
    text-overflow: clip;
}

.info_bottom {
    padding-left: 12%;
}

@media screen and (max-width: 600px) {

    .mid_part {
        height: 10vh;
    }

    .mid_part .logo {
        margin-left: 5%;
    }

    .info_top {
        padding: 1vh 5% 1vh 5%;
        top: 0;
    }

    .info_top span {
        font-size: 1.25vh;
        width: 100%;
    }

    .info_bottom {
        padding-left: 5%;
    }

    .server_title {
        margin-left: 5%;
    }

}

.player_info {
    width: 15vh;
    display: inline-block;
}

.player_info h1 {
    text-align: center;
    font-size: 1.5vh;
    margin: 0;
    font-weight: 10;
    text-transform: capitalize;
}

.player_info h2 {
    text-align: center;
    font-size: 3.5vh;
    margin: 0;
    font-weight: 10;
    text-transform: capitalize;
}

.server_status {
    width: 15vh;
    display: inline-block;
}

.server_status h1 {
    text-align: center;
    font-size: 1.5vh;
    margin: 0;
    font-weight: 10;
    text-transform: capitalize;
}

.server_status h2 {
    text-align: center;
    font-size: 3.5vh;
    margin: 0;
    font-weight: 10;
    text-transform: capitalize;
}

.server_join {
    width: 10vh;
    display: inline-block;
}

.server_join button {
    width: 100%;
    height: 3.5vh;
    font-size: 1.4vh;
    font-weight: 500;
    color: white;
    background: linear-gradient(45deg, var(--primary_color) 0%, #bf0909 50%, var(--primary_color) 50%) right;
    background-size: 220% 100%;
    border: 0px;
    border-radius: 3.5vh;
    box-shadow: 0 0 10px rgba(10,10,10,0.5);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition: transform .5s ease-out, background-position .4s ease-in;
}

.server_join button:hover {
    transform: scale(1.1);
    background-position: -85%;
}

.server_join button:active {
    transform: scale(0.9)
}

.server_inDev {
    font-size: 2vh;
    font-weight: 600;
}

.main_section {
    background: linear-gradient(0deg, var(--alt_secondary2) 0%, var(--alt_secondary1) 100%);
}

.hero_image {
    display: none;
}

@media screen and (min-width: 990px) {
    .hero_image {
        display: block;
        position: absolute !important;
        width: 50% !important;
        right: 0 !important;
        bottom: 0;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        transition: all .65s ease-out;
        opacity: 0;
        transform: translate(0, 75%);
        background-position: bot;
    }
}

.hero_visible {
    opacity: 1;
    transform: translate(0, 2vh);
}

.server {
    /* Full height */
    height: 100vh; 

    /* Create the parallax scrolling effect */
    background-attachment: fixed !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.bg_video {
    /* Full height */
    height: 100vh; 
    min-width: 100%;
    width: 100%;
    position: fixed;
    top:0;
    bottom: 0;
    z-index: -999;
}

video {
    /* override other styles to make responsive */
    width: auto    !important;
    min-width: 100% ! important;
    height: 100vh   !important;
    object-fit: cover;
}

.last_section {
    display: flex;
    flex-direction: column;

    /* The image used */
    background: url(assets/bg/main.webp);
    
    /* Full height */
    height: auto !important;
    min-height: 100vh; 
    padding-bottom: 100px;

    /* Create the parallax scrolling effect */
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.section_title {
    margin-top: 8vh;
    margin-bottom: 1vh;
    text-align: center;
    font-size: 2.6vh;
    font-weight: 600;
}

.section_subtitle {
    margin-bottom: 8vh;
    text-align: center;
    font-size: 1.6vh;
    font-weight: 400;
}

.people {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12vh;
    margin: 0 25%;
}

.people_section {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 6vh;
    flex-wrap: wrap;
}

.people_title {
    text-align: center;
    font-size: 1.6vh;
    font-weight: 400;
    margin-bottom: -4vh;
}

.person {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all .2s ease-out;
}

.person:hover {
    transform: scale(1.1);
}

.person_avatar {
    border-radius: 50%;
    box-shadow: 0 0 30px rgba(10,10,10,0.5);
    pointer-events: none;
}

.person_name {
    margin-top: 15px;
    font-size: 2.2vh;
    pointer-events: none;
}

.person_role {
    font-size: 1.32vh;
    pointer-events: none;
}

/* Animations */

@keyframes pulse {

    0% {
        filter: drop-shadow(0px -35px 35px var(--primary_color));;
    }

    10% {
        filter: drop-shadow(0px -30px 35px var(--primary_color));;
    }

    20% {
        filter: drop-shadow(0px -25px 35px var(--primary_color));;
    }

    30% {
        filter: drop-shadow(0px -25px 35px var(--primary_color));;
    }

    40% {
        filter: drop-shadow(0px -25px 35px var(--primary_color));;
    }

    50% {
        filter: drop-shadow(0px -30px 35px var(--primary_color));;
    }

    60% {
        filter: drop-shadow(0px -25px 35px var(--primary_color));;
    }

    70% {
        filter: drop-shadow(0px -30px 35px var(--primary_color));;
    }

    80% {
        filter: drop-shadow(0px -35px 35px var(--primary_color));;
    }
    90% {
        filter: drop-shadow(0px -40px 35px var(--primary_color));;
    }

    100% {
        filter: drop-shadow(0px -35px 35px var(--primary_color));;
    }

}

/* Footer CSS */

footer {

    margin-top: auto;

    width: 100%;
    min-height: calc(var(--banner_height) * 2);

    background: var(--secondary_color);
    border-top: 2px solid var(--primary_color);

    animation: pulse2 6s linear infinite;

    z-index: 1;

    display:flex; 
    flex-direction:column; 

}

footer .logo-container {
    margin-top: 35px;
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%;
    overflow: hidden;
}

footer .logo-container .cn {
    height: 60px;
    padding: 9px;
}

footer span {
    width: 100%;
    text-align: center;
    font-size: 15px;
    margin-top: 16px;
    margin-bottom: 44px;
}