/*
 * The default style sheet used to render HTML.
 *
 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
 * Copyright (C) 2003-2011, 2014 Apple Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this library; see the file COPYING.LIB.  If not, write to
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301, USA.
 *
 */

@namespace "http://www.w3.org/1999/xhtml";

html {
    display: block
}

/* children of the <head> element all have display:none */
head, link, meta, script, style, title {
    display: none
}

/* generic block-level elements */

body {
    display: block;
    margin: 8px
}

p {
    display: block;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1__qem;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
}

address, article, aside, div, footer, header, hgroup, layer, main, nav, section {
    display: block
}

marquee {
    display: inline-block;
    overflow: -webkit-marquee
}

blockquote {
    display: block;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}

figcaption {
    display: block
}

figure {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}

q {
    display: inline
}

q::before {
    content: open-quote;
}

q::after {
    content: close-quote;
}

center {
    display: block;
    /* special centering to be able to emulate the html4/netscape behaviour */
    text-align: -webkit-center
}

hr {
    display: block;
    -webkit-margin-before: 0.5em;
    -webkit-margin-after: 0.5em;
    -webkit-margin-start: auto;
    -webkit-margin-end: auto;
    border-style: inset;
    border-width: 1px
}

video {
    object-fit: contain;
#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
    -webkit-tap-highlight-color: transparent;
#endif
}

/* heading elements */

h1 {
    display: block;
    font-size: 2em;
    -webkit-margin-before: 0.67__qem;
    -webkit-margin-after: 0.67em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    font-weight: bold
}

:matches(article, aside, nav, section) h1 {
    font-size: 1.5em;
    -webkit-margin-before: 0.83__qem;
    -webkit-margin-after: 0.83em;
}

:matches(article, aside, nav, section) :matches(article, aside, nav, section) h1 {
    font-size: 1.17em;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1em;
}

:matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) h1 {
    font-size: 1.00em;
    -webkit-margin-before: 1.33__qem;
    -webkit-margin-after: 1.33em;
}

:matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) h1 {
    font-size: .83em;
    -webkit-margin-before: 1.67__qem;
    -webkit-margin-after: 1.67em;
}

:matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) h1 {
    font-size: .67em;
    -webkit-margin-before: 2.33__qem;
    -webkit-margin-after: 2.33em;
}

h2 {
    display: block;
    font-size: 1.5em;
    -webkit-margin-before: 0.83__qem;
    -webkit-margin-after: 0.83em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    font-weight: bold
}

h3 {
    display: block;
    font-size: 1.17em;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    font-weight: bold
}

h4 {
    display: block;
    -webkit-margin-before: 1.33__qem;
    -webkit-margin-after: 1.33em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    font-weight: bold
}

h5 {
    display: block;
    font-size: .83em;
    -webkit-margin-before: 1.67__qem;
    -webkit-margin-after: 1.67em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    font-weight: bold
}

h6 {
    display: block;
    font-size: .67em;
    -webkit-margin-before: 2.33__qem;
    -webkit-margin-after: 2.33em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    font-weight: bold
}

/* tables */

table {
    display: table;
    border-collapse: separate;
    border-spacing: 2px;
    border-color: gray
}

thead {
    display: table-header-group;
    vertical-align: middle;
    border-color: inherit
}

tbody {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit
}

tfoot {
    display: table-footer-group;
    vertical-align: middle;
    border-color: inherit
}

/* for tables without table section elements (can happen with XHTML or dynamically created tables) */
table > tr {
    vertical-align: middle;
}

col {
    display: table-column
}

colgroup {
    display: table-column-group
}

tr {
    display: table-row;
    vertical-align: inherit;
    border-color: inherit
}

td, th {
    display: table-cell;
    vertical-align: inherit
}

th {
    font-weight: bold
}

caption {
    display: table-caption;
    text-align: -webkit-center
}

/* lists */

ul, menu, dir {
    display: block;
    list-style-type: disc;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 40px
}

