/*
 PLAYER Zonastreaming 2024
 https://www.zonaradio.net

 Copyright (C) Zonastreaming | Hugo Román
 https://www.www.zonaradio.net

*/
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700');

/* ============================================
   VARIABLES CSS DINÁMICAS DEL REPRODUCTOR
   ============================================ */
:root {
    --color-fondo: #1e1e1e;
    --color-texto: #ffffff;
    --color-iconos: #3498db;
    --fondo-size: cover;
    --fondo-position: center center;
}

.icast .player-wpr {
    max-width: 428px;
    min-width: 270px;
    height: 428px;
    background-color: var(--color-fondo);
    font-family: 'Roboto Condensed', Arial, sans-serif;
    position: relative;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden
}

.icast .blur,
.icast .player-ctr {
    height: 428px;
    position: absolute;
    top: 0
}

.icast .player-ctr {
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 10
}

.icast .blur {
    width: 100%;
    background-size: var(--fondo-size);
    background-position: var(--fondo-position);
    -webkit-filter: blur(20px);
    -ms-filter: blur(20px);
    filter: blur(20px);
    transform: scale(1.15);
    opacity: .94;
    z-index: 1
}

.icast .album-cover-wpr {
    width: 210px;
    margin: 0 auto
}

.icast .album-cover {
    width: 210px;
    height: 210px;
    background: url(../img/logo.jpg);
    background-size: 100% 100%;
    position: relative;
    margin: 22px auto 0;
    border-radius: 4px;
    -webkit-box-shadow: 4px 6px 30px 0 rgba(0, 0, 0, .6);
    -moz-box-shadow: 4px 6px 30px 0 rgba(0, 0, 0, .6);
    box-shadow: 4px 6px 30px 0 rgba(0, 0, 0, .6);
    z-index: 2
}

.icast .track-info-wpr {
    max-width: 440px;
    height: 40px;
    box-sizing: border-box;
    color: var(--color-texto);
    font-size: 28px;
    text-align: center;
    position: relative;
    margin: 28px 60px 0;
    padding-top: 3px;
    border-left: 1px solid rgba(255, 255, 255, .87);
    border-right: 1px solid rgba(255, 255, 255, .87);
    overflow: hidden;
    z-index: 4
}

.icast .track-info-ctr {
    max-width: 280px;
    position: relative;
    margin: 0 auto;
    overflow: hidden
}

.icast .songtitle {
    color: var(--color-texto);
    opacity: 0.7;
}

.icast .artist-name {
    color: var(--color-texto);
}

.icast .servertitle {
    max-width: 400px;
    font-size: 14px;
    color: var(--color-texto);
    opacity: 0.54;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 108px;
    margin: 0 auto
}

.icast .listeners {
    max-width: 100px;
    font-size: 14px;
    color: var(--color-texto);
    opacity: 0.7;
    position: absolute;
    top: 32px;
    right: 22px
}

.icast .history-artist-name,
.icast .history-songtitle {
    max-width: 300px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden
}

.icast .listeners:before {
    content: "\f0c0";
    font-size: 14px;
    padding-right: 6px;
    vertical-align: top
}

.icast .ppBtn {
    width: 64px;
    height: 64px;
    background-position: center center;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    border: 4px solid var(--color-iconos);
    border-radius: 50%;
    cursor: pointer
}

.icast .ppBtn:before {
    content: "";
    width: 60px;
    height: 60px;
    background-color: var(--color-iconos);
    opacity: 0.54;
    position: absolute;
    top: 2px;
    left: 2px;
    border-radius: 50%;
    transition: background-color ease .5s
}

.icast .icons-left,
.icast .icons-right {
    width: 24px;
    height: 24px;
    font-size: 24px;
    color: var(--color-iconos);
    cursor: pointer
}

.icast .ppBtn:hover:before {
    opacity: 0.44;
}

.icast .play-btn {
    background: url(../img/repro4/play.svg) center center no-repeat;
    background-size: 42px 42px;
    -webkit-transition: background .5s;
    -moz-transition: background .5s;
    transition: background .5s
}

.icast .stop-btn {
    background: url(../img/repro4/pause.svg) center center no-repeat;
    background-size: 42px 42px;
    -webkit-transition: background .5s;
    -moz-transition: background .5s;
    transition: background .5s
}

.icast .icons-left-wpr {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 11
}

