/* Variables */
:root{
    /* Colores */
    --rojo1: #D02E26;
    --rojo2: #D64841;
    --rojo3: #DC625C;
    --rojo4: #E27C77;
    --rojo5: #E89693;
    --rojo6: #EDB1AE;
    --rojo7: #F3CBC9;
    --rojo8: #F9E5E4;
}

/* Fuentes */

@font-face{
    font-family: DIN Regular;
    src: url('../media/fonts/DIN-2014_Regular.ttf'),
         url('../media/fonts/DIN-2014_Regular.eot'),
         url('../media/fonts/DIN-2014_Regular.otf'),
         url('../media/fonts/DIN-2014_Regular.woff');
}

@font-face{
    font-family: DIN Regular;
    src: url('../media/fonts/DIN-2014_Bold.ttf'),
         url('../media/fonts/DIN-2014_Bold.eot'),
         url('../media/fonts/DIN-2014_Bold.otf'),
         url('../media/fonts/DIN-2014_Bold.woff');
    font-weight: bold;
}

@font-face{
    font-family: DIN Regular;
    src: url('../media/fonts/DIN-2014_Italic.ttf'),
         url('../media/fonts/DIN-2014_Italic.eot'),
         url('../media/fonts/DIN-2014_Italic.otf'),
         url('../media/fonts/DIN-2014_Italic.woff');
         font-style: italic;
}

@font-face{
    font-family: DIN Regular;
    src: url('../media/fonts/DIN-2014_Bold-Italic.ttf'),
         url('../media/fonts/DIN-2014_Bold-Italic.eot'),
         url('../media/fonts/DIN-2014_Bold-Italic.otf'),
         url('../media/fonts/DIN-2014_Bold-Italic.woff');
    font-weight: bold;
    font-style: italic;
}

@font-face{
    font-family: DIN Condensed;
    src: url('../media/fonts/DIN-2014_Condensed-Bold.ttf'),
         url('../media/fonts/DIN-2014_Condensed-Bold.eot'),
         url('../media/fonts/DIN-2014_Condensed-Bold.otf'),
         url('../media/fonts/DIN-2014_Condensed-Bold.woff');
}

/* Cambios generales */

html, body{
    font-family: DIN Regular !important;
}

a{
    color: #ffffff !important;
}

.text-justify { text-align: justify !important; }
.pointer { cursor: pointer; }

/* Modificaciones Bootstrap */

.text-primary{ color: var(--rojo1) !important; }

