


    /* =========================
   Base / Body
========================= */
body {
    overflow-x: auto;
    color: rgb(0, 0, 0);
    height: 100vh;
    font-family: "Roboto mono", sans-serif;
    background-color: rgb(255, 255, 255);
    text-decoration: none;

    /* Disabled selection options
    -webkit-touch-callout: none; 
    -webkit-user-select: none;
    -khtml-user-select: none;    
    -moz-user-select: none;    
    -ms-user-select: none;       
    user-select: none;          
    cursor: default;
    */
}


/* =========================
   Front Page Background Image
========================= */
.fp_img_container {
    position: fixed;
    width: 100vw;
    left: 0;
    top: 0;
    text-align: center;
    align-content: center;
}

.fp_img {
    width: auto;
    height: 100vw;
    filter: brightness(80%);
}
 

.news_banner{
    z-index: 10;
    top: 0;
    left: 0;
    font-size: clamp(0.5em,1.5vw,1em);
    background-color: rgb(185, 245, 255);
    color: black;
    text-align: center;
    position: absolute;
    width: 100vw;
    height: auto;
    padding: 1vw 0;
}

#menu_open_container {
    display: flex;               /* use flex to center content */
    flex-direction: column;      /* stack lines vertically */
    justify-content: center;     /* vertical centering */
    align-items: center;         /* horizontal centering */
    position: fixed;
    cursor: pointer;
    top: 20px;
    right: 20px;
    width: 50px;                 /* fixed size for consistency */
    height: 50px;
    background: rgb(255, 255, 255);
    border-radius: 50%;
    padding: 0;                  /* remove extra padding */
    z-index: 99999;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.team_container{
    font-weight: 300;
    background-color: rgb(255, 255, 255);
    width: auto;
    cursor: pointer;
    padding: 0.1em 0em 0.1em 5em;
    
    font-size: 1.5em;
    
}

#our_team_text{

    text-decoration: underline;
    
}


#team_container:hover{
    filter: brightness(98%);
}

#hidden_team{
    text-decoration: none;
    font-size: 0.8em;
    margin-left: 2%;
    display: none;
}

#menu_header{
    text-align: center;
}


.line {
    width: 60%;                   /* relative to container width */
    height: 4px;                  /* line thickness */
    background: black;
    border-radius: 2px;
    margin: 2px 0;                /* spacing between lines */
}

#menu_margin{
    width: auto;
    height: auto;
    margin-left: 5em;
}

#menu{
    
    position: fixed;
    background-color: white;
    right: 1000vw;
    top: 0;
    z-index: 1000;
   
    width: 100vw;
    height: 100vh;
    transition: 0.5s ease-in-out ;
}





@keyframes line1X {
    0% { transform: rotate(45deg) translate(6px, 6px); }
    100% { transform: rotate(45deg) translate(6px, 6px); }
}

@keyframes line2X {
    0% { opacity: 0; }
    100% { opacity: 0; }
}

@keyframes line3X {
    0% { transform: rotate(-45deg) translate(6px, -6px);}
    100% { transform: rotate(-45deg) translate(6px, -6px); }
}

/* =========================
   Front Page Content (Logo + Subtitle)
========================= */
.fp_content {
    position: absolute;
    margin-top: clamp(1em, 20vw, 10em);
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5em;
}

.logo_img {
    
    animation: logo_img 2s ease-out forwards;
    width: clamp(20em,50vw, 40em);
    height: auto;
}



.front_page_subtitle {
    color: white;
    animation: logo_img_afk 5s ease-in-out infinite;
    font-weight: 100;
    font-size: 1.6vw;
    text-align: center;
}