ol {
    display: block;
    list-style-type: decimal;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 40px
}

li {
    display: list-item;
    text-align: -webkit-match-parent;
}

ul ul, ol ul {
    list-style-type: circle
}

ol ol ul, ol ul ul, ul ol ul, ul ul ul {
    list-style-type: square
}

dd {
    display: block;
    -webkit-margin-start: 40px
}

dl {
    display: block;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
}

dt {
    display: block
}

ol ul, ul ol, ul ul, ol ol {
    -webkit-margin-before: 0;
    -webkit-margin-after: 0
}

/* form elements */

form {
    display: block;
    margin-top: 0__qem;
}

label {
    cursor: default;
}

legend {
    display: block;
    -webkit-padding-start: 2px;
    -webkit-padding-end: 2px;
    border: none
}

fieldset {
    display: block;
    -webkit-margin-start: 2px;
    -webkit-margin-end: 2px;
    -webkit-padding-before: 0.35em;
    -webkit-padding-start: 0.75em;
    -webkit-padding-end: 0.75em;
    -webkit-padding-after: 0.625em;
    border: 2px groove ThreeDFace;
    min-width: -webkit-min-content;
}

button {
    -webkit-appearance: button;
}

/* Form controls don't go vertical. */
input, textarea, keygen, select, button, isindex, meter, progress {
    -webkit-writing-mode: horizontal-tb !important;
}

input, textarea, keygen, select, button, isindex {
    margin: 0__qem;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    font: -webkit-small-control;
#endif
    color: initial;
    letter-spacing: normal;
    word-spacing: normal;
    line-height: normal;
    text-transform: none;
    text-indent: 0;
    text-shadow: none;
    display: inline-block;
    text-align: start;
}

input[type="hidden"] {
    display: none
}

input,
input:matches([type="password"], [type="search"]),
#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
textarea,
input[type="range"],
#endif
isindex {
    -webkit-appearance: textfield;
    background-color: white;
#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
    border-radius: 5px;
    font: 11px Helvetica, -webkit-pictograph;
    border: 1px solid #4c4c4c;
    padding: 0.2em 0.5em 0.3em 0.5em;
#else
    border: 2px inset;
    padding: 1px;
#endif
    -webkit-rtl-ordering: logical;
    -webkit-user-select: text;
    cursor: auto;
}

input[type="search"] {
    -webkit-appearance: searchfield;
    box-sizing: border-box;
}

input::-webkit-textfield-decoration-container {
    display: -webkit-flex;
    -webkit-align-items: center;
    content: none !important;
}

input[type="search"]::-webkit-textfield-decoration-container {
    direction: ltr;
}

input::-webkit-clear-button {
    -webkit-appearance: searchfield-cancel-button;
    display: inline-block;
    -webkit-flex: none;
    margin-left: 2px;
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: searchfield-cancel-button;
    display: block;
    -webkit-flex: none;
    -webkit-align-self: flex-start;
    margin: auto 0;
}

input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: searchfield-decoration;
    display: block;
    -webkit-flex: none;
    -webkit-align-self: flex-start;
    margin: auto 0;
}

input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: searchfield-results-decoration;
    display: block;
    -webkit-flex: none;
    -webkit-align-self: flex-start;
    margin: auto 0;
}

input[type="search"]::-webkit-search-results-button {
    -webkit-appearance: searchfield-results-button;
    display: block;
    -webkit-flex: none;
}

#if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT
datalist {
    display: none;
}
#endif

