/* ********************************************* */
/* **************** EXPLICACIÓN **************** */
/* ********************************************* */

/*

    // Comentarios
        * Comentarios en mayúsculas: Agrupa estilos de un mismo componente o sección.
        * Comentarios en minúscula: Corresponden a subtítulos dentro de un mismo componente o sección.
        * En los media queries, se nombra en mayúscula el dispositivo entrante, y se nombre en minúscula el dispositivo saliente.

    // Estructura y orden de las propiedades
        selectores{
            * Propiedades de estructura
                + Display, tamaños, paddings
            * Propiedades de posición
                + Tipo de posición, posiciones
            * Márgenes
            * Propiedades de estilo
                + backgrounds
            * (Enter)
            * Propiedades prefijadas (separadas con un enter entre sí, y del resto de los estilos)
        }

    // Consideraciones a nivel de estructura
        * No usamos floats, ya que estos rompen el "Normal Document Flow" del sitio; lo cuál muchas veces genera problemas.
        * Los columnados se trabajan todos con display:inline-block; o position:absolute; en su defecto.
        * Para eliminar el white-space entre dos columnas con inline-block (para que entre ambos anchos sumen 100%),
          se le abre un comentario en el html donde termina la primer columna, y se lo cierra donde empieza la segunda columna.
          (Ver en el html)
        * Los margins para separar elementos en el eje vertical los usamos siempre hacia arriba (Salvo excepciones).
          Esto nos permite un mejor control del css a lo largo del sitio.

    // Dispositivos
        * Mobile (xs): 0px a 767px
        * Tablet (sm): 768px a 979px
        * Desktop (md): 980px a 1199px
        * HD (lg): 1200px +

*/





/* RESET */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    text-decoration:none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
/*body {
    line-height: 1;
}*/
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
article, aside, figure, footer, header, hgroup, menu, nav, section {
    display:block;
}



/* BODY */

body{
    font-size:62.5%;
}
#nav-portal,
#nav-portal input,
#nav-portal select
#nav-portal button{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust:none;
    font-family: 'Noto Sans', sans-serif;
    font-weight:400;
    color:#545459;
}
#nav-portal p{
    text-rendering:optimizeLegibility;
}
#nav-portal strong{
    font-weight:700;
}
#nav-portal em{
    font-style:italic;
}
#nav-portal input,
#nav-portal select,
#nav-portal button{
    border:none;
    resize:none;
    border-radius:0;
    background-color:transparent;
    -webkit-appearance:none;
    padding:0;
    margin:0;
}
#nav-portal input{
    outline:none;
}

#nav-portal a,
#nav-portal button{
    color:#545459;
    -webkit-tap-highlight-color:rgba(206, 82, 67, 0.3);
    cursor:pointer;

    transition:
        color 200ms ease-out,
        background 200ms ease-out,
        border 200ms ease-out,
        opacity 200ms ease-out,
        box-shadow 200ms ease-out;
    -webkit-transition:
        color 200ms ease-out,
        background 200ms ease-out,
        border 200ms ease-out,
        opacity 200ms ease-out,
        -webkit-box-shadow 200ms ease-out;
    -moz-transition:
        color 200ms ease-out,
        background 200ms ease-out,
        border 200ms ease-out,
        opacity 200ms ease-out,
        box-shadow 200ms ease-out;
    -o-transition:
        color 200ms ease-out,
        background 200ms ease-out,
        border 200ms ease-out,
        opacity 200ms ease-out,
        box-shadow 200ms ease-out;
}



/* ******* MOBILE ******* */

/* GENERAL */

#nav-portal .wrapper{
    width:100%;
    max-width:1360px;
    margin-right:auto;
    margin-left:auto;
    padding-right:25px;
    padding-left:25px;

    box-sizing:border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
}
#nav-portal .notVisible{
    position:absolute;
    top:-9999px;
    left:-9999px;
}
#nav-portal.scrollable{
    width:100%;
    height:100%;
    overflow:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}
#nav-portal .nav-portal-holder.scroll-x{
    height:auto;
    overflow:hidden;
    overflow-x:auto;
}

#nav-portal .foto{
    display:block;
    width:100%;
    position:relative;
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
}
#nav-portal .foto[style*="background-image:"]:before{
    content:"";
    display:block;
    width:100%;
    height:0;
    padding-bottom:56.85%;
}
#nav-portal .foto img{
    display:block;
    width:100%;
}

