@import url('https://fonts.googleapis.com/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap');
@import url('satoshi.css');

/* Global Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /*font-family: "Trebuchet MS", Arial, sans-serif;*/
    /*font-family: "Overpass", "Trebuchet MS", Arial, sans-serif;*/
    font-family: 'Satoshi-Medium', 'Overpass', sans-serif;
    scroll-behavior: smooth;
}
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -100; /* Behind other content */
}
.shader-web-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; /* Behind other content */
}
.shader-web-background-fallback {
    background: url("https://placecats.com/millie_neo/300/200");
    background-position: center;
    background-size: cover;
    background-attachment: fixed;    
}
:root {
    --off-white: #edf0f1;
    --green-border: #8ed19c;
    --button-color: #232323;
    --button-hover: #4a4a4a;
    --text-color: #464646;
}
:root {
    --base-font-size: 16px;
    --main-head-font: 100px;
}
img{
    -khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}
/* Title */
.header {
    padding-left: 1%;
    padding-top: 2%;
}
h1 {
    font-family: 'Satoshi-Medium';
    font-size: clamp(1rem, 10vw, 6rem); /* Grows between 2rem and 6rem based on screen size */
    
    font-weight: 700;
    color: var(--text-color);
    border-left: .3vw solid var(--green-border);
}
h2 {
    font-family: 'Satoshi-Medium';
}
h3 {
    font-family: 'Satoshi-Regular';
    font-size: clamp(0.2rem, 8vw, 1.0rem); 
}
p {
    font-family: 'Satoshi-Regular';
}
a {
    font-family: 'Satoshi-Regular';
}
/* End */ 



/* Footer Styles */
footer {
    background-color: rgba(103, 103, 103, 0.8);
    flex-direction: column;
    width: 100%;
    margin-top: auto; /* Ensure footer is at the bottom */
    backdrop-filter: blur(20px);
    z-index: 1;
    right: 0;
    left: 0;
    padding: 1.5%;
}
.footer-container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
}

.footer-logo {
    grid-column: 1;
    justify-self: start;
    width: 70px;
    height: auto;
}
footer .icons {
    display: flex;
    flex-wrap: wrap; /* Allows icons to break into new lines on small screens */
    gap: 15px;
    justify-content: center;
    align-items: center;
}
footer .icons img {
    width: 100%;
    max-width: 40px;
    height: auto;
    transition: transform 0.3s ease;
}
footer .icons img:hover {
    transform: scale(1.1);
}
.cta {
    grid-column: 3;
    justify-self: end;
}
.contact {
    padding: 15px;
    background: var(--button-color);
    color: var(--off-white);
    font-size: var(--base-font-size);
    border: 0;
    outline: none;
    cursor: pointer;
    border-radius: 30px;
    width: 150px;
}
.contact:hover {
    background: var(--button-hover);
    transition: all .5s;
}
footer .impress {
    text-align: center;
}
footer .impress a {
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
    color: #232323;
}
footer .impress a:hover {
    color: #36ff61;
    transform: scale(1.1);
    transition: .5s;
}
/* End */



/* Nav Bar */
nav{
    background-color: rgba(103, 103, 103, 0.5);
    backdrop-filter: blur(20px);                /* actual blur effect */
    -webkit-backdrop-filter: blur(20px);        /* Safari support */
    height: 80px;
    width: 100%;
    position: relative; /* Add this line */
    z-index: 1001; /* Optional but ensures it's above other elements */
}
label.check {
    float: right;
}
nav ul {
    display: inline-block;
}
nav ul li{
    display: inline-block;
    line-height: 80px;
    margin: 0 10px;
}
nav ul li a{
    color: var(--off-white);
    text-decoration: none;
    font-size: var(--base-font-size);
    text-transform: uppercase;
    padding: 7px 13px;
    border-radius: 5px;
}
ul a.active, ul a:hover {
    color: #36ff61;
    transition: .5s;
    z-index: 1000;
}
ul a:hover {
    color: #36ff61;
    transition: .5s;
}
.nav-restricted:hover {
    background: #ff0000;
    text-decoration: line-through 5px;
    transition: .5s;
}
.checkbtn {
    font-size: 30px;
    color: var(--off-white);
    float: right;
    line-height: 80px;
    margin-right: 40px;
    cursor: pointer;
    display: none;
}
#check {
    display: none;
}
/* End */


/* Home Page */
.list-group {
    display: inline-flex; /* This ensures that the list itself is not a full-width block */
    flex-direction: column; /* Items stack in a column */
    height: 100vh;
    align-items: flex-start; /* Ensure items align to the left */
    padding: 5px;
}
.list-group .latest-release {
    animation: blinker 2s linear infinite;
}
@keyframes blinker {  
    50% { opacity: 0; }
  }
.list-group a {
    display: inline-flex; /* Allow content to take up as much space as it needs */
    flex-direction: column;
    text-decoration: none;
    padding: 0vh 1vw;
    border-left: .5vw solid var(--green-border);
    color: var(--text-color);
    font-size: 3.96vw;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 0px;
    width: auto; /* Ensure anchor only takes the width of the content */
}
.menu:hover {
    color: var(--green-border);
    transition: .5s;
}
/* End */



