/* Default Styling and Fonts */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Zain:wght@200;300;400;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Zain:wght@200;300;400;700;800;900&display=swap');

* {
    margin: 0; 
    padding: 0; 
    box-sizing: border-box;
    font-family: 'Open Sans', 'Roboto';
}

body {
    background-color: #11222c;
    color: white;
}

/* Header */

header {
    background-color: #27343e;
    height: auto;
    box-shadow: 0 0 30px 5px #0f202a;
    margin: 0 0 8vh;
}

nav {
    max-width: 1600px;
    margin: 0 auto;
}

nav ul {
    display: flex; 
    justify-content: flex-end; 
    padding: 18px 25px;
}

nav li:first-child {
    margin-right: auto;

} 

li {
    list-style: none;
    margin: 0 25px;
}

nav a {
    text-decoration: none;
    color: white;
}  

#nav-logo {
    width: 150px;
}

.nav-apply {
    padding: 5px;
    margin: 15px 25px 15px 0;
    font-size: 1rem;
}

.nav-icon {
    margin: 4px 5px;
    padding: 5px 10px;
    font-size: 2rem;
    background-color: #11222c;
    border-radius: 50px;
    box-shadow: 0 0 10px 2px #f3632b inset;
}

.nav-icon:hover {
    box-shadow: 0 0 10px 2px white inset;
}

.nav-apply:hover {
    text-shadow: 0 0 5px #f3632b;
}

section {
    max-width: 1600px; 
    margin: 5vh auto; 
}

.azuracast-info {
    width: 40%;
    margin: 25px auto; 
    padding: 30px; 
    text-align: center;
    background-color: #27343e;
    box-shadow: 0 0 30px 5px #0f202a; 
    border-radius: 10px; 
} 

.artist-logo {
    width: 250px;
    height: 250px;
    border: #f3632b 1px solid;
    border-radius: 50%;
    vertical-align: middle;
    box-shadow: 0 0 15px 5px #f3632b;
}

.bttn {
    color: rgb(255, 255, 255);
    font-size: 1.4rem;
    background: none;
    border: #f3632b 1px solid; 
    border-radius: 40%;
    padding: 5px 12px;
    box-shadow: 0 0 5px 1px #f3632b inset;
    margin: 0 8px;
}

.bttn:hover {
    box-shadow: 0 0 5px 1px white inset;
    border: white 1px solid; 
    color: #f3632b;
}

.song-name {
    font-size: 1.7rem;
    font-weight: 500;
    display: inline-block;  
    margin-top: 25px;
}

.artist-name {
    font-size: 1.1rem;
    font-weight: 300; 
    font-style: italic;
    display: inline-block;
}

.scroll-wrapper {
  width: 90%; 
  margin: -15px auto 0; 
  overflow: hidden;
  text-align: center;
  display: flex;
  justify-content: center; 
  align-items: center;     
  height: 4em;           
}

.scroll-content {
  display: inline-block;
  white-space: nowrap;
}

.scroll-artist-wrapper {
    width: 100%;           
    overflow: hidden;      
    text-align: center;    
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.1rem;          
    margin-top: 5px;      
}

.scroll-artist-content {
    display: inline-block;
    white-space: nowrap;  
}

/* Slider */

#player {
    margin: 2vh 0 1vh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 1rem;
    color: #fff;
}

#volume {
    flex: 1;
    max-width: 150px;
    height: 6px;
    background-color: #555;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
}

#volume::after {
    content: '';
    position: absolute;
    height: 100%;
    width: var(--volume-fill, 50%);
    background-color: #f3632b;
    border-radius: 3px;
    left: 0;
    top: 0;
}

#player i {
    cursor: pointer;
    transition: color 0.2s ease;
}

#player i:hover {
    color: #f3632b;
}

#schedule {
    display: flex;
    margin: 8vh auto 0;
    justify-content: center;
}

.schedule > div {
    display: inline-flex; 
    justify-content: left;
    width: 40vh; 
    margin: 0 20px;
    padding-left: 20px;
}

.presenter {
    height: 90px;
    width: 90px;
    border: #f3632b solid 1px;
    border-radius: 50%;
    box-shadow: 0 0 15px 2px #f3632b;
    margin: 10px;
}

.schedule-bg {
    background-color: #27343e;
    box-shadow: 0 0 30px 5px #0f202a; 
    border-radius: 10px; 
}

.djinfo {
    vertical-align: middle; 
    margin: auto 10px auto;
}

.djinfo h2 {
    font-size: 1.7rem;
    font-weight: 500;
}

.djinfo h3 {
    font-size: 1.1rem;
    font-weight: 300; 
}

.live-flash {
  font-weight: bold;
  animation: flash-colors 0.2s infinite alternate;
}