#nav-portal .bold,
#nav-portal .header-heading{
    font-family: 'Montserrat', 'Noto Sans', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}



/* HIDDENS */

@media (max-width: 767px) {
    .hidden-xs{
        display:none !important;
    }
}
@media (min-width: 768px) and (max-width: 979px) {
    .hidden-sm{
        display:none !important;
    }
}
@media (min-width: 980px) and (max-width: 1199px) {
    .hidden-md{
        display:none !important;
    }
}
@media (min-width: 1200px) {
    .hidden-lg{
        display:none !important;
    }
}


/* HEADER */

#nav-portal .menu .header{
    height:56px;
}
#nav-portal .menu .header{
    width:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:100;
    background-color:#EC5441;
    box-shadow:0px 3px 0px 0px rgba(0, 0, 0, 0.1);
    text-align:center;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#nav-portal .menu .header{
    padding:0 50px 0 72px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#nav-portal .menu .header .logo{
    width:146px;
}
#nav-portal .menu .header .logo{
    display:block;
    width:100%;
}
#nav-portal .menu .header .logo img{
    display: block;
    width: 100%;
}

#nav-portal .menu .header .back-btn{
    display:block;
    width:44px;
    height:44px;
    position:absolute;
    left:6px;
    top:6px;
    background-color:rgba(255, 255, 255, 0);
}
#nav-portal .menu .header .back-btn:hover{
    background-color:rgba(255, 255, 255, 0.15);
}

/* MOBILE NAV */

#nav-portal{
    display:block;
    width:100%;
    height:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:120;
}
#nav-portal .menu{
    display:block;
    width:100%;
    max-width:360px;
    position:relative;
    z-index:1;
    background:#fff;
    padding-top:56px;
    box-shadow:3px 0px 0px 0px rgba(0, 0, 0, 0.1);

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#nav-portal .menu .header{
    position:absolute;
    z-index:10;
    padding:0 0 0 72px;
    box-shadow:none;
    text-align:left;
}
#nav-portal .menu .header:before{
    content:"";
    display:inline-block;
    vertical-align: middle;
    height:100%;
}
#nav-portal .menu .header .logo{
    width:146px;
    display:inline-block;
    vertical-align: middle;
}
#nav-portal .menu .header .back-btn:before{
    content:"";
    display:inline-block;
    vertical-align: middle;
    width:10px;
    height:10px;
    border:solid #fff;
    border-width:0px 0px 3px 3px;
    position:relative;
    left:2px;
    top:-1px;

    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

#nav-portal .menu .nav-portal-holder{
    padding:0 24px 45px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#nav-portal .menu .section{
    margin-top:30px;
    border-top:1px solid rgba(0,0,0,0.1);
    padding-top:28px;
}
#nav-portal .menu .section.first{
    margin-top:30px;
    border-top:none;
    padding-top:0;
}
#nav-portal .menu .header-heading{
    font-size:1.8em;
    color:#333;
}
#nav-portal .menu .header-heading:before{
    height:15px;
    width:4px;
    background-color:#333;
}

#nav-portal .menu .canales{
    margin:13px -7px 0;
}
#nav-portal .menu .canales .canal{
    display:inline-block;
    vertical-align: top;
    width:50%;
    padding:0 7px;
    position:relative;
    margin-top:14px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#nav-portal .menu .canales .canal:before{
    content:"";
    display:block;
    width:100%;
    height:0;
    padding-bottom:100%;
}
#nav-portal .menu .canales .canal a{
    display:block;
    height:100%;
    position:absolute;
    left:7px;
    right:7px;
    top:0;
    background:no-repeat center;
    background-size:cover;
    font-size:1.6em;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    color:#fff;
    padding:0 15px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#nav-portal .menu .canales .canal a:before{
    content:"";
    display:inline-block;
    vertical-align: middle;
    height:100%;
}
#nav-portal .menu .canales .canal a span{
    display:inline-block;
    vertical-align: middle;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    position:relative;
    z-index:1;
}
#nav-portal .menu .canales .canal a:after{
    content:"";
    display:block;
    width:100%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
    z-index:0;
    opacity:0.6;
    background-color:#ce5243;

    -webkit-transition: opacity 200ms ease-out;
    -o-transition: opacity 200ms ease-out;
    transition: opacity 200ms ease-out;
}
#nav-portal .menu .canales .canal a:hover:after{
    opacity:1 !important;
}

