/*
Theme Name: WebKit
Theme URI: http://webkit.org/
Author: The WebKit Team
Author URI: http://webkit.org/
Description: Modern, adaptive theme for the WebKit project.
Version: 1.0
*/

/** Resets **/
html, body, div, span, 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, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details,
figure, figcaption, footer, header, hgroup,
menu, nav, output, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
html {
    font-family: "Myriad Set Pro","Helvetica Neue",sans-serif;
    font-size: 62.5%;
    font-synthesis: none;
}
body {
    background-color: #f7f7f7;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.4;
}
ol, ul {
    list-style: none;
}
dl {
    margin: 2rem 0;
}
dt {
    font-weight: bold;
}
dd {
    margin: 0 3rem;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
p:empty {
    display: none;
}
a {
    color: #08c;
    text-decoration: none;
    transition: color 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000); /* ease-out-exponential */
}
a:hover {
    text-decoration: underline;
}
a > code {
    color: #08c;
}

h1 a:hover {
    text-decoration: none;
}
hr {
    border: none;
    border-bottom: 1px solid #ddd;
}
strong {
    font-weight: 700;
}
em {
    font-weight: 200;
}
sup {
    vertical-align: super;
    font-size: smaller;
    line-height: 1;
}
code {
    font-family: Menlo, monospace;
    background: #f2f2f2;
    border-radius: 2px;
    border: 1px solid #e7e7e7;
    padding: 0 0.5rem;
    font-size: 80%;
    color: #444;
}

/** Accessibility Helpers **/
a[name] {
    display: inline-block;
    position: relative;
    top: -3rem;
    color: #ddd;
    width: 0;
}

p > a[name]::before {
    content: "#";
    margin-left: -1.7rem;
    position: relative;
    top: 3rem;

}

a[name]:hover {
    color: #08c;
    text-decoration: none;
}

h1 a[name],
h2 a[name],
h3 a[name],
h4 a[name],
h5 a[name],
h6 a[name] {
    display: block;
    visibility: hidden;
}

input[type=text] {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    height: 4.2rem;
    padding-top: 3px;
    margin-bottom: 3rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    color: #333333;
    text-align: left;
    border: 1px solid #d6d6d6;
    border-radius: 4px;
    background: white;
    background-clip: padding-box;
    font-family: "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    line-height: 1.33333;
    font-weight: 400;
    letter-spacing: normal;
    font-size: 2rem;
}