#if defined(ENABLE_INPUT_TYPE_DATE) && ENABLE_INPUT_TYPE_DATE
input[type="date"] {
    -webkit-align-items: center;
    -webkit-appearance: menulist-button;
    display: -webkit-inline-flex;
    overflow: hidden;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    width: 10em;
#endif
}
#endif
#if defined(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) && ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
input[type="datetime"] {
    -webkit-align-items: center;
    -webkit-appearance: menulist-button;
    display: -webkit-inline-flex;
    overflow: hidden;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    width: 10em;
#endif
}
#endif
#if defined(ENABLE_INPUT_TYPE_DATETIMELOCAL) && ENABLE_INPUT_TYPE_DATETIMELOCAL
input[type="datetime-local"] {
    -webkit-align-items: center;
    -webkit-appearance: menulist-button;
    display: -webkit-inline-flex;
    overflow: hidden;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    width: 10em;
#endif
}
#endif
#if defined(ENABLE_INPUT_TYPE_MONTH) && ENABLE_INPUT_TYPE_MONTH
input[type="month"] {
    -webkit-align-items: center;
    -webkit-appearance: menulist-button;
    display: -webkit-inline-flex;
    overflow: hidden;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    width: 10em;
#endif
}
#endif
#if defined(ENABLE_INPUT_TYPE_TIME) && ENABLE_INPUT_TYPE_TIME
input[type="time"] {
    -webkit-align-items: center;
    -webkit-appearance: menulist-button;
    display: -webkit-inline-flex;
    overflow: hidden;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    width: 10em;
#endif
}
#endif
#if defined(ENABLE_INPUT_TYPE_WEEK) && ENABLE_INPUT_TYPE_WEEK
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
input[type="week"] {
    -webkit-align-items: center;
    -webkit-appearance: menulist-button;
    display: -webkit-inline-flex;
    overflow: hidden;
    width: 10em;
}
#endif
#endif

#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
input::-webkit-date-and-time-value {
    margin: 1px 24px 1px 4px;
    white-space: pre;
}
#endif

input::-webkit-inner-spin-button {
    -webkit-appearance: inner-spin-button;
    display: block;
    position: relative;
    cursor: default;
    /* This height property is ignored for input type "number" and others which
     * use RenderTextControlSingleLine as renderer which sets height of spin
     * button in layout(). */
    height: 1.5em;
    vertical-align: top;
    -webkit-flex: none;
    -webkit-user-select: none;
}

input::-webkit-auto-fill-button {
    -webkit-mask-image: -webkit-image-set(url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAMCAYAAAC9QufkAAAAAXNSR0IB2cksfwAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsTAAALEwEAmpwYAAADyWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE1LTA0LTAzVDE2OjA2OjI1PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNS0wNC0wM1QxNjowMzoxNjwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgoz37ZdAAAA5ElEQVQoFY2RsQ5BQRBFd9EgEYXv8QlaEqVGpfUPao3oKXyEQiJI1ERESaGmwnPu2k2QJ2uS82Z2du7s7jyTJInBWnCABeygoXwM6kwN1GELFo7wgOo/4gmFEovzWzyMiTMUlyFYJQT4wlucGko8T90xZv0j/5EusVpCuLr8FPK6NraHPmT8Oks8gI2bKEEOZhAauEJf3PX5Eb4ImpEG2gni0NWJvwdFYRvuoIHeoOUa++56+wpSxb6myf4J6qG5VWCt1ckPvHsksf531HSiDJ1VV9n15eJfJ+YkvWcMF+jFZa+KJ554xIc+jempAAAAAElFTkSuQmCC") 1x, url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAYCAYAAADtaU2/AAAAAXNSR0IB2cksfwAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsTAAALEwEAmpwYAAADyWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE1LTA0LTAzVDE2OjA2OjIxPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNS0wNC0wM1QxNjowMzoyNTwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4yNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpGMDB3AAAB8UlEQVRIDbVWO07DQBS0QSJUNJQcAloOQMEZ6InSUMEBkFJEQihQkQKJklQUlFBQQoH4SHAKJDokAgIz4+wLs5u15RjypOF9dvaN197dkCS/NodwC7gG3hxuXI1jUcuyLKkDa7aE4B7IHM7hCcs5Rs6Y1RHlHBpXo6JXeXX45xLOxB8QN2QsD+sKz2B2E1iRhqnEsxIvI96U/M8hv6mtyjxXehGpk+tZ3RVzdQOgcPN4KkPuvNbse2mtSsxXPYl9TkIu41L4rowQjD0Fee2UwqcTzA65/TRNB0CzSg/ygHegT34D4FGxjVXkHx0XbmQfiIzfKtto4LWEy3m58XLQs2zNzPPByAltGwXj0EfFUecbUd4O8pFxZ98CSrC4bNfvypxvxBu6cubAl3DaRSfBxNRjXtxckw5GjU+RXJweUNGOPRTqnrWRWQP1HkkTaRSK98CLioYr5vV4BqigxarlxSbsmu0XzO8qLxRmw/WCiRyLmjYEgTfhEWAPTM88VV4ozDP9HEyyBijHLdKQ4l2AR+YAGBMNhcFJVgETU8+xqIXCVXNtxm9cdJyU58VVhUKe/khwB+55XaeYqDC/zdoUtbzWFDPj7fQCLFjB+Vf4xaA2SvkK65iumLvwJNLkOFL79xJXfQhwlQTjsnu61r+2fEs/b4ZbzrEPMzEAAAAASUVORK5CYII=") 2x);
    -webkit-mask-size: 15px 12px;
    width: 15px;
    height: 12px;
    margin-left: 3px;
    margin-right: 2px;
    background-color: black;
    -webkit-flex: none;
    -webkit-user-select: none;
}