#nav-portal .overlay{
    display:block;
    width:100%;
    height:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:0;
    background:rgba(0,0,0,0.4);
}

#nav-portal .menu .secciones{
    margin-top:15px;
}
#nav-portal .menu .secciones li{}
#nav-portal .menu .secciones li a{
    display:inline-block;
    font-size:1.6em;
    font-weight:700;
    color:#ce5243;
    padding:10px 0;
    position:relative;
}
#nav-portal .menu .secciones li a:after{
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    border:solid rgba(206, 82, 67, 0.6);
    border-width:0 3px 3px 0;
    margin-left:8px;
    position:relative;
    top:-1px;

    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-transition: 
        border-color 200ms ease-out;
    -o-transition: 
        border-color 200ms ease-out;
    transition: 
        border-color 200ms ease-out;
}
#nav-portal .menu .secciones li a:hover{
    color:#333;
}
#nav-portal .menu .secciones li a:hover:after{
    border-color:rgba(51, 51, 51, 0.6);
}

#nav-portal .menu .redes{
    margin:15px -10px 0;
}
#nav-portal .menu .redes li{
    display:inline-block;
    vertical-align: top;
}
#nav-portal .menu .redes li a{
    display:block;
    width:32px;
    height:32px;
    color:#ce5243;
    background:no-repeat center;
    background-size:30px;
}
#nav-portal .menu .redes li a:hover{
    opacity:0.3;
}

#nav-portal .menu .redes li .icon.facebook{
    background-image:url(../images/icons/sn-facebook@3.png);
    background-image:url(../images/icons/sn-facebook.svg), none;
}
#nav-portal .menu .redes li .icon.twitter{
    background-image:url(../images/icons/sn-twitter@3.png);
    background-image:url(../images/icons/sn-twitter.svg), none;
}
#nav-portal .menu .redes li .icon.instagram{
    background-image:url(../images/icons/sn-instagram@3.png);
    background-image:url(../images/icons/sn-instagram.svg), none;
}
#nav-portal .menu .redes li .icon.periscope{
    background-image:url(../images/icons/sn-periscope@3.png);
    background-image:url(../images/icons/sn-periscope.svg), none;
}
#nav-portal .menu .redes li .icon.youtube{
    background-image:url(../images/icons/sn-youtube@3.png);
    background-image:url(../images/icons/sn-youtube.svg), none;
}
#nav-portal .menu .redes li .icon.snapchat{
    background-image:url(../images/icons/sn-snapchat@3.png);
    background-image:url(../images/icons/sn-snapchat.svg), none;
}
#nav-portal .menu .redes li .icon.spotify{
    background-image:url(../images/icons/sn-spotify@3.png);
    background-image:url(../images/icons/sn-spotify.svg), none;
}
#nav-portal .menu .redes li .icon.rss{
    background-image:url(../images/icons/sn-rss@3.png);
    background-image:url(../images/icons/sn-rss.svg), none;
}


/* Transiciones */

#nav-portal{
    display:none;
}
#nav-portal .overlay{
    opacity:0;

    -webkit-transition: opacity 350ms ease-out 400ms;
    -o-transition: opacity 350ms ease-out 400ms;
    transition: opacity 350ms ease-out 400ms;
}
#nav-portal.show .overlay{
    opacity:1;

    -webkit-transition-delay: 0ms;
    -o-transition-delay: 0ms;
    transition-delay: 0ms;
}
#nav-portal .menu{
    -webkit-transform: translate3d(-101%, 0, 0);
    -ms-transform: translate3d(-101%, 0, 0);
    -o-transform: translate3d(-101%, 0, 0);
    transform: translate3d(-101%, 0, 0);

    -webkit-transition: -webkit-transform 600ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -o-transition: -o-transform 600ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition: transform 600ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
#nav-portal.show .menu{
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);

    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -o-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
/* HEADING */

#nav-portal .header-heading:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 4px;
    height: 19px;
    background-color: #ce5243;
    opacity: 0.3;
    position: relative;
    top: -2px;
    margin-right: 9px;
}


/* ********************** de Mobile a TABLET ********************** */

