@charset "UTF-8";
/* BASE */
/* Modified Meyer Reset based on http://meyerweb.com/eric/tools/css/reset/v2.0 | 20110126 License: none (public domain)*/
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: inherit;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,q:before, q:after {
    content: '';
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
*, *:before, *:after {
    box-sizing: border-box;
}
/* End Modified Meyer Reset*/
:root {
    --mainfont: serif;
    --headerfont: sans-serif;
    --maincolor: #333;
    --accentcolor: teal;
    --maxwidth: 1280px;
    --buttoncolor: #dcdcdc;
    --buttonbordercolor: teal;
    --lineheight:1.3;
    --highlightcolor:#ffc;
}
html {
    font-size:18px;
    line-height:var(--lineheight);
}
body {
    font-family:var(--mainfont);
    color:var(--maincolor);
    background:var(--accentcolor);
    padding:0;
    margin:0;
    line-height:var(--lineheight);
}
button, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    border:0 none;
    border-radius:0;
    background-color:transparent;
    padding:0;
    margin:0;
    font-size:1rem;
    font-family:var(--mainfont);
    display:inline-block;
    line-height:var(--lineheight);
    cursor:pointer;
}
b, strong {
    font-weight:bold;
}
i, em {
    font-style:italic;
}
a:link {
    color:var(--accentcolor);
    text-decoration:underline;
}
a:visited {
    color:var(--maincolor);
}
a:hover {
    color:#039;
}
h1, h2, h3, h4, h5, h6 {
    font-family:var(--headerfont);
    color:var(--accentcolor);
    font-weight:bold;
}
h1 {
    font-size:1.5rem;
    margin:1em 0 0.67em 0;
}
h2 {
    font-size:1.25rem;
    margin:0;
}
h3 {
    font-size:1.1rem;
}
h4 {
    font-size:1.05rem;
}
header, footer {
    padding:0;
    margin:0;
}
footer a:link {
    color:#ffc;
}
footer a:visited {
    color:#fff;
}
footer a:hover {
    color:#0ff;
}
/* LAYOUT */
.container {
    position:relative;
    padding:0;
    margin:0 auto;
    display:block;
    background:var(--accentcolor);
    text-align:center;
    height:100%;
    width:100%;
}
.container__inner {
    width:100%;
    height:auto;
    max-width:var(--maxwidth);
    background:#fff;
    padding:0;
    margin:0;
    display:inline-block;
    text-align:left;
    position:relative;
    top:0;
}
.bannerhead {
    max-width:var(--maxwidth);
    padding-left:20px;
    padding-right:20px;
}
footer {
    margin:0;
    padding:20px;
    border:0 none;
    border-top:2px solid var(--accentcolor);
    text-align:center;
    color:#fff;
    background:#333;
}

section {
    border:0 none;
    border-top:2px solid var(--accentcolor);
    margin:0;
    padding:10px;
}

/* MODULE */
.bannerhead__paragraphs {
    display:flex;
    flex-flow: row wrap;
    min-height:150px;
}
.bannerhead__paragraphs__p {
    min-height:150px;
    max-width:100%;
    padding:0 20px 20px 0;
    margin:0;
}
.bannerhead__paragraphs__p__img {
    float:right;
    margin:0 0 0 10px;
    width:35%;
    max-width:120px;
    height:auto;
    border-radius:50%;
    border:4px solid var(--accentcolor);
    shape-outside: circle(50%);
}
.search {
    display:flex;
    flex-flow: row wrap;
    min-height:300px;
    background-color:#eee;
}
.search__item {
    width:auto;
    height: auto;
    max-width: 320px;
    margin:5px 30px 5px 5px;
    line-height:2.3rem;
}
.search__field {
    width:100%;
    font-size:1.25rem;
    height:2rem;
    -webkit-appearance: none;
}
.search__results {
    width:100%;
    overflow:auto;
    height:10rem;
}

button.search__results__verbbutton {
    display:block;
    font-size:1rem;
    width:100%;
    height:2.5rem;
    min-height:44px;
    border-radius:0;
    border: 0 none;
    border-bottom:1px solid grey;
    border-top:1px solid white;
    cursor:pointer;
    background:var(--buttoncolor);
}
button.search__results__verbbutton--active {
    background:var(--highlightcolor);
}
.search__item--filter {
    min-width:17rem;
    text-align:left;
}
.search__item--filter label {
    text-align:left;
    width:auto;
    min-width:5.8rem;
    display:inline-block;
    color:var(--maincolor);
    font-weight:bold;
}
.search__item--filter select {
    display:inline-block;
    font-size:1rem;
    width:auto;
    min-width:11rem;
    padding:6px;
    background-color: var(--buttoncolor);
    border-radius:4px;
    border:2px solid var(--buttonbordercolor);
}

.search__selectwrapper {
    position:relative;
    padding:0;
    line-height:0;
    white-space:nowrap;
    display:inline-block;
    margin:0 0 2px 0;
}
.search__selectwrapper::after {
    content: '\25BE';
    color:var(--buttonbordercolor);
    position: absolute;
    font-size:28px;
    top: 0;
    right: 0;
    bottom: 0;
    padding: 18px 10px;
    pointer-events: none;
}
.search__selectwrapper:hover::after {
    color: var(--highlightcolor);
}
.search__selectwrapper::after {
    -webkit-transition: .25s all ease;
    -o-transition: .25s all ease;
    transition: .25s all ease;
}

