@font-face {
    font-family: 'Viktorie';
    src: url('../fonts/viktorie.woff2') format('woff2'),
         url('../fonts/viktorie.woff') format('woff'),
         url('../fonts/viktorie.ttf') format('truetype'); /* Optional */
    font-weight: normal;
    font-style: normal;
}

body {
    margin: 0;
    font-family: "courier", serif;
    overflow-x: hidden; /* Prevent horizontal overflow */
}


svg {
    max-width: 90vw;
    max-height: 90vh;
}

footer {
  text-align: center;
  padding: 1px;
  background-color: #2D4D47;
  color: #D1DBDB;
  font-size: 1em;
}

footer a {
  color: #8BBBB3;
  text-decoration: none;
}

footer a:hover {
  color: #a3b6c1;
}

.container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 20px;
    flex-wrap: nowrap;
}

.logo {
    width: 481px;
    height: 782px;
    margin-right: 20px; 
}
    
#album-title {
    fill: #000000;
    font-size: 80px;
    font-family: "viktorie", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-anchor: middle;
    dominant-baseline: middle;
}

#song-title {
    fill: #000000;
    font-size: 78px;
    font-family: "viktorie", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-anchor: middle;
    dominant-baseline: middle;
}

#play-button:hover path, 
#pause-button:hover path, 
#forward-button:hover path, 
#back-button:hover path, 
#i-button:hover path, 
#download-button:hover path {
    fill: #98C3B9;
    stroke: #000000;
    cursor: pointer;
}

.playing #play-button path {
    fill: #98C3B9;
    stroke: #000000;
}

.tooltip {
    position: absolute;
    background-color: #333;
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    white-space: pre-wrap; /* Allow text wrapping */
    max-width: 90vw; /* Ensure the tooltip does not exceed the screen width */
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    pointer-events: none; /* Ensures it doesn't interfere with cursor actions */
}

.venmo {
    width: 84%;
    display: flex;
    justify-content: right;
    align-items: right;
    margin-top: 0px;
    margin-bottom: 40px;
}

.pulse {
    transform-origin: center;
    animation: pulse-animation 5s infinite;
}

.rotate {
    transform-origin: center;
    transform-box: fill-box;
    animation: rotate-animation 8s infinite linear;
}

@keyframes pulse-animation {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.01); }
    75% { transform: scale(0.99); }
}

@keyframes rotate-animation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media only screen and (max-width: 600px) {
    .container {
        flex-direction: column;
    }

    .logo {
        margin-top: 0px;
        margin-bottom: 20px;
        width: 100%; /* Ensure it does not exceed screen width */
        max-width: 100%; /* Reset to full width for small screens */
        height: auto;
    }
    
    .venmo {
        flex-direction: row;
        justify-content: right;
        align-items: right;
        margin-top: 20px;
        margin-bottom: 40px;
    }
}

@media only screen and (min-width: 600px) {
    .container {
        flex-direction: column;
    }

    .logo {
        margin-right: 0;
        margin-bottom: 20px;
        width: 100%; /* Make image width 100% of container */
        height: auto; /* Maintain aspect ratio */
    }
    
    .venmo {
        flex-direction: row;
        justify-content: right;
        align-items: right;
        margin-top: 20px;
        margin-bottom: 40px;
    }
}

@media only screen and (min-width: 868px) {
    .container {
        flex-direction: row;
    }

    .logo {
        margin-right: 20px;
        margin-bottom: 0px;
        max-width: 481px; /* Define max-width for larger screens */
    }
    
    .venmo {
        flex-direction: row;
        justify-content: right;
        align-items: right;
        margin-top: 20px;
        margin-bottom: 40px;
    }
}

@media (prefers-color-scheme: dark) {
	html {
		background-color: #ffffff;
		color: #000000;
	}
}