.bg-primary { background-color: var(--rojo1)!important; }
.bg-secondary { background-color: var(--rojo4)!important; }
.bg-danger { background-color: #F35112!important; }
.bg-warning { background-color: #F3C212!important; }
.bg-info { background-color: #12ECF3!important; }
.bg-light { background-color: var(--rojo8)!important; }
.bg-dark { background-color: #3D0605!important; }

.btn-primary{
    color: #ffffff !important;
    background-color: var(--rojo1) !important;
    border-color: var(--rojo2) !important;
}

.btn-secondary{
    color: var(--rojo1) !important;
    background-color: #ffffff !important;
    border-color: var(--rojo1) !important;
}

.btn-outline-secondary{
    border-color: #ffffff;
    color: #ffffff;
}

.btn-outline-secondary:hover, .btn-outline-secondary:active{
    border-color: #ffffff !important;
    background-color: #ffffff !important;
    color: var(--rojo1) !important;
}

.list-group-item{ transition: all 0.25s ease-in-out; }
.list-group-item.active{
    background-color: var(--rojo1) !important;
    border-color: var(--rojo1) !important;
    color: #ffffff !important;
}

.custom-tooltip { --bs-tooltip-bg: var(--rojo1); }

.border-primary {border-color: var(--rojo1)!important; }

.form-check-input:checked {
    background-color: var(--rojo1);
    border-color: #ffffff;
}

.accordion-button:not(.collapsed) {
    color: #ffffff !important;
    background-color: var(--rojo1) !important;
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 rgba(255, 255, 255, 0.4) !important;
}

/* Menú  para pantallas grandes */
@media only screen and (min-width: 768px) {
    .cookies{
        position: fixed;
        top: 10px;
        height: 50px;
        overflow: hidden;

        box-shadow: 0px 0px 10px rgba(0,0,0,0.5);

        transition: all 0.25s ease-in-out;

        z-index: 99;
    }

    .cookies:hover{
        height: 142px;
    }

    #logoR, #logoB{
        position: fixed;
        left: 0px;
        right: 0px;
        margin: auto;

        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;

        transition: all 0.25s ease-in-out;

        z-index: 99;
    }

    #logoR{ background-image: url(../media/img/src/logoR.svg); }
    #logoB{ background-image: url(../media/img/src/logoB.svg); }

    .logoXL{
        width: 90px;
        height: 90px;
        top: 10px;
    }

    .logoXS{
        width: 46px;
        height: 46px;
        top: 2px;

        background-image: url(../media/img/src/logoB.svg);
    }

    #menu{
        left: 0px;
        right: 0px;
        margin: auto;

        color: #ffffff;

        background-color: var(--rojo1);
        transition: width 0.25s ease-in-out;

        z-index: 97;
    }

    .menuXL{
        position: absolute;
        width: 96vw !important;
        height: 70px;
        top: 110px;

        border-radius: 5px;
    }

    .menuXS{
        position: fixed;
        width: 100vw;
        height: 50px;
        top: 0px;

        border-radius: 0px;
    }

    .botonMenu{
        position: relative;
        display: inline;
        float: left;
        top: 2px;
        left: 2px;
        margin-right: 2px;
        box-sizing: border-box;

        cursor: pointer;

        border-radius: 5px;

        transition: all 0.25s ease-in-out;

        z-index: 98;
    }

    .menuXL .botonMenu{
        height: 66px;
        padding: 20px;
    }

    .menuXS .botonMenu{
        height: 46px;
        padding: 10px;
    }

    .botonMenu:hover{ background-color: var(--rojo3); }
    .botonMenu:active{ transform: scale(0.9); }

    .ubicacionActual{
        cursor: default !important;
        color: var(--rojo7) !important;
    }

    .ubicacionActual:hover{ background-color: var(--rojo1) !important; }
    .ubicacionActual:active{ transform: scale(1) !important; }

    .derecho{
        float: right;
        
        margin-right: 0px !important;
    }

    .menuXL .derecho{ left: -2px !important; }
    .menuXS .derecho{ left: -17px !important; }

    .submenu{
        position: absolute;
        transition: all 0.25s ease-in-out;
        z-index: 96;
    }

    .submenuCerrado{
        top: 0px;
        opacity: 0.0;
        visibility: hidden;
    }

    .submenuAbierto{ 
        opacity: 1.0; 
        visibility: visible;
    }

    .menuXL .submenuAbierto{ top: 72px;}
    .menuXS .submenuAbierto{ top: 52px; }

    .menuXL #submenuAgrupacion{ left: 200px; }
    .menuXS #submenuAgrupacion{ left: 159px; }

    .menuXL #submenuActividades{ left: 331px; }
    .menuXS #submenuActividades{ left: 271px; }

    .menuXL #submenuContacto{ left: 473px; }
    .menuXS #submenuContacto{ left: 394px; }

    .menuXL #submenuPerfil{ right: 58px; }
    .menuXS #submenuPerfil{ right: 52px; }

    .menuXL #submenuSesion, .menuXL #submenuNotificaciones { right: 0px; }
    .menuXS #submenuSesion, .menuXS #submenuNotificaciones { right: 17px; }

    .menuXL #submenuAfiliado { right: 58px; }
    .menuXS #submenuAfiliado { right: 52px; }

    .botonSubmenu{
        position: relative;
        margin-bottom: 2px;
        padding: 10px;

        background-color: var(--rojo1);

        transition: all 0.25s ease-in-out;

        cursor: pointer;

        border-radius: 5px;
    }

    .botonSubmenu:hover{ background-color: var(--rojo3); }
    .botonSubmenu:active{ transform: scale(0.9);}
}

/* Menú para pantallas pequeñas */
@media only screen and (max-width: 768px) {
    #barraMiniMenu{
        position: fixed;
        width: 95vw;
        height: 75px;
        top: 2.5vw;
        left: 0px;
        right: 0px;
        margin: auto;

        border-radius: 2px;

        transition: all 0.25s ease-in-out;
        
        z-index: 98;
    }

    #botonMiniMenu{
        position: absolute;
        width: 55px;
        height: 55px;
        top: 10px;
        left: 10px;

        border-radius: 55px;
    }

    .lineaMiniMenu{
        position: absolute;
        width: 40px;
        height: 4px;
        left: 7.5px;

        border-radius: 2px;

        transition: all 0.25s ease-in-out;
    }

    .botonMiniMenuCerrado #lineaMiniMenu1{ top: 15.5px; }
    .botonMiniMenuCerrado #lineaMiniMenu2{ top: 25.5px; }
    .botonMiniMenuCerrado #lineaMiniMenu3{ top: 35.5px; }

    .botonMiniMenuAbierto #lineaMiniMenu1{ 
        top: 25.5px;
        transform: rotate(45deg);
    }
    .botonMiniMenuAbierto #lineaMiniMenu2{ 
        top: 25.5px;
        opacity: 0; 
    }
    .botonMiniMenuAbierto #lineaMiniMenu3{ 
        top: 25.5px; 
        transform: rotate(-45deg);
    }

    #logoMiniMenuR{ background-image: url(../media/img/src/logoR.svg); }
    #logoMiniMenuB{ background-image: url(../media/img/src/logoB.svg); }

    .logoMiniMenu{
        position: absolute;
        width: 70px;
        height: 70px;
        top: 5px;
        left: 0px;
        right: 0px;
        margin: auto;

        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;

        transition: all 0.25s ease-in-out;

        z-index: 99;
    }
    
    #botonMiniPerfil{
        position: absolute;
        width: 55px;
        height: 55px;
        top: 10px;
        right: 10px;

        border-radius: 55px;
        
        text-align: center;
        font-size: 35px;

        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;

        transition: all 0.25s ease-in-out;
    }

    #miniMenuCategorias{
        position: fixed;
        overflow-y: auto;
        width: 100vw;
        height: 100vh;
        top: 0px;
        left: 0px;
        padding-top: 100px;
        padding-bottom: 100px;

        background-color: var(--rojo1);

        z-index: 97;

        transition: all 0.25s ease-in-out;
    }

    .elementoMiniMenu, .subelementoMiniMenu{
        position: relative;
        width: 90vw;
        left: 5vw;
        padding: 15px;

        border-bottom: 1px solid #ffffff;

        color: #ffffff;
    }
    .subelementoMiniMenu{
        padding-left: 40px;
    }

    .ultimoElemento{
        border-bottom: 0px solid transparent !important;
    }

    .miniUbicacionActual{
        background-color: var(--rojo4);
        border-radius: 2px;
    }

    .cookies{
        position: fixed;
        width: 90vw;
        bottom: 10px;
        left: 5vw;

        box-shadow: 0px 0px 10px rgba(0,0,0,0.5);

        z-index: 99;
    }
}

/* Generales */

#logoFooter{
    width: 70px;
    height: 70px;
    background-image: url(../media/img/src/logoB.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

#versionWeb{ 
    font-size: 12px !important;
    color: #ffffff !important;
}

footer li{ cursor: pointer !important; }

@media only screen and (min-width: 768px) {
    #contenidos{
        position: relative;
        margin-top: 200px;
    }

    #corazon{
        width: 5vw;
        height: 5vw;
    }
}

@media only screen and (max-width: 768px) {
    #contenidos{
        position: relative;
        margin-top: 90px;
        transition: filter 0.25s ease-in-out;
    }

    #corazon{
        width: 5vh;
        height: 5vh;
    }
}

#cargando{
    position: relative;
    left: 0px;
    right: 0px;
    margin: auto;
}

#corazon{
    position: relative;
    margin: auto;

    background-image: url(../media/img/src/corazon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    
    animation: 1.5s ease 0s infinite latido;
}

#palabraCargando{
    margin-top: 20px;
    color: var(--rojo1);
    font-size: 20px;
    text-align: center;
}

@keyframes latido {
    0%, 50%, 100% { transform: scale(1, 1); }
    30%, 80% { transform: scale(0.92, 0.95); }
}