html {
    font: 100% "Helvetica", sans-serif;

    --main-brand-color: #ED7D2A;
    --dark-accent-color: #B25A38;
    --dark-shades-color: #3F4453;
    --light-accent-color: #8D8F97;
    --light-shades-color: #EDF0E9;
    --light-off-brand-color: #FB910D;

    --contact-logos-height: 150px;
    --flex-vert-gutter: 2rem;

    --player-width: 248px;
    --player-height: 100px;

    --content-aware-border-radius: 5px;

    --logo-width: calc(0.5 * var(--player-width));
}

body {
    width: 100vw;
    min-height: 100vh;
    display: flex;
    flex-flow: column;
    overflow: hidden auto;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-decoration: none;
}

ol, ul {
    list-style-type: none;
}

/* ================================================ */

header {
    display: flex;
    align-items: center;
    border-bottom: 2px solid var(--light-accent-color);
    color: var(--main-brand-color);
    font: bold 1.2rem "Helvetica", sans-serif;
    background: linear-gradient(to right, white 0 25%, 70%, #000 90% 100%);
}

h1 {
    text-align: center;
    font-size: 2rem;
    flex: auto;
    text-shadow: 2px 2px 2px var(--dark-shades-color);	
}

.logo {
    max-width: var(--logo-width);
    opacity: 1;
}

#logo {
    max-width: 100px;
}

#h1-legend {
    display: block;
    font-size: 0.75rem;
}

#contact-logos {
    position: fixed;
    inset: calc(75% - var(--contact-logos-height) * 0.5) 0 auto auto;
}


#content {
    display: flex;
    flex-flow: column;
    align-items: center;
}

main {
    width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    padding-top: var(--flex-vert-gutter);
    padding-bottom: var(--flex-vert-gutter);
    gap: calc(var(--flex-vert-gutter) * 0.75);
    background: radial-gradient(circle at 0% 100%, var(--main-brand-color) 0 15%, 30%, #000 80% 100%);
}

#player {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: calc(var(--flex-vert-gutter) * 0.5);
}

aside {
    display: flex;
    flex-flow: column;
    align-items: center;
    border-top: 2px solid var(--light-shades-color);
    border-bottom: 2px solid var(--light-shades-color);
    width: 100%;
    gap: calc(var(--flex-vert-gutter) * 0.5);
    padding: var(--flex-vert-gutter) 0;
    background: var(--dark-shades-color);
}

footer {
    width: 100%;
    background: var(--dark-accent-color);
    color: var(--light-shades-color);
    flex: auto;
    padding: 0.7rem;
    text-align: center;
}


#descargar {
    background: var(--light-shades-color);
    color: var(--main-brand-color);
    font-weight: bold;
    font-size: 0.7rem;
    border-radius: var(--content-aware-border-radius);
}

#descargar-header {
    padding: .3rem;
    border-radius: var(--content-aware-border-radius);
}

#descargar-options a:hover, #descargar-options a:active, #descargar-header:hover, #descargar-header:active {
    background: var(--dark-shades-color);
    text-decoration: underline;
}

.collapsed {
    display: none;
}

#descargar-options a {
    text-align: center;
    display: block;
    width: 100%;
    height: 100%;
    padding: .5rem 0;
}

#descargar-options li:last-child a {
    border-radius: 0 0 var(--content-aware-border-radius) var(--content-aware-border-radius);
}


.publicidad img {
    max-width: 100px;
    border-radius: var(--content-aware-border-radius);
}

.publicidad a {
    display: block;
    padding: 0.2rem;
    max-width: 120px;
    text-align: center;
    background: var(--light-shades-color);
    border-radius: var(--content-aware-border-radius);
    box-shadow: 0px 0px 1rem var(--main-brand-color);
}

.publicidad a:hover, .publicidad a:active {
    box-shadow: 0px 0px 1rem var(--light-shades-color);
    background: var(--main-brand-color);
}


#contact-logos img {
    max-width: 15px;
}

#contact-logos a {
    display: block;
    width: 100%;
    text-align: center;
    padding: 5px;
    background: var(--light-off-brand-color);
}

#contact-logos li:first-child a {
    border-top-left-radius: var(--content-aware-border-radius);
}

#contact-logos li:last-child a {
    border-bottom-left-radius: var(--content-aware-border-radius);
}

#contact-logos a:hover, #contact-logos a:active {
    background: var(--dark-shades-color);
    opacity: one;
}

.currency-converter {
    width: 90%;
}