.regularbutton {
    width:auto;
    display:inline-block;
    background-color: var(--buttoncolor);
    border-radius:8px;
    border:2px solid var(--buttonbordercolor);
    font-size:0.8rem;
    cursor:pointer;
    padding:6px;
    margin:1rem 0 0 0;
}
.regularbutton:hover {
    color: white;
    background-color: var(--buttonbordercolor);
    border:2px solid var(--maincolor);
}
.verb {
    display:flex;
    flex-flow: row wrap;
    min-height:100px;
    margin:0;
    padding:0;
    opacity:0;
    transition:opacity 0.5s;
    background-color:#ccc;
}
.verb__info {
    width:9rem;
    height:auto;
    margin:5px 0 5px 10px;
    border:2px solid var(--accentcolor);
    background:white;
}
.verb__info--basic {
    width:auto;
    max-width:30rem;
}
.verb__info--basic button:hover::after {
    content:" \1F509";
    line-height:1rem;
    position:absolute;
    right:-10px;
    top:2px;
}
.verb__info td button {
    cursor:pointer;
    text-align:left;
    position:relative;
    min-width:4rem;
    max-width:12rem;
    padding-right:20px;
}
.verb th {
    text-align:right;
    font-family:var(--headerfont);
    color:var(--accentcolor);
}
.verb td {
    text-align:left;
}
.verb th, .verb td {
    vertical-align:top;
    padding:5px;
}
.verb__info--basic table {
    min-width:15.5rem;
}
.verb__info--basic #traducción {
    min-width:4rem;
    max-width:12rem;
    padding-right:20px;
}

.charts {
    opacity:0;
    transition:opacity 0.5s;
    background:#999;
    display: grid;
    grid-gap: 5px;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    grid-template-rows: repeat(2, 13rem);
}
.charts__tense {
    width: auto;
    height:auto;
    min-width:260px;
    min-height:150px;
    margin:0 4px 8px 0;
    border:2px solid var(--accentcolor);
    background:white;
    display:inline-block;
    text-align:left;
    white-space:nowrap;
    position:relative;
}
.charts__tense h3 {
    margin:0 0 5px 0;
    text-align:center;
    padding:5px;
    color:#fff;
    background-color:var(--accentcolor);
    border:0 none;
    border-bottom:1px solid var(--accentcolor);
}
.charts__tense button {
    vertical-align:top;
}
.charts__tense--key {
    min-height:100px;
    border-color:#333;
}
.charts__tense--key h3 {
    background-color:#333;
    border-color:#333;
}

.charts__tense__pronouns {
    display:inline-block;
    border:0 none;
    border-right:1px solid var(--accentcolor);
    text-align:right;
}
.charts__tense__verbforms {
    display:inline-block;
    border:0 none;
    text-align:left;
    cursor:pointer;
    padding:0;
    margin:0;
    position:relative;
    width:9rem;
}
.charts__tense__verbforms:hover::after {
    content:"\1F509";
    line-height:1rem;
    position:absolute;
    left:-5rem;
    top:0.5rem;
}
.charts__tense--key .charts__tense__verbforms {
    display:inline-block;
    border:0 none;
    text-align:left;
    cursor:default;
}
.charts__tense--key .charts__tense__verbforms:hover::after {
    content:" ";
    line-height:1rem;
    position:relative;
    left:0;
    top:0;
}
.charts__tense__pronouns, .charts__tense__verbforms, #speechrate {
    margin:0;
    padding:10px;
    white-space: nowrap;
}
.charts__tense--imperative h3 {
    padding-left:50px;
}
.charts__tense--imperative input[type="checkbox"] {
    opacity:0;
}
.charts__tense--imperative input[type="checkbox"] + label::before {
    content:" \2610 ";
    font-weight:normal;
    font-size:1.3rem;
    line-height:1rem;
}
.charts__tense--imperative input[type="checkbox"]:checked + label::before {
    content:" \2612 ";
}
.charts__tense__irregularform {
    color:red;
    pointer-events:none;
}
.charts__tense__ortoform {
    color:blue;
    pointer-events:none;
}

#addToHomeScreen{
    margin:0;
    padding: 10px;
    position:absolute;
    right:0;
    top:0;
    background:white;
    border:1px solid navy;
    min-width:380px;
    width:auto;
    height:auto;
    display: none;
}
#addToHomeScreen img{
    max-width: 57px;
    margin: 10px;
    float: left;
}
#addToHomeScreen button{
    margin: 5px 10px;
    width:auto;
}
#iOSInstallPrompt{
    text-align: center;
    background-color: #f2f4f4;
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    width: calc(100%);
    border:2px solid black;
    padding: 0 10px 10px 10px;
    display: none;
}
#iOSInstallPrompt img{
    max-width: 64px;
}
#iOSInstallPrompt button{
    color:white;
    background:#900;
    border:2px solid #000;
}
#iOSInstallPrompt button:hover {
    background:#c00;
}
#iOSbtn0 {
    position: absolute;
    top: 0;
    right: 0;
    padding:0;
    font-size:30px;
    width:30px;
    height:30px;
    line-height:30px;
    font-family:monospace;
    margin:4px;
    border-radius:50%;
}
#iOSbtn1 {
    width:auto;
    padding:8px;
    border-radius:8px;
}
/* STATE */
@media (min-width: 1024px){
    .bannerhead__paragraphs__p {
        max-width:50%;
        padding:0 40px 20px 0;
    }
    section {
        padding:20px;
    }
    .verb {
        padding:10px;
    }
    .charts__tense {
        margin:10px;
    }
}