input::-webkit-auto-fill-button:hover {
    background-color: rgb(0, 122, 255);
}

input::-webkit-auto-fill-button:active {
    background-color: rgb(0, 60, 219);
}

input::-webkit-caps-lock-indicator {
    -webkit-appearance: caps-lock-indicator;
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17"><path fill="black" fill-opacity="0.4" d="M12.5 0.5A 4 4 0 0 1 16.5 4.5L 16.5 12.5A 4 4 0 0 1 12.5 16.5L 4.5 16.5A 4 4 0 0 1 0.5 12.5L 0.5 4.5A 4 4 0 0 1 4.5 0.5L 12.5 0.5M 8.5 2L 4 7L 6.25 7L 6.25 10.25L 10.75 10.25L 10.75 7L 13 7L 8.5 2M 10.75 12L 6.25 12L 6.25 14.25L 10.75 14.25L 10.75 12"/></svg>');
    align-self:stretch;
    -webkit-flex: none;
    -webkit-user-select: none;
}

keygen, select {
    border-radius: 5px;
}

keygen::-webkit-keygen-select {
    margin: 0px;
}

textarea {
    -webkit-appearance: textarea;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    background-color: white;
    border: 1px solid;
    -webkit-rtl-ordering: logical;
    -webkit-user-select: text;
#else
    -webkit-nbsp-mode: space;
    -webkit-line-break: after-white-space;
#endif
    -webkit-flex-direction: column;
    resize: auto;
    cursor: auto;
    padding: 2px;
    white-space: pre-wrap;
    word-wrap: break-word;
}

::-webkit-input-placeholder {
    -webkit-text-security: none;
    color: darkGray;
    pointer-events: none !important;
}

input::-webkit-input-placeholder, isindex::-webkit-input-placeholder {
    white-space: pre;
    word-wrap: normal;
    overflow: hidden;
}

input[type="password"] {
    -webkit-text-security: disc !important;
}

input:matches([type="hidden"], [type="image"], [type="file"]) {
    -webkit-appearance: initial;
    padding: initial;
    background-color: initial;
    border: initial;
}

input[type="file"] {
    -webkit-align-items: baseline;
    color: inherit;
    text-align: start !important;
}

input:-webkit-autofill {
#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
    background-color: #F7EC87 !important;
#else
    background-color: #FAFFBD !important;
#endif
    background-image:none !important;
    color: #000000 !important;
}