/* PAZANGS PAGE */
.pazang-container {
    display: flex;
    flex-direction: column;
    width: 100vw; /* Full viewport width */
    height: 100vh; /* Full viewport height */
}
.music-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.music-icons img {
    width: 100%;
    max-width: 50px;
    height: auto;
    transition: transform 0.3s ease;
}
.music-icons img:hover {
    transform: scale(1.1);
}
.pazang-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px;
    padding: 3%;
    padding-bottom: 7%;
}
.pazang-gallery img {
    width: 100%;
    max-width: 380px;
    height: auto;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    transition: transform 0.2s ease;
}
.pazang-gallery img:hover {
    transform: scale(1.1);
}
/* End */



/* RELEASE PAGE */
.release-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100vw; /* Full viewport width */
    height: 100vh; /* Full viewport height */
}
.release-placement {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 5%;
}
.main-release-container {
    background-color: rgba(190, 190, 190, 0.5); /* translucent background */
    backdrop-filter: blur(10px);                /* actual blur effect */
    -webkit-backdrop-filter: blur(10px);        /* Safari support */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 90%;
    max-width: 600px; /* Optional: cap the size */
    border-radius: 10px;
    padding: 3%;
    height: auto; /* Let it grow with content */
    box-sizing: border-box;
    z-index: 1;
}
.main-release-container h2 {
    font-size: clamp(1.0rem, 5vw, 1.7rem);
    text-align: center;
}
.main-release-container img {
    width: 80%;
    max-width: 300px;
    height: auto;
}
.main-release-container img{
    width: 100%;
    max-width: 300px;
    height: auto;
    transition: transform 0.2s ease;
}
.main-release-container img:hover {
    transform: scale(1.1);
}
.main-release-container .release-music-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.release-music-icons img {
    width: 50px;
    height: auto;
    max-width: 12vw;
    transition: transform 0.3s ease;
}
.iframe-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 aspect ratio */
    overflow: hidden;
}
.iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
/* End */



/* Contact Page */
.reach-out h3 {
    display: flex;
    color: #232323; 
    justify-content: center;
    padding: 1%;
    outline: none; 
    border-radius: 30px;
    text-align: center;
}
.contact-container {
    display: flex;
    justify-content: space-evenly;
    padding: 2%;
    padding-bottom: 7%;
}
.text-dings {
    display: flex;
    flex-direction: column;
    line-height: 200%;
    /*line-height: 2.0vw; */
    color: var(--text-color); 
    font-style: normal; 
    font-variant: normal; 
    width: 100%;
    max-width: 800px;
}
.text-dings h2 {
    font-size: 24px; 
}
.text-dings h3 {
    font-size: var(--base-font-size); 
}
.text-dings ul li {
    font-size: var(--base-font-size); 
    margin: 0 20px;
}
form {
    background-color: #bebebe;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    padding: 2vw 4vw;
    width: 100%;
    max-width: 600px;
    border-radius: 10px;
    max-height: 600px;
}
form h3 {
    color: var(--off-white);
    font-weight: 800;
    margin-bottom: 20px;
}
form input, form textarea {
    border: 0;
    margin: 10px 0;
    padding: 20px;
    outline: none;
    background: var(--off-white);
    font-size: var(--base-font-size);
    border-radius: 7px;
    max-width: 600px;
    resize: vertical;
}
form button {
    padding: 15px;
    background: var(--button-color);
    color: var(--off-white);
    font-size: var(--base-font-size);
    border: 0;
    outline: none;
    cursor: pointer;
    border-radius: 30px;
    width: 150px;
    margin: 20px auto 0;
}
form button:hover {
    background: #4a4a4a;
    transition: all .5s;
}
/* End */


/* IMPRESSUM Page */
.impressum-container {
    display: flex;
    justify-content: center;
    padding: 2%;
    padding-bottom: 7%;
}
.impressum-dings {
    background-color: rgba(190, 190, 190, 0.5); /* translucent background */
    backdrop-filter: blur(10px);                /* actual blur effect */
    -webkit-backdrop-filter: blur(10px);        /* Safari support */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    width: 40%;
    max-width: 600px; /* Optional: cap the size */
    border-radius: 10px;
    padding: 3%;
    height: auto; /* Let it grow with content */
    box-sizing: border-box;
    z-index: 1;
}
.impressum-dings h2 {
    font-size: 28px; 
}
.impressum-dings h3 {
    font-size: 20px; 
}
/* End */





