*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 16px;
    font-family: 'Open Sans', sans-serif;
}

body{
    height: 100vh;
    background-color: var(--background-contenedor-memes);
    display: flex;
    flex-direction: column;
}

[data-theme="light"] {
    --background-menu: #e0e0e0;
    --background-contenedor-memes: #eeeeee;
    --background-panel: #fafafa;
    --color: #424242;
    --color-hover:#cbcbcb;
    --color-rango:#5a5d68;
    --color-rango-hover: #696e7f;
    --color-inputs: #e0e0e0;
}

[data-theme="dark"] {
    --background-menu: #191e2b;
    --background-contenedor-memes: #30343f;
    --background-panel: #252935;
    --color: #ffffff;
    --color-hover:#696e7d;
    --color-rango:#5a5d68;
    --color-rango-hover:#9ba2b8;
    --color-inputs: #30343f;

}

.menu-principal{
    width: 100%;
    padding: 1rem 0.5rem;
    background-color: var(--background-menu);
    color: var(--color);
    display: flex;
    flex-direction: column;
    justify-content:space-evenly;
    align-items: center;
    text-align: center;
}

.titulo{
    font-size: 2.5rem;
}

.btn-menu{
    padding: 0.5rem;
    color: var(--color);
    border: var(--background-menu) 1px;
    background-color: var(--background-menu);
    border-radius: 0.3rem;
    font-size: 0.9rem;
}

.iconos{
    margin-right: 0.4rem;
}

.btn-menu:hover, .btn-menu:focus{
    background-color: var(--color-hover);
    transition: 0.2s;
}

.contenedor-memes{
    background-color:var(--background-contenedor-memes);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem 1rem;
    flex-grow: 1;
}

.editor-memes{
    height: 36rem ;
    width: 38rem ;
    background-color: black;
    display: flex;
    flex-direction: column;
    position: relative;
}

#parrafo-inferior{
    bottom: 0;
}

#parrafo-superior{
    top: 0;
}

.contenedor-texto{
    width: 100%;
    padding: 1.4rem 2rem ;
    background-color: white;
    text-align: center;
    justify-content: center;
    font-weight: 700;
    font-size: 2.8rem;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
}

.contenedor-imagen{
    width: 100%;
    flex-grow: 2;
}

#btn-descargar-meme{
    margin: 3rem 0 0 0;
    padding: 0.7rem 0.5rem;
    color:white;
    border: green 1px;
    background-color: green;
    border-radius: 0.3rem;
    font-size: 0.9rem;
    cursor: pointer;
}
#btn-descargar-meme:hover{
    background-color: rgb(13, 87, 13);
    transition: 0.2s;
}
.fa-download{
    color: white;
    margin-right: 0.5rem;
}

/* ESTILOS GENERALES PANEL */

.panel-texto, .panel-imagen{
    width: 15.2rem;
    height: 100vh;
    padding: 2rem 0.9rem;
    background-color: var(--background-panel);
    color: var(--color);
    position: fixed;
    z-index: 3;
    left: 100;
    top: 0;
    display: flex;
    display: block;
    flex-direction: column;
    overflow-y: scroll;
}

.panel-texto h2, .panel-imagen h2{
    text-align: center;
    font-weight: 800;
}

a:link, a:visited, a:active {
    text-decoration: none;
    color:var(--color);
    font-weight: 700;
    font-size: 0.9rem;
}

.btn-cerrar{
    text-align: right;
    color:var(--color);
    display: none;
    position: absolute;
    right: 5%;
    top: 1%;
}

.input-panel{
    height: 2rem;
    width: 100%;
    background-color: var(--color-inputs);
    color: var(--color);
    border: 0;
    padding: 0.3rem 0.5rem;
    outline: none;
    border-radius: 0.2rem;
    display: block;
    font-size: 0.8rem;
}
.input-panel:hover, .input-panel:focus, .btn-contorno:hover, .btn-contorno:focus, #btn-reestablecer-filtros:hover, #btn-reestablecer-filtros:focus{
    background-color: var(--color-hover);
    transition: 0.4s;
}

.titulos-panel{
    margin-top: 1rem;
    margin-bottom: 0.3rem;  
    display: block;
    font-size: 0.9rem;
    font-weight: bold;
}