@media (min-width: 400px) {
    html {
	--player-width: 300px;
	--player-height: 150px;
	--content-aware-border-radius: 10px;
    }

    aside {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	justify-items: center;
    }

    #descargar {
	font-size: 1rem;
    }

    #descargar-header {
	padding: .5rem;
    }

    #contact-logos img {
	max-width: 30px;
    }

    #contact-logos a {
	padding: 10px;
    }
}

@media (min-width: 600px) {
    html {
	--player-width: 450px;
	--player-height: 200px;
    }
    #h1-legend {
	display: inline;
	font-size: 1rem;
    }

    h1 {
	margin-left: -120px;
    }

    #logo {
	max-width: 120px;
    }

    #volume-controls-wrapper {
	width: 90%;
	position: relative;
    }

    aside {
	grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width: 800px) {
    html {
	--player-width: 550px;
	--player-height: 250px;
    }

    h1 {
	font-size: 2.5rem;
	margin-left: -150px;
    }

    #h1-legend {
	font-size: 1.5rem;
    }

    #logo {
	max-width: 150px;
    }
}


/* RADIO PLAYER */

#player {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: calc(0.5 * var(--flex-vert-gutter));
    width: var(--player-width);
    margin: auto;
}

#player-logos {
    display: flex;
    align-items: center;
    gap: 10px;
}

#radios-before-btn, #radios-after-btn {
    background: var(--main-brand-color);
    display: flex;
    align-items: center;
    height: calc(var(--player-height) * 0.5);
}

#logos-container {
    position: relative;
    width: var(--player-width);
    height: var(--player-height);
    background: linear-gradient(to bottom, #AAAA, 5%, #FFFA, 90%, #AAAA),
    linear-gradient(to right, #AAA, 5%, white, 90%, #AAA);
}

#logos-container > img {
    transition: all .7s ease-in;
    position: absolute;
    width: var(--logo-width);
    left: calc((var(--player-width) - var(--logo-width)) * 0.5);
    top: calc((var(--player-height) - var(--logo-width)) * 0.5);
}

img.before {
    transform: scale(0.5) translateX(-120%);
    opacity: 0.5;
}

img.after {
    transform: scale(0.5) translateX(120%);
    opacity: 0.5;
}

#play-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: max(36px, 0.1 * var(--player-width));
    height: max(36px, 0.1 * var(--player-width));
    border-radius: 50%;
    background: var(--main-brand-color);
}

#play-btn img {
    width: max(24px, 0.06 * var(--player-width));
    margin-left: max(3px, 0.125 * 0.06 * var(--player-width));
}

.play-btn:hover, #radios-before-btn:hover, #radios-after-btn:hover {
    background: var(--light-off-brand-color);
}


.slidecontainer {
    100%;
}

/* The slider itself */
.slider {
    -webkit-appearance: none; /* Override default CSS styles */
    appearance: none;
    width: 100%; /* Full width */
    height: 5px; /* Specified height */
    border-radius: 5px;
    background: #d3d3d3; /* Grey background */
    outline: none; /* Remove outline */
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

.slider:hover {
    opacity: 1;
}

.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--main-brand-color);
    cursor: pointer;
}

.slider::-moz-range-thumb {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--main-brand-color);
    cursor: pointer;
}


#controls-wrapper {
    display: flex;
    flex-flow: row;
    align-items: center;
    width: 90%;
    gap: calc(var(--flex-vert-gutter) * 0.5);
    border-top: 5px solid var(--light-off-brand-color);
    border-radius: 10px;
    padding: 0.5rem;
    background: radial-gradient(50% 50% at center center, white, #DDD);
}

#volume-controls-wrapper {
    width: 80%;
    position: relative;
    display: flex;
}

#volume-controls-wrapper .slidecontainer {
    flex: 1;
    margin: auto;
    padding: 0.2rem 0.5rem 0.3rem;
    border-radius: 10px;
    background: linear-gradient(to bottom, #111A, #888A 50%, #888A 55%, #111A); /* #111A; */
}

#volume-icon {
    width: 24px;
    padding-top: 3px;
    padding-left: 4px;
    order: 2;
}

.bolden-me {
    font-weight: bold;
}

#popup {
    position: fixed;
    inset: calc(75% - var(--contact-logos-height) * 0.5) auto auto 0;
    width: fit-content;
    background: var(--light-off-brand-color);
    color: var(--light-shades-color);
    border: 2px solid var(--dark-shades-color);
    box-shadow: 2px 2px .5em var(--light-off-brand-color);
    text-align: center;
}

.popup-header {
    background: var(--dark-shades-color);
    text-align: right;
    padding: 0.2rem;
}

.popup-header img {
    width: 16px;
}

.popup-content {
    padding: .5rem;
}