.bold {
    font-weight: bold;
    color: #f3632b;
}

/* Keyframes to switch between two colors */
@keyframes flash-colors {
  0% {
    color: red;
  }
  100% {
    color: #f3632b;
  }
}

#open-application { 
    cursor: pointer;
}


/* Modal Background */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
}

/* Modal Content Box */
.modal-content {
    background-color: #27343e;
    margin: 5% auto;
    padding: 20px;
    border-radius: 8px;
    width: 90%;
    max-width: 600px;
    box-shadow: 0 0 20px #f3632b;
    position: relative;
}

/* Close Button */
.close {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

/* Form Styling */
form div {
    margin-bottom: 15px;
}

form label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
}

form input[type="text"],
form input[type="date"],
form input[type="email"],
form select,
form textarea {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid #ccc;
}

form textarea {
    resize: vertical;
}

form button[type="submit"] {
    padding: 10px 20px;
    background-color: #f3632b;
    color: white;
    border: 1px solid #f3632b;
    border-radius: 5px;
    cursor: pointer;
}

form button[type="submit"]:hover {
    box-shadow: 0 0 15px #f3632b; 
}

.footer-bg {
    background-color: #27343e;
    height: auto;
    box-shadow: 0 0 30px 5px #0f202a;
}

.footer-content {
    max-width: 1600px;
    margin: 8vh auto 0; 
    padding: 20px 0;
}

.footer-nav {
    display: flex;
    justify-content: center;
}

.footer-nav > div {
    width: 40%;
}

.footer-icons {
    display: inline-flex; 
    margin: 8vh 0.5vh 0;
}

.footer-icons > h3 {
    margin: 0 auto;
    font-size: 2rem;
} 

.footer-icons a {
    text-decoration: none;
    color: white;
}

.footer-icons a:hover {
    color: #f3632b;
}

.footer-nav p {
    margin-left: 1.1vh;
    font-size: 1rem;
}

.space-below {
    margin-bottom: 14px;
}

@media (max-width: 1600px) {

    .schedule > div {
        margin: 0 40px;
    }

    section, nav, .footer-content {
        max-width: none;
    }
}

@media (max-width: 768px) {
    .azuracast-info {
        width: 85%;
    }

    #schedule {
        display: block;
        margin: 0 auto;
        text-align: center;
    }

    .schedule > div {
        width: 85%; 
        text-align: left;
        margin: 5px 0;
    }

    .footer-nav { 
        display: block;
        margin: 0 auto;
        text-align: center;
    }

    .footer-nav p {
        text-align: left;
        padding-left: 3.1vh;
    }

    .footer-nav > div {
        width: 50%;
    }

    #player {
        display: none;
    }

    .small-screen {
        margin-top: 2.5vh;
    }

}

@media (max-width: 693px) {
    .footer-nav > div {
        width: 90%;
    }

    .footer-logo {
        margin-left: -27vh;
    }
}

@media (max-width: 648px) {
    .footer-logo {
        margin-left: -23vh;
    }
} 

@media (max-width: 594px) {
    .footer-logo {
        margin-left: -17vh;
    }
}

@media (max-width: 522px) {
    .footer-logo {
        margin-left: -11vh;
    }
}

@media (max-width: 471px) {
    .footer-logo {
        margin-left: -6vh;
    }
}

@media (max-width: 417px) {
    .footer-logo {
        margin-left: -1vh;
    }
}

@media (max-width: 320px) {
    header {
        margin: 0 0 2vh;
    }
    
    nav ul {
        padding: 18px 5px;
    }

    #nav-logo {
        width: 120px;
    }

    .nav-apply {
        font-size: 0.8rem;
        margin: 10px 20px;
    }

    .nav-icon {
        font-size: 1.5rem;
    }

    .azuracast-info {
        width: 90%; 
        margin: 20px auto;
    }

    .artist-logo {
        width: 200px;
        height: 200px;
    }

    .bttn {
        font-size: 1.3rem;
    }

    .song-name {
        font-size: 1.5rem;
    }

    .artist-name {
        font-size: 1rem;
    }

    .presenter {
        height: 60px;
        width: 60px;
    }

    .schedule > div {
        padding-left: 5px;
    }

    .djinfo h2 {
        font-size: 1.2rem;
    }

    .djinfo h3 {
        font-size: 0.9rem;
    }

    .footer-content {
        margin: 5vh auto 0;
    }

    .footer-logo {
        height: auto; 
        width: 240px;
        margin-left: -4.3vh;
    }

    .footer-nav > div {
        width: 90%
    }

    .footer-nav p {
        font-size: 0.6rem;
    }

    .footer-icons {
        margin: 4vh 0 0.5vh 0
    }

    .footer-icons > h3 {
        font-size: 1.5rem;
    }
}