.icast .icons-right-wpr {
    text-align: left;
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 11
}

.icast .icons-left {
    text-align: center;
    margin-right: 28px
}

.icast .icons-right {
    text-align: left;
    margin-left: 28px
}

.icast .icons-serverinfo:before {
    content: "\f0c9"
}

.icast .icons-history:before {
    content: "\f1da"
}

.icast .icons-share:before {
    content: "\f1e0"
}

.icast .icons-volume1:before {
    content: "\f026"
}

.icast .icons-volume2:before {
    content: "\f027"
}

.icast .icons-volume3:before,
.icast .icons-volumeM:before {
    content: "\f028"
}

.icast .icons-volumeM {
    display: none
}

.icast .icons-volumeM2:before {
    content: "\f026"
}

.icast .icons-close:before {
    content: "\f00d"
}

.icast .volume-slider {
    position: absolute;
    bottom: 95px;
    right: -20px;
    display: none;
    z-index: 10
}

.icast input[type=range] {
    width: 90px;
    height: 6px;
    background: 0 0;
    padding: 6px 0;
    transform: rotate(-90deg);
    transform-origin: bottom;
    -webkit-appearance: none;
    cursor: pointer
}

.icast input[type=range]:focus {
    outline: 0
}

.icast input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 6px;
    background: var(--color-iconos);
    opacity: 0.54;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    animate: .2s
}

.icast input[type=range]:focus::-webkit-slider-runnable-track {
    background: var(--color-iconos);
    opacity: 0.54;
}

.icast input[type=range]::-webkit-slider-thumb {
    width: 16px;
    height: 16px;
    background: #ccc;
    margin-top: -5px;
    border: 5px solid var(--color-texto);
    border-radius: 50%;
    cursor: pointer;
    -webkit-appearance: none
}

.icast input[type=range]::-moz-range-track {
    width: 100%;
    height: 6px;
    background: var(--color-iconos);
    opacity: 0.54;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    animate: .2s
}

.icast input[type=range]::-moz-range-thumb {
    width: 6px;
    height: 6px;
    background: #ccc;
    border: 5px solid var(--color-texto);
    border-radius: 50%;
    cursor: pointer
}

@media all and (-ms-high-contrast:none),
(-ms-high-contrast:active) {
    .icast input[type=range] {
        width: 90px;
        height: 16px;
        background: 0 0;
        margin-top: 0;
        padding: 6px 0;
        cursor: pointer
    }
}

.icast input[type=range]::-ms-tooltip {
    display: none
}

.icast input[type=range]::-ms-track {
    width: 100%;
    height: 6px;
    background: 0 0;
    color: transparent;
    margin: 0;
    padding: 0;
    border: 0 transparent;
    cursor: pointer;
    animate: .2s
}

.icast input[type=range]::-ms-fill-lower {
    background: var(--color-iconos);
    opacity: 0.54;
    border: 0;
    border-radius: 8px
}

.icast input[type=range]::-ms-fill-upper {
    background: var(--color-iconos);
    opacity: 0.54;
    border: 0;
    border-radius: 8px
}

.icast input[type=range]::-ms-thumb {
    width: 6px;
    height: 6px;
    background: #ccc;
    border: 5px solid var(--color-texto);
    border-radius: 50%;
    cursor: pointer
}

.icast input[type=range]:focus::-ms-fill-lower {
    background: var(--color-iconos);
    opacity: 0.54;
}

.icast input[type=range]:focus::-ms-fill-upper {
    background: var(--color-iconos);
    opacity: 0.54;
}

.icast .history-wpr {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 22px auto 0;
    z-index: 5
}

.icast .history-title {
    font-size: 28px;
    color: var(--color-texto);
    margin: 0 22px 15px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--color-texto);
    opacity: 0.7;
}

.icast .row-wpr {
    height: 50px;
    background-color: var(--color-iconos);
    opacity: 0.2;
    position: relative;
    margin: 0 22px 9px;
    border-radius: 5px
}

.icast .history-cover {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 6px;
    left: 8px;
    border-radius: 50%
}

.history-track-info {
    text-align: left;
    padding-left: 55px;
    padding-top: 5px
}

.icast .rowNum,
.icast .social-share-wpr {
    text-align: center;
    position: absolute;
    right: 0
}