.contenedor-color{
    width: calc(100% /2 - 0.2rem );
}

.input-color{
    background-color: var(--color-inputs);
    border: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: 0.2rem  0.4rem;
    font-size: 0.7rem;
}

.div-color{
    margin-right: 0.3rem;
}

input[type='color'] , input[type='color']::-webkit-color-swatch{
    width: 1.1rem;
    height: 1.1rem;
    min-width: 1.1rem;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background-color: transparent;
    margin-right: 1px;
}

.valor-color{
    font-size: 0.9rem;
}

/* ******** PANEL DE TEXTO ********** */
.panel-texto{
    display: none;
}
.contenedor-checkbox{
    display: flex;
    align-items: center;
    margin-top: 0.3rem;
}

input[type='checkbox']{
    margin: 0 0.2rem 0 0;   
}

.texto-checkbox{
    font-size: 0.8rem;
}

#tamano-fuente{
    width: 50%;
}

.btns-alineado{
    align-items: flex-end;
    width: calc(50% / 3 - 0.3rem);
    margin-left: 0.2rem;
}

.controles-fuente{
    height: 2rem;
    display: flex;
    width: 100%;
    margin-top: 0.3rem;
}

.contenedor-colores-texto{
    width: 100%;
    margin-top: 0.8rem;
    display: flex;
    justify-content: space-around;
}
.contenedor-btn-contorno{
    display: flex;
    justify-content: space-between;
}

.btn-contorno{
    color: var(--color);
    border: var(--color) 1px;
    background-color:var(--color-inputs);
    border-radius: 0.3rem;
    padding: 0.5rem;
    font-size: 0.9rem;
    margin-right: 0.5rem;
}

/* ******** PANEL DE IMAGEN  ********** */

.controles-fondo-imagen{
    width: 100%;
    display: flex;
    justify-content: space-around;
}

.subtitulos-filtros{
    font-size: 0.85rem;
    margin-top: 1rem;
    display: block;
}

input[type="range"]{
    -ms-appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    cursor: pointer;
    width: 100%;
    border: none;
    outline: none;
    background-color:var(--color-rango);
    height: 0.4rem;
    transition: 0.3s;
    border-radius: 3px;
    margin-top: 0.5rem;
    display: block;
};

input[type=range]::-webkit-slider-runnable-track {
    border-radius: 3px;
    height: 0.3rem;;
    -webkit-appearance: none;
}

input[type=range]::-webkit-slider-thumb {
    height: 1rem;
    width: 1rem;
    border-radius: 12px;
    background: var(--color);
    -webkit-appearance: none;
    outline: none;
}

input[type=range]:focus{
    background-color: var(--color-rango-hover);
}

#btn-reestablecer-filtros{
    width: 100%;
    margin-top: 2rem;
    color: var(--color);
    border: var(--background-menu) 1px;
    background-color: var(--background-menu);
    border-radius: 0.3rem;
    padding: 0.5rem;
    font-size: 0.9rem;
    display: block;
}


@media (min-width:720px) and (max-width:1150px){
    .panel-imagen, .panel-texto{
        display: none;
    }
    .btn-cerrar{
        display: block;
    }
}
@media (min-width:520px) and (max-width:719px){
    .panel-imagen, .panel-texto{
        display: none;
    }
    .contenedor-memes{
        padding: 1rem 0.2rem ;
    }
    .btn-cerrar{
        display: block;
    }
    .editor-memes{
        width: 90%;
    }
}

@media (max-width:519px){
    *{
        font-size: 12px;
    }
    .panel-imagen, .panel-texto{
        display: none;
        width: 100%;
    }
    .titulos-panel{
        font-size: 1.1rem;
    }
    .btn-cerrar{
        display: block;
    }
    .contenedor-btn-contorno{
        justify-content: flex-start;
    }
    .contenedor-memes{
        padding: 1rem 0.1rem ;
    }
    .editor-memes{
        width: 90%;
        max-width: 350px;
        height: calc(90% / 2 - 1%) ;
    }
    .contenedor-imagen{
        height: 100%;
    }
    .contenedor-texto{
        padding: 0.3rem 2rem;
        font-size: 2rem;
    }
}