input[type=submit] {
    background-color: #1d9bd9;
    background: -webkit-linear-gradient(#3baee7, #0088cc);
    background: linear-gradient(#3baee7, #0088cc);
    border-radius: 4px;
    color: white;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    border: 0;
}

.admin-bar a[name] {
    top: calc(-32px - 3rem);
}

.admin-bar p > a[name]::before {
    top: calc(32px + 3rem);
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
}

/** Page Layout **/
.page-width {
    max-width: 1140px;
    margin: 0 auto;
}

/** Header **/
header {
    background: #f9f9f9;
    border-bottom: 1px solid #e7e7e7;
    overflow: visible;
    width: 100vw;
    max-width: 100%;
    padding-top: 2rem;
    margin: 0;
    position: relative;
    z-index: 500;
}

@supports ( -webkit-backdrop-filter: blur(10px) ) {
    header {
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        background: rgba(255,255,255,0.8);
    }
}

a.download {
    background: url('images/download.svg') right no-repeat;
    padding-right: 4rem;
}

/** Pagination **/
.pagination {
    text-align: center;
    margin: 3rem auto;
    font-weight: bold;
}

.pagination .page-numbers {
    display: inline-block;
    padding: 0.5rem 1rem 0.3rem;
    background: white;
    border-radius: 3px;
}

.pagination .page-numbers:not(.current, .dots):hover {
    text-decoration: none;
    background: #08c;
    color: white;
}

.pagination .dots,
.pagination .page-numbers.current {
    background: none;
}

.pagination .prev-post,
.pagination .next-post {
    min-width: 25%;
}

.pagination .prev-post {
    text-align: right;
}

.pagination .next-post {
    text-align: left;
}

.pagination .prev-post span,
.pagination .next-post span {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
}

/* Front page next button */
.pagination .next-button {
    display: inline-block;
    line-height: 3rem;
    box-sizing: border-box;
    width: -webkit-calc(33.33% - 10px);
    width: -moz-calc(33.33% - 10px);
    width: calc(33.33% - 10px);
}

/** Footer **/
footer {
    content: "";
    display: table;
    clear: both;
    width: 100%;
    padding-bottom: 3rem;
    box-sizing: border-box;
}

footer .menu {
    font-size: 1.3rem;
}

/** Tiles **/
.tiles {
    font-size: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    margin-top: 3rem;
}

.tile {
    background: white;
    display: inline-block;
    margin: 0 0 15px;
    position: relative;
    vertical-align: top;
    box-sizing: border-box;
    min-height: 450px;
    overflow: hidden;
    box-shadow: inset rgba(0, 0, 0, 0.1) 0 0 0 1px;
}

.tile.spacer {
    background: none;
    box-shadow: none;
}

.tile-link,
.tile-link:hover {
    text-decoration: none;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 0;
    z-index: 1;
}

.third-tile {
    width: -webkit-calc(33.33% - 10px);
    width: -moz-calc(33.33% - 10px);
    width: calc(33.33% - 10px);
}

.two-thirds-tile {
    width: -webkit-calc(66.66% - 5px);
    width: -moz-calc(66.66% - 5px);
    width: calc(66.66% - 5px);
}

.featured-tile {
    padding: 0;
}

.tile .background-image {
    position: relative;
    margin-top: -1px;
    height: 0;
    padding-bottom: 80%;
    overflow: hidden;

    background-size: cover;
    background-position: 50% 1%;
    background-color: #8E8E93;
    background-repeat: no-repeat;
    background-image: url('images/icons.svg');
}

.tile .background-image.has-featured-image {
    -webkit-transition: -webkit-filter 10s ease-in;
    transition: filter 1s ease-in;
    -webkit-filter: saturate(0);
            filter: saturate(0);
}

.tile:not(.has-post-thumbnail) .featured-image {
    display: none;
}

.tile.category-web-inspector .background-image {
    background-color: #08c;
    background-position: 50% 10.75%; /* Must use this notation for Firefox */
}

.tile.category-performance .background-image {
    background-color: rgb(152, 188, 77);
    background-position: 50% 20.5%;
}

.tile.category-javascript .background-image {
    background-color: #997FA6;
    background-position: 50% 30.5%;
}

.tile.category-css .background-image {
    background-color: #bf6d71;
    background-position: 50% 40.4%;
}

.tile.category-standards .background-image {
    background-color: #BF7600;
    background-position: 50% 50.4%;
}

.tile.category-contributing .background-image {
    background-color: #CBAA44;
    background-position: 50% 59.8%;
}

.tile.category-storage .background-image {
    background-color: #997FA6;
    background-position: 50% 69.6%;
}

.tile.category-layout .background-image {
    background-color: #bf6d71;
    background-position: 50% 79.45%;
}

.tile.category-safari-technology-preview .background-image {
    background-color: #8e56b1;
}

.tile.category-accessibility .background-image {
    background-color: #08c;
    background-position: 50% 89.2%;
}

.tile.tag-console .background-image,
.tile.tag-debugger .background-image,
.tile.tag-shortcuts .background-image,
.tile.tag-timeline .background-image {
     background-image: url('images/inspector.svg');
}

.tile.tag-console .background-image {
    background-position: 50% 3%;
}

.tile.tag-debugger .background-image {
    background-position: 50% 34%;
}

.tile.tag-shortcuts .background-image {
    background-position: 50% 66%;
}

.tile.tag-timeline .background-image {
    background-position: 50% 97%;
}

.tile .background-image.loaded {
    background: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    -webkit-filter: saturate(1);
            filter: saturate(1);
}

.tile .featured-image::before {
    padding-bottom: 80%;
    content: '';
    display: block;
}

.tile .featured-image {
    position: relative;
    max-height: 450px;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;

    opacity: 0;
    -webkit-transition: opacity 0.4s ease-in;
    -moz-transition: opacity 0.4s ease-in;
    transition: opacity 0.4s ease-in;
}

.tile .featured-image,
.tile:not(.has-post-thumbnail) .background-image,
.tile .loaded .featured-image {
    box-shadow: inset rgba(0, 0, 0, 0.1) 0 1px 0 1px;
}

.has-post-thumbnail .background-image {
    filter: saturate(0);
    -webkit-filter: saturate(0);
    opacity: 0.1;
}

.has-post-thumbnail .background-image.loaded,
.tile .background-image.loaded .featured-image {
    opacity: 1;
}

.featured-tile .background-image {
    padding-bottom: 60%;
    margin-bottom: 0;
}

.tile .tile-content {
    font-size: 1.6rem;
    line-height: 3rem;
    max-width: 100%;
    box-sizing: border-box;
    padding: 2rem;
}

.featured-tile .tile-content {
    padding: 0 24px;
    box-sizing: border-box;
    position: absolute;
    -webkit-transform: none;
    transform: none;
    bottom: 15px;
    top: auto;
}

.background-vignette {
    width: 100%;
    padding-bottom: 60%;
    position: absolute;
    top:0;
    background-image: linear-gradient(-180deg, rgba(255, 255, 255, 0) , rgba(255, 255, 255, 0.95) 80%, rgba(255, 255, 255, 1));
}

.tag-window .background-image {
    background-color: #f2f2f2;
}

.tag-window .background-vignette {
    background-image: linear-gradient(-180deg, rgba(242,242,242,0) 25%,rgba(242,242,242,1) 65%);
}

.featured-tile.tag-dark.tile {
    background: black;
}

.featured-tile.tag-dark .background-vignette {
    background-image: linear-gradient(-180deg, rgba(0,0,0,0) 33%,rgba(0,0,0,0.85));
}

.featured-tile.tag-dark .tile-content {
    color: white;
}

.featured-tile.tag-dark .tile-content a {
    color: #6cf;
}

.tag-transparent:not(.featured-tile) .featured-image {
    box-shadow: none;
    background-size: contain;
}

.tag-transparent:not(.featured-tile) .background-image.loaded {
    border-bottom: none;
}

.tile-content p {
    margin: 0;
}

.tile h1 {
    font-size: 3rem;
    line-height: 4rem;
    font-weight: 200;
    text-align: left;
}
.tile h2 {
    font-size: 3rem;
    line-height: 4rem;
    font-weight: 400;
    text-align: inherit;
}

.icon-tile {
    text-align: center;
    font-size: 2rem;
}

.icon-tile h2 + p {
    font-weight: 200;
    margin-bottom: 1rem;
}

.icon-tile .icon {
    position: relative;
    background: url('images/compass.svg') no-repeat;
    background-position: 50% 50%;
    margin: 0 auto 3rem;
    padding: 40%;
    color: #fff;
}

.icon-tile.download .icon {
    background-image: url('images/download.svg');
}

.icon-tile.developer .icon {
    background-image: url('images/developer.svg');
}

.icon-tile, .icon-tile a {
    color: white;
}
.amber-tile {
    background-color: #FFCC00;
}
.gray-tile, .gray-tile a {
    color: #017BFD;
}

.gray-tile {
    background: linear-gradient(rgb(40, 40, 40), rgb(74, 74, 74));
}
.gray-tile, .gray-tile a {
    color: #fff;
}

.amber-tile {
    background-color: #FFCC00;
}
.blue-tile {
    background-color: #08c;
}

.twitter-tile {
    background-color: #34AADC;
}

.twitter-tile, .twitter-tile a {
    color: white;
}

.tile-content a {
    position: relative;
    z-index: 200;
}

.twitter-tile .tile-content {
    position: relative;
    box-sizing: border-box;
    font-size: 2rem;
    text-align: center;
}

.twitter-tile.text-only {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    text-align: left;
}

.twitter-tile .media {
    text-align: center;
}

.twitter-tile.text-only .tile-content {
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 3rem;
    align-self: center;
    padding-bottom: 6rem;
}

.twitter-tile img {
    display: inline-block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 256px;
}

.twitter-controls {
    padding: 0 1.5rem;
    box-sizing: border-box;
    width: 100%;
    font-size: 1.5rem;
    line-height: 3rem;
    text-align: center;
    font-weight: 600;
    position: absolute;
    left: 0;
    bottom: 15px;
    z-index: 200;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.twitter-controls li {
    display: inline-block;
    margin: 0 1.3rem;
}

.twitter-controls a {
    opacity: 0.66;
    transition: opacity 300ms ease-out;
}
.twitter-controls a:hover {
    opacity: 1;
    text-decoration: none;
}

/** Twitter Icons **/

.twitter-icon {
    background: url('images/twitter.svg') no-repeat;
    background-size: cover;
}

.icon.twitter-icon {
    position: relative;
    margin: 3rem auto 3rem;
    width: 1px;
    padding: 33%;
    color: #ffffff;
    opacity: 0.33;
}

.twitter-tile h2 {
    text-align: center;
}

.twitter-controls .twitter-icon {
    text-indent: -9999em;
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
}

.twitter-icon.reply-icon {
    background-position-y: 33%;
}

.twitter-icon.retweet-icon {
    background-position-y: 66%;
}

.twitter-icon.favorite-icon {
    background-position-y: 99%;
}

/** Code Syntax Highlighting **/
pre {
    width: calc(100% + 6rem);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: #f2f2f2;
    border: 1px solid #E6E6E6;
    border-radius: 3px;

    box-sizing: border-box;
    padding: 3rem;
    margin-left: -3rem;
}

code {
    color: #555555;
    font-size: 1.6rem;
    line-height: 2.5rem;
}

pre code {
    border: none;
    padding: 0;
}

code .keyword,
code.html .tag { color: #708; }
code .keyword.builtin,
code .keyword.literal { color: #aa0d91;}
code .keyword.type { color: #cb4b16; }
code .preprocessor { color: #996; }
code .comment { color: #93a1a1; float: none; display: inline; }
code .comment .doc { color: #839496; font-weight: bold; }
code .identifier { color: #1C63A8; }
code .string, code .char { color: #5B6E04; }
code .escaped { color: #AAA; }
code .number, code .tag { color: #586e75; }
code .regex, code .attribute { color: rgb(131, 108, 40); }
code .attribute.value { color: rgb(196, 26, 22) ;}
code .operator { color: #888; }
code .keyword.operator { color: #A90007; }
code .whitespace { background: #333; }
code .error { border-bottom: 1px solid red; }
code .doctype { color: rgb(192, 192, 192); }
code .property { color: #881391; }

code.xml .comment,
code.html .comment { color: rgb(0, 116, 0); }

code.xml .preprocessor .keyword { color: #996; }
code.xml .meta, code.xml .meta .keyword { color: #399; }

code.cpp .preprocessor .identifier { color: #996; }

code::-moz-selection, code span::-moz-selection {
    background: #A3CDFE;
}

code::selection, code span::selection {
    background: #A3CDFE;
}

code.syntax { white-space: normal; }
code.syntax .newlines { white-space: pre; display: block; }

code.css .attribute,
code.css .identifier,
code.css .preprocessor { color: rgb(170, 13, 145); }

code.css .keyword { color: black; }
code.css .number { color: rgb(28, 0, 207); }

/** Post Typography **/
article h1 {
    font-size: 5.2rem;
    line-height: 1.0625;
    font-weight: 200;
    letter-spacing: -0.02em;
    text-align: center;
    color: #037DFD;
    margin: 5rem auto 3rem;
}

article h1 a {
    color: #444444;
    text-decoration: none;
}

article h2 {
    font-size: 4.2rem;
    line-height: 1.08654;
    font-weight: 200;
    letter-spacing: -0.014em;
    margin: 4rem 0 1rem;
}

article h3 {
    font-size: 3.2rem;
    line-height: 1.14286;
    font-weight: 200;
    letter-spacing: -0.01em;
}

article h4 {
    font-size: 2.2rem;
    line-height: 1.125;
    font-weight: 600;
}

article h5 {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 600;
}

article h6 {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 600;
    font-size: 2rem;
}

article h3,
article h4,
article h5,
article h6 {
    margin-bottom: 0.5rem;
}

article h2 + h3,
article h3 + h4,
article h4 + h5,
article h5 + h6 {
    margin-top: 3rem;
}

article p,
article div > img,
article pre,
article hr {
    margin-bottom: 3rem;
}

article .byline p {
    font-size: 1.5rem;
    line-height: 3rem;
    margin-bottom: 0;
    color: #8E8E93;
}

article .byline .date {
    font-weight: 900;
}

article .byline .author {
    white-space: nowrap;

}

article .bodycopy {
    font-size: 2rem;
    line-height: 3rem;
}

article table {
    font-size: 1.6rem;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 3rem 0;
    width: 100%;
}

article thead, article tfoot {
    border-top: 1px solid #bbbbbb;
    border-bottom: 1px solid #e0e0e0;
}

article tr {
    border-top: 1px solid #e0e0e0;
}

article tr:first-child {
    border-top: 0 none;
}

article th {
    font-weight: bold;
    vertical-align: bottom;
    text-align: left;

}
article td, th {
    padding: 1.754386%;
}
article th:first-child {
    padding-left: 0;
}

article ol,
article ul {
    padding-left: 3rem;
    margin: 3rem 0;
}

article ol {
    list-style-type: decimal;
}

article ul {
    list-style-type: square;
}

article ul ul,
article ul ol,
article ol ul,
article ol ol {
    margin-top: 0;
    margin-bottom: 0;
}

article blockquote {
    width: 100vw;
    height: auto;
    padding: 0 3rem;
    left: 50%;
    position: relative;
    margin-left: -50vw;
    box-sizing: border-box;
    font-weight: 200;
    font-size: 3rem;
    line-height: 4.2rem;
    text-align: center;
    color: #555555;
}
article blockquote > * {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

article blockquote:first-child {
    width: 100%;
    text-align: left;
    margin: 0 auto;
    left: 0;
    padding: 0;
}

.post .bodycopy > p:last-child:after {
    content: " \220E"; /* Tombstone */
    color: #666666;
}

article div.note {
    margin-left: -3rem;
    margin-right: -3rem;
    padding: 3rem;
    background-color: hsl(50, 100%, 94%);
    border: 1px solid hsl(40, 100%, 90%);
    color: hsl(30, 90%, 35%);
    border-radius: 3px;
    margin-bottom: 3rem;
    box-sizing: normal;
}

article .foreword {
    padding: 1.6rem 2.2rem 1.6rem;
    line-height: 2.6rem;
    background-color: #f0f0f0;
    border: 1px solid #e6e6e6;
    color: #8E8E93;
    border-radius: 3px;
    margin-bottom: 3rem;
    box-sizing: normal;
    font-size: 1.6rem;
    font-style: italic;
}

article .two-columns {
    columns: 2;
    column-gap: 6rem;
    margin: 3rem 0;
}

article .two-columns h2,
article .two-columns h3,
article .two-columns h4,
article .two-columns h5,
article .two-columns h6 {
    break-after: avoid-column; /* https://bugs.webkit.org/show_bug.cgi?id=148814 */
}

article .two-columns p {
    break-inside: avoid-column;
}

/** Post Layout **/

article .byline {
    float: left;
    width: 191px;
    text-align: right;
    padding-right: 4rem;
    box-sizing: border-box;
}

article .bodycopy {
    width: 66%;
    margin: 0 auto;
    position: relative;
}

article .aligncenter .wp-caption-text {
    right: -50%;
}

article .alignleft {
    float: left;
    margin: 1.5rem 1.5rem 1.5rem 0;
}

article .aligncenter {
    clear: both;
    display: block;
    margin: 0 auto 3rem;
}

article div.aligncenter {
    position: relative;
    float: right;
    right: 50%;
}

article div.aligncenter img {
    position: relative;
    right: -50%;
}

article .alignright {
    float: right;
    margin: 1.5rem 0 1.5rem 1.5rem;
}

article .alignnone {
    display: block;
    float: none;
}

article .alignnone.size-full {
    width: 100vw;
    height: auto;
    left: 50%;
    position: relative;
    -webkit-transform: translate(-50vw, 0);
    transform: translate(-50vw, 0);
}

article .abovetitle {
    margin-top: -0.4em;
}

article .pull-left {
    float: left;
    margin: 1.5rem 1.5rem 1.5rem -25%;
}

article .pull-right {
    float: right;
    margin: 1.5rem -25% 1.5rem 1.5rem;
}

article .cliptop {
    border-top: 1px solid #dddddd;
}

article .clipbottom {
    border-bottom: 1px solid #dddddd;
}

article .clipright {
    border-right: 1px solid #dddddd;
}

article .clipleft {
    border-left: 1px solid #dddddd;
}

article .mattewhite {
    background: white;
    border-top: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

article .mattewhite:not(.widescreen) {
    border: 1px solid #e7e7e7;
    padding: 3rem;
    margin-left: -3rem;
    margin-right: -3rem;
}

article .mattewhite.tightwad {
    padding: 0;
}

/** Article Figures **/

article figure {
    margin-bottom: 3rem;
    text-align: center;
}
article figure > img {
    display: inline-block;
    max-width: 100%;
    max-height: 540px;
    height: auto;
    width: auto;
}

figure.widescreen {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translate(-50%);
}

figure.widescreen img,
figure.widescreen figcaption {
    display: block;
    margin: 0 auto;
}

figure.widescreen figcaption {
    margin-top: 3rem;
}

figure.widescreen video {
    max-height: 420px;
    max-width: 66%;
}

article video.alignleft,
article video.alignright {
    max-width: 50%;
}

article .alignleft:first-child,
article .alignright:first-child {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

article figcaption {
    text-align: left;
    margin-top: 1.5rem;
    max-width: 970px;
    padding-left: 1.5rem;
    box-sizing: border-box;
    font-size: 1.5rem;
    font-style: italic;
    color: #8E8E93;
    position: relative;
}

article figcaption::before {
    left: 1.5rem;
    width: 10%;
    height: 100%;
    bottom: 1rem;
    border-top: 1px solid #cccccc;
    content: '';
    opacity: 1;
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
}

figure.aligncenter figcaption {
    text-align: center;
    padding-left: 0;
}

figure.aligncenter figcaption::before {
    margin: 0 auto;
    width: 20%;
    left: 50%;
    transform: translate(-50%);
}

article .clipbottom + p + figcaption {
    margin-top: 1rem;
}

article .clipbottom + p + figcaption::before {
    width: 0;
}

/** Page Layout **/
article.page h1 {
    text-align: left;
    width: 66%;
}

.page .bodycopy h1 {
    width: 100%;
}

/** Load Effects **/

@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fade-in-move-down {
    from {
        opacity: 0;
        -webkit-transform: translateY(-3rem);
        transform: translateY(-3rem)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes fade-in-move-down {
    from {
        opacity: 0;
        -webkit-transform: translateY(-3rem);
        transform: translateY(-3rem)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

article,
.feature-status-page {
    -webkit-animation: fade-in-move-down 0.7s;
    animation: fade-in-move-down 0.7s;
}

.tile {
    -webkit-animation: fade-in 0.4s;
    animation: fade-in 0.4s;
}

/** Page Table of Contents **/

.table-of-contents {
    float: right;
    box-sizing: border-box;
    padding: 3rem;
    margin: 0 0 3rem 3rem;

    width: 252px;
    background: #ffffff;
    z-index: 5;

}

.table-of-contents ul {
    margin: 0;
    list-style: none;
    font-size: 1.6rem;
    line-height: 2rem;
    padding-left: 2rem;
    padding-right: 0;
}

.table-of-contents .list > ul {
    padding-left: 0;
}

.table-of-contents ul li {
    margin-bottom: 1rem;
}

.table-of-contents ul li:last-child {
    margin-bottom: 0;
}

.table-of-contents ul li > ul {
    margin-top: 1rem;
}

.with-toc pre:nth-child(-n+6),
#post-4132 pre:nth-child(-n+10) {
    width: 55%;
    z-index: -1;
}

/** Logo **/
.site-logo {
    float: left;
    font-size: 4.2rem;
    line-height: 4.2rem;
    font-weight: 200;
    display: inline-block;
    background: url('images/webkit.svg') no-repeat;
    padding-left: 7rem;
    color: #333;
}

.site-logo .tagline {
    display: block;
    font-size: 1.8rem;
    line-height: 2rem;
    letter-spacing: -0.05rem;
    color: #666;
}

.hero .logo {
    background-image: url('images/webkit.svg');
}

/** Status Page **/

.feature-header:after {
    display: inline-block;
    content: "";
    background: url('images/menu-down.svg') no-repeat 50%;
    background-size: 2rem;
}

.feature.opened .feature-header:after {
    -webkit-transform: rotateX(-180deg);
    -moz-transform: rotateX(-180deg);
    transform: rotateX(-180deg);
    perspective: 600;
}

/** Navigation **/

.label-toggle {
    cursor: pointer;
}

header nav {
    text-align: right;
}

/* Hide menu toggle checkboxes */
input.menu-toggle {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

footer nav {
    padding: 3rem 0;
}

header nav li {
    display: inline-block;
    padding: 2.5rem 0 1.5rem 3rem;
}

footer nav li {
    display: inline-block;
    position: relative;
    padding: 0 0 1.5rem 3rem;
}

footer nav li:first-child {
    padding-left: 0;
}

header nav a,
footer nav a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: #333;
    cursor: pointer;
}

header nav a:hover,
footer nav a:hover {
    color: #08c;
    text-decoration: none;
}

header .menu-item-has-children .label-toggle::after {
    background: url('images/menu-down.svg') no-repeat;
    background-size: 1.2rem;
    display: inline-block;
    padding-right: 1.2rem;
    padding-top: 0.8rem;
    margin-left: 0.5rem;
    margin-top: -0.1rem;
    content: '';

    -webkit-transition: transform 0.3s ease-out;
    -moz-transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
}

header .menu-item { /* add bottom dimension to main menu items */
    padding-bottom: 3rem;
}

.sub-menu-layer {
    text-align: center;
    padding: 3rem;
    box-sizing: border-box;

    width: 21rem;
    margin-left: -11rem;
    margin-top: -99rem;

    position: absolute;
    top: 8rem;
    transform: translateY(-1rem);

    background: rgba(255,255,255,0.95);
    box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.10);
    border: 1px solid #e7e7e7;
    border-radius: 5px;

    -webkit-transition: opacity 0.6s, transform 0.6s;
    -moz-transition: opacity 0.6s, transform 0.6s;
    transition: opacity 0.6s, transform 0.6s;
    opacity: 0;

}

.sub-menu-layer:after, .sub-menu-layer:before {
    bottom: 100%;
    left: 71%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;

}

.sub-menu-layer:after {
    border-bottom-color: rgba(255,255,255,0.9);
    border-width: 10px;
    margin-left: -10px;
}

.sub-menu-layer:before {
    border-bottom-color: #e7e7e7;
    border-width: 11px;
    margin-left: -11px;
}

.sub-menu-layer .menu-item {
    padding: 1.5rem 0 0 0;
    width: 100%;
}

.sub-menu-layer .menu-item:first-child {
    padding: 0;
}

.menu > .menu-item > a:focus ~ .sub-menu,
.menu > .menu-item.open-menu > .sub-menu,
.menu > .menu-item:hover > .sub-menu,
.menu > .menu-item > .menu-toggle:checked + .sub-menu {
    display: block;
    box-sizing: border-box;
    z-index: 1;
    opacity: 1;
    transform: translateY(0);
    margin-top: 0;
}

/** Timeline blog content **/

.timeline {
    position: relative;
    padding: 0 5rem;
    margin: 0;
}

.timeline:after {
    content: "";
    display: table;
    clear: both;
}

.timeline * {
    box-sizing: border-box;
}

.timeline:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0.5rem;
    background: #e9eeef;
    left: -moz-calc(50% - 0.25rem);
    left: -o-calc(50% - 0.25rem);
    left: -webkit-calc(50% - 0.25rem);
    left: calc(50% - 0.25rem);
}

.timeline > li {
    list-style-type: none;
    text-align: right;
}

.timeline > li:before {
    position: absolute;

    display: block;
    content: "";
    width: 3rem;
    height: 3rem;

    right: -moz-calc(50% - 1.5rem);
    right: -o-calc(50% - 1.5rem);
    right: -webkit-calc(50% - 1.5rem);
    right: calc(50% - 1.5rem);

    border-radius: 3em;

    background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 51, color-stop(50%, white), color-stop(51%, #e9eeef));
    background-image: -webkit-radial-gradient(white 50%, #e9eeef 51%);
    background-image: -moz-radial-gradient(white 50%, #e9eeef 51%);
    background-image: -o-radial-gradient(white 50%, #e9eeef 51%);
    background-image: radial-gradient(white 50%, #e9eeef 51%);
}

.timeline .content {
    position: relative;
    color: #323232;
    background: white;
    border: 1px solid #e9eeef;
    border-radius: 3px;
    margin-bottom: 6rem;
    padding: 0 3rem;
    text-align: center;
}

.timeline figure {
    text-align: center;
    margin-bottom: 1rem;
}

.timeline .time {
    color: white;
    background: #08c;
    display: inline-block;
    position: relative;
    font-weight: bold;
    top: -0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 10rem;
    padding-right: 0.5rem;
    left: -moz-calc(-50% - 4.25rem);
    left: -o-calc(-50% - 4.25rem);
    left: -webkit-calc(-50% - 4.25rem);
    left: calc(-50% - 4.25rem);
    border-right: 1px solid #08c;
    border-left: 1px solid #08c;
    border-radius: 2px;
    white-space: nowrap;
    min-width: 300px;
}

.timeline h2, .timeline h3 {
    text-align: center;
}

.timeline .time::before {
    content: "";
    width: 0;
    height: 0;
    border-width: 1em;
    border-color: transparent;
    border-style: solid;
    border-left-color: #08c;
    position: absolute;
    right: -2em;
    top: 0;
}

.timeline img {
    max-width: 90%;
}

@media (min-width: 900px) {
    .timeline > li {
        width: 45%;
    }

    .timeline > li.force-clear {
        clear: both !important;
    }

    .timeline > li:nth-child(odd) {
        float: left;
        clear: left;
        text-align: right;
    }

    .timeline > li:nth-child(even) {
        float: right;
        clear: right;
        text-align: left;
    }

    .timeline > li:nth-child(2),
    .timeline > li.force-clear + li {
        margin-top: 10rem;
    }

    .timeline li .time {
        left: auto;
    }

    .timeline li:nth-child(odd) .time {
        padding-right: 0.5rem;
        padding-left: 10rem;
    }

    .timeline li:nth-child(even) .time {
        padding-left: 0.5rem;
        padding-right: 10rem;
    }

    .timeline li:nth-child(even) .time::before {
        border-left-color: transparent;
        border-right-color: #08c;
        right: auto;
        left: -2em;
    }

    .timeline > li:nth-child(even):before {
        right: auto;
        left: -moz-calc(50% - 1.5rem);
        left: -o-calc(50% - 1.5rem);
        left: -webkit-calc(50% - 1.5rem);
        left: calc(50% - 1.5rem);
    }
}

@media (max-width: 900px) {
    .timeline {
        padding: 0 3rem;
    }

    .timeline:before {
        left: -moz-calc(15% - 0.25rem);
        left: -o-calc(15% - 0.25rem);
        left: -webkit-calc(15% - 0.25rem);
        left: calc(15% - 0.25rem);
    }

    .timeline > li {
        text-align: left;
    }

    .timeline > li:before {
        right: -moz-calc(85% - 1.5rem);
        right: -o-calc(85% - 1.5rem);
        right: -webkit-calc(85% - 1.5rem);
        right: calc(85% - 1.5rem);
    }

    .timeline .content {
        padding: 0 2rem;
    }

    .timeline .time {
        left: -moz-calc(15% + 2.25rem);
        left: -o-calc(15% + 2.25rem);
        left: -webkit-calc(15% + 2.25rem);
        left: calc(15% + 2.25rem);

        text-align: left;

        padding-left: 0.5rem;
        padding-right: 0.5rem;

        min-width: 200px;
    }

    .timeline li .time::before {
        border-left-color: transparent;
        border-right-color: #08c;

        right: auto;
        left: -2em;
    }
}

/** Screen Breakpoints **/

@media only screen and (max-width: 1180px) {
    .page-width {
        max-width: 1140px;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    article .byline {
        width: 60%;
        margin: 0 auto;
        float: none;
        text-align: center;
        margin-bottom: 3rem;
    }

    article .byline p {
        display: inline;
    }
}

@media only screen and (max-width: 1000px) {
    article.page h1 {
        width: 90%;
        margin-bottom: 3rem;
    }

    article .byline {
        width: 60%;
        margin: 0 auto;
        float: none;
        text-align: center;
        margin-bottom: 3rem;
    }

    article .byline p {
        display: inline;
    }

    article .bodycopy {
        width: 90%;
    }
}

@media only screen and (max-width: 920px) {
    .main-menu.label-toggle {
        display: inline-block;
        margin: 1.5rem 0 2.5rem;
        height: 3rem;
        width: 3rem;
        background: url('images/menu-down.svg') no-repeat 50%;
        cursor: pointer;

        -webkit-transition: transform 0.3s ease-out;
        -moz-transition: transform 0.3s ease-out;
        transition: transform 0.3s ease-out;
    }

    .menu-toggle:checked + .main-menu.label-toggle,
    header .menu-item > .menu-toggle:checked + a > .label-toggle::after {
        -webkit-transform: rotateX(-180deg);
        -moz-transform: rotateX(-180deg);
        transform: rotateX(-180deg);
        perspective: 600;
    }

    header .menu {
        display: none;
        position: absolute;
        left: 0;
        margin-top: 1px;
        padding-top: 3rem;
        text-align: left;
        width: 100vw;
        overflow: hidden;
        box-shadow: 0px 5px 5px rgba(0,0,0,0.10);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        background: rgba(255,255,255,0.8);
    }

    header .menu-toggle:checked ~ ul {
        display: block;
        opacity: 1;
    }

    header .menu-main-menu-container >  ul > li {
        width: 100vw;
        position: relative;
        padding: 0 3rem 3rem;
        box-sizing: border-box;
        -webkit-transition: opacity 0.6s;
        -moz-transition: opacity 0.6s;
        transition: opacity 0.6s;
    }

    header .menu > .menu-item > .sub-menu {
        box-shadow: none;
        border-bottom: 1px solid #e7e7e7;
    }

    header .menu > .menu-item-has-children {
        margin-left: 0;
    }

    header .sub-menu-layer {
        text-align: left;
        width: 100vw;
        left: 50%;
        margin-left: -50vw;
        border-radius: 0;
        border-left: none;
        border-right: none;
        opacity: 0;
        transform: translateY(0);
        -webkit-transition: opacity 0.6s;
        -moz-transition: opacity 0.6s;
        transition: opacity 0.6s;
    }

    header .sub-menu-layer:after, .sub-menu-layer:before {
        bottom: 100%;
        left: 71%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
    }

    header .sub-menu-layer:after {
        border: none;
        margin-left: -10px;
    }

    header .sub-menu-layer:before {
        border: none;
        margin-left: -11px;
    }

    header .menu > .menu-item > .menu-toggle:checked ~ .sub-menu {
        position: relative;
        top: 1.5rem;
        margin-top: 0;
    }

    footer nav li {
        padding: 0 3rem 3rem 0;
    }
    
}

@media only screen and (max-width: 690px) {
    .featured-tile {
        padding: 0;
    }

    .tile.spacer {
        height: 0;
        min-height: 0;
        margin-bottom: 0;
    }

    .page-width {
        max-width: 100vw;
        padding-left: 1rem;
        padding-right: 1rem;
        overflow: hidden;
        box-sizing: border-box;
    }

    .tile {
        min-height: 320px;
    }

    .third-tile,
    .two-thirds-tile {
        width: -webkit-calc(100% - 1px);
        width: -moz-calc(100% - 1px);
        width: calc(100% - 1px);
    }

    .icon-tile .icon {
        margin-top: -40%;
    }

    .with-toc pre:nth-child(-n+8),
    article pre {
        position: relative;
        width: 100vw;
        left: 50%;
        transform: translate(-50%);
        margin-left: 0;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .table-of-contents { /* hug the edge */
        right: 0;
    }

    .pagination .prev-post,
    .pagination .next-post {
        min-width: auto;
        width: 90%;
        text-align: right;
    }

    .pagination .prev-post {
        margin-bottom: 1rem;
        text-align: left;
    }

    article .scrollable {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        position: relative;
        width: 100vw;
        left: 50%;
        transform: translate(-50%);
        margin: 3rem 0;
        border: 1px solid #cccccc;
        border-left: none;
        border-right: none;
    }

    article video.alignleft,
    article video.alignright {
        min-width: 30rem;
    }

    .scrollable .scrollable-padding {
        display: inline-block;
        padding: 0 3rem;
    }
}

@media only screen and (max-width: 600px) {
    header {
        padding-top: 1rem;
    }

    .site-logo {
        font-size: 4rem;
        padding-left: 6rem;
    }

    .site-logo .tagline {
        font-size: 1.6rem;
        line-height: 1;
    }

    header nav .main-menu.label-toggle {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    #wpadminbar {
        position: absolute;
    }

    .table-of-contents {
        height: 9rem;
        overflow: hidden;
        margin-right: -10%;
    }

    .menu-toggle:checked ~ .table-of-contents {
        height: auto;
    }

    .table-of-contents label {
        display: block;
    }

    .table-of-contents label:after {
        display: inline-block;
        content: "";
        background: url('images/menu-down.svg') no-repeat 50%;
        background-size: 2rem;
        width: 2rem;
        height: 2rem;
        position: absolute;
        right: 3rem;
        top: 3.5rem;
        -webkit-transition: transform 0.3s ease-out;
        -moz-transition: transform 0.3s ease-out;
        transition: transform 0.3s ease-out;
        perspective: 600;
    }

    .menu-toggle:checked ~ .table-of-contents label:after {
        -webkit-transform: rotateX(-180deg);
        -moz-transform: rotateX(-180deg);
        transform: rotateX(-180deg);
    }

    .table-of-contents h6 {
        margin-bottom: 3rem;
    }

    .with-toc pre:nth-child(-n+6),
    #post-4132 pre:nth-child(-n+8) {
        width: 100vw;
    }

    article video.alignleft,
    article video.alignright {
        max-width: 100%;
        min-width: none;
        width: 100%;
    }

    article .alignleft:first-child,
    article .alignright:first-child {
        margin-bottom: 3rem;
    }

}

@media only screen and (max-width: 415px) {
    .table-of-contents {
        /* Go one-column */
        width: 100vw;
        left: 50%;
        position: relative;
        transform: translate(-50%);
        float: none;
        margin: 0 0 3rem 0;
    }
}

@media only screen and (max-height: 415px) {
    .hero .logo,
    .hero .tagline,
    .hero .particle {
        display: none;
    }

    .home .site-logo {
        opacity: 1;
        margin-top: 0;
    }

    .home .hero {
        margin: 7rem 0 0;
    }

    .home.admin-bar .hero {
        margin-top: 12rem;
    }

    header,
    .home header {
        padding-top: 1rem;
    }

    .home header {
        border-bottom: 1px solid #e7e7e7;
        background: rgba(255,255,255,0.9);
    }

    @supports ( -webkit-backdrop-filter: blur(10px) ) {
        .home header {
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            background: rgba(255,255,255,0.8);
        }
    }

    .tile {
        min-height: 200px;
        max-height: 400px;
        overflow: hidden;
    }

    .tile .background-image {
        padding-bottom: 33%;
    }

    .tile.category-performance .background-image {
        background-position-y: 21.5%;
    }

    .tile.category-web-inspector .background-image {
        background-position-y: 12.5%;
    }

    .table-of-contents {
        height: 9rem;
        overflow: hidden;
        margin-right: -10%;
    }

    .menu-toggle:checked ~ .table-of-contents {
        height: auto;
    }

    .table-of-contents label {
        display: block;
    }

    .table-of-contents label:after {
        display: inline-block;
        content: "";
        background: url('images/menu-down.svg') no-repeat 50%;
        background-size: 2rem;
        width: 2rem;
        height: 2rem;
        position: absolute;
        right: 3rem;
        top: 3.5rem;
        -webkit-transition: transform 0.3s ease-out;
        -moz-transition: transform 0.3s ease-out;
        transition: transform 0.3s ease-out;
        perspective: 600;
    }

    .menu-toggle:checked ~ .table-of-contents label:after {
        -webkit-transform: rotateX(-180deg);
        -moz-transform: rotateX(-180deg);
        transform: rotateX(-180deg);
    }

    .table-of-contents h6 {
        margin-bottom: 3rem;
    }

    .with-toc pre:nth-child(-n+6),
    #post-4132 pre:nth-child(-n+8) {
        width: 100vw;
    }
}

@media only screen and (max-width: 320px) {
    .home .hero {
        position: absolute;
    }
}