input:matches([type="radio"], [type="checkbox"]) {
    margin: 3px 2px;
#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
    border: 1px solid #4c4c4c;
    box-sizing: border-box;
#else
    padding: initial;
    background-color: initial;
    border: initial;
#endif
}

input:matches([type="button"], [type="submit"], [type="reset"]) {
    -webkit-appearance: push-button;
    white-space: pre
}

input[type="file"]::-webkit-file-upload-button {
    -webkit-appearance: push-button;
    white-space: nowrap;
    margin: 0;
    font-size: inherit;
}

input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button {
    -webkit-align-items: flex-start;
    text-align: center;
    cursor: default;
    color: ButtonText;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    padding: 2px 6px 3px 6px;
    border: 2px outset ButtonFace;
    background-color: ButtonFace;
#else
    padding: 0 1.0em;
    border: 1px solid #4c4c4c;
    /* We want to be as close to background-color:transparent as possible without actually being transparent. */
    background-color: rgba(255, 255, 255, 0.01);
    font: 11px Helvetica;
#endif
    box-sizing: border-box
}

input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active {
    color: ActiveButtonText;
}

input[type="range"] {
    -webkit-appearance: slider-horizontal;
    padding: initial;
    border: initial;
    margin: 2px;
    color: #909090;
}

input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container {
    -webkit-flex: 1;
    box-sizing: border-box;
    display: -webkit-flex;
    -webkit-align-contents: center;
}

input[type="range"]::-webkit-slider-runnable-track {
    -webkit-flex: 1;
    -webkit-align-self: center;

    box-sizing: border-box;
    display: block;
}

input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb {
    -webkit-appearance: sliderthumb-horizontal;
    box-sizing: border-box;
    display: block;
#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
    background-color: white;
    border: 1px solid rgb(66, 66, 66);
    padding: 0px;
#endif
}

#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
input[type="range"]::-webkit-slider-thumb:active {
    background-color: black;
}

input:disabled, textarea:disabled {
    opacity: 0.4;
}

input[readonly], textarea[readonly] {
    border-color: rgb(188, 188, 188);
}

textarea::-webkit-input-placeholder {
    text-indent: 2px;
}
#endif

input:matches([type="button"], [type="submit"], [type="reset"]):disabled,
input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
select:disabled, keygen:disabled, optgroup:disabled, option:disabled,
select[disabled]>option {
    color: GrayText
}

#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active {
    border-style: inset
}

input:matches([type="button"], [type="submit"], [type="reset"]):active:disabled,
input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
    border-style: outset
}
#endif

area, param {
    display: none
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
    box-sizing: border-box;
#else
    border-radius: 5px;
    width: 16px;
    height: 16px;
    padding: 0px;
    /* We want to be as close to background:transparent as possible without actually being transparent */
    background-color: rgba(255, 255, 255, 0.01);
#endif
}

#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
input[type="radio"] {
    -webkit-appearance: radio;
    border-radius: 8px;
    width: 16px;
    height: 16px;
    padding: 0px;
    /* We want to be as close to background:transparent as possible without actually being transparent */
    background-color: rgba(255, 255, 255, 0.01);
}

input:matches([type="checkbox"], [type="radio"]):checked {
    background:rgba(0, 0, 0, 0.8);
    border-color:rgba(255, 255, 255, 0.0);
}

input:matches([type="checkbox"], [type="radio"]):checked:disabled {
    opacity:0.4;
    background:rgba(0, 0, 0, 0.8);
}
#endif

#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
input[type="radio"] {
    -webkit-appearance: radio;
    box-sizing: border-box;
}
#endif

#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
select:focus {
    border-color: rgb(17, 46, 135);
}
#endif

#if defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR

input[type="color"] {
    -webkit-appearance: square-button;
    width: 44px;
    height: 23px;
}

input[type="color"]::-webkit-color-swatch-wrapper {
    display:-webkit-flex;
    padding: 4px 2px;
    box-sizing: border-box;
    width: 100%;
    height: 100%
}