/* Responsive Styles */
@media only screen and (max-width: 952px) {

    /* h1 TITLE ADJUSTMENTS */
    h1 {
        display: flex;
        justify-content: center;
        border-left: none;
    }
    /* End 
    */



    /* Nav Bar */
    ul {
        position: fixed;
        width: 100%;
        height: 100vh;
        background-color: rgba(74, 74, 74, 0.9);  /* 50% opacity */
        top: 80px;
        left: -100%;
        transition: all 0.5s;
        z-index: 1000;
    }
    nav ul li {
        display: block;
        margin: 50px 0;
        line-height: 30px;
    }
    nav ul li a{
        font-size: 20px;
    }
    ul a:hover, ul a.active {
        background-color: none;
        color:var(--green-border);
        z-index: 1000;
    }
    #check:checked ~ ul{
        left: 0;
    }
    .checkbtn {
        display: block;  
    }
    nav ul li a {
        font-size: 40px;
    }
    /* End */



    /* Home Page */
    .list-group {
        display: flex;
        flex-direction: column;
    }
    .list-group a {
        padding: 4vh  4vw;
        border-left: 1vw solid var(--green-border);
        background: unset;
        /*line-height: 6.4vw;*/
        font-size: 10vw;
    }
    /* End Home Page */



    /* RELEASE STUFF*/
    .main-release-container iframe {
        width: 100%;
        padding: 0% 5%;
    }
    .main-release-container h1{
        font-size: 25px;
    }
    .main-release-container .release-music-icons {
        gap: 18px;
    }
    /* End */



    /* Contact Page */
    .contact-container{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-bottom: 10%;
        gap: 20px;
    }
    form {
        padding: 2vw 4vw;
        width: 90%;
        max-width: 600px;
        border-radius: 10px;
    }
    .text-dings {
        padding: 2vw 4vw;
        width: 100%;
    }
    /* End */



    /* Footer */
    footer {
        max-width: 100%;
    }
    .footer-container {
        display: flex;
        flex-direction: column;
        max-width: 100%;
        padding: 5%;
        gap: 20px;
    }
    .icons img {
        max-width: 40px;
    }
    
}



@media only screen and (max-width: 650px) {

    /* Nav Bar */
    nav ul li {
        display: block;
        margin: 50px 0;
        line-height: 15px;
    }
    nav ul li a{
        font-size: 20px;
    }
    ul a:hover, ul a.active {
        background-color: none;
        color:rgb(30, 255, 169);
    }
    #check:checked ~ ul{
        left: 0;
    }
    .checkbtn {
        display: block;  
    }
    nav ul li a {
        font-size: 20px;
    }
    /* End */



    /* LATEST RELEASE */
    .release-placement {
        padding: 8%;
    }



    /* Footer */
    footer {
        max-width: 100%;
    }
    .footer-container {
        display: flex;
        flex-direction: column;
        max-width: 100%;
        padding: 5%;
        gap: 20px;
    }
    .icons img {
        max-width: 40px;
    }

}



@media only screen and (max-width: 600px) {

    .main-release-container {
        width: 95%;
        padding: 5%;
    }
    .release-music-icons img {
        width: 50px;
    }

    .impressum-dings {
        width: 95%;
        padding: 5%;
    }

}


@media only screen and (max-width: 550px) {

    /* Nav Bar */
    nav ul li {
        display: block;
        margin: 50px 0;
        line-height: 15px;
    }
    nav ul li a{
        font-size: 20px;
    }
    ul a:hover, ul a.active {
        background-color: none;
        color:rgb(30, 255, 169);
    }
    #check:checked ~ ul{
        left: 0;
    }
    .checkbtn {
        display: block;  
    }
    nav ul li a {
        font-size: 20px;
    }
    /* End */



    /* PAZANG */
    .pazang-gallery {
        padding-left: 10%;
        padding-right: 10%;
        padding-bottom: 30%;
    }
    .music-icons {
        padding: 3%;
    }
    /* END */


    /* RELEASE PAGE */
    .release-placement {
        padding-bottom: 10%;
        padding-top: 10%;
    }
    /* END */



    /* CONTACT PAGE */
    .contact-container {
        padding-bottom: 30%;
    }
    /* END */


    /* Footer */
    footer {
        max-width: 100%;
    }
    .footer-container {
        display: flex;
        flex-direction: column;
        max-width: 100%;
        padding: 5%;
        gap: 20px;
    }
    .icons img {
        max-width: 25px;
    }

}

  

@media only screen and (max-width: 390px) {
 
    /* Main Stuff */
    body {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }
    /* End */



    /* Nav Bar */
    nav ul li {
        display: block;
        margin: 50px 0;
        line-height: 15px;
    }
    nav ul li a{
        font-size: 20px;
    }
    ul a:hover, ul a.active {
        background-color: none;
        color:rgb(30, 255, 169);
    }
    #check:checked ~ ul{
        left: 0;
    }
    .checkbtn {
        display: block;  
    }
    nav ul li a {
        font-size: 20px;
    }
    /* End */


 
    /* Footer */
    footer {
        max-width: 100%;
    }
    .footer-container {
        display: flex;
        flex-direction: column;
        max-width: 100%;
        padding: 5%;
        gap: 20px;
    }
    .icons img {
        max-width: 20px;
    }
    /* End */

}