@media (min-width: 768px) {

    /* GENERAL */

    #nav-portal .wrapper{
        padding-left:30px;
        padding-right:30px;
    }



    /* HEADER */

    #nav-portal .menu .header{
        padding-left:75px;
        height:70px;
    }
    #nav-portal .menu .header{
        box-shadow:0px 4px 0px 0px rgba(0, 0, 0, 0.1);
    }
    #nav-portal .menu .header .logo{
        width:150px;
    }

    #nav-portal .menu .header .back-btn{
        width:50px;
        height:50px;
        left:10px;
        top:10px;
    }

    /* NAV */

    #nav-portal .menu{
        padding-top:70px;
        box-shadow:4px 0px 0px 0px rgba(0, 0, 0, 0.1);
    }
    #nav-portal .menu .header{
        box-shadow:none;
    }
    #nav-portal .menu .header .back-btn:before{
        width:11px;
        height:11px;
    }
    #nav-portal .menu .redes li{
        margin-left:4px;
    }
    #nav-portal .menu .redes li:first-child{
        margin-left:0;
    }
    #nav-portal .menu .redes li a{
        font-size:30px;
    }

    /* HEADING */

    #nav-portal .header-heading{
        font-size:3em;
    }
    #nav-portal .header-heading:before{
        width:5px;
        height:25px;
    }
    #nav-portal .header-heading.small{
        font-size:2.6em;
    }

}



/* ********************** de Tablet a DESKTOP ********************** */

@media (min-width: 980px) {

    #nav-portal.expandido{
        padding: 40px;

        -webkit-box-sizing:border-box;
        -moz-box-sizing:border-box;
        box-sizing:border-box;

        text-align: center;
    }
    #nav-portal.expandido:before{
        content: "";
        display: inline-block;
        vertical-align: middle;
        height: 100%;
    }
    #nav-portal.expandido .menu{
        display: inline-block;
        vertical-align: middle;
        width: 100%;
        height: auto;
        max-width: 980px;
        text-align: left;
        box-shadow: 0px 0px 0px 4px rgba(0, 0, 0, 0.1);

        -webkit-transform: translate3d(0, -150%, 0);
        -ms-transform: translate3d(0, -150%, 0);
        -o-transform: translate3d(0, -150%, 0);
        transform: translate3d(0, -150%, 0);
    }
    #nav-portal.expandido.show .menu{
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    #nav-portal.expandido .menu .nav-portal-holder{
        padding: 0;
        overflow: hidden;
    }
    #nav-portal.expandido .menu .section{
        display: inline-block;
        vertical-align: top;
        border-top: 0;
        padding: 25px;
        margin-top: 20px;

        -webkit-box-sizing:border-box;
        -moz-box-sizing:border-box;
        box-sizing:border-box;

    }
    #nav-portal.expandido .menu .section.first{
        width: 70%;
        padding-top: 7px;
        /*padding-left: 0;*/
    }
    #nav-portal.expandido .menu .canales .canal{
        width: 25%;
    }
    #nav-portal.expandido .menu .more{
        display: inline-block;
        vertical-align: top;
        background: #f3f3f3;
        width: 30%;
        padding: 25px;
        /*padding-left: 30px;*/
        /*margin-top: 30px;*/
        padding-top: 10px;
        position: relative;

        -webkit-box-sizing:border-box;
        -moz-box-sizing:border-box;
        box-sizing:border-box;

    }
    #nav-portal.expandido .menu .more:after{
        content: "";
        position: absolute;
        background: #f3f3f3;
        width: 100%;
        height: 1000px;
        bottom: -1000px;
        left: 0;
    }
    #nav-portal.expandido .menu .more .section{
        width: 100%;
        padding: 0;
        border-top: 1px solid #ccc;
    }
    #nav-portal.expandido .menu .more .section:first-child{
        border-top: 0;
    }
    #nav-portal.expandido .menu .secciones li a{
        font-size: 1.4em;
    }
    #nav-portal.expandido .menu .redes li{
        margin-left: 6px;
    }
    #nav-portal.expandido .menu .redes li a{
        width: 22px;
        height: 22px;
    }
    #nav-portal.expandido .heading-redes{
        display: none;
    }
  

}

/* ********************** de Desktop a HD ********************** */

@media (min-width: 1200px) {


}


@media (min-width: 1300px) {


}


/* MAS DEL WRAPPER */

@media (min-width: 1360px) {


}