.icast .history-songtitle {
    font-size: 19px;
    color: var(--color-texto);
}

.icast .history-artist-name {
    font-size: 16px;
    color: var(--color-texto);
    opacity: 0.7;
}

.icast .rowNum {
    width: 38px;
    height: 50px;
    font-size: 42px;
    color: var(--color-texto);
    opacity: 0.2;
    top: 0
}

.icast .social-share-wpr {
    width: 210px;
    height: 210px;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, .3);
    color: var(--color-texto);
    font-size: 18px;
    line-height: 30px;
    top: 22px;
    left: 0;
    margin: 0 auto;
    padding: 70px 0;
    border-radius: 4px;
    overflow: hidden;
    display: none;
    z-index: 11
}

.icast .social-link {
    width: 38px;
    height: 38px;
    font-size: 24px;
    color: var(--color-texto);
    line-height: 38px;
    text-decoration: none;
    margin: 0 4px;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer
}

.icast .social-link-facebook {
    background: #3F51B5
}

.icast .social-link-facebook:before {
    content: "\f09a"
}

.icast .social-link-twitter {
    background: #2196F3
}

.icast .social-link-twitter:before {
    content: "\f099"
}

.icast .display {
    display: block
}

.icast .nodisplay {
    display: none
}

@media only screen and (max-width:600px) {
    .icast .track-info-wpr {
        margin: 28px 42px 0
    }

    .icast .listeners {
        max-width: 100px;
        font-size: 12px;
        color: var(--color-texto);
        opacity: 0.7;
        position: absolute;
        top: 32px;
        right: 16px
    }

    .icast .listeners:before {
        content: "\f0c0";
        font-size: 12px;
        padding-right: 5px;
        vertical-align: top
    }
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both
}

.animated.bounceIn {
    animation-duration: .75s
}

@keyframes bounceIn {

    20%,
    40%,
    60%,
    80%,
    from,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }

    20% {
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        transform: scale3d(1, 1, 1)
    }
}

.bounceIn {
    animation-name: bounceIn
}

@keyframes bounceInDown {

    60%,
    75%,
    90%,
    from,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: translate3d(0, -3000px, 0)
    }

    60% {
        opacity: 1;
        transform: translate3d(0, 25px, 0)
    }

    75% {
        transform: translate3d(0, -10px, 0)
    }

    90% {
        transform: translate3d(0, 5px, 0)
    }

    to {
        transform: none
    }
}

.bounceInDown {
    animation-name: bounceInDown
}

.marquee {
    white-space: nowrap;
    position: relative;
    transform: translateX(-50%);
    display: inline-block;
    left: 50%;
    padding-top: 0;
    animation: linear infinite;
    overflow: hidden;
    text-align: left;
    animation-duration: 10s;
    animation-name: movement-smooth;
    animation-direction: normal
}

.marquee:hover {
    animation-play-state: paused
}

.marquee.marquee-speed-custom:before {
    animation-duration: inherit
}

.marquee.marquee-speed-normal:before {
    animation-duration: 10s
}

@keyframes movement-smooth {
    from {
        transform: translateX(0);
        left: 100%
    }

    to {
        transform: translateX(-100%);
        left: 0
    }
}

.marquee.marquee-movement-smooth:before {
    animation-name: movement-smooth
}

.marquee.marquee-direction-left:before,
.marquee.marquee-direction-normal:before {
    animation-direction: normal
}

/* ============================================
   PROPIEDADES ADICIONALES CONFIGURABLES
   ============================================
   
   Estas propiedades pueden ser modificadas dinámicamente:
   
   - color_fondo: Color de fondo del reproductor (default: #1e1e1e)
   - color_texto: Color del texto (default: #ffffff)
   - color_iconos: Color de iconos y controles (default: #3498db)
   - fondo_size: Tamaño del fondo (cover, contain, auto)
   - fondo_position: Posición del fondo (center center, top left, etc)
   
   Opciones booleanas del reproductor:
   - mostrar_titulo: Muestra/oculta el título de la canción
   - mostrar_portada: Muestra/oculta la portada del álbum
   - mostrar_volumen: Muestra/oculta el control de volumen
   - autoplay: Reproducción automática al cargar
   - fijar_reproductor: Fija el reproductor en la página
   
   Alineación de elementos:
   - social_align: left, center, right
   - app_align: left, center, right
   
============================================ */