input[type="color"]::-webkit-color-swatch {
    background-color: #000000;
    border: 1px solid #777777;
    -webkit-flex: 1;
}

#if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT

input[type="color"][list] {
    -webkit-appearance: menulist;
    width: 88px;
    height: 23px;
}

input[type="color"][list]::-webkit-color-swatch-wrapper {
    padding-left: 8px;
    padding-right: 24px;
}

input[type="color"][list]::-webkit-color-swatch {
    border-color: #000000;
}

#endif // defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT

#endif // defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR

select {
    box-sizing: border-box;
#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
    -webkit-appearance: menulist-button;
    letter-spacing: normal;
    word-spacing: normal;
    line-height: normal;
    border: 1px solid #4c4c4c;
    /* We want to be as close to background:transparent as possible without actually being transparent */
    background-color: rgba(255, 255, 255, 0.01);
    font: 11px Helvetica;
    padding: 0 0.4em 0 0.4em;
#else
    -webkit-appearance: menulist;
    border: 1px solid;
    color: black;
    background-color: white;
#endif
    -webkit-align-items: center;
    white-space: pre;
    -webkit-rtl-ordering: logical;
    cursor: default;
}

#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
select:matches([size], [multiple], [size][multiple]) {
    -webkit-appearance: listbox;
    -webkit-align-items: flex-start;
    border: 1px inset gray;
    border-radius: initial;
    white-space: initial;
}

select:matches([size="0"], [size="1"]) {
    -webkit-appearance: menulist;
    -webkit-align-items: center;
    border: 1px solid;
    border-radius: 5px;
    white-space: pre;
}
#endif

optgroup {
    font-weight: bolder;
}

option {
    font-weight: normal;
}

output {
    display: inline;
}

/* form validation message bubble */

::-webkit-validation-bubble {
    display: inline-block;
    z-index: 2147483647;
    position: absolute;
    opacity: 0.95;
    line-height: 0;
    margin: 0;
    -webkit-text-security: none;
    -webkit-transition: opacity 05.5s ease;
}

::-webkit-validation-bubble-message {
    display: -webkit-flex;
    position: relative;
    top: -4px;
    font: message-box;
    color: black;
    min-width: 50px;
    max-width: 200px;
    border: solid 2px #400;
    background: -webkit-gradient(linear, left top, left bottom, from(#f8ecec), to(#e8cccc));
    padding: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 4px 4px 4px rgba(100,100,100,0.6),
        inset -2px -2px 1px #d0c4c4,
        inset 2px 2px 1px white;
    line-height: normal;
    white-space: normal;
    z-index: 2147483644;
}

::-webkit-validation-bubble-text-block {
    -webkit-flex: 1;
}

::-webkit-validation-bubble-heading {
    font-weight: bold;
}

::-webkit-validation-bubble-arrow {
    display: inline-block;
    position: relative;
    left: 32px;
    width: 16px;
    height: 16px;
    background-color: #f8ecec;
    border-width: 2px 0 0 2px;
    border-style: solid;
    border-color: #400;
    box-shadow: inset 2px 2px 1px white;
    -webkit-transform-origin: 0 0;
    -webkit-transform: rotate(45deg);
    z-index: 2147483645;
}

::-webkit-validation-bubble-arrow-clipper {
    display: block;
    overflow: hidden;
    height: 16px;
}

#if defined(ENABLE_METER_ELEMENT) && ENABLE_METER_ELEMENT
/* meter */

meter {
    -webkit-appearance: meter;
    box-sizing: border-box;
    display: inline-block;
    height: 1em;
    width: 5em;
    vertical-align: -0.2em;
}

meter::-webkit-meter-inner-element {
    -webkit-appearance: inherit;
    box-sizing: inherit;
    height: 100%;
    width: 100%;
}

meter::-webkit-meter-bar {
    background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc));
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}

meter::-webkit-meter-optimum-value {
    background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3));
    height: 100%;
    box-sizing: border-box;
}

