/*
 * The base CSS file contains basic CSS reset for modern browsers as well as
 * base HTML styling consistent with the design system.
 */

html {
    font-size: 100%; /* this is where we could also do dynamic font sizing */
    font-weight: var(--uef-font-weight-regular, normal);
    line-height: var(--uef-font-line-height-tightest, 1);
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation; /* Removes 300ms tap delay in some browsers */
}

body {
    min-height: 1vw; /* dynamic font sizing hack */
    color: var(--uef-body-color, #111);
    background-color: var(--uef-body-bg, #FFF);
    font-size: var(--uef-size-md, 1rem);
    font-family: var(--uef-font-family-system);
    line-height: var(--uef-font-line-height-tightest, 1);
    margin: 0;
    padding: 0;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* display can easily be overwritten by accident, but the hidden attribute should take precedence */
[hidden],
template {
    display: none !important;
}

a:active,
a:hover {
    outline: 0;
}

address {
    font-style: normal !important;
    line-height: var(--uef-font-line-height-tight);
}

blockquote {
    font-size: var(--uef-font-size-lg);
    max-width: 80ch;
    font-style: italic;
    color: var(--uef-color-uswds-gray-80);
    margin-left: 0;
    padding: 1.2em 30px 1.2em 75px;
    border-left: 8px solid var(--uef-color-uswds-blue-cool-60v);
    line-height: 1.6;
    position: relative;
    background: var(--uef-color-uswds-gray-10);
}
blockquote::before {
    font-family: Arial, Helvetica, sans-serif;
    content: "\201C";
    color: var(--uef-color-uswds-blue-cool-60v);
    font-size: var(--uef-font-size-5xl);
    position: absolute;
    left: 10px;
    top: -10px;
}
blockquote::after {
    content: '';
}
blockquote span {
    display: block;
    color: var(--uef-color-black);
    font-style: normal;
    font-weight: bold;
    margin-top: 1em;
}

del {
    text-decoration: none;
    background-color: var(--uef-color-uswds-red-warm-10v, hsl(9, 89%, 93%));
    padding-inline-end: .25em;
}
del::before {
    content: '-';
    color: var(--uef-color-black);
    font-weight: 600;
    background-color: var(--uef-color-uswds-red-warm-30v, hsl(8, 100%, 74%));
    padding: 0 .25em;
    margin-inline-end: .25em;
}

/* Description Lists -- useful for things such as read-only displays, FAQs, etc. */

dl {
    line-height: var(--uef-font-line-height-regular);
}
dt {
    font-weight: var(--uef-font-weight-semibold);
    margin-top: 1rem;
}
dd {
    margin-left: 0;
}
dd:last-child {
    margin-bottom: 1rem;
}

em, i {
    font-style: italic;
}

hr {
    border: 0;
    height: 1px;
    background: rgb(218, 218, 218);
}

iframe {
    width: 100%;
    max-width: 100%;
    border: none;
}

ins {
    text-decoration: none;
    background-color: var(--uef-color-uswds-mint-10v);
    padding-inline-end: .25em;
}
ins::before {
    content: '+';
    color: var(--uef-color-black);
    font-weight: 600;
    background-color: var(--uef-color-uswds-mint-20v);
    padding: 0 .25em;
    margin-inline-end: .25em;
}

kbd {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: black;
    font-size: 100%;
    font-weight: 600;
    font-family: monospace, sans-serif;
    vertical-align: baseline;
    background: transparent;
    border-color: #e6e6e6 #bebebe #bebebe #e6e6e6;
    border-style: solid;
    border-width: 1px 3px 4px;
    padding: 0 5px;
    background-color: #d2d2d2;
    background-color: rgba(210, 210, 210, 0.9);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

mark {
    background-color: yellow;
}

ol, ul {
    line-height: var(--uef-font-line-height-tight);
}

output {
    font-weight: var(--uef-font-weight-semibold, 600);
}

s {
    text-decoration-color: var(--uef-color-uswds-red-warm-50v, hsl(7, 94%, 46%));

}

time {
    font-weight: var(--uef-font-weight-semibold, 600);
}

var {
    font-weight: var(--uef-font-weight-semibold, 600);
}

/*
    Noscript and "old browser" messaging styles.
    These cannot use CSS custom properties.
*/
.uef-browser-alert {
    display: flex;
    max-width: 70ch;
    position: relative;
    margin: 1rem auto;
    color: inherit;
    background-color: #ffd;
    margin-bottom: 0.625rem;
    padding: 1rem;
    border-radius: 0.75rem;
    border-style: solid;
    border-color: #a40;
    border-width: 0 0 0 0.75rem;
    font-family: sans-serif;
}
.uef-browser-alert h4 {
    font-size: 1rem;
    margin: .5rem 0;
}
.uef-browser-alert svg {
    fill: #a40;
    width: 2rem;
    height: 2rem;
}