@keyframes logo_img {
    from {
        opacity: 0.8;
        transform: translateY(80px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        
    }
}

@keyframes logo_img_afk {
    0% {
        
        transform: translateY(0px);
    }
    50% {
        
        transform: translateY(10px) ;
    }

    100%{
        transform: translateY(0px);
    }
}



/* =========================
   Page Layout Container
========================= */
.front_page {
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    flex-direction: column;
}

.sec1 {
    position: relative;
    width: 100vw;
    height: auto;
    left: 0;

    margin-top: clamp(25em, 50vw, 45em);
    padding-bottom: 10em;

    background-color: rgb(255, 255, 255);
}


/* =========================
   Cards Section
========================= */
.card_holder {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    gap: 5em;
    margin-top: 5em;

    background-color: transparent;
}


.support_container{
    
    justify-content: center;
    align-content: center;
    text-align: center;
    gap: 5em;
    margin-top: 5em;
    height: auto;
    width: 100vw;

    background-color: rgb(252, 252, 252);
}


.support_text{
    font-weight: 200;
    padding: 0 1em;
    font-size: 1em;
}
.card {
    width: 20em;
    height: auto;
    padding: 1em;

    text-align: center;
    border-radius: 15px;

    background-color: white;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.ip_container{
    justify-content: center;
   
    display: flex;
    gap: 2em;
    flex-direction: row;
}

#cart_img{
  
    justify-content: center;
    align-content: center;
    text-align: center;
    padding: 0 0.5em;
    
    width: 1.5em;
    height: 1.5em;
}

.store_btn{
   
    margin: 1em auto;
    display: flex;
    flex-direction: row;
    width: fit-content;
    
    padding: 0.5em 2em;
    font-size: 1.2em;
    cursor: pointer;
    font-weight:200;
    color: white;
    text-decoration: none;
    border-radius: 15px;
    height: auto;
    background-color: rgb(0, 141, 228);
}


.ip_text{
    font-weight: 400;
    font-size: 1em;
    word-spacing: 0.5em;
    text-align: left;
    border: 1px solid rgba(0, 0, 0, 0.195);

    padding: 0.5em;
    color: rgb(0, 0, 0);
    border-radius: 10px;
    background-color: rgb(253, 253, 253);
}

.text_content_ip{
    border-radius: 10px;
    width: 20em;
    height: auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    padding: 1em;
    background-color: rgba(255, 255, 255, 0.923);
}

.text_box{
   
    width: auto;
    height: auto;
    padding: 1em;
    border: 1px solid rgba(0, 0, 0, 0.195);
    color: rgb(49, 184, 0);
    
    border-radius: 10px;
   
    background-color: rgb(253, 253, 253);
}

@media (max-width:1000px){
    .ip_container{
        align-items: center;
        flex-direction: column;
    }
}


.ip_img{
    border-radius: 10px;
    width: clamp(20em,40vw, 30em);
    height: auto;
    
}


.htp{
    font-size: 1.2em;
    font-weight: 400;
    margin-top: 4em;
}
.card_subject {
    font-weight: 400;
}

.card_text {
    font-weight: 200;
    font-size: 1em;
}


/* =========================
   Spawn Image Section
========================= */
#spawn_img_container {
    margin-top: 5em;
    text-align: center;
    justify-content: center;
}

#spawn_img {
    cursor: pointer;

    width: clamp(22em, 60vw, 60em);
    height: auto;

    border-radius: 15px;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.316);
}


/* =========================
   Zoom Modal
========================= */
#zoomed_container {
    position: fixed;
    top: 0;
    left: 0;

    width: 100vw;
    height: 100vh;

    display: none;
    justify-content: center;
    align-items: center;

    cursor: pointer;

    background-color: rgba(0, 0, 0, 0.862);
    z-index: 1000;
}

#zoomed_img {
    display: none;

    width: auto;
    height: 48vw;

    border-radius: 0px;
}


/* =========================
   Social Section
========================= */
.socials_header {
    margin-top: 3em;
    text-align: center;
}

.social_holder {
    display: flex;
    justify-content: center;
    align-content: center;
    gap: 1em;
    margin-top: 1em;
}

.social_img {
    width: clamp(3em, 10vw, 4em);
    height: auto;
}


/* =========================
   Responsive Design
========================= */

/* Large screens */
@media (min-width: 2500px) {
    .sec1 {
        margin-top: clamp(20em, 100vw, 160em);
    }
    .logo_img{
        width: clamp(20em,50vw, 180em);
        margin-top: 10em;
    }

}

/* Medium screens */
@media (max-width: 900px) {
    .card_holder {
        grid-template-columns: repeat(1, max-content);
    }
}

/* Small screens */
@media (max-width: 500px) {

    .fp_content {
        gap: 6em;
    }

    .front_page_subtitle {
        font-size: 3vw;
        font-weight: 500;
    }

    .sec1 {
        margin-top: clamp(5em, 100vw, 160em);
    }
}

/* Very small screens */
@media (max-width: 350px) {

    .fp_content {
        gap: 1em;
    }

    .logo_img{
         width: clamp(10em,50vw, 40em);
    }
     

    .card_holder {
        justify-content: left;
    }

    .sec1 {
        width: 200vw;
    }
}