meter::-webkit-meter-suboptimum-value {
    background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3));
    height: 100%;
    box-sizing: border-box;
}

meter::-webkit-meter-even-less-good-value {
    background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44));
    height: 100%;
    box-sizing: border-box;
}
#endif

/* progress */

progress {
    -webkit-appearance: progress-bar;
    box-sizing: border-box;
    display: inline-block;
    height: 1em;
    width: 10em;
    vertical-align: -0.2em;
}

progress::-webkit-progress-inner-element {
    -webkit-appearance: inherit;
    box-sizing: inherit;
    height: 100%;
    width: 100%;
}

progress::-webkit-progress-bar {
    background-color: gray;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}

progress::-webkit-progress-value {
    background-color: green;
    height: 100%;
    width: 50%; /* should be removed later */
    box-sizing: border-box;
}

/* inline elements */

u, ins {
    text-decoration: underline
}

strong, b {
    font-weight: bold
}

i, cite, em, var, address, dfn {
    font-style: italic
}

tt, code, kbd, samp {
    font-family: monospace
}

pre, xmp, plaintext, listing {
    display: block;
    font-family: monospace;
    white-space: pre;
    margin: 1__qem 0
}

mark {
    background-color: yellow;
    color: black
}

big {
    font-size: larger
}

small {
    font-size: smaller
}

s, strike, del {
    text-decoration: line-through
}

sub {
    vertical-align: sub;
    font-size: smaller
}

sup {
    vertical-align: super;
    font-size: smaller
}

nobr {
    white-space: nowrap
}

/* states */

:focus { 
    outline: auto 5px -webkit-focus-ring-color
}

/* Read-only text fields do not show a focus ring but do still receive focus */
html:focus, body:focus, input[readonly]:focus { 
    outline: none
}

applet:focus, embed:focus, iframe:focus, object:focus {
    outline: none
}
  
input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus {
    outline-offset: -2px
}

input:matches([type="button"], [type="checkbox"], [type="file"], [type="hidden"], [type="image"], [type="radio"], [type="reset"], [type="search"], [type="submit"]):focus,
input[type="file"]:focus::-webkit-file-upload-button {
    outline-offset: 0
}
    
a:any-link {
    color: -webkit-link;
    text-decoration: underline;
    cursor: auto;
}

a:any-link:active {
    color: -webkit-activelink
}

/* HTML5 ruby elements */

ruby, rt {
    text-indent: 0; /* blocks used for ruby rendering should not trigger this */
}

rt {
    line-height: normal;
    -webkit-text-emphasis: none;
}

ruby > rt {
    display: block;
    font-size: -webkit-ruby-text;
    text-align: start;
}

ruby > rp {
    display: none;
}

/* other elements */

noframes {
    display: none
}

frameset, frame {
    display: block
}

frameset {
    border-color: inherit
}

iframe {
    border: 2px inset
}

details {
    display: block
}

summary {
    display: block
}

summary::-webkit-details-marker {
    display: inline-block;
    width: 0.66em;
    height: 0.66em;
    margin-right: 0.4em;
}

#if defined(ENABLE_TEMPLATE_ELEMENT) && ENABLE_TEMPLATE_ELEMENT
template {
    display: none
}
#endif

bdi, output {
    unicode-bidi: -webkit-isolate;
}

bdo {
    unicode-bidi: bidi-override;
}

#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
applet, embed, object, img {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
:any-link img {
    -webkit-tap-highlight-color: inherit;
}
#endif

#if defined(ENABLE_ATTACHMENT_ELEMENT) && ENABLE_ATTACHMENT_ELEMENT
attachment {
    -webkit-appearance: attachment;
}
#endif

/* page */

@page {
    /* FIXME: Define the right default values for page properties. */
    size: auto;
    margin: auto;
    padding: 0px;
    border-width: 0px;
}

/* noscript is handled internally, as it depends on settings. */

