WordPress.org

Making WordPress.org

Changeset 3847


Ignore:
Timestamp:
08/23/2016 10:35:28 PM (3 years ago)
Author:
obenland
Message:

Plugin Directory: Restructuring Sass and React client.

Merges Sass files into the React component structure. This allows styles to be
bundled with their React components. In an ideal world that would extend to
their PHP fallback templates as well, but it remains to be seen how feasible
that is.
Also introduces Sass Globbing and Pixrem pre-processing to automatically import
Sass files and add pixel fallbacks for rem values.

See #1719.

Location:
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins
Files:
9 added
15 deleted
27 edited
13 copied
2 moved

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/Gruntfile.js

    r3842 r3847  
    5050                        ],
    5151                        cascade: false
    52                     })
     52                    }),
     53                    require('pixrem')
    5354                ]
    5455            },
     
    6162                'Gruntfile.js',
    6263                'js/**/*.js',
     64                'client/**/*.js',
    6365                '!js/theme.js'
    6466            ],
     
    7274            dist: {
    7375                files: {
    74                     'css/style.css': 'sass/style.scss'
     76                    'css/style.css': 'client/style.scss'
    7577                }
    7678            }
     79        },
     80        sass_globbing: {
     81            my_target: {
     82                files: { 'client/styles/_components.scss': 'client/components/**/*.scss' },
     83            },
     84            options: { signature: false }
    7785        },
    7886        rtlcss: {
     
    143151            },
    144152            css: {
    145                 files: ['**/*.scss'],
    146                 tasks: ['sass', 'postcss', 'rtlcss:dynamic']
     153                files: ['**/*.scss', 'client/components/**/**.scss'],
     154                tasks: ['sass_globbing', 'sass', 'postcss', 'rtlcss:dynamic']
    147155            }
    148156        }
     
    154162    grunt.loadNpmTasks('grunt-contrib-jshint');
    155163    grunt.loadNpmTasks('grunt-contrib-watch');
     164    grunt.loadNpmTasks('grunt-sass-globbing');
    156165
    157     grunt.registerTask('default', ['jshint', 'sass', 'rtlcss:dynamic']);
    158     grunt.registerTask('css', ['sass', 'postcss', 'rtlcss:dynamic']);
     166    grunt.registerTask('default', ['jshint', 'sass_globbing', 'sass', 'rtlcss:dynamic']);
     167    grunt.registerTask('css', ['sass_globbing', 'sass', 'postcss', 'rtlcss:dynamic']);
    159168    grunt.registerTask('build', ['webpack:build', 'css']);
    160169};
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/actions/index.js

    r3769 r3847  
    1 
    2 /**
    3  * Internal dependencies.
    4  */
    5 import Api from 'api';
     1import Api from 'modules/api';
    62import {
    73    GET_PAGE,
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/404/style.scss

    r3844 r3847  
    99
    1010        .logo-swing {
    11             height: 160px;
    1211            height: 10rem;
    13             margin: 96px auto;
    1412            margin: 6rem auto;
    1513            position: relative;
    1614            text-align: center;
    17             width: 160px;
    1815            width: 10rem;
    1916
     
    2320                position: absolute;
    2421                top: 0;
    25                 width: 160px;
    2622                width: 10rem;
    2723            }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/archive/style.scss

    r3844 r3847  
    1 @import "../variables-site/variables-site";
    2 
    31.archive {
    42    .site-main {
    5         margin-top: 32px;
    63        margin-top: 2rem;
    74        padding-top: 0;
     
    96
    107    .page-header {
    11         margin: 32px 0;
    128        margin: 2rem 0;
    139    }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/front-page/plugin-section/style.scss

    r3844 r3847  
    1 @import "../../variables-site/variables-site";
    2 
    31.plugin-section {
    42    border-bottom: 2px solid $color__border;
     
    1614
    1715    .section-title {
    18         @include font-size( ms-unitless( ms(4) ) );
     16        font-size: ms( 4 );
    1917        font-weight: 400;
    20         margin-bottom: 48px;
    2118        margin-bottom: 3rem;
    2219    }
    2320
    2421    .section-link {
    25         @include font-size( ms-unitless( ms(0) ) );
     22        font-size: ms( 0 );
    2623        position: absolute;
    2724        right: 0;
    28         top: 11.2px;
    2925        top: 0.7rem;
    3026    }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/index.js

    r3771 r3847  
    1 import React from 'react';
    21import { connect } from 'react-redux';
    32import { withRouter } from 'react-router';
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/page/style.scss

    r3844 r3847  
    1 @import "../../variables-site/variables-site";
    2 
    31.page {
    42    .entry-header {
    5         margin-top: 32px;
    63        margin-top: 2rem;
    74
    85        .entry-title {
    9             @include font-size(ms-unitless(ms(4)));
     6            font-size: ms( 4 );
    107            font-weight: 400;
    118            margin: 0 auto;
     
    1310
    1411            @media screen and ( min-width: $ms-breakpoint ) {
    15                 padding: 0 32px;
    1612                padding: 0 2rem;
    1713            }
     
    1915    }
    2016
    21 
    2217    .entry-content {
    2318        h2 {
    24             @include font-size(ms-unitless(ms(4)));
     19            font-size: ms( 4 );
    2520            font-weight: 400;
    2621        }
    2722
    2823        h3 {
    29             @include font-size(ms-unitless(ms(0)));
     24            font-size: ms( 0 );
    3025            font-weight: 600;
    31             letter-spacing: 0.16px;
    3226            letter-spacing: 0.01rem;
    3327            text-transform: uppercase;
     
    3529
    3630        section {
    37             padding: 32px 0;
    3831            padding: 2rem 0;
    3932
     
    4336
    4437                @media screen and ( min-width: $ms-breakpoint ) {
    45                     padding: 0 32px;
    4638                    padding: 0 2rem;
    4739                }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin-card/style.scss

    r3844 r3847  
    1212    }
    1313
    14     .entry-thumbnail {
    15         display: none;
    16         max-width: 128px;
    17     }
    18 
    1914    .entry {
    2015        display: inline-block;
    2116        margin: auto;
    2217        vertical-align: top;
    23     }
    2418
    25     @media screen and ( min-width: 21em ) {
    26         .entry-thumbnail {
    27             display: inline-block;
    28             margin: 0 4% 0 0;
    29             vertical-align: top;
    30 
    31             a {
    32                 display: block;
    33             }
     19        @media screen and ( min-width: 21em ) {
     20            width: calc(96% - 128px);
    3421        }
    35 
    36         .entry {
    37              width: calc(96% - 128px);
    38          }
    3922    }
    4023
    4124    .entry-title {
    42         @include font-size( ms-unitless( ms(0) ) );
     25        font-size: ms( 0 );
    4326        line-height: 1.3;
    4427        margin: 0 0 8px;
     
    4932    }
    5033
    51     .plugin-rating {
    52         line-height: 1;
    53         margin: 0 10px 8px 0;
    54 
    55         .wporg-ratings {
    56             display: inline-block;
    57             margin-right: 5px;
    58         }
    59 
    60         [class*='dashicons-star-'] {
    61             color: #ffb900;
    62         }
    63 
    64         .rating-count {
    65             color: #999;
    66             @include font-size( ms-unitless( ms(-2) ) );
    67             top: -1px;
    68         }
    69     }
    70 
    7134    .entry-excerpt {
    72         @include font-size( ms-unitless( ms(-2) ) );
     35        font-size: ms( -2 );
    7336
    7437        p {
     
    7740    }
    7841}
    79 
    80 // Flip the half star for rating.
    81 .rtl .dashicons-star-half {
    82     transform: rotateY(180deg);
    83 }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/search-form/style.scss

    r3844 r3847  
    1 @import "../variables-site/variables-site";
    2 
    31.search-form {
    42    font-size: 0;
    5     margin-bottom: 32px;
    63    margin-bottom: 2rem;
     4
    75    max-width: 100%;
    86    position: relative;
     
    1311        box-shadow: none;
    1412        display: block;
    15         @include font-size( ms-unitless( ms(0) ) );
     13        font-size: ms( 0 );
    1614        margin: 0 auto;
    1715        max-width: 100%;
    18         padding: 8px;
    1916        padding: 0.5rem;
    2017        width: ms(28);
     
    2421        border-left: none;
    2522        border-radius: 0 2px 2px 0;
    26         @include font-size( ms-unitless( ms(0) ) );
     23        font-size: ms( 0 );
    2724        position: relative;
    2825        right: auto;
     
    3633
    3734        .dashicons {
    38             @include font-size( ms-unitless( ms(0) ) );
     35            font-size: ms( 0 );
    3936        }
    4037    }
     
    5451            display: block;
    5552            height: 45px;
    56             padding: 8px 16px;
    5753            padding: 0.5rem 1rem;
    5854            position: absolute;
     
    8076            border-radius: 2px;
    8177            display: inline-block;
    82             @include font-size( ms-unitless( ms(0) ) );
     78            font-size: ms( 0 );
    8379            padding: 5px 10px;
    8480            position: relative;
     
    8985            .search-field {
    9086                border-radius: 2px 0 0 2px;
    91                 @include font-size( ms-unitless( ms(-4) ) );
    92                 width: 126px;
     87                font-size: ms( -4 );
    9388                width: 7rem;
    9489            }
     
    10297        @media screen and (min-width: 60em) {
    10398            .search-field {
    104                 width: 160px;
    10599                width: 10rem;
    106100            }
     
    111105        border: 1px solid $color__border-input;
    112106        box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.07 );
    113         padding: 8px;
    114107        padding: 0.5rem;
    115108        width: 100%;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/search/style.scss

    r3844 r3847  
    11.search {
    22    .site-main {
    3         margin-top: 32px;
    43        margin-top: 2rem;
    54        padding-top: 0;
     
    76
    87    &.search-results .page-header {
    9         margin: 32px 0;
    108        margin: 2rem 0;
    119    }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/site-main/style.scss

    r3844 r3847  
    1 @import "../../variables-site/variables-site";
    2 
    31.site-main {
    42    margin: 0 auto;
     
    2321
    2422    .page-title {
    25         @include font-size( ms-unitless( ms(4) ) );
     23        font-size: ms( 4 );
    2624        font-weight: 400;
    2725    }
     
    3028        margin: 0 auto;
    3129        max-width: ms(32);
    32         padding: 0 32px;
    3330        padding: 0 2rem;
    3431    }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/index.jsx

    r3717 r3847  
    33import { Provider } from 'react-redux';
    44
    5 /**
    6  * Internal dependencies.
    7  */
    8 import Router from 'router';
    9 import getStore from 'store';
     5import Router from 'modules/router';
     6import getStore from 'modules/store';
    107
    118render(
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/modules/store.js

    r3844 r3847  
    33import throttle from 'lodash/throttle';
    44
    5 /**
    6  * Internal dependencies.
    7  */
    85import reducers from 'reducers';
    96import { loadState, saveState } from 'modules/local-storage';
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/style.scss

    r3844 r3847  
    1 @import "variables-site/variables-site";
    2 @import "mixins/mixins-master";
     1@import "styles/variables-site/variables-site";
     2@import "styles/mixins/mixins-master";
    33
    44/*--------------------------------------------------------------
    55# Normalize
    66--------------------------------------------------------------*/
    7 @import "normalize";
     7@import "styles/normalize";
    88
    99/*--------------------------------------------------------------
    1010# Typography
    1111--------------------------------------------------------------*/
    12 @import "typography/typography";
     12@import "styles/typography/typography";
    1313
    1414/*--------------------------------------------------------------
    1515# Elements
    1616--------------------------------------------------------------*/
    17 @import "elements/elements";
     17@import "styles/elements/elements";
    1818
    1919/*--------------------------------------------------------------
    2020# Forms
    2121--------------------------------------------------------------*/
    22 @import "forms/forms";
     22@import "styles/forms/forms";
    2323
    2424/*--------------------------------------------------------------
    2525# Navigation
    2626--------------------------------------------------------------*/
    27 @import "navigation/navigation";
     27@import "styles/navigation/navigation";
    2828
    2929/*--------------------------------------------------------------
    3030# Accessibility
    3131--------------------------------------------------------------*/
    32 @import "modules/accessibility";
     32@import "styles/modules/accessibility";
    3333
    3434/*--------------------------------------------------------------
    3535# Alignments
    3636--------------------------------------------------------------*/
    37 @import "modules/alignments";
     37@import "styles/modules/alignments";
    3838
    3939/*--------------------------------------------------------------
    4040# Clearings
    4141--------------------------------------------------------------*/
    42 @import "modules/clearings";
    43 
    44 /*--------------------------------------------------------------
    45 # Widgets
    46 --------------------------------------------------------------*/
    47 @import "site/secondary/widgets";
     42@import "styles/modules/clearings";
    4843
    4944/*--------------------------------------------------------------
    5045# Content
    5146--------------------------------------------------------------*/
    52 @import "site/site";
     47@import "styles/site/site";
    5348
    5449/*--------------------------------------------------------------
    5550# Infinite scroll
    5651--------------------------------------------------------------*/
    57 @import "modules/infinite-scroll";
     52@import "styles/modules/infinite-scroll";
    5853
    5954/*--------------------------------------------------------------
    6055# Media
    6156--------------------------------------------------------------*/
    62 @import "media/media";
     57@import "styles/media/media";
     58
     59/*--------------------------------------------------------------
     60# Components
     61--------------------------------------------------------------*/
     62@import "styles/components";
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/elements/_banners.scss

    r3676 r3847  
     1@import "../mixins/mixins-master";
    12@import "../variables-site/variables-site";
    23
    34.locale-banner {
    45    background: $color__green;
    5     padding: 8px;
     6    font-size: ms( 0 );
    67    padding: 0.5rem;
    78    text-align: center;
    8     @include font-size(ms-unitless(ms(-2)));
    9 }
    109
    11 @media ( min-width: 67rem ) {
    12     .locale-banner {
    13         margin: 16px auto 0;
     10    @media ( min-width: 67rem ) {
    1411        margin: 1rem auto 0;
    1512        max-width: $size__site-main;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/elements/_elements.scss

    r3832 r3847  
    3333    color: #82878c;
    3434    font-style: italic;
    35     margin: 16px 0;
    3635    margin: 1rem 0;
    37     padding-left: 16px;
    3836    padding-left: 1rem;
    3937
    4038    cite {
    41         @include font-size( ms-unitless( ms(-2) ) );
     39        font-size: ms( -2 );
    4240    }
    4341}
     
    4745    border: 0;
    4846    height: 2px;
    49     margin: 80px auto;
    5047    margin: 5rem auto;
    5148}
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/elements/_notices.scss

    r3231 r3847  
    99
    1010    p {
    11         @include font-size( ms-unitless( ms(-2) ) );
     11        font-size: ms( -2 );
    1212        margin: 0.5em 0;
    1313        padding: 2px;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/forms/_buttons.scss

    r3832 r3847  
    5656    line-height: 1;
    5757    margin: 0;
    58     padding: 0 12.8px;
    5958    padding: 0 0.8rem;
    6059    text-decoration: none;
     
    7675    height: ms(6);
    7776    line-height: 1;
    78     padding: 0 16px;
    7977    padding: 0 1rem;
    8078}
     
    8280.button.button-small,
    8381.button-group.button-small .button {
    84     @include font-size( ms-unitless( ms(-4) ) );
     82    font-size: ms( -4 );
    8583    height: ms(2);
    8684    line-height: 1;
    87     padding: 0 8px;
    8885    padding: 0 0.5rem;
    8986}
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/forms/_forms.scss

    r3843 r3847  
    11@import "buttons";
    22@import "fields";
    3 @import "search";
    43@import "upload";
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/forms/_upload.scss

    r3676 r3847  
    77
    88    legend {
    9         margin: 16px 0;
    109        margin: 1rem 0;
    1110    }
     
    1413        @extend .clear;
    1514        list-style-type: none;
    16         margin: 0 0 32px;
    1715        margin: 0 0 2rem;
    1816
    1917        li {
    2018            float: left;
    21             padding: 8px 0;
    2219            padding: 0.5rem 0;
    2320            width: 50%;
     
    3027
    3128            label {
    32                 @include font-size( ms-unitless( ms(-2) ) );
     29                font-size: ms( -2 );
    3330            }
    3431        }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/modules/_accessibility.scss

    r3676 r3847  
    1414        color: $color__text-screen;
    1515        display: block;
    16         @include font-size(0.875);
     16        font-size: 0.875rem;
    1717        font-weight: bold;
    1818        height: auto;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/modules/_wporg-header.scss

    r3844 r3847  
    5353    }
    5454}
    55 
    56 .site-header {
    57     background: $color__wp-blue;
    58     padding: 16px 0;
    59     padding: 1rem 0;
    60     position: relative;
    61 
    62     .site-branding {
    63         margin: 0 auto;
    64         max-width: $size__site-main;
    65         padding: 0 ms(4);
    66 
    67         @media screen and ( min-width: $ms-breakpoint ) {
    68             padding: 0 10px;
    69         }
    70     }
    71 
    72     .site-title {
    73         display: inline-block;
    74         @include font-size( ms-unitless( ms(4) ) );
    75         font-weight: 300;
    76         line-height: 1;
    77         margin: 0 32px 0 0;
    78         margin: 0 2rem 0 0;
    79         max-width: none;
    80 
    81         a {
    82             color: #fff;
    83             font-weight: 300;
    84 
    85             &:hover,
    86             &:focus,
    87             &:active {
    88                 text-decoration: none;
    89             }
    90         }
    91     }
    92 
    93     .site-description {
    94         color: rgba( 255, 255, 255, 0.8);
    95         @include font-size(ms-unitless(ms(2)));
    96         font-weight: 300;
    97         margin: -6.4px auto 32px;
    98         margin: -0.4rem auto 2rem;
    99         text-align: center;
    100     }
    101 
    102     &.home {
    103         padding: ms(4) ms(1);
    104         text-align: center;
    105 
    106         .site-title {
    107             display: inherit;
    108             @include font-size( ms-unitless( ms(12) ) );
    109             margin: 32px 0 16px;
    110             margin: 2rem 0 1rem;
    111         }
    112     }
    113 }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/navigation/_menus.scss

    r3695 r3847  
    11@import "../variables-site/variables-site";
    2 
    3 .main-navigation {
    4     background: $color__wp-blue;
    5     clear: both;
    6     left: 0;
    7     position: absolute;
    8     top: 60px;
    9     width: 100%;
    10 
    11     ul {
    12         display: none;
    13         list-style: none;
    14         margin: 0;
    15         padding-left: 0;
    16 
    17         ul {
    18             box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    19             float: left;
    20             left: -999em;
    21             position: absolute;
    22             top: 1.5em;
    23             z-index: 99999;
    24 
    25             ul {
    26                 left: -999em;
    27                 top: 0;
    28             }
    29 
    30             li {
    31                 &:hover > ul,
    32                 &.focus > ul {
    33                     left: 100%;
    34                 }
    35             }
    36 
    37             a {
    38                 width: 200px;
    39             }
    40 
    41             :hover > a,
    42             .focus > a {
    43             }
    44 
    45             a:hover,
    46             a.focus {
    47             }
    48         }
    49 
    50         li:hover > ul,
    51         li.focus > ul {
    52             left: auto;
    53         }
    54     }
    55    
    56     li {
    57         border-top: 1px solid rgba( 255, 255, 255, 0.2 );
    58         padding: 16px;
    59         padding: 1rem;
    60 
    61         &:hover > a,
    62         &.focus > a {
    63         }
    64     }
    65    
    66     a {
    67         color: rgba( 255, 255, 255, 0.8 );
    68         display: block;
    69         @include font-size( ms-unitless( ms(-2) ) );
    70         text-decoration: none;
    71 
    72         &:hover,
    73         &.active {
    74             color: #fff;
    75         }
    76 
    77         @media screen and (min-width: $ms-breakpoint) {
    78             &.active {
    79                 border-bottom: 1px solid;
    80             }
    81         }
    82     }
    83 
    84     .current_page_item > a,
    85     .current-menu-item > a,
    86     .current_page_ancestor > a,
    87     .current-menu-ancestor > a {
    88     }
    89 }
    90 
    91 /* Small menu. */
    92 .main-navigation.toggled ul {
    93     display: block;
    94 }
    95 
    96 .menu-toggle {
    97     background: transparent;
    98     border: none;
    99     color: #fff;
    100     @include font-size( ms-unitless( ms(4) ) );
    101     height: 56px;
    102     height: 3.5rem;
    103     overflow: hidden;
    104     position: absolute;
    105     right: 16px;
    106     right: 1rem;
    107     top: -58px;
    108     width: 56px;
    109     width: 3.5rem;
    110     -webkit-appearance: none;
    111 
    112     .toggled &:before {
    113         content: "\f343";
    114     }
    115 }
    116 
    117 @media screen and ( min-width: $ms-breakpoint ) {
    118     .menu-toggle {
    119         display: none;
    120     }
    121     .main-navigation {
    122         float: right;
    123         position: initial;
    124         width: initial;
    125 
    126         &.toggled {
    127             padding: 1px 0;
    128         }
    129 
    130         ul {
    131             display: inline-block;
    132             font-size: 0;
    133 
    134             li {
    135                 border: 0;
    136                 display: inline-block;
    137                 @include font-size( ms-unitless( ms(0) ) );
    138                 margin-right: 16px;
    139                 margin-right: 1rem;
    140                 padding: 0;
    141 
    142                 &:last-of-type {
    143                     margin-right: 0;
    144                 }
    145             }
    146         }
    147     }
    148 }
    1492
    1503.comment-navigation,
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/site/_site.scss

    r3825 r3847  
    1 /*--------------------------------------------------------------
    2 ## Header
    3 --------------------------------------------------------------*/
    4 @import "header";
    5 
    6 /*--------------------------------------------------------------
    7 ## Front Page
    8 --------------------------------------------------------------*/
    9 @import "primary/front-page";
    10 
    111/*--------------------------------------------------------------
    122## Body
    133--------------------------------------------------------------*/
    14 @import "primary/main";
    15 @import "primary/plugin/index";
    164@import "primary/plugin/single";
    17 
    18 /*--------------------------------------------------------------
    19 ## Template Hierarchy
    20 --------------------------------------------------------------*/
    21 @import "primary/404";
    22 
    23 @import "primary/page";
    24 @import "archive";
    25 @import "search";
    26 
    27 /*--------------------------------------------------------------
    28 ## Comments
    29 --------------------------------------------------------------*/
    30 @import "primary/comments";
    315
    326/*--------------------------------------------------------------
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/site/primary/plugin/_single.scss

    r3832 r3847  
    3333            float: left;
    3434            height: 96px;
    35             margin-right: 16px;
    3635            margin-right: 1rem;
    3736            width: 96px;
     
    8281        @keyframes favme-hover {
    8382            from {
    84                 @include font-size( ms-unitless( ms(3) ) );
     83                font-size: ms( 3 );
    8584            }
    8685            80% {
    87                 @include font-size( ms-unitless( ms(2) ) );
     86                font-size: ms( 2 );
    8887            }
    8988        }
     
    9998                color: #cbcdce;
    10099                display: flex;
    101                 @include font-size( ms-unitless( ms(2) ) );
     100                font-size: ms( 2 );
    102101                height: 100%;
    103102                justify-content: center;
     
    133132        .plugin-title {
    134133            clear: none;
    135             @include font-size( ms-unitless( ms(4) ) );
     134            font-size: ms( 4 );
    136135            font-weight: 400;
    137136            margin: 0;
     
    153152
    154153    .entry-content {
    155         max-width: 768px;
    156154        max-width: 48rem;
    157155
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/site/primary/plugin/section/_developers.scss

    r3825 r3847  
    55    li {
    66        display: inline-block;
    7         margin: 0 4% 16px 0;
    87        margin: 0 4% 1rem 0;
    98        vertical-align: top;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/site/primary/plugin/section/_faq.scss

    r3832 r3847  
    33.plugin-faqs {
    44    h2:first-of-type {
    5         @include font-size( ms-unitless( ms(2) ) );
     5        font-size: ms( 2 );
    66        font-weight: 600;
    7         letter-spacing: 0.16px;
    87        letter-spacing: 0.01rem;
    98        text-transform: uppercase;
     
    1211        border: none;
    1312        color: $color__text-main;
    14         font-weight: 600;
    1513        padding: 0;
    1614        text-transform: inherit;
     
    2422        border-top: 1px solid $color__border;
    2523        cursor: pointer;
    26         @include font-size( ms-unitless( ms(0) ) );
     24        font-size: ms( 0 );
    2725        font-weight: 600;
    28         letter-spacing: 0.8px;
    2926        letter-spacing: 0.05rem;
    30         padding: 16px 0;
    3127        padding: 1rem 0;
    3228        text-transform: uppercase;
     
    3632            float: right;
    3733            font-family: dashicons;
    38             margin: 0 16px;
    3934            margin: 0 1rem;
    4035        }
     
    4742    dd {
    4843        display: none;
    49         margin: 0 0 16px;
    5044        margin: 0 0 1rem;
    5145
     
    5549
    5650        & p + p {
    57             margin-top: 16px;
    5851            margin-top: 1rem;
    5952        }
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/site/primary/plugin/section/_index.scss

    r3832 r3847  
    1313
    1414    h1, h2, h3 {
    15         @include font-size( ms-unitless( ms(0) ) );
     15        font-size: ms( 0 );
    1616        font-weight: 600;
    17         letter-spacing: 0.16px;
    1817        letter-spacing: 0.01rem;
    1918        text-transform: uppercase;
     
    2524
    2625    h4, h5, h6 {
    27         @include font-size( ms-unitless( ms(-2) ) );
     26        font-size: ms( -2 );
    2827        font-weight: 600;
    29         letter-spacing: 0.8px;
    3028        letter-spacing: 0.05rem;
    3129        text-transform: uppercase;
     
    3735
    3836    h2:first-of-type {
    39         @include font-size( ms-unitless( ms(2) ) );
     37        font-size: ms( 2 );
    4038
    4139        // Override wp4.css.
     
    5957    color: $color__link;
    6058    cursor: pointer;
    61     @include font-size( ms-unitless( ms(-2) ) );
    62     margin-top: 8px;
     59    font-size: ms( -2 );
    6360    margin-top: 0.5rem;
    6461    position: relative;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/site/primary/plugin/section/_reviews.scss

    r3825 r3847  
    77
    88    .plugin-review + .plugin-review {
    9         margin: 32px 0 16px;
    109        margin: 2rem 0 1rem;
    1110    }
     
    2322
    2423    .review-header {
    25         margin: 0 0 8px;
    2624        margin: 0 0 0.5rem;
    2725    }
    2826
    2927    .review-title {
    30         @include font-size( ms-unitless( ms(0) ) );
     28        font-size: ms( 0 );
    3129        font-weight: 600;
    32         letter-spacing: 0.16px;
    3330        letter-spacing: 0.01rem;
    34         margin: 0 0 8px;
    3531        margin: 0 0 0.5rem;
    3632        text-transform: inherit;
     
    4844
    4945            .avatar {
    50                 margin-right: 16px;
    5146                margin-right: 1rem;
    5247            }
     
    6964.reviews-link {
    7065    display: inline-block;
    71     @include font-size( ms-unitless( ms(-2) ) );
    72     margin-top: 8px;
     66    font-size: ms( -2 );
    7367    margin-top: 0.5rem;
    7468
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/typography/_copy.scss

    r3676 r3847  
    66    &.subheading {
    77        color: #82878c;
    8         @include font-size( ms-unitless( ms(2) ) );
     8        font-size: ms( 2 );
    99        font-weight: 300;
    10         margin: -6.4px auto 32px;
    1110        margin: -0.4rem auto 2rem;
    1211        text-align: center;
     
    1413
    1514    &.intro {
    16         @include font-size( ms-unitless( ms(2) ) );
     15        font-size: ms( 2 );
    1716    }
    1817
    1918    &.aside {
    20         @include font-size( ms-unitless( ms(-2) ) );
     19        font-size: ms( -2 );
    2120    }
    2221
    2322    &.note {
    24         @include font-size( ms-unitless( ms(-4) ) );
    25         letter-spacing: 0.16px;
     23        font-size: ms( -4 );
    2624        letter-spacing: 0.01rem;
    2725        max-width: ms(26);
     
    4442    background: $color__background-pre;
    4543    font-family: $font__pre;
    46     @include font-size(0.9375);
     44    font-size: 0.9375rem;
    4745    line-height: $font__line-height-pre;
    4846    margin-bottom: 1.6em;
     
    5452code, kbd, tt, var {
    5553    font-family: $font__code;
    56     @include font-size(0.9375);
     54    font-size: 0.9375rem;
    5755}
    5856
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/typography/_headings.scss

    r3676 r3847  
    88    font-family: inherit;
    99    line-height: $font__line-height-body;
    10     margin: 32px 0 16px;
    1110    margin: 2rem 0 1rem;
    1211}
    1312
    1413h1 {
    15     @include font-size( ms-unitless( ms(12) ) );
     14    font-size: ms( 12 );
    1615    font-weight: 300;
    1716}
    1817
    1918h1.title {
    20     @include font-size( ms-unitless( ms(-2) ) );
     19    font-size: ms( -2 );
    2120    color: $color__link;
    2221    font-weight: 600;
    23     letter-spacing: 0.8px;
    2422    letter-spacing: 0.05rem;
    2523    text-transform: uppercase;
     
    2725
    2826h2 {
    29     @include font-size( ms-unitless( ms(8) ) );
     27    font-size: ms( 8 );
    3028    font-weight: 300;
    3129}
    3230
    3331h3 {
    34     @include font-size( ms-unitless( ms(4) ) );
     32    font-size: ms( 4 );
    3533    font-weight: 400;
    3634}
    3735
    3836h4 {
    39     @include font-size( ms-unitless( ms(2) ) );
     37    font-size: ms( 2 );
    4038
    4139    // Override wp4.css.
     
    4745
    4846h5 {
    49     @include font-size( ms-unitless( ms(0) ) );
     47    font-size: ms( 0 );
    5048    font-weight: 600;
    51     letter-spacing: 0.16px;
    5249    letter-spacing: 0.01rem;
    5350    text-transform: uppercase;
     
    5552
    5653h6 {
    57     @include font-size( ms-unitless( ms(-2) ) );
     54    font-size: ms( -2 );
    5855    font-weight: 600;
    5956    letter-spacing: 0.8px;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/typography/_typography.scss

    r3526 r3847  
    1818@media screen and ( min-width: $ms-breakpoint ) {
    1919    html {
    20         @include font-size(1.125);
     20        font-size: 1.125rem;
    2121    }
    2222}
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style-rtl.css

    r3844 r3847  
    237237@media screen and (min-width: 48em) {
    238238  html {
    239     font-size: 18px;
    240239    font-size: 1.125rem;
    241240  }
     
    251250
    252251h1 {
    253   font-size: 61.03515625px;
     252  font-size: 61.035px;
    254253  font-size: 3.8146972656rem;
    255254  font-weight: 300;
     
    267266
    268267h2 {
    269   font-size: 39.0625px;
     268  font-size: 39.062px;
    270269  font-size: 2.44140625rem;
    271270  font-weight: 300;
     
    333332  letter-spacing: 0.16px;
    334333  letter-spacing: 0.01rem;
     334  max-width: 291.038px;
    335335  max-width: 18.1898940355rem;
    336336}
     
    534534.locale-banner {
    535535  background: #C7E8CA;
     536  font-size: 16px;
     537  font-size: 1rem;
    536538  padding: 8px;
    537539  padding: 0.5rem;
    538540  text-align: center;
    539   font-size: 12.8px;
    540   font-size: 0.8rem;
    541541}
    542542
    543543@media (min-width: 67rem) {
    544544  .locale-banner {
    545     margin: 16px auto 0;
    546545    margin: 1rem auto 0;
    547546    max-width: 960px;
     
    567566  cursor: pointer;
    568567  display: inline-block;
     568  font-size: 12.8px;
    569569  font-size: 0.8rem;
     570  height: 25px;
    570571  height: 1.5625rem;
    571572  line-height: 1;
     
    589590.button.button-large,
    590591.button-group.button-large .button {
     592  height: 31.25px;
    591593  height: 1.953125rem;
    592594  line-height: 1;
     
    599601  font-size: 10.24px;
    600602  font-size: 0.64rem;
     603  height: 20px;
    601604  height: 1.25rem;
    602605  line-height: 1;
     
    608611a.button-primary,
    609612a.button-secondary {
     613  line-height: 25px;
    610614  line-height: 1.5625rem;
    611615}
     
    613617a.button.button-large,
    614618.button-group.button-large a.button {
     619  line-height: 31.25px;
    615620  line-height: 1.953125rem;
    616621}
     
    618623a.button.button-small,
    619624.button-group.button-small a.button {
     625  line-height: 20px;
    620626  line-height: 1.25rem;
    621627}
     
    12181224}
    12191225
    1220 .search-form {
    1221   font-size: 0;
    1222   margin-bottom: 32px;
    1223   margin-bottom: 2rem;
    1224   max-width: 100%;
    1225   position: relative;
    1226 }
    1227 
    1228 .search-form .search-field {
    1229   border: none;
    1230   -webkit-border-radius: 0;
    1231   border-radius: 0;
    1232   -webkit-box-shadow: none;
    1233   box-shadow: none;
    1234   display: block;
    1235   font-size: 16px;
    1236   font-size: 1rem;
    1237   margin: 0 auto;
    1238   max-width: 100%;
    1239   padding: 8px;
    1240   padding: 0.5rem;
    1241   width: 22.7373675443rem;
    1242 }
    1243 
    1244 .search-form .button-search {
    1245   border-right: none;
    1246   -webkit-border-radius: 2px 0 0 2px;
    1247   border-radius: 2px 0 0 2px;
    1248   font-size: 16px;
    1249   font-size: 1rem;
    1250   position: relative;
    1251   left: auto;
    1252   top: auto;
    1253 }
    1254 
    1255 .search-form .button-search:active {
    1256   background: #006799;
    1257   border-left: 1px solid #006799;
    1258   -webkit-box-shadow: none;
    1259   box-shadow: none;
    1260 }
    1261 
    1262 .search-form .button-search .dashicons {
    1263   font-size: 16px;
    1264   font-size: 1rem;
    1265 }
    1266 
    1267 .site-header .search-form {
    1268   display: inline-block;
    1269 }
    1270 
    1271 .site-header.home .search-form .button-search,
    1272 .site-main .search-form .button-search {
    1273   background: transparent;
    1274   border: none;
    1275   -webkit-border-radius: 0;
    1276   border-radius: 0;
    1277   -webkit-box-shadow: none;
    1278   box-shadow: none;
    1279   color: #32373c;
    1280   display: block;
    1281   height: 45px;
    1282   padding: 8px 16px;
    1283   padding: 0.5rem 1rem;
    1284   position: absolute;
    1285   left: 0;
    1286   text-shadow: none;
    1287   top: 0;
    1288 }
    1289 
    1290 .site-header.home .search-form .button-search:focus,
    1291 .site-main .search-form .button-search:focus {
    1292   -webkit-box-shadow: 0 0 2px 1px #33b3db;
    1293   box-shadow: 0 0 2px 1px #33b3db;
    1294 }
    1295 
    1296 .site-header.home .search-form .button-search:active,
    1297 .site-main .search-form .button-search:active {
    1298   background: transparent;
    1299   border: none;
    1300   -webkit-transform: none;
    1301   -ms-transform: none;
    1302   transform: none;
    1303 }
    1304 
    1305 .site-header:not(.home) .search-form {
    1306   margin: 0;
    1307 }
    1308 
    1309 .site-header:not(.home) .search-form .search-field {
    1310   border: 0;
    1311   -webkit-border-radius: 2px;
    1312   border-radius: 2px;
    1313   display: inline-block;
    1314   font-size: 16px;
    1315   font-size: 1rem;
    1316   padding: 5px 10px;
    1317   position: relative;
    1318   width: 100%;
    1319 }
    1320 
    1321 @media screen and (min-width: 48em) {
    1322   .site-header:not(.home) .search-form .search-field {
    1323     -webkit-border-radius: 0 2px 2px 0;
    1324     border-radius: 0 2px 2px 0;
    1325     font-size: 10.24px;
    1326     font-size: 0.64rem;
    1327     width: 126px;
    1328     width: 7rem;
    1329   }
    1330   .site-header:not(.home) .search-form .search-field + .button-search {
    1331     display: inline-block;
    1332     margin-bottom: 0;
    1333   }
    1334 }
    1335 
    1336 @media screen and (min-width: 60em) {
    1337   .site-header:not(.home) .search-form .search-field {
    1338     width: 160px;
    1339     width: 10rem;
    1340   }
    1341 }
    1342 
    1343 .site-main .search-form .search-field {
    1344   border: 1px solid #ddd;
    1345   -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
    1346   box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
    1347   padding: 8px;
    1348   padding: 0.5rem;
    1349   width: 100%;
    1350 }
    1351 
    13521226.plugin-upload-form fieldset {
    13531227  border: none;
     
    13791253  }
    13801254  .plugin-upload-form .category-checklist label {
    1381     font-size: 12.8px;
    13821255    font-size: 0.8rem;
    13831256  }
     
    14401313## Menus
    14411314--------------------------------------------------------------*/
    1442 .main-navigation {
    1443   background: #0073aa;
    1444   clear: both;
    1445   right: 0;
    1446   position: absolute;
    1447   top: 60px;
    1448   width: 100%;
    1449 }
    1450 
    1451 .main-navigation ul {
    1452   display: none;
    1453   list-style: none;
    1454   margin: 0;
    1455   padding-right: 0;
    1456 }
    1457 
    1458 .main-navigation ul ul {
    1459   -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    1460   box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    1461   float: right;
    1462   right: -999em;
    1463   position: absolute;
    1464   top: 1.5em;
    1465   z-index: 99999;
    1466 }
    1467 
    1468 .main-navigation ul ul ul {
    1469   right: -999em;
    1470   top: 0;
    1471 }
    1472 
    1473 .main-navigation ul ul li:hover > ul,
    1474 .main-navigation ul ul li.focus > ul {
    1475   right: 100%;
    1476 }
    1477 
    1478 .main-navigation ul ul a {
    1479   width: 200px;
    1480 }
    1481 
    1482 .main-navigation ul li:hover > ul,
    1483 .main-navigation ul li.focus > ul {
    1484   right: auto;
    1485 }
    1486 
    1487 .main-navigation li {
    1488   border-top: 1px solid rgba(255, 255, 255, 0.2);
    1489   padding: 16px;
    1490   padding: 1rem;
    1491 }
    1492 
    1493 .main-navigation a {
    1494   color: rgba(255, 255, 255, 0.8);
    1495   display: block;
    1496   font-size: 12.8px;
    1497   font-size: 0.8rem;
    1498   text-decoration: none;
    1499 }
    1500 
    1501 .main-navigation a:hover, .main-navigation a.active {
    1502   color: #fff;
    1503 }
    1504 
    1505 @media screen and (min-width: 48em) {
    1506   .main-navigation a.active {
    1507     border-bottom: 1px solid;
    1508   }
    1509 }
    1510 
    1511 /* Small menu. */
    1512 .main-navigation.toggled ul {
    1513   display: block;
    1514 }
    1515 
    1516 .menu-toggle {
    1517   background: transparent;
    1518   border: none;
    1519   color: #fff;
    1520   font-size: 25px;
    1521   font-size: 1.5625rem;
    1522   height: 56px;
    1523   height: 3.5rem;
    1524   overflow: hidden;
    1525   position: absolute;
    1526   left: 16px;
    1527   left: 1rem;
    1528   top: -58px;
    1529   width: 56px;
    1530   width: 3.5rem;
    1531   -webkit-appearance: none;
    1532 }
    1533 
    1534 .toggled .menu-toggle:before {
    1535   content: "\f343";
    1536 }
    1537 
    1538 @media screen and (min-width: 48em) {
    1539   .menu-toggle {
    1540     display: none;
    1541   }
    1542   .main-navigation {
    1543     float: left;
    1544     position: initial;
    1545     width: initial;
    1546   }
    1547   .main-navigation.toggled {
    1548     padding: 1px 0;
    1549   }
    1550   .main-navigation ul {
    1551     display: inline-block;
    1552     font-size: 0;
    1553   }
    1554   .main-navigation ul li {
    1555     border: 0;
    1556     display: inline-block;
    1557     font-size: 16px;
    1558     font-size: 1rem;
    1559     margin-left: 16px;
    1560     margin-left: 1rem;
    1561     padding: 0;
    1562   }
    1563   .main-navigation ul li:last-of-type {
    1564     margin-left: 0;
    1565   }
    1566 }
    1567 
    15681315.site-main .comment-navigation, .site-main
    15691316.posts-navigation, .site-main
     
    16531400# Clearings
    16541401--------------------------------------------------------------*/
    1655 .clear:before, .plugin-upload-form .category-checklist:before, .plugin-meta:before, .single .type-plugin:before, .single .type-plugin .plugin-header:before,
     1402.clear:before, .plugin-upload-form .category-checklist:before, .single .type-plugin:before, .single .type-plugin .plugin-header:before, .plugin-meta:before,
    16561403.clear:after,
    16571404.plugin-upload-form .category-checklist:after,
    1658 .plugin-meta:after,
    16591405.single .type-plugin:after,
    16601406.single .type-plugin .plugin-header:after,
     1407.plugin-meta:after,
    16611408.entry-content:before,
    16621409.entry-content:after,
     
    16741421}
    16751422
    1676 .clear:after, .plugin-upload-form .category-checklist:after, .plugin-meta:after, .single .type-plugin:after, .single .type-plugin .plugin-header:after,
     1423.clear:after, .plugin-upload-form .category-checklist:after, .single .type-plugin:after, .single .type-plugin .plugin-header:after, .plugin-meta:after,
    16771424.entry-content:after,
    16781425.comment-content:after,
     
    16841431
    16851432/*--------------------------------------------------------------
    1686 # Widgets
    1687 --------------------------------------------------------------*/
    1688 .widget {
    1689   margin: 0 0 1.5em;
    1690 }
    1691 
    1692 .home .widget-area {
    1693   margin: 0 auto;
    1694   max-width: 960px;
    1695   padding: 0 1.5625rem 3.0517578125rem 1.5625rem;
    1696 }
    1697 
    1698 @media screen and (min-width: 48em) {
    1699   .home .widget-area {
    1700     padding: 0 10px 3.0517578125rem;
    1701   }
    1702 }
    1703 
    1704 .home .widget-area .widget {
    1705   display: inline-block;
    1706   font-size: 12.8px;
    1707   font-size: 0.8rem;
    1708   margin: 0;
    1709   vertical-align: top;
    1710   /* Make sure select elements fit in widgets. */
    1711 }
    1712 
    1713 @media screen and (min-width: 48em) {
    1714   .home .widget-area .widget {
    1715     margin-left: 5%;
    1716     width: 30%;
    1717   }
    1718   .home .widget-area .widget:last-child {
    1719     margin-left: 0;
    1720   }
    1721 }
    1722 
    1723 .home .widget-area .widget select {
    1724   max-width: 100%;
    1725 }
    1726 
    1727 .plugin-ratings {
    1728   font-size: 12.8px;
    1729   font-size: 0.8rem;
    1730   position: relative;
    1731 }
    1732 
    1733 .plugin-ratings .reviews-link {
    1734   position: absolute;
    1735   left: 0;
    1736   top: 4.8px;
    1737   top: 0.3rem;
    1738 }
    1739 
    1740 .plugin-ratings .reviews-link:after {
    1741   content: "\f341";
    1742   font-family: dashicons;
    1743   padding-right: 5px;
    1744   vertical-align: top;
    1745 }
    1746 
    1747 .plugin-ratings [class*='dashicons-star-'] {
    1748   color: #FFB900;
    1749   display: inline-block;
    1750   font-size: 25px;
    1751   font-size: 1.5625rem;
    1752   height: auto;
    1753   margin: 0;
    1754   width: auto;
    1755 }
    1756 
    1757 .plugin-ratings .ratings-list {
    1758   list-style-type: none;
    1759   margin: 16px 0;
    1760   margin: 1rem 0;
    1761   padding: 0;
    1762 }
    1763 
    1764 .plugin-ratings .ratings-list .counter-container,
    1765 .plugin-ratings .ratings-list .counter-container a {
    1766   width: 100%;
    1767 }
    1768 
    1769 .plugin-ratings .ratings-list .counter-label {
    1770   display: inline-block;
    1771   min-width: 58px;
    1772 }
    1773 
    1774 .plugin-ratings .ratings-list .counter-back,
    1775 .plugin-ratings .ratings-list .counter-bar {
    1776   display: inline-block;
    1777   height: 16px;
    1778   height: 1rem;
    1779   vertical-align: middle;
    1780 }
    1781 
    1782 .plugin-ratings .ratings-list .counter-back {
    1783   background-color: #ececec;
    1784   width: 58%;
    1785   width: -webkit-calc(100% - 130px);
    1786   width: calc(100% - 130px);
    1787 }
    1788 
    1789 .plugin-ratings .ratings-list .counter-bar {
    1790   background-color: #ffc733;
    1791   display: block;
    1792 }
    1793 
    1794 .plugin-ratings .ratings-list .counter-count {
    1795   margin-right: 3px;
    1796 }
    1797 
    1798 .plugin-support {
    1799   font-size: 12.8px;
    1800   font-size: 0.8rem;
    1801 }
    1802 
    1803 .plugin-support .counter-container {
    1804   margin-bottom: 16px;
    1805   margin-bottom: 1rem;
    1806   position: relative;
    1807 }
    1808 
    1809 .plugin-support .counter-back,
    1810 .plugin-support .counter-bar {
    1811   display: inline-block;
    1812   height: 30px;
    1813   vertical-align: middle;
    1814 }
    1815 
    1816 .plugin-support .counter-back {
    1817   background-color: #ececec;
    1818   width: 100%;
    1819 }
    1820 
    1821 .plugin-support .counter-bar {
    1822   background-color: #c7e8ca;
    1823   display: block;
    1824 }
    1825 
    1826 .plugin-support .counter-count {
    1827   font-size: 10.24px;
    1828   font-size: 0.64rem;
    1829   right: 8px;
    1830   position: absolute;
    1831   top: 8px;
    1832   width: 100%;
    1833   width: -webkit-calc(100% - 8px);
    1834   width: calc(100% - 8px);
    1835 }
    1836 
    1837 @media screen and (min-width: 48em) {
    1838   .plugin-support .counter-count {
    1839     top: 5px;
    1840   }
    1841 }
    1842 
    1843 .plugin-meta {
    1844   margin-top: 32px;
    1845   margin-top: 2rem;
    1846 }
    1847 
    1848 .plugin-meta ul {
    1849   font-size: 12.8px;
    1850   font-size: 0.8rem;
    1851   list-style-type: none;
    1852   margin: 0;
    1853   padding: 0;
    1854 }
    1855 
    1856 .plugin-meta li {
    1857   border-top: 1px solid #eee;
    1858   padding: 8px 0;
    1859   padding: 0.5rem 0;
    1860 }
    1861 
    1862 .plugin-meta li strong {
    1863   float: left;
    1864 }
    1865 
    1866 .plugin-meta .tags {
    1867   float: left;
    1868   text-align: left;
    1869   width: 60%;
    1870 }
    1871 
    1872 .plugin-meta [rel="tag"] {
    1873   background: #eee;
    1874   -webkit-border-radius: 2px;
    1875   border-radius: 2px;
    1876   color: #000;
    1877   display: inline-block;
    1878   font-size: 10.24px;
    1879   font-size: 0.64rem;
    1880   margin: 2px;
    1881   padding: 3px 6px;
    1882   position: relative;
    1883   white-space: nowrap;
    1884   width: auto;
    1885 }
    1886 
    1887 .plugin-meta [rel="tag"]:hover {
    1888   background: #f3f3f3;
    1889 }
    1890 
    1891 .plugin-meta [rel="tag"]:active {
    1892   background: #dfdfdf;
    1893 }
    1894 
    1895 /*--------------------------------------------------------------
    18961433# Content
    18971434--------------------------------------------------------------*/
    18981435/*--------------------------------------------------------------
    1899 ## Header
    1900 --------------------------------------------------------------*/
    1901 #wporg-header h1 {
    1902   margin: auto;
    1903 }
    1904 
    1905 #wporg-header h2.rosetta {
    1906   clear: none;
    1907 }
    1908 
    1909 #wporg-header form input {
    1910   -webkit-box-sizing: content-box;
    1911   -moz-box-sizing: content-box;
    1912   box-sizing: content-box;
    1913   padding: 3px;
    1914 }
    1915 
    1916 #wporg-header .button {
    1917   -webkit-box-shadow: none;
    1918   box-shadow: none;
    1919 }
    1920 
    1921 #wporg-header .download-button {
    1922   background-color: #21759b;
    1923   background-image: -webkit-gradient(linear, right top, right bottom, from(#2a95c5), to(#21759b));
    1924   background-image: -webkit-linear-gradient(top, #2a95c5, #21759b);
    1925   background-image: linear-gradient(to bottom, #2a95c5, #21759b);
    1926   border-bottom-color: #1e6a8d;
    1927   border-color: #21759b;
    1928   -webkit-box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.5);
    1929   box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.5);
    1930 }
    1931 
    1932 #wporg-header .download-button:hover, #wporg-header .download-button:focus {
    1933   background-color: #278ab7;
    1934   background-image: -webkit-gradient(linear, right top, right bottom, from(#2e9fd2), to(#21759b));
    1935   background-image: -webkit-linear-gradient(top, #2e9fd2, #21759b);
    1936   background-image: linear-gradient(to bottom, #2e9fd2, #21759b);
    1937   border-color: #1b607f;
    1938   -webkit-box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.6);
    1939   box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.6);
    1940   color: #fff;
    1941   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
    1942 }
    1943 
    1944 #wporg-header .download-button:active {
    1945   background: #1b607f;
    1946   background-image: -webkit-gradient(linear, right top, right bottom, from(#21759b), to(#278ab7));
    1947   background-image: -webkit-linear-gradient(top, #21759b, #278ab7);
    1948   background-image: linear-gradient(to bottom, #21759b, #278ab7);
    1949   border-color: #124560 #2382ae #2382ae #2382ae;
    1950   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
    1951   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
    1952   color: rgba(255, 255, 255, 0.95);
    1953   text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
    1954   -webkit-transform: none;
    1955   -ms-transform: none;
    1956   transform: none;
    1957 }
    1958 
    1959 #wporg-header a:hover,
    1960 #wporg-header a:focus,
    1961 #wporg-header a:active {
    1962   text-decoration: none;
    1963 }
    1964 
    1965 .site-header {
    1966   background: #0073aa;
    1967   padding: 16px 0;
    1968   padding: 1rem 0;
    1969   position: relative;
    1970 }
    1971 
    1972 .site-header .site-branding {
    1973   margin: 0 auto;
    1974   max-width: 960px;
    1975   padding: 0 1.5625rem;
    1976 }
    1977 
    1978 @media screen and (min-width: 48em) {
    1979   .site-header .site-branding {
    1980     padding: 0 10px;
    1981   }
    1982 }
    1983 
    1984 .site-header .site-title {
    1985   display: inline-block;
    1986   font-size: 25px;
    1987   font-size: 1.5625rem;
    1988   font-weight: 300;
    1989   line-height: 1;
    1990   margin: 0 0 0 32px;
    1991   margin: 0 0 0 2rem;
    1992   max-width: none;
    1993 }
    1994 
    1995 .site-header .site-title a {
    1996   color: #fff;
    1997   font-weight: 300;
    1998 }
    1999 
    2000 .site-header .site-title a:hover, .site-header .site-title a:focus, .site-header .site-title a:active {
    2001   text-decoration: none;
    2002 }
    2003 
    2004 .site-header .site-description {
    2005   color: rgba(255, 255, 255, 0.8);
    2006   font-size: 20px;
    2007   font-size: 1.25rem;
    2008   font-weight: 300;
    2009   margin: -6.4px auto 32px;
    2010   margin: -0.4rem auto 2rem;
    2011   text-align: center;
    2012 }
    2013 
    2014 .site-header.home {
    2015   padding: 1.5625rem 1.143rem;
    2016   text-align: center;
    2017 }
    2018 
    2019 .site-header.home .site-title {
    2020   display: inherit;
    2021   font-size: 61.03515625px;
    2022   font-size: 3.8146972656rem;
    2023   margin: 32px 0 16px;
    2024   margin: 2rem 0 1rem;
    2025 }
    2026 
    2027 /*--------------------------------------------------------------
    2028 ## Front Page
    2029 --------------------------------------------------------------*/
    2030 .plugin-section {
    2031   border-bottom: 2px solid #eee;
    2032   margin: 0 auto 4.768371582rem;
    2033   max-width: 960px;
    2034   padding-bottom: 3.0517578125rem;
    2035 }
    2036 
    2037 .plugin-section:last-of-type {
    2038   margin-bottom: 0;
    2039 }
    2040 
    2041 .plugin-section .section-header {
    2042   position: relative;
    2043 }
    2044 
    2045 .plugin-section .section-title {
    2046   font-size: 25px;
    2047   font-size: 1.5625rem;
    2048   font-weight: 400;
    2049   margin-bottom: 48px;
    2050   margin-bottom: 3rem;
    2051 }
    2052 
    2053 .plugin-section .section-link {
    2054   font-size: 16px;
    2055   font-size: 1rem;
    2056   position: absolute;
    2057   left: 0;
    2058   top: 11.2px;
    2059   top: 0.7rem;
    2060 }
    2061 
    2062 /*--------------------------------------------------------------
    20631436## Body
    20641437--------------------------------------------------------------*/
    2065 .site-main {
    2066   margin: 0 auto;
    2067   max-width: 960px;
    2068   padding: 3.0517578125rem 1.5625rem;
    2069 }
    2070 
    2071 @media screen and (min-width: 48em) {
    2072   .site-main {
    2073     padding: 3.0517578125rem 10px;
    2074   }
    2075 }
    2076 
    2077 .single .site-main {
    2078   padding: 0;
    2079 }
    2080 
    2081 @media screen and (min-width: 48em) {
    2082   .single .site-main {
    2083     padding: 0 10px 3.0517578125rem;
    2084   }
    2085 }
    2086 
    2087 .page .site-main {
    2088   padding-top: 0;
    2089 }
    2090 
    2091 .site-main .page-title {
    2092   font-size: 25px;
    2093   font-size: 1.5625rem;
    2094   font-weight: 400;
    2095 }
    2096 
    2097 .site-main .no-results {
    2098   margin: 0 auto;
    2099   max-width: 35.527136788rem;
    2100   padding: 0 32px;
    2101   padding: 0 2rem;
    2102 }
    2103 
    2104 .plugin-card {
    2105   margin-bottom: 4%;
    2106 }
    2107 
    2108 @media screen and (min-width: 48em) {
    2109   .plugin-card {
    2110     display: inline-block;
    2111     margin-left: 4%;
    2112     width: 48%;
    2113   }
    2114   .plugin-card:nth-of-type(even) {
    2115     margin-left: 0;
    2116   }
    2117 }
    2118 
    2119 .plugin-card .entry-thumbnail {
    2120   display: none;
    2121   max-width: 128px;
    2122 }
    2123 
    2124 .plugin-card .entry {
    2125   display: inline-block;
    2126   margin: auto;
    2127   vertical-align: top;
    2128 }
    2129 
    2130 @media screen and (min-width: 21em) {
    2131   .plugin-card .entry-thumbnail {
    2132     display: inline-block;
    2133     margin: 0 0 0 4%;
    2134     vertical-align: top;
    2135   }
    2136   .plugin-card .entry-thumbnail a {
    2137     display: block;
    2138   }
    2139   .plugin-card .entry {
    2140     width: -webkit-calc(96% - 128px);
    2141     width: calc(96% - 128px);
    2142   }
    2143 }
    2144 
    2145 .plugin-card .entry-title {
    2146   font-size: 16px;
    2147   font-size: 1rem;
    2148   line-height: 1.3;
    2149   margin: 0 0 8px;
    2150 }
    2151 
    2152 .plugin-card .entry-title a {
    2153   font-weight: 400;
    2154 }
    2155 
    2156 .plugin-card .plugin-rating {
    2157   line-height: 1;
    2158   margin: 0 0 8px 10px;
    2159 }
    2160 
    2161 .plugin-card .plugin-rating .wporg-ratings {
    2162   display: inline-block;
    2163   margin-left: 5px;
    2164 }
    2165 
    2166 .plugin-card .plugin-rating [class*='dashicons-star-'] {
    2167   color: #ffb900;
    2168 }
    2169 
    2170 .plugin-card .plugin-rating .rating-count {
    2171   color: #999;
    2172   font-size: 12.8px;
    2173   font-size: 0.8rem;
    2174   top: -1px;
    2175 }
    2176 
    2177 .plugin-card .entry-excerpt {
    2178   font-size: 12.8px;
    2179   font-size: 0.8rem;
    2180 }
    2181 
    2182 .plugin-card .entry-excerpt p {
    2183   margin: 0 0 8px;
    2184 }
    2185 
    2186 .rtl .dashicons-star-half {
    2187   -webkit-transform: rotateY(180deg);
    2188   transform: rotateY(180deg);
    2189 }
    2190 
    21911438.single .type-plugin .plugin-notice {
    21921439  margin-top: 0;
     
    22001447  font-size: 0;
    22011448  line-height: 0;
     1449  margin: 0 auto 18.288px;
    22021450  margin: 0 auto 1.143rem;
    22031451  padding-top: 32.38342%;
     
    22151463.single .type-plugin .plugin-header {
    22161464  border-bottom: 2px solid #eee;
     1465  padding: 18.288px 25px;
    22171466  padding: 1.143rem 1.5625rem;
    22181467}
     
    23001549@-webkit-keyframes favme-hover {
    23011550  from {
    2302     font-size: 22.86px;
    23031551    font-size: 1.42875rem;
    23041552  }
    23051553  80% {
    2306     font-size: 20px;
    23071554    font-size: 1.25rem;
    23081555  }
     
    23111558@keyframes favme-hover {
    23121559  from {
    2313     font-size: 22.86px;
    23141560    font-size: 1.42875rem;
    23151561  }
    23161562  80% {
    2317     font-size: 20px;
    23181563    font-size: 1.25rem;
    23191564  }
     
    23941639.single .type-plugin .entry-content,
    23951640.single .type-plugin .entry-meta {
     1641  padding: 0 25px;
    23961642  padding: 0 1.5625rem;
    23971643}
     
    25061752  border: none;
    25071753  color: #32373c;
    2508   font-weight: 600;
    25091754  padding: 0;
    25101755  text-transform: inherit;
     
    26041849  }
    26051850  .single .type-plugin .entry-content .plugin-reviews .review-avatar .avatar {
    2606     margin-left: 16px;
    26071851    margin-left: 1rem;
    26081852  }
     
    26681912    width: 30%;
    26691913  }
    2670 }
    2671 
    2672 /*--------------------------------------------------------------
    2673 ## Template Hierarchy
    2674 --------------------------------------------------------------*/
    2675 .error-404 .page-title {
    2676   text-align: center;
    2677 }
    2678 
    2679 .error-404 .page-content {
    2680   text-align: center;
    2681 }
    2682 
    2683 .error-404 .page-content .logo-swing {
    2684   height: 160px;
    2685   height: 10rem;
    2686   margin: 96px auto;
    2687   margin: 6rem auto;
    2688   position: relative;
    2689   text-align: center;
    2690   width: 160px;
    2691   width: 10rem;
    2692 }
    2693 
    2694 .error-404 .page-content .logo-swing .wp-logo {
    2695   right: 0;
    2696   max-width: none;
    2697   position: absolute;
    2698   top: 0;
    2699   width: 160px;
    2700   width: 10rem;
    2701 }
    2702 
    2703 @-webkit-keyframes hinge {
    2704   10% {
    2705     width: 180px;
    2706     height: 180px;
    2707     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2708     transform: rotate3d(0, 0, 1, 0deg);
    2709   }
    2710   15% {
    2711     width: 185px;
    2712     height: 185px;
    2713     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2714     transform: rotate3d(0, 0, 1, 0deg);
    2715   }
    2716   20% {
    2717     width: 180px;
    2718     height: 180px;
    2719     -webkit-transform: rotate3d(0, 0, 1, -5deg);
    2720     transform: rotate3d(0, 0, 1, -5deg);
    2721   }
    2722   40% {
    2723     -webkit-transform-origin: top right;
    2724     transform-origin: top right;
    2725     -webkit-animation-timing-function: ease-in-out;
    2726     animation-timing-function: ease-in-out;
    2727   }
    2728   60% {
    2729     -webkit-transform: rotate3d(0, 0, 1, -40deg);
    2730     transform: rotate3d(0, 0, 1, -40deg);
    2731     -webkit-transform-origin: top right;
    2732     transform-origin: top right;
    2733     -webkit-animation-timing-function: ease-in-out;
    2734     animation-timing-function: ease-in-out;
    2735   }
    2736   40%, 80% {
    2737     -webkit-transform: rotate3d(0, 0, 1, -60deg);
    2738     transform: rotate3d(0, 0, 1, -60deg);
    2739     -webkit-transform-origin: top right;
    2740     transform-origin: top right;
    2741     -webkit-animation-timing-function: ease-in-out;
    2742     animation-timing-function: ease-in-out;
    2743     opacity: 1;
    2744   }
    2745   to {
    2746     -webkit-transform: translate3d(0, 700px, 0);
    2747     transform: translate3d(0, 700px, 0);
    2748     opacity: 0;
    2749   }
    2750 }
    2751 
    2752 @keyframes hinge {
    2753   10% {
    2754     width: 180px;
    2755     height: 180px;
    2756     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2757     transform: rotate3d(0, 0, 1, 0deg);
    2758   }
    2759   15% {
    2760     width: 185px;
    2761     height: 185px;
    2762     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2763     transform: rotate3d(0, 0, 1, 0deg);
    2764   }
    2765   20% {
    2766     width: 180px;
    2767     height: 180px;
    2768     -webkit-transform: rotate3d(0, 0, 1, -5deg);
    2769     transform: rotate3d(0, 0, 1, -5deg);
    2770   }
    2771   40% {
    2772     -webkit-transform-origin: top right;
    2773     transform-origin: top right;
    2774     -webkit-animation-timing-function: ease-in-out;
    2775     animation-timing-function: ease-in-out;
    2776   }
    2777   60% {
    2778     -webkit-transform: rotate3d(0, 0, 1, -40deg);
    2779     transform: rotate3d(0, 0, 1, -40deg);
    2780     -webkit-transform-origin: top right;
    2781     transform-origin: top right;
    2782     -webkit-animation-timing-function: ease-in-out;
    2783     animation-timing-function: ease-in-out;
    2784   }
    2785   40%, 80% {
    2786     -webkit-transform: rotate3d(0, 0, 1, -60deg);
    2787     transform: rotate3d(0, 0, 1, -60deg);
    2788     -webkit-transform-origin: top right;
    2789     transform-origin: top right;
    2790     -webkit-animation-timing-function: ease-in-out;
    2791     animation-timing-function: ease-in-out;
    2792     opacity: 1;
    2793   }
    2794   to {
    2795     -webkit-transform: translate3d(0, 700px, 0);
    2796     transform: translate3d(0, 700px, 0);
    2797     opacity: 0;
    2798   }
    2799 }
    2800 
    2801 .hinge {
    2802   -webkit-animation-duration: 2s;
    2803   animation-duration: 2s;
    2804   -webkit-animation-name: hinge;
    2805   animation-name: hinge;
    2806 }
    2807 
    2808 .page .entry-header {
    2809   margin-top: 32px;
    2810   margin-top: 2rem;
    2811 }
    2812 
    2813 .page .entry-header .entry-title {
    2814   font-size: 25px;
    2815   font-size: 1.5625rem;
    2816   font-weight: 400;
    2817   margin: 0 auto;
    2818   max-width: 35.527136788rem;
    2819 }
    2820 
    2821 @media screen and (min-width: 48em) {
    2822   .page .entry-header .entry-title {
    2823     padding: 0 32px;
    2824     padding: 0 2rem;
    2825   }
    2826 }
    2827 
    2828 .page .entry-content h2 {
    2829   font-size: 25px;
    2830   font-size: 1.5625rem;
    2831   font-weight: 400;
    2832 }
    2833 
    2834 .page .entry-content h3 {
    2835   font-size: 16px;
    2836   font-size: 1rem;
    2837   font-weight: 600;
    2838   letter-spacing: 0.16px;
    2839   letter-spacing: 0.01rem;
    2840   text-transform: uppercase;
    2841 }
    2842 
    2843 .page .entry-content section {
    2844   padding: 32px 0;
    2845   padding: 2rem 0;
    2846 }
    2847 
    2848 .page .entry-content section .container {
    2849   margin: 0 auto;
    2850   max-width: 35.527136788rem;
    2851 }
    2852 
    2853 @media screen and (min-width: 48em) {
    2854   .page .entry-content section .container {
    2855     padding: 0 32px;
    2856     padding: 0 2rem;
    2857   }
    2858 }
    2859 
    2860 .page .entry-content section:first-of-type {
    2861   padding-top: 0;
    2862 }
    2863 
    2864 .page .entry-content section + section {
    2865   border-top: 2px solid #eee;
    2866 }
    2867 
    2868 .archive .site-main {
    2869   margin-top: 32px;
    2870   margin-top: 2rem;
    2871   padding-top: 0;
    2872 }
    2873 
    2874 .archive .page-header {
    2875   margin: 32px 0;
    2876   margin: 2rem 0;
    2877 }
    2878 
    2879 .search .site-main {
    2880   margin-top: 32px;
    2881   margin-top: 2rem;
    2882   padding-top: 0;
    2883 }
    2884 
    2885 .search.search-results .page-header {
    2886   margin: 32px 0;
    2887   margin: 2rem 0;
    2888 }
    2889 
    2890 /*--------------------------------------------------------------
    2891 ## Comments
    2892 --------------------------------------------------------------*/
    2893 .comment-content a {
    2894   word-wrap: break-word;
    2895 }
    2896 
    2897 .bypostauthor {
    2898   display: block;
    28991914}
    29001915
     
    29141929  cursor: pointer;
    29151930  display: inline-block;
     1931  font-size: 11.704px;
    29161932  font-size: 0.73152rem;
    29171933  line-height: 1;
     
    30642080  display: block;
    30652081}
     2082
     2083/*--------------------------------------------------------------
     2084# Components
     2085--------------------------------------------------------------*/
     2086.error-404 .page-title {
     2087  text-align: center;
     2088}
     2089
     2090.error-404 .page-content {
     2091  text-align: center;
     2092}
     2093
     2094.error-404 .page-content .logo-swing {
     2095  height: 160px;
     2096  height: 10rem;
     2097  margin: 96px auto;
     2098  margin: 6rem auto;
     2099  position: relative;
     2100  text-align: center;
     2101  width: 160px;
     2102  width: 10rem;
     2103}
     2104
     2105.error-404 .page-content .logo-swing .wp-logo {
     2106  right: 0;
     2107  max-width: none;
     2108  position: absolute;
     2109  top: 0;
     2110  width: 160px;
     2111  width: 10rem;
     2112}
     2113
     2114@-webkit-keyframes hinge {
     2115  10% {
     2116    width: 180px;
     2117    height: 180px;
     2118    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2119    transform: rotate3d(0, 0, 1, 0deg);
     2120  }
     2121  15% {
     2122    width: 185px;
     2123    height: 185px;
     2124    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2125    transform: rotate3d(0, 0, 1, 0deg);
     2126  }
     2127  20% {
     2128    width: 180px;
     2129    height: 180px;
     2130    -webkit-transform: rotate3d(0, 0, 1, -5deg);
     2131    transform: rotate3d(0, 0, 1, -5deg);
     2132  }
     2133  40% {
     2134    -webkit-transform-origin: top right;
     2135    transform-origin: top right;
     2136    -webkit-animation-timing-function: ease-in-out;
     2137    animation-timing-function: ease-in-out;
     2138  }
     2139  60% {
     2140    -webkit-transform: rotate3d(0, 0, 1, -40deg);
     2141    transform: rotate3d(0, 0, 1, -40deg);
     2142    -webkit-transform-origin: top right;
     2143    transform-origin: top right;
     2144    -webkit-animation-timing-function: ease-in-out;
     2145    animation-timing-function: ease-in-out;
     2146  }
     2147  40%, 80% {
     2148    -webkit-transform: rotate3d(0, 0, 1, -60deg);
     2149    transform: rotate3d(0, 0, 1, -60deg);
     2150    -webkit-transform-origin: top right;
     2151    transform-origin: top right;
     2152    -webkit-animation-timing-function: ease-in-out;
     2153    animation-timing-function: ease-in-out;
     2154    opacity: 1;
     2155  }
     2156  to {
     2157    -webkit-transform: translate3d(0, 700px, 0);
     2158    transform: translate3d(0, 700px, 0);
     2159    opacity: 0;
     2160  }
     2161}
     2162
     2163@keyframes hinge {
     2164  10% {
     2165    width: 180px;
     2166    height: 180px;
     2167    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2168    transform: rotate3d(0, 0, 1, 0deg);
     2169  }
     2170  15% {
     2171    width: 185px;
     2172    height: 185px;
     2173    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2174    transform: rotate3d(0, 0, 1, 0deg);
     2175  }
     2176  20% {
     2177    width: 180px;
     2178    height: 180px;
     2179    -webkit-transform: rotate3d(0, 0, 1, -5deg);
     2180    transform: rotate3d(0, 0, 1, -5deg);
     2181  }
     2182  40% {
     2183    -webkit-transform-origin: top right;
     2184    transform-origin: top right;
     2185    -webkit-animation-timing-function: ease-in-out;
     2186    animation-timing-function: ease-in-out;
     2187  }
     2188  60% {
     2189    -webkit-transform: rotate3d(0, 0, 1, -40deg);
     2190    transform: rotate3d(0, 0, 1, -40deg);
     2191    -webkit-transform-origin: top right;
     2192    transform-origin: top right;
     2193    -webkit-animation-timing-function: ease-in-out;
     2194    animation-timing-function: ease-in-out;
     2195  }
     2196  40%, 80% {
     2197    -webkit-transform: rotate3d(0, 0, 1, -60deg);
     2198    transform: rotate3d(0, 0, 1, -60deg);
     2199    -webkit-transform-origin: top right;
     2200    transform-origin: top right;
     2201    -webkit-animation-timing-function: ease-in-out;
     2202    animation-timing-function: ease-in-out;
     2203    opacity: 1;
     2204  }
     2205  to {
     2206    -webkit-transform: translate3d(0, 700px, 0);
     2207    transform: translate3d(0, 700px, 0);
     2208    opacity: 0;
     2209  }
     2210}
     2211
     2212.hinge {
     2213  -webkit-animation-duration: 2s;
     2214  animation-duration: 2s;
     2215  -webkit-animation-name: hinge;
     2216  animation-name: hinge;
     2217}
     2218
     2219.archive .site-main {
     2220  margin-top: 32px;
     2221  margin-top: 2rem;
     2222  padding-top: 0;
     2223}
     2224
     2225.archive .page-header {
     2226  margin: 32px 0;
     2227  margin: 2rem 0;
     2228}
     2229
     2230.plugin-section {
     2231  border-bottom: 2px solid #eee;
     2232  margin: 0 auto 76.293px;
     2233  margin: 0 auto 4.768371582rem;
     2234  max-width: 960px;
     2235  padding-bottom: 48.828px;
     2236  padding-bottom: 3.0517578125rem;
     2237}
     2238
     2239.plugin-section:last-of-type {
     2240  margin-bottom: 0;
     2241}
     2242
     2243.plugin-section .section-header {
     2244  position: relative;
     2245}
     2246
     2247.plugin-section .section-title {
     2248  font-size: 25px;
     2249  font-size: 1.5625rem;
     2250  font-weight: 400;
     2251  margin-bottom: 48px;
     2252  margin-bottom: 3rem;
     2253}
     2254
     2255.plugin-section .section-link {
     2256  font-size: 16px;
     2257  font-size: 1rem;
     2258  position: absolute;
     2259  left: 0;
     2260  top: 11.2px;
     2261  top: 0.7rem;
     2262}
     2263
     2264.page .entry-header {
     2265  margin-top: 32px;
     2266  margin-top: 2rem;
     2267}
     2268
     2269.page .entry-header .entry-title {
     2270  font-size: 25px;
     2271  font-size: 1.5625rem;
     2272  font-weight: 400;
     2273  margin: 0 auto;
     2274  max-width: 568.434px;
     2275  max-width: 35.527136788rem;
     2276}
     2277
     2278@media screen and (min-width: 48em) {
     2279  .page .entry-header .entry-title {
     2280    padding: 0 2rem;
     2281  }
     2282}
     2283
     2284.page .entry-content h2 {
     2285  font-size: 25px;
     2286  font-size: 1.5625rem;
     2287  font-weight: 400;
     2288}
     2289
     2290.page .entry-content h3 {
     2291  font-size: 16px;
     2292  font-size: 1rem;
     2293  font-weight: 600;
     2294  letter-spacing: 0.16px;
     2295  letter-spacing: 0.01rem;
     2296  text-transform: uppercase;
     2297}
     2298
     2299.page .entry-content section {
     2300  padding: 32px 0;
     2301  padding: 2rem 0;
     2302}
     2303
     2304.page .entry-content section .container {
     2305  margin: 0 auto;
     2306  max-width: 568.434px;
     2307  max-width: 35.527136788rem;
     2308}
     2309
     2310@media screen and (min-width: 48em) {
     2311  .page .entry-content section .container {
     2312    padding: 0 2rem;
     2313  }
     2314}
     2315
     2316.page .entry-content section:first-of-type {
     2317  padding-top: 0;
     2318}
     2319
     2320.page .entry-content section + section {
     2321  border-top: 2px solid #eee;
     2322}
     2323
     2324.plugin-card {
     2325  margin-bottom: 4%;
     2326}
     2327
     2328@media screen and (min-width: 48em) {
     2329  .plugin-card {
     2330    display: inline-block;
     2331    margin-left: 4%;
     2332    width: 48%;
     2333  }
     2334  .plugin-card:nth-of-type(even) {
     2335    margin-left: 0;
     2336  }
     2337}
     2338
     2339.plugin-card .entry {
     2340  display: inline-block;
     2341  margin: auto;
     2342  vertical-align: top;
     2343}
     2344
     2345@media screen and (min-width: 21em) {
     2346  .plugin-card .entry {
     2347    width: -webkit-calc(96% - 128px);
     2348    width: calc(96% - 128px);
     2349  }
     2350}
     2351
     2352.plugin-card .entry-title {
     2353  font-size: 16px;
     2354  font-size: 1rem;
     2355  line-height: 1.3;
     2356  margin: 0 0 8px;
     2357}
     2358
     2359.plugin-card .entry-title a {
     2360  font-weight: 400;
     2361}
     2362
     2363.plugin-card .entry-excerpt {
     2364  font-size: 12.8px;
     2365  font-size: 0.8rem;
     2366}
     2367
     2368.plugin-card .entry-excerpt p {
     2369  margin: 0 0 8px;
     2370}
     2371
     2372.entry-thumbnail {
     2373  display: none;
     2374  max-width: 128px;
     2375}
     2376
     2377@media screen and (min-width: 21em) {
     2378  .entry-thumbnail {
     2379    display: inline-block;
     2380    margin: 0 0 0 4%;
     2381    vertical-align: top;
     2382  }
     2383  .entry-thumbnail a {
     2384    display: block;
     2385  }
     2386}
     2387
     2388[class*='dashicons-star-'] {
     2389  color: #ffb900;
     2390}
     2391
     2392.rtl .dashicons-star-half {
     2393  -webkit-transform: rotateY(180deg);
     2394  transform: rotateY(180deg);
     2395}
     2396
     2397.plugin-rating {
     2398  line-height: 1;
     2399  margin: 0 0 8px 10px;
     2400}
     2401
     2402.plugin-rating .wporg-ratings {
     2403  display: inline-block;
     2404  margin-left: 5px;
     2405}
     2406
     2407.plugin-rating .rating-count {
     2408  color: #999;
     2409  font-size: 12.8px;
     2410  font-size: 0.8rem;
     2411  top: -1px;
     2412}
     2413
     2414.search-form {
     2415  font-size: 0;
     2416  margin-bottom: 32px;
     2417  margin-bottom: 2rem;
     2418  max-width: 100%;
     2419  position: relative;
     2420}
     2421
     2422.search-form .search-field {
     2423  border: none;
     2424  -webkit-border-radius: 0;
     2425  border-radius: 0;
     2426  -webkit-box-shadow: none;
     2427  box-shadow: none;
     2428  display: block;
     2429  font-size: 16px;
     2430  font-size: 1rem;
     2431  margin: 0 auto;
     2432  max-width: 100%;
     2433  padding: 8px;
     2434  padding: 0.5rem;
     2435  width: 363.797px;
     2436  width: 22.7373675443rem;
     2437}
     2438
     2439.search-form .button-search {
     2440  border-right: none;
     2441  -webkit-border-radius: 2px 0 0 2px;
     2442  border-radius: 2px 0 0 2px;
     2443  font-size: 16px;
     2444  font-size: 1rem;
     2445  position: relative;
     2446  left: auto;
     2447  top: auto;
     2448}
     2449
     2450.search-form .button-search:active {
     2451  background: #006799;
     2452  border-left: 1px solid #006799;
     2453  -webkit-box-shadow: none;
     2454  box-shadow: none;
     2455}
     2456
     2457.search-form .button-search .dashicons {
     2458  font-size: 16px;
     2459  font-size: 1rem;
     2460}
     2461
     2462.site-header .search-form {
     2463  display: inline-block;
     2464}
     2465
     2466.site-header.home .search-form .button-search,
     2467.site-main .search-form .button-search {
     2468  background: transparent;
     2469  border: none;
     2470  -webkit-border-radius: 0;
     2471  border-radius: 0;
     2472  -webkit-box-shadow: none;
     2473  box-shadow: none;
     2474  color: #32373c;
     2475  display: block;
     2476  height: 45px;
     2477  padding: 8px 16px;
     2478  padding: 0.5rem 1rem;
     2479  position: absolute;
     2480  left: 0;
     2481  text-shadow: none;
     2482  top: 0;
     2483}
     2484
     2485.site-header.home .search-form .button-search:focus,
     2486.site-main .search-form .button-search:focus {
     2487  -webkit-box-shadow: 0 0 2px 1px #33b3db;
     2488  box-shadow: 0 0 2px 1px #33b3db;
     2489}
     2490
     2491.site-header.home .search-form .button-search:active,
     2492.site-main .search-form .button-search:active {
     2493  background: transparent;
     2494  border: none;
     2495  -webkit-transform: none;
     2496  -ms-transform: none;
     2497  transform: none;
     2498}
     2499
     2500.site-header:not(.home) .search-form {
     2501  margin: 0;
     2502}
     2503
     2504.site-header:not(.home) .search-form .search-field {
     2505  border: 0;
     2506  -webkit-border-radius: 2px;
     2507  border-radius: 2px;
     2508  display: inline-block;
     2509  font-size: 16px;
     2510  font-size: 1rem;
     2511  padding: 5px 10px;
     2512  position: relative;
     2513  width: 100%;
     2514}
     2515
     2516@media screen and (min-width: 48em) {
     2517  .site-header:not(.home) .search-form .search-field {
     2518    -webkit-border-radius: 0 2px 2px 0;
     2519    border-radius: 0 2px 2px 0;
     2520    font-size: 0.64rem;
     2521    width: 7rem;
     2522  }
     2523  .site-header:not(.home) .search-form .search-field + .button-search {
     2524    display: inline-block;
     2525    margin-bottom: 0;
     2526  }
     2527}
     2528
     2529@media screen and (min-width: 60em) {
     2530  .site-header:not(.home) .search-form .search-field {
     2531    width: 10rem;
     2532  }
     2533}
     2534
     2535.site-main .search-form .search-field {
     2536  border: 1px solid #ddd;
     2537  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
     2538  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
     2539  padding: 8px;
     2540  padding: 0.5rem;
     2541  width: 100%;
     2542}
     2543
     2544.search .site-main {
     2545  margin-top: 32px;
     2546  margin-top: 2rem;
     2547  padding-top: 0;
     2548}
     2549
     2550.search.search-results .page-header {
     2551  margin: 32px 0;
     2552  margin: 2rem 0;
     2553}
     2554
     2555.main-navigation {
     2556  background: #0073aa;
     2557  clear: both;
     2558  right: 0;
     2559  position: absolute;
     2560  top: 60px;
     2561  width: 100%;
     2562}
     2563
     2564.main-navigation ul {
     2565  display: none;
     2566  list-style: none;
     2567  margin: 0;
     2568  padding-right: 0;
     2569}
     2570
     2571.main-navigation ul ul {
     2572  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
     2573  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
     2574  float: right;
     2575  right: -999em;
     2576  position: absolute;
     2577  top: 1.5em;
     2578  z-index: 99999;
     2579}
     2580
     2581.main-navigation ul ul ul {
     2582  right: -999em;
     2583  top: 0;
     2584}
     2585
     2586.main-navigation ul ul li:hover > ul,
     2587.main-navigation ul ul li.focus > ul {
     2588  right: 100%;
     2589}
     2590
     2591.main-navigation ul ul a {
     2592  width: 200px;
     2593}
     2594
     2595.main-navigation ul li:hover > ul,
     2596.main-navigation ul li.focus > ul {
     2597  right: auto;
     2598}
     2599
     2600.main-navigation li {
     2601  border-top: 1px solid rgba(255, 255, 255, 0.2);
     2602  padding: 16px;
     2603  padding: 1rem;
     2604}
     2605
     2606.main-navigation a {
     2607  color: rgba(255, 255, 255, 0.8);
     2608  display: block;
     2609  font-size: 12.8px;
     2610  font-size: 0.8rem;
     2611  text-decoration: none;
     2612}
     2613
     2614.main-navigation a:hover, .main-navigation a.active {
     2615  color: #fff;
     2616}
     2617
     2618@media screen and (min-width: 48em) {
     2619  .main-navigation a.active {
     2620    border-bottom: 1px solid;
     2621  }
     2622}
     2623
     2624/* Small menu. */
     2625.main-navigation.toggled ul {
     2626  display: block;
     2627}
     2628
     2629.menu-toggle {
     2630  background: transparent;
     2631  border: none;
     2632  color: #fff;
     2633  font-size: 25px;
     2634  font-size: 1.5625rem;
     2635  height: 56px;
     2636  height: 3.5rem;
     2637  overflow: hidden;
     2638  position: absolute;
     2639  left: 16px;
     2640  left: 1rem;
     2641  top: -58px;
     2642  width: 56px;
     2643  width: 3.5rem;
     2644  -webkit-appearance: none;
     2645}
     2646
     2647.toggled .menu-toggle:before {
     2648  content: "\f343";
     2649}
     2650
     2651@media screen and (min-width: 48em) {
     2652  .menu-toggle {
     2653    display: none;
     2654  }
     2655  .main-navigation {
     2656    float: left;
     2657    position: initial;
     2658    width: initial;
     2659  }
     2660  .main-navigation.toggled {
     2661    padding: 1px 0;
     2662  }
     2663  .main-navigation ul {
     2664    display: inline-block;
     2665    font-size: 0;
     2666  }
     2667  .main-navigation ul li {
     2668    border: 0;
     2669    display: inline-block;
     2670    font-size: 1rem;
     2671    margin-left: 1rem;
     2672    padding: 0;
     2673  }
     2674  .main-navigation ul li:last-of-type {
     2675    margin-left: 0;
     2676  }
     2677}
     2678
     2679.site-description {
     2680  color: rgba(255, 255, 255, 0.8);
     2681  font-size: 20px;
     2682  font-size: 1.25rem;
     2683  font-weight: 300;
     2684  margin: -6.4px auto 32px;
     2685  margin: -0.4rem auto 2rem;
     2686  text-align: center;
     2687}
     2688
     2689.site-title {
     2690  display: inline-block;
     2691  font-size: 25px;
     2692  font-size: 1.5625rem;
     2693  font-weight: 300;
     2694  line-height: 1;
     2695  margin: 0 0 0 32px;
     2696  margin: 0 0 0 2rem;
     2697  max-width: none;
     2698}
     2699
     2700.site-title a {
     2701  color: #fff;
     2702  font-weight: 300;
     2703}
     2704
     2705.site-title a:hover, .site-title a:focus, .site-title a:active {
     2706  text-decoration: none;
     2707}
     2708
     2709.site-header.home .site-title {
     2710  display: inherit;
     2711  font-size: 61.035px;
     2712  font-size: 3.8146972656rem;
     2713  margin: 32px 0 16px;
     2714  margin: 2rem 0 1rem;
     2715}
     2716
     2717.site-header {
     2718  background: #0073aa;
     2719  padding: 16px 0;
     2720  padding: 1rem 0;
     2721  position: relative;
     2722}
     2723
     2724.site-header .site-branding {
     2725  margin: 0 auto;
     2726  max-width: 960px;
     2727  padding: 0 25px;
     2728  padding: 0 1.5625rem;
     2729}
     2730
     2731@media screen and (min-width: 48em) {
     2732  .site-header .site-branding {
     2733    padding: 0 10px;
     2734  }
     2735}
     2736
     2737.site-header.home {
     2738  padding: 25px 18.288px;
     2739  padding: 1.5625rem 1.143rem;
     2740  text-align: center;
     2741}
     2742
     2743.site-main {
     2744  margin: 0 auto;
     2745  max-width: 960px;
     2746  padding: 48.828px 25px;
     2747  padding: 3.0517578125rem 1.5625rem;
     2748}
     2749
     2750@media screen and (min-width: 48em) {
     2751  .site-main {
     2752    padding: 3.0517578125rem 10px;
     2753  }
     2754}
     2755
     2756.single .site-main {
     2757  padding: 0;
     2758}
     2759
     2760@media screen and (min-width: 48em) {
     2761  .single .site-main {
     2762    padding: 0 10px 3.0517578125rem;
     2763  }
     2764}
     2765
     2766.page .site-main {
     2767  padding-top: 0;
     2768}
     2769
     2770.site-main .page-title {
     2771  font-size: 25px;
     2772  font-size: 1.5625rem;
     2773  font-weight: 400;
     2774}
     2775
     2776.site-main .no-results {
     2777  margin: 0 auto;
     2778  max-width: 568.434px;
     2779  max-width: 35.527136788rem;
     2780  padding: 0 32px;
     2781  padding: 0 2rem;
     2782}
     2783
     2784.widget {
     2785  margin: 0 0 1.5em;
     2786}
     2787
     2788.home .widget-area {
     2789  margin: 0 auto;
     2790  max-width: 960px;
     2791  padding: 0 25px 48.828px 25px;
     2792  padding: 0 1.5625rem 3.0517578125rem 1.5625rem;
     2793}
     2794
     2795@media screen and (min-width: 48em) {
     2796  .home .widget-area {
     2797    padding: 0 10px 3.0517578125rem;
     2798  }
     2799}
     2800
     2801.home .widget-area .widget {
     2802  display: inline-block;
     2803  font-size: 12.8px;
     2804  font-size: 0.8rem;
     2805  margin: 0;
     2806  vertical-align: top;
     2807  /* Make sure select elements fit in widgets. */
     2808}
     2809
     2810@media screen and (min-width: 48em) {
     2811  .home .widget-area .widget {
     2812    margin-left: 5%;
     2813    width: 30%;
     2814  }
     2815  .home .widget-area .widget:last-child {
     2816    margin-left: 0;
     2817  }
     2818}
     2819
     2820.home .widget-area .widget select {
     2821  max-width: 100%;
     2822}
     2823
     2824.plugin-ratings {
     2825  font-size: 12.8px;
     2826  font-size: 0.8rem;
     2827  position: relative;
     2828}
     2829
     2830.plugin-ratings .reviews-link {
     2831  position: absolute;
     2832  left: 0;
     2833  top: 4.8px;
     2834  top: 0.3rem;
     2835}
     2836
     2837.plugin-ratings .reviews-link:after {
     2838  content: "\f341";
     2839  font-family: dashicons;
     2840  padding-right: 5px;
     2841  vertical-align: top;
     2842}
     2843
     2844.plugin-ratings [class*='dashicons-star-'] {
     2845  color: #FFB900;
     2846  display: inline-block;
     2847  font-size: 25px;
     2848  font-size: 1.5625rem;
     2849  height: auto;
     2850  margin: 0;
     2851  width: auto;
     2852}
     2853
     2854.plugin-ratings .ratings-list {
     2855  list-style-type: none;
     2856  margin: 16px 0;
     2857  margin: 1rem 0;
     2858  padding: 0;
     2859}
     2860
     2861.plugin-ratings .ratings-list .counter-container,
     2862.plugin-ratings .ratings-list .counter-container a {
     2863  width: 100%;
     2864}
     2865
     2866.plugin-ratings .ratings-list .counter-label {
     2867  display: inline-block;
     2868  min-width: 58px;
     2869}
     2870
     2871.plugin-ratings .ratings-list .counter-back,
     2872.plugin-ratings .ratings-list .counter-bar {
     2873  display: inline-block;
     2874  height: 16px;
     2875  height: 1rem;
     2876  vertical-align: middle;
     2877}
     2878
     2879.plugin-ratings .ratings-list .counter-back {
     2880  background-color: #ececec;
     2881  width: 58%;
     2882  width: -webkit-calc(100% - 130px);
     2883  width: calc(100% - 130px);
     2884}
     2885
     2886.plugin-ratings .ratings-list .counter-bar {
     2887  background-color: #ffc733;
     2888  display: block;
     2889}
     2890
     2891.plugin-ratings .ratings-list .counter-count {
     2892  margin-right: 3px;
     2893}
     2894
     2895.plugin-support {
     2896  font-size: 12.8px;
     2897  font-size: 0.8rem;
     2898}
     2899
     2900.plugin-support .counter-container {
     2901  margin-bottom: 16px;
     2902  margin-bottom: 1rem;
     2903  position: relative;
     2904}
     2905
     2906.plugin-support .counter-back,
     2907.plugin-support .counter-bar {
     2908  display: inline-block;
     2909  height: 30px;
     2910  vertical-align: middle;
     2911}
     2912
     2913.plugin-support .counter-back {
     2914  background-color: #ececec;
     2915  width: 100%;
     2916}
     2917
     2918.plugin-support .counter-bar {
     2919  background-color: #c7e8ca;
     2920  display: block;
     2921}
     2922
     2923.plugin-support .counter-count {
     2924  font-size: 10.24px;
     2925  font-size: 0.64rem;
     2926  right: 8px;
     2927  position: absolute;
     2928  top: 8px;
     2929  width: 100%;
     2930  width: -webkit-calc(100% - 8px);
     2931  width: calc(100% - 8px);
     2932}
     2933
     2934@media screen and (min-width: 48em) {
     2935  .plugin-support .counter-count {
     2936    top: 5px;
     2937  }
     2938}
     2939
     2940.plugin-meta {
     2941  margin-top: 32px;
     2942  margin-top: 2rem;
     2943}
     2944
     2945.plugin-meta ul {
     2946  font-size: 12.8px;
     2947  font-size: 0.8rem;
     2948  list-style-type: none;
     2949  margin: 0;
     2950  padding: 0;
     2951}
     2952
     2953.plugin-meta li {
     2954  border-top: 1px solid #eee;
     2955  padding: 8px 0;
     2956  padding: 0.5rem 0;
     2957}
     2958
     2959.plugin-meta li strong {
     2960  float: left;
     2961}
     2962
     2963.plugin-meta .tags {
     2964  float: left;
     2965  text-align: left;
     2966  width: 60%;
     2967}
     2968
     2969.plugin-meta [rel="tag"] {
     2970  background: #eee;
     2971  -webkit-border-radius: 2px;
     2972  border-radius: 2px;
     2973  color: #000;
     2974  display: inline-block;
     2975  font-size: 10.24px;
     2976  font-size: 0.64rem;
     2977  margin: 2px;
     2978  padding: 3px 6px;
     2979  position: relative;
     2980  white-space: nowrap;
     2981  width: auto;
     2982}
     2983
     2984.plugin-meta [rel="tag"]:hover {
     2985  background: #f3f3f3;
     2986}
     2987
     2988.plugin-meta [rel="tag"]:active {
     2989  background: #dfdfdf;
     2990}
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style.css

    r3844 r3847  
    237237@media screen and (min-width: 48em) {
    238238  html {
    239     font-size: 18px;
    240239    font-size: 1.125rem;
    241240  }
     
    251250
    252251h1 {
    253   font-size: 61.03515625px;
     252  font-size: 61.035px;
    254253  font-size: 3.8146972656rem;
    255254  font-weight: 300;
     
    267266
    268267h2 {
    269   font-size: 39.0625px;
     268  font-size: 39.062px;
    270269  font-size: 2.44140625rem;
    271270  font-weight: 300;
     
    333332  letter-spacing: 0.16px;
    334333  letter-spacing: 0.01rem;
     334  max-width: 291.038px;
    335335  max-width: 18.1898940355rem;
    336336}
     
    534534.locale-banner {
    535535  background: #C7E8CA;
     536  font-size: 16px;
     537  font-size: 1rem;
    536538  padding: 8px;
    537539  padding: 0.5rem;
    538540  text-align: center;
    539   font-size: 12.8px;
    540   font-size: 0.8rem;
    541541}
    542542
    543543@media (min-width: 67rem) {
    544544  .locale-banner {
    545     margin: 16px auto 0;
    546545    margin: 1rem auto 0;
    547546    max-width: 960px;
     
    567566  cursor: pointer;
    568567  display: inline-block;
     568  font-size: 12.8px;
    569569  font-size: 0.8rem;
     570  height: 25px;
    570571  height: 1.5625rem;
    571572  line-height: 1;
     
    589590.button.button-large,
    590591.button-group.button-large .button {
     592  height: 31.25px;
    591593  height: 1.953125rem;
    592594  line-height: 1;
     
    599601  font-size: 10.24px;
    600602  font-size: 0.64rem;
     603  height: 20px;
    601604  height: 1.25rem;
    602605  line-height: 1;
     
    608611a.button-primary,
    609612a.button-secondary {
     613  line-height: 25px;
    610614  line-height: 1.5625rem;
    611615}
     
    613617a.button.button-large,
    614618.button-group.button-large a.button {
     619  line-height: 31.25px;
    615620  line-height: 1.953125rem;
    616621}
     
    618623a.button.button-small,
    619624.button-group.button-small a.button {
     625  line-height: 20px;
    620626  line-height: 1.25rem;
    621627}
     
    12181224}
    12191225
    1220 .search-form {
    1221   font-size: 0;
    1222   margin-bottom: 32px;
    1223   margin-bottom: 2rem;
    1224   max-width: 100%;
    1225   position: relative;
    1226 }
    1227 
    1228 .search-form .search-field {
    1229   border: none;
    1230   -webkit-border-radius: 0;
    1231   border-radius: 0;
    1232   -webkit-box-shadow: none;
    1233   box-shadow: none;
    1234   display: block;
    1235   font-size: 16px;
    1236   font-size: 1rem;
    1237   margin: 0 auto;
    1238   max-width: 100%;
    1239   padding: 8px;
    1240   padding: 0.5rem;
    1241   width: 22.7373675443rem;
    1242 }
    1243 
    1244 .search-form .button-search {
    1245   border-left: none;
    1246   -webkit-border-radius: 0 2px 2px 0;
    1247   border-radius: 0 2px 2px 0;
    1248   font-size: 16px;
    1249   font-size: 1rem;
    1250   position: relative;
    1251   right: auto;
    1252   top: auto;
    1253 }
    1254 
    1255 .search-form .button-search:active {
    1256   background: #006799;
    1257   border-right: 1px solid #006799;
    1258   -webkit-box-shadow: none;
    1259   box-shadow: none;
    1260 }
    1261 
    1262 .search-form .button-search .dashicons {
    1263   font-size: 16px;
    1264   font-size: 1rem;
    1265 }
    1266 
    1267 .site-header .search-form {
    1268   display: inline-block;
    1269 }
    1270 
    1271 .site-header.home .search-form .button-search,
    1272 .site-main .search-form .button-search {
    1273   background: transparent;
    1274   border: none;
    1275   -webkit-border-radius: 0;
    1276   border-radius: 0;
    1277   -webkit-box-shadow: none;
    1278   box-shadow: none;
    1279   color: #32373c;
    1280   display: block;
    1281   height: 45px;
    1282   padding: 8px 16px;
    1283   padding: 0.5rem 1rem;
    1284   position: absolute;
    1285   right: 0;
    1286   text-shadow: none;
    1287   top: 0;
    1288 }
    1289 
    1290 .site-header.home .search-form .button-search:focus,
    1291 .site-main .search-form .button-search:focus {
    1292   -webkit-box-shadow: 0 0 2px 1px #33b3db;
    1293   box-shadow: 0 0 2px 1px #33b3db;
    1294 }
    1295 
    1296 .site-header.home .search-form .button-search:active,
    1297 .site-main .search-form .button-search:active {
    1298   background: transparent;
    1299   border: none;
    1300   -webkit-transform: none;
    1301   -ms-transform: none;
    1302   transform: none;
    1303 }
    1304 
    1305 .site-header:not(.home) .search-form {
    1306   margin: 0;
    1307 }
    1308 
    1309 .site-header:not(.home) .search-form .search-field {
    1310   border: 0;
    1311   -webkit-border-radius: 2px;
    1312   border-radius: 2px;
    1313   display: inline-block;
    1314   font-size: 16px;
    1315   font-size: 1rem;
    1316   padding: 5px 10px;
    1317   position: relative;
    1318   width: 100%;
    1319 }
    1320 
    1321 @media screen and (min-width: 48em) {
    1322   .site-header:not(.home) .search-form .search-field {
    1323     -webkit-border-radius: 2px 0 0 2px;
    1324     border-radius: 2px 0 0 2px;
    1325     font-size: 10.24px;
    1326     font-size: 0.64rem;
    1327     width: 126px;
    1328     width: 7rem;
    1329   }
    1330   .site-header:not(.home) .search-form .search-field + .button-search {
    1331     display: inline-block;
    1332     margin-bottom: 0;
    1333   }
    1334 }
    1335 
    1336 @media screen and (min-width: 60em) {
    1337   .site-header:not(.home) .search-form .search-field {
    1338     width: 160px;
    1339     width: 10rem;
    1340   }
    1341 }
    1342 
    1343 .site-main .search-form .search-field {
    1344   border: 1px solid #ddd;
    1345   -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
    1346   box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
    1347   padding: 8px;
    1348   padding: 0.5rem;
    1349   width: 100%;
    1350 }
    1351 
    13521226.plugin-upload-form fieldset {
    13531227  border: none;
     
    13791253  }
    13801254  .plugin-upload-form .category-checklist label {
    1381     font-size: 12.8px;
    13821255    font-size: 0.8rem;
    13831256  }
     
    14401313## Menus
    14411314--------------------------------------------------------------*/
    1442 .main-navigation {
    1443   background: #0073aa;
    1444   clear: both;
    1445   left: 0;
    1446   position: absolute;
    1447   top: 60px;
    1448   width: 100%;
    1449 }
    1450 
    1451 .main-navigation ul {
    1452   display: none;
    1453   list-style: none;
    1454   margin: 0;
    1455   padding-left: 0;
    1456 }
    1457 
    1458 .main-navigation ul ul {
    1459   -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    1460   box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    1461   float: left;
    1462   left: -999em;
    1463   position: absolute;
    1464   top: 1.5em;
    1465   z-index: 99999;
    1466 }
    1467 
    1468 .main-navigation ul ul ul {
    1469   left: -999em;
    1470   top: 0;
    1471 }
    1472 
    1473 .main-navigation ul ul li:hover > ul,
    1474 .main-navigation ul ul li.focus > ul {
    1475   left: 100%;
    1476 }
    1477 
    1478 .main-navigation ul ul a {
    1479   width: 200px;
    1480 }
    1481 
    1482 .main-navigation ul li:hover > ul,
    1483 .main-navigation ul li.focus > ul {
    1484   left: auto;
    1485 }
    1486 
    1487 .main-navigation li {
    1488   border-top: 1px solid rgba(255, 255, 255, 0.2);
    1489   padding: 16px;
    1490   padding: 1rem;
    1491 }
    1492 
    1493 .main-navigation a {
    1494   color: rgba(255, 255, 255, 0.8);
    1495   display: block;
    1496   font-size: 12.8px;
    1497   font-size: 0.8rem;
    1498   text-decoration: none;
    1499 }
    1500 
    1501 .main-navigation a:hover, .main-navigation a.active {
    1502   color: #fff;
    1503 }
    1504 
    1505 @media screen and (min-width: 48em) {
    1506   .main-navigation a.active {
    1507     border-bottom: 1px solid;
    1508   }
    1509 }
    1510 
    1511 /* Small menu. */
    1512 .main-navigation.toggled ul {
    1513   display: block;
    1514 }
    1515 
    1516 .menu-toggle {
    1517   background: transparent;
    1518   border: none;
    1519   color: #fff;
    1520   font-size: 25px;
    1521   font-size: 1.5625rem;
    1522   height: 56px;
    1523   height: 3.5rem;
    1524   overflow: hidden;
    1525   position: absolute;
    1526   right: 16px;
    1527   right: 1rem;
    1528   top: -58px;
    1529   width: 56px;
    1530   width: 3.5rem;
    1531   -webkit-appearance: none;
    1532 }
    1533 
    1534 .toggled .menu-toggle:before {
    1535   content: "\f343";
    1536 }
    1537 
    1538 @media screen and (min-width: 48em) {
    1539   .menu-toggle {
    1540     display: none;
    1541   }
    1542   .main-navigation {
    1543     float: right;
    1544     position: initial;
    1545     width: initial;
    1546   }
    1547   .main-navigation.toggled {
    1548     padding: 1px 0;
    1549   }
    1550   .main-navigation ul {
    1551     display: inline-block;
    1552     font-size: 0;
    1553   }
    1554   .main-navigation ul li {
    1555     border: 0;
    1556     display: inline-block;
    1557     font-size: 16px;
    1558     font-size: 1rem;
    1559     margin-right: 16px;
    1560     margin-right: 1rem;
    1561     padding: 0;
    1562   }
    1563   .main-navigation ul li:last-of-type {
    1564     margin-right: 0;
    1565   }
    1566 }
    1567 
    15681315.site-main .comment-navigation, .site-main
    15691316.posts-navigation, .site-main
     
    16531400# Clearings
    16541401--------------------------------------------------------------*/
    1655 .clear:before, .plugin-upload-form .category-checklist:before, .plugin-meta:before, .single .type-plugin:before, .single .type-plugin .plugin-header:before,
     1402.clear:before, .plugin-upload-form .category-checklist:before, .single .type-plugin:before, .single .type-plugin .plugin-header:before, .plugin-meta:before,
    16561403.clear:after,
    16571404.plugin-upload-form .category-checklist:after,
    1658 .plugin-meta:after,
    16591405.single .type-plugin:after,
    16601406.single .type-plugin .plugin-header:after,
     1407.plugin-meta:after,
    16611408.entry-content:before,
    16621409.entry-content:after,
     
    16741421}
    16751422
    1676 .clear:after, .plugin-upload-form .category-checklist:after, .plugin-meta:after, .single .type-plugin:after, .single .type-plugin .plugin-header:after,
     1423.clear:after, .plugin-upload-form .category-checklist:after, .single .type-plugin:after, .single .type-plugin .plugin-header:after, .plugin-meta:after,
    16771424.entry-content:after,
    16781425.comment-content:after,
     
    16841431
    16851432/*--------------------------------------------------------------
    1686 # Widgets
    1687 --------------------------------------------------------------*/
    1688 .widget {
    1689   margin: 0 0 1.5em;
    1690 }
    1691 
    1692 .home .widget-area {
    1693   margin: 0 auto;
    1694   max-width: 960px;
    1695   padding: 0 1.5625rem 3.0517578125rem 1.5625rem;
    1696 }
    1697 
    1698 @media screen and (min-width: 48em) {
    1699   .home .widget-area {
    1700     padding: 0 10px 3.0517578125rem;
    1701   }
    1702 }
    1703 
    1704 .home .widget-area .widget {
    1705   display: inline-block;
    1706   font-size: 12.8px;
    1707   font-size: 0.8rem;
    1708   margin: 0;
    1709   vertical-align: top;
    1710   /* Make sure select elements fit in widgets. */
    1711 }
    1712 
    1713 @media screen and (min-width: 48em) {
    1714   .home .widget-area .widget {
    1715     margin-right: 5%;
    1716     width: 30%;
    1717   }
    1718   .home .widget-area .widget:last-child {
    1719     margin-right: 0;
    1720   }
    1721 }
    1722 
    1723 .home .widget-area .widget select {
    1724   max-width: 100%;
    1725 }
    1726 
    1727 .plugin-ratings {
    1728   font-size: 12.8px;
    1729   font-size: 0.8rem;
    1730   position: relative;
    1731 }
    1732 
    1733 .plugin-ratings .reviews-link {
    1734   position: absolute;
    1735   right: 0;
    1736   top: 4.8px;
    1737   top: 0.3rem;
    1738 }
    1739 
    1740 .plugin-ratings .reviews-link:after {
    1741   content: "\f345";
    1742   font-family: dashicons;
    1743   padding-left: 5px;
    1744   vertical-align: top;
    1745 }
    1746 
    1747 .plugin-ratings [class*='dashicons-star-'] {
    1748   color: #FFB900;
    1749   display: inline-block;
    1750   font-size: 25px;
    1751   font-size: 1.5625rem;
    1752   height: auto;
    1753   margin: 0;
    1754   width: auto;
    1755 }
    1756 
    1757 .plugin-ratings .ratings-list {
    1758   list-style-type: none;
    1759   margin: 16px 0;
    1760   margin: 1rem 0;
    1761   padding: 0;
    1762 }
    1763 
    1764 .plugin-ratings .ratings-list .counter-container,
    1765 .plugin-ratings .ratings-list .counter-container a {
    1766   width: 100%;
    1767 }
    1768 
    1769 .plugin-ratings .ratings-list .counter-label {
    1770   display: inline-block;
    1771   min-width: 58px;
    1772 }
    1773 
    1774 .plugin-ratings .ratings-list .counter-back,
    1775 .plugin-ratings .ratings-list .counter-bar {
    1776   display: inline-block;
    1777   height: 16px;
    1778   height: 1rem;
    1779   vertical-align: middle;
    1780 }
    1781 
    1782 .plugin-ratings .ratings-list .counter-back {
    1783   background-color: #ececec;
    1784   width: 58%;
    1785   width: -webkit-calc(100% - 130px);
    1786   width: calc(100% - 130px);
    1787 }
    1788 
    1789 .plugin-ratings .ratings-list .counter-bar {
    1790   background-color: #ffc733;
    1791   display: block;
    1792 }
    1793 
    1794 .plugin-ratings .ratings-list .counter-count {
    1795   margin-left: 3px;
    1796 }
    1797 
    1798 .plugin-support {
    1799   font-size: 12.8px;
    1800   font-size: 0.8rem;
    1801 }
    1802 
    1803 .plugin-support .counter-container {
    1804   margin-bottom: 16px;
    1805   margin-bottom: 1rem;
    1806   position: relative;
    1807 }
    1808 
    1809 .plugin-support .counter-back,
    1810 .plugin-support .counter-bar {
    1811   display: inline-block;
    1812   height: 30px;
    1813   vertical-align: middle;
    1814 }
    1815 
    1816 .plugin-support .counter-back {
    1817   background-color: #ececec;
    1818   width: 100%;
    1819 }
    1820 
    1821 .plugin-support .counter-bar {
    1822   background-color: #c7e8ca;
    1823   display: block;
    1824 }
    1825 
    1826 .plugin-support .counter-count {
    1827   font-size: 10.24px;
    1828   font-size: 0.64rem;
    1829   left: 8px;
    1830   position: absolute;
    1831   top: 8px;
    1832   width: 100%;
    1833   width: -webkit-calc(100% - 8px);
    1834   width: calc(100% - 8px);
    1835 }
    1836 
    1837 @media screen and (min-width: 48em) {
    1838   .plugin-support .counter-count {
    1839     top: 5px;
    1840   }
    1841 }
    1842 
    1843 .plugin-meta {
    1844   margin-top: 32px;
    1845   margin-top: 2rem;
    1846 }
    1847 
    1848 .plugin-meta ul {
    1849   font-size: 12.8px;
    1850   font-size: 0.8rem;
    1851   list-style-type: none;
    1852   margin: 0;
    1853   padding: 0;
    1854 }
    1855 
    1856 .plugin-meta li {
    1857   border-top: 1px solid #eee;
    1858   padding: 8px 0;
    1859   padding: 0.5rem 0;
    1860 }
    1861 
    1862 .plugin-meta li strong {
    1863   float: right;
    1864 }
    1865 
    1866 .plugin-meta .tags {
    1867   float: right;
    1868   text-align: right;
    1869   width: 60%;
    1870 }
    1871 
    1872 .plugin-meta [rel="tag"] {
    1873   background: #eee;
    1874   -webkit-border-radius: 2px;
    1875   border-radius: 2px;
    1876   color: #000;
    1877   display: inline-block;
    1878   font-size: 10.24px;
    1879   font-size: 0.64rem;
    1880   margin: 2px;
    1881   padding: 3px 6px;
    1882   position: relative;
    1883   white-space: nowrap;
    1884   width: auto;
    1885 }
    1886 
    1887 .plugin-meta [rel="tag"]:hover {
    1888   background: #f3f3f3;
    1889 }
    1890 
    1891 .plugin-meta [rel="tag"]:active {
    1892   background: #dfdfdf;
    1893 }
    1894 
    1895 /*--------------------------------------------------------------
    18961433# Content
    18971434--------------------------------------------------------------*/
    18981435/*--------------------------------------------------------------
    1899 ## Header
    1900 --------------------------------------------------------------*/
    1901 #wporg-header h1 {
    1902   margin: auto;
    1903 }
    1904 
    1905 #wporg-header h2.rosetta {
    1906   clear: none;
    1907 }
    1908 
    1909 #wporg-header form input {
    1910   -webkit-box-sizing: content-box;
    1911   -moz-box-sizing: content-box;
    1912   box-sizing: content-box;
    1913   padding: 3px;
    1914 }
    1915 
    1916 #wporg-header .button {
    1917   -webkit-box-shadow: none;
    1918   box-shadow: none;
    1919 }
    1920 
    1921 #wporg-header .download-button {
    1922   background-color: #21759b;
    1923   background-image: -webkit-gradient(linear, left top, left bottom, from(#2a95c5), to(#21759b));
    1924   background-image: -webkit-linear-gradient(top, #2a95c5, #21759b);
    1925   background-image: linear-gradient(to bottom, #2a95c5, #21759b);
    1926   border-bottom-color: #1e6a8d;
    1927   border-color: #21759b;
    1928   -webkit-box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.5);
    1929   box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.5);
    1930 }
    1931 
    1932 #wporg-header .download-button:hover, #wporg-header .download-button:focus {
    1933   background-color: #278ab7;
    1934   background-image: -webkit-gradient(linear, left top, left bottom, from(#2e9fd2), to(#21759b));
    1935   background-image: -webkit-linear-gradient(top, #2e9fd2, #21759b);
    1936   background-image: linear-gradient(to bottom, #2e9fd2, #21759b);
    1937   border-color: #1b607f;
    1938   -webkit-box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.6);
    1939   box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.6);
    1940   color: #fff;
    1941   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
    1942 }
    1943 
    1944 #wporg-header .download-button:active {
    1945   background: #1b607f;
    1946   background-image: -webkit-gradient(linear, left top, left bottom, from(#21759b), to(#278ab7));
    1947   background-image: -webkit-linear-gradient(top, #21759b, #278ab7);
    1948   background-image: linear-gradient(to bottom, #21759b, #278ab7);
    1949   border-color: #124560 #2382ae #2382ae #2382ae;
    1950   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
    1951   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
    1952   color: rgba(255, 255, 255, 0.95);
    1953   text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
    1954   -webkit-transform: none;
    1955   -ms-transform: none;
    1956   transform: none;
    1957 }
    1958 
    1959 #wporg-header a:hover,
    1960 #wporg-header a:focus,
    1961 #wporg-header a:active {
    1962   text-decoration: none;
    1963 }
    1964 
    1965 .site-header {
    1966   background: #0073aa;
    1967   padding: 16px 0;
    1968   padding: 1rem 0;
    1969   position: relative;
    1970 }
    1971 
    1972 .site-header .site-branding {
    1973   margin: 0 auto;
    1974   max-width: 960px;
    1975   padding: 0 1.5625rem;
    1976 }
    1977 
    1978 @media screen and (min-width: 48em) {
    1979   .site-header .site-branding {
    1980     padding: 0 10px;
    1981   }
    1982 }
    1983 
    1984 .site-header .site-title {
    1985   display: inline-block;
    1986   font-size: 25px;
    1987   font-size: 1.5625rem;
    1988   font-weight: 300;
    1989   line-height: 1;
    1990   margin: 0 32px 0 0;
    1991   margin: 0 2rem 0 0;
    1992   max-width: none;
    1993 }
    1994 
    1995 .site-header .site-title a {
    1996   color: #fff;
    1997   font-weight: 300;
    1998 }
    1999 
    2000 .site-header .site-title a:hover, .site-header .site-title a:focus, .site-header .site-title a:active {
    2001   text-decoration: none;
    2002 }
    2003 
    2004 .site-header .site-description {
    2005   color: rgba(255, 255, 255, 0.8);
    2006   font-size: 20px;
    2007   font-size: 1.25rem;
    2008   font-weight: 300;
    2009   margin: -6.4px auto 32px;
    2010   margin: -0.4rem auto 2rem;
    2011   text-align: center;
    2012 }
    2013 
    2014 .site-header.home {
    2015   padding: 1.5625rem 1.143rem;
    2016   text-align: center;
    2017 }
    2018 
    2019 .site-header.home .site-title {
    2020   display: inherit;
    2021   font-size: 61.03515625px;
    2022   font-size: 3.8146972656rem;
    2023   margin: 32px 0 16px;
    2024   margin: 2rem 0 1rem;
    2025 }
    2026 
    2027 /*--------------------------------------------------------------
    2028 ## Front Page
    2029 --------------------------------------------------------------*/
    2030 .plugin-section {
    2031   border-bottom: 2px solid #eee;
    2032   margin: 0 auto 4.768371582rem;
    2033   max-width: 960px;
    2034   padding-bottom: 3.0517578125rem;
    2035 }
    2036 
    2037 .plugin-section:last-of-type {
    2038   margin-bottom: 0;
    2039 }
    2040 
    2041 .plugin-section .section-header {
    2042   position: relative;
    2043 }
    2044 
    2045 .plugin-section .section-title {
    2046   font-size: 25px;
    2047   font-size: 1.5625rem;
    2048   font-weight: 400;
    2049   margin-bottom: 48px;
    2050   margin-bottom: 3rem;
    2051 }
    2052 
    2053 .plugin-section .section-link {
    2054   font-size: 16px;
    2055   font-size: 1rem;
    2056   position: absolute;
    2057   right: 0;
    2058   top: 11.2px;
    2059   top: 0.7rem;
    2060 }
    2061 
    2062 /*--------------------------------------------------------------
    20631436## Body
    20641437--------------------------------------------------------------*/
    2065 .site-main {
    2066   margin: 0 auto;
    2067   max-width: 960px;
    2068   padding: 3.0517578125rem 1.5625rem;
    2069 }
    2070 
    2071 @media screen and (min-width: 48em) {
    2072   .site-main {
    2073     padding: 3.0517578125rem 10px;
    2074   }
    2075 }
    2076 
    2077 .single .site-main {
    2078   padding: 0;
    2079 }
    2080 
    2081 @media screen and (min-width: 48em) {
    2082   .single .site-main {
    2083     padding: 0 10px 3.0517578125rem;
    2084   }
    2085 }
    2086 
    2087 .page .site-main {
    2088   padding-top: 0;
    2089 }
    2090 
    2091 .site-main .page-title {
    2092   font-size: 25px;
    2093   font-size: 1.5625rem;
    2094   font-weight: 400;
    2095 }
    2096 
    2097 .site-main .no-results {
    2098   margin: 0 auto;
    2099   max-width: 35.527136788rem;
    2100   padding: 0 32px;
    2101   padding: 0 2rem;
    2102 }
    2103 
    2104 .plugin-card {
    2105   margin-bottom: 4%;
    2106 }
    2107 
    2108 @media screen and (min-width: 48em) {
    2109   .plugin-card {
    2110     display: inline-block;
    2111     margin-right: 4%;
    2112     width: 48%;
    2113   }
    2114   .plugin-card:nth-of-type(even) {
    2115     margin-right: 0;
    2116   }
    2117 }
    2118 
    2119 .plugin-card .entry-thumbnail {
    2120   display: none;
    2121   max-width: 128px;
    2122 }
    2123 
    2124 .plugin-card .entry {
    2125   display: inline-block;
    2126   margin: auto;
    2127   vertical-align: top;
    2128 }
    2129 
    2130 @media screen and (min-width: 21em) {
    2131   .plugin-card .entry-thumbnail {
    2132     display: inline-block;
    2133     margin: 0 4% 0 0;
    2134     vertical-align: top;
    2135   }
    2136   .plugin-card .entry-thumbnail a {
    2137     display: block;
    2138   }
    2139   .plugin-card .entry {
    2140     width: -webkit-calc(96% - 128px);
    2141     width: calc(96% - 128px);
    2142   }
    2143 }
    2144 
    2145 .plugin-card .entry-title {
    2146   font-size: 16px;
    2147   font-size: 1rem;
    2148   line-height: 1.3;
    2149   margin: 0 0 8px;
    2150 }
    2151 
    2152 .plugin-card .entry-title a {
    2153   font-weight: 400;
    2154 }
    2155 
    2156 .plugin-card .plugin-rating {
    2157   line-height: 1;
    2158   margin: 0 10px 8px 0;
    2159 }
    2160 
    2161 .plugin-card .plugin-rating .wporg-ratings {
    2162   display: inline-block;
    2163   margin-right: 5px;
    2164 }
    2165 
    2166 .plugin-card .plugin-rating [class*='dashicons-star-'] {
    2167   color: #ffb900;
    2168 }
    2169 
    2170 .plugin-card .plugin-rating .rating-count {
    2171   color: #999;
    2172   font-size: 12.8px;
    2173   font-size: 0.8rem;
    2174   top: -1px;
    2175 }
    2176 
    2177 .plugin-card .entry-excerpt {
    2178   font-size: 12.8px;
    2179   font-size: 0.8rem;
    2180 }
    2181 
    2182 .plugin-card .entry-excerpt p {
    2183   margin: 0 0 8px;
    2184 }
    2185 
    2186 .rtl .dashicons-star-half {
    2187   -webkit-transform: rotateY(180deg);
    2188   transform: rotateY(180deg);
    2189 }
    2190 
    21911438.single .type-plugin .plugin-notice {
    21921439  margin-top: 0;
     
    22001447  font-size: 0;
    22011448  line-height: 0;
     1449  margin: 0 auto 18.288px;
    22021450  margin: 0 auto 1.143rem;
    22031451  padding-top: 32.38342%;
     
    22151463.single .type-plugin .plugin-header {
    22161464  border-bottom: 2px solid #eee;
     1465  padding: 18.288px 25px;
    22171466  padding: 1.143rem 1.5625rem;
    22181467}
     
    23001549@-webkit-keyframes favme-hover {
    23011550  from {
    2302     font-size: 22.86px;
    23031551    font-size: 1.42875rem;
    23041552  }
    23051553  80% {
    2306     font-size: 20px;
    23071554    font-size: 1.25rem;
    23081555  }
     
    23111558@keyframes favme-hover {
    23121559  from {
    2313     font-size: 22.86px;
    23141560    font-size: 1.42875rem;
    23151561  }
    23161562  80% {
    2317     font-size: 20px;
    23181563    font-size: 1.25rem;
    23191564  }
     
    23941639.single .type-plugin .entry-content,
    23951640.single .type-plugin .entry-meta {
     1641  padding: 0 25px;
    23961642  padding: 0 1.5625rem;
    23971643}
     
    25061752  border: none;
    25071753  color: #32373c;
    2508   font-weight: 600;
    25091754  padding: 0;
    25101755  text-transform: inherit;
     
    26041849  }
    26051850  .single .type-plugin .entry-content .plugin-reviews .review-avatar .avatar {
    2606     margin-right: 16px;
    26071851    margin-right: 1rem;
    26081852  }
     
    26681912    width: 30%;
    26691913  }
    2670 }
    2671 
    2672 /*--------------------------------------------------------------
    2673 ## Template Hierarchy
    2674 --------------------------------------------------------------*/
    2675 .error-404 .page-title {
    2676   text-align: center;
    2677 }
    2678 
    2679 .error-404 .page-content {
    2680   text-align: center;
    2681 }
    2682 
    2683 .error-404 .page-content .logo-swing {
    2684   height: 160px;
    2685   height: 10rem;
    2686   margin: 96px auto;
    2687   margin: 6rem auto;
    2688   position: relative;
    2689   text-align: center;
    2690   width: 160px;
    2691   width: 10rem;
    2692 }
    2693 
    2694 .error-404 .page-content .logo-swing .wp-logo {
    2695   left: 0;
    2696   max-width: none;
    2697   position: absolute;
    2698   top: 0;
    2699   width: 160px;
    2700   width: 10rem;
    2701 }
    2702 
    2703 @-webkit-keyframes hinge {
    2704   10% {
    2705     width: 180px;
    2706     height: 180px;
    2707     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2708     transform: rotate3d(0, 0, 1, 0deg);
    2709   }
    2710   15% {
    2711     width: 185px;
    2712     height: 185px;
    2713     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2714     transform: rotate3d(0, 0, 1, 0deg);
    2715   }
    2716   20% {
    2717     width: 180px;
    2718     height: 180px;
    2719     -webkit-transform: rotate3d(0, 0, 1, 5deg);
    2720     transform: rotate3d(0, 0, 1, 5deg);
    2721   }
    2722   40% {
    2723     -webkit-transform-origin: top left;
    2724     transform-origin: top left;
    2725     -webkit-animation-timing-function: ease-in-out;
    2726     animation-timing-function: ease-in-out;
    2727   }
    2728   60% {
    2729     -webkit-transform: rotate3d(0, 0, 1, 40deg);
    2730     transform: rotate3d(0, 0, 1, 40deg);
    2731     -webkit-transform-origin: top left;
    2732     transform-origin: top left;
    2733     -webkit-animation-timing-function: ease-in-out;
    2734     animation-timing-function: ease-in-out;
    2735   }
    2736   40%, 80% {
    2737     -webkit-transform: rotate3d(0, 0, 1, 60deg);
    2738     transform: rotate3d(0, 0, 1, 60deg);
    2739     -webkit-transform-origin: top left;
    2740     transform-origin: top left;
    2741     -webkit-animation-timing-function: ease-in-out;
    2742     animation-timing-function: ease-in-out;
    2743     opacity: 1;
    2744   }
    2745   to {
    2746     -webkit-transform: translate3d(0, 700px, 0);
    2747     transform: translate3d(0, 700px, 0);
    2748     opacity: 0;
    2749   }
    2750 }
    2751 
    2752 @keyframes hinge {
    2753   10% {
    2754     width: 180px;
    2755     height: 180px;
    2756     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2757     transform: rotate3d(0, 0, 1, 0deg);
    2758   }
    2759   15% {
    2760     width: 185px;
    2761     height: 185px;
    2762     -webkit-transform: rotate3d(0, 0, 1, 0deg);
    2763     transform: rotate3d(0, 0, 1, 0deg);
    2764   }
    2765   20% {
    2766     width: 180px;
    2767     height: 180px;
    2768     -webkit-transform: rotate3d(0, 0, 1, 5deg);
    2769     transform: rotate3d(0, 0, 1, 5deg);
    2770   }
    2771   40% {
    2772     -webkit-transform-origin: top left;
    2773     transform-origin: top left;
    2774     -webkit-animation-timing-function: ease-in-out;
    2775     animation-timing-function: ease-in-out;
    2776   }
    2777   60% {
    2778     -webkit-transform: rotate3d(0, 0, 1, 40deg);
    2779     transform: rotate3d(0, 0, 1, 40deg);
    2780     -webkit-transform-origin: top left;
    2781     transform-origin: top left;
    2782     -webkit-animation-timing-function: ease-in-out;
    2783     animation-timing-function: ease-in-out;
    2784   }
    2785   40%, 80% {
    2786     -webkit-transform: rotate3d(0, 0, 1, 60deg);
    2787     transform: rotate3d(0, 0, 1, 60deg);
    2788     -webkit-transform-origin: top left;
    2789     transform-origin: top left;
    2790     -webkit-animation-timing-function: ease-in-out;
    2791     animation-timing-function: ease-in-out;
    2792     opacity: 1;
    2793   }
    2794   to {
    2795     -webkit-transform: translate3d(0, 700px, 0);
    2796     transform: translate3d(0, 700px, 0);
    2797     opacity: 0;
    2798   }
    2799 }
    2800 
    2801 .hinge {
    2802   -webkit-animation-duration: 2s;
    2803   animation-duration: 2s;
    2804   -webkit-animation-name: hinge;
    2805   animation-name: hinge;
    2806 }
    2807 
    2808 .page .entry-header {
    2809   margin-top: 32px;
    2810   margin-top: 2rem;
    2811 }
    2812 
    2813 .page .entry-header .entry-title {
    2814   font-size: 25px;
    2815   font-size: 1.5625rem;
    2816   font-weight: 400;
    2817   margin: 0 auto;
    2818   max-width: 35.527136788rem;
    2819 }
    2820 
    2821 @media screen and (min-width: 48em) {
    2822   .page .entry-header .entry-title {
    2823     padding: 0 32px;
    2824     padding: 0 2rem;
    2825   }
    2826 }
    2827 
    2828 .page .entry-content h2 {
    2829   font-size: 25px;
    2830   font-size: 1.5625rem;
    2831   font-weight: 400;
    2832 }
    2833 
    2834 .page .entry-content h3 {
    2835   font-size: 16px;
    2836   font-size: 1rem;
    2837   font-weight: 600;
    2838   letter-spacing: 0.16px;
    2839   letter-spacing: 0.01rem;
    2840   text-transform: uppercase;
    2841 }
    2842 
    2843 .page .entry-content section {
    2844   padding: 32px 0;
    2845   padding: 2rem 0;
    2846 }
    2847 
    2848 .page .entry-content section .container {
    2849   margin: 0 auto;
    2850   max-width: 35.527136788rem;
    2851 }
    2852 
    2853 @media screen and (min-width: 48em) {
    2854   .page .entry-content section .container {
    2855     padding: 0 32px;
    2856     padding: 0 2rem;
    2857   }
    2858 }
    2859 
    2860 .page .entry-content section:first-of-type {
    2861   padding-top: 0;
    2862 }
    2863 
    2864 .page .entry-content section + section {
    2865   border-top: 2px solid #eee;
    2866 }
    2867 
    2868 .archive .site-main {
    2869   margin-top: 32px;
    2870   margin-top: 2rem;
    2871   padding-top: 0;
    2872 }
    2873 
    2874 .archive .page-header {
    2875   margin: 32px 0;
    2876   margin: 2rem 0;
    2877 }
    2878 
    2879 .search .site-main {
    2880   margin-top: 32px;
    2881   margin-top: 2rem;
    2882   padding-top: 0;
    2883 }
    2884 
    2885 .search.search-results .page-header {
    2886   margin: 32px 0;
    2887   margin: 2rem 0;
    2888 }
    2889 
    2890 /*--------------------------------------------------------------
    2891 ## Comments
    2892 --------------------------------------------------------------*/
    2893 .comment-content a {
    2894   word-wrap: break-word;
    2895 }
    2896 
    2897 .bypostauthor {
    2898   display: block;
    28991914}
    29001915
     
    29141929  cursor: pointer;
    29151930  display: inline-block;
     1931  font-size: 11.704px;
    29161932  font-size: 0.73152rem;
    29171933  line-height: 1;
     
    30642080  display: block;
    30652081}
     2082
     2083/*--------------------------------------------------------------
     2084# Components
     2085--------------------------------------------------------------*/
     2086.error-404 .page-title {
     2087  text-align: center;
     2088}
     2089
     2090.error-404 .page-content {
     2091  text-align: center;
     2092}
     2093
     2094.error-404 .page-content .logo-swing {
     2095  height: 160px;
     2096  height: 10rem;
     2097  margin: 96px auto;
     2098  margin: 6rem auto;
     2099  position: relative;
     2100  text-align: center;
     2101  width: 160px;
     2102  width: 10rem;
     2103}
     2104
     2105.error-404 .page-content .logo-swing .wp-logo {
     2106  left: 0;
     2107  max-width: none;
     2108  position: absolute;
     2109  top: 0;
     2110  width: 160px;
     2111  width: 10rem;
     2112}
     2113
     2114@-webkit-keyframes hinge {
     2115  10% {
     2116    width: 180px;
     2117    height: 180px;
     2118    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2119    transform: rotate3d(0, 0, 1, 0deg);
     2120  }
     2121  15% {
     2122    width: 185px;
     2123    height: 185px;
     2124    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2125    transform: rotate3d(0, 0, 1, 0deg);
     2126  }
     2127  20% {
     2128    width: 180px;
     2129    height: 180px;
     2130    -webkit-transform: rotate3d(0, 0, 1, 5deg);
     2131    transform: rotate3d(0, 0, 1, 5deg);
     2132  }
     2133  40% {
     2134    -webkit-transform-origin: top left;
     2135    transform-origin: top left;
     2136    -webkit-animation-timing-function: ease-in-out;
     2137    animation-timing-function: ease-in-out;
     2138  }
     2139  60% {
     2140    -webkit-transform: rotate3d(0, 0, 1, 40deg);
     2141    transform: rotate3d(0, 0, 1, 40deg);
     2142    -webkit-transform-origin: top left;
     2143    transform-origin: top left;
     2144    -webkit-animation-timing-function: ease-in-out;
     2145    animation-timing-function: ease-in-out;
     2146  }
     2147  40%, 80% {
     2148    -webkit-transform: rotate3d(0, 0, 1, 60deg);
     2149    transform: rotate3d(0, 0, 1, 60deg);
     2150    -webkit-transform-origin: top left;
     2151    transform-origin: top left;
     2152    -webkit-animation-timing-function: ease-in-out;
     2153    animation-timing-function: ease-in-out;
     2154    opacity: 1;
     2155  }
     2156  to {
     2157    -webkit-transform: translate3d(0, 700px, 0);
     2158    transform: translate3d(0, 700px, 0);
     2159    opacity: 0;
     2160  }
     2161}
     2162
     2163@keyframes hinge {
     2164  10% {
     2165    width: 180px;
     2166    height: 180px;
     2167    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2168    transform: rotate3d(0, 0, 1, 0deg);
     2169  }
     2170  15% {
     2171    width: 185px;
     2172    height: 185px;
     2173    -webkit-transform: rotate3d(0, 0, 1, 0deg);
     2174    transform: rotate3d(0, 0, 1, 0deg);
     2175  }
     2176  20% {
     2177    width: 180px;
     2178    height: 180px;
     2179    -webkit-transform: rotate3d(0, 0, 1, 5deg);
     2180    transform: rotate3d(0, 0, 1, 5deg);
     2181  }
     2182  40% {
     2183    -webkit-transform-origin: top left;
     2184    transform-origin: top left;
     2185    -webkit-animation-timing-function: ease-in-out;
     2186    animation-timing-function: ease-in-out;
     2187  }
     2188  60% {
     2189    -webkit-transform: rotate3d(0, 0, 1, 40deg);
     2190    transform: rotate3d(0, 0, 1, 40deg);
     2191    -webkit-transform-origin: top left;
     2192    transform-origin: top left;
     2193    -webkit-animation-timing-function: ease-in-out;
     2194    animation-timing-function: ease-in-out;
     2195  }
     2196  40%, 80% {
     2197    -webkit-transform: rotate3d(0, 0, 1, 60deg);
     2198    transform: rotate3d(0, 0, 1, 60deg);
     2199    -webkit-transform-origin: top left;
     2200    transform-origin: top left;
     2201    -webkit-animation-timing-function: ease-in-out;
     2202    animation-timing-function: ease-in-out;
     2203    opacity: 1;
     2204  }
     2205  to {
     2206    -webkit-transform: translate3d(0, 700px, 0);
     2207    transform: translate3d(0, 700px, 0);
     2208    opacity: 0;
     2209  }
     2210}
     2211
     2212.hinge {
     2213  -webkit-animation-duration: 2s;
     2214  animation-duration: 2s;
     2215  -webkit-animation-name: hinge;
     2216  animation-name: hinge;
     2217}
     2218
     2219.archive .site-main {
     2220  margin-top: 32px;
     2221  margin-top: 2rem;
     2222  padding-top: 0;
     2223}
     2224
     2225.archive .page-header {
     2226  margin: 32px 0;
     2227  margin: 2rem 0;
     2228}
     2229
     2230.plugin-section {
     2231  border-bottom: 2px solid #eee;
     2232  margin: 0 auto 76.293px;
     2233  margin: 0 auto 4.768371582rem;
     2234  max-width: 960px;
     2235  padding-bottom: 48.828px;
     2236  padding-bottom: 3.0517578125rem;
     2237}
     2238
     2239.plugin-section:last-of-type {
     2240  margin-bottom: 0;
     2241}
     2242
     2243.plugin-section .section-header {
     2244  position: relative;
     2245}
     2246
     2247.plugin-section .section-title {
     2248  font-size: 25px;
     2249  font-size: 1.5625rem;
     2250  font-weight: 400;
     2251  margin-bottom: 48px;
     2252  margin-bottom: 3rem;
     2253}
     2254
     2255.plugin-section .section-link {
     2256  font-size: 16px;
     2257  font-size: 1rem;
     2258  position: absolute;
     2259  right: 0;
     2260  top: 11.2px;
     2261  top: 0.7rem;
     2262}
     2263
     2264.page .entry-header {
     2265  margin-top: 32px;
     2266  margin-top: 2rem;
     2267}
     2268
     2269.page .entry-header .entry-title {
     2270  font-size: 25px;
     2271  font-size: 1.5625rem;
     2272  font-weight: 400;
     2273  margin: 0 auto;
     2274  max-width: 568.434px;
     2275  max-width: 35.527136788rem;
     2276}
     2277
     2278@media screen and (min-width: 48em) {
     2279  .page .entry-header .entry-title {
     2280    padding: 0 2rem;
     2281  }
     2282}
     2283
     2284.page .entry-content h2 {
     2285  font-size: 25px;
     2286  font-size: 1.5625rem;
     2287  font-weight: 400;
     2288}
     2289
     2290.page .entry-content h3 {
     2291  font-size: 16px;
     2292  font-size: 1rem;
     2293  font-weight: 600;
     2294  letter-spacing: 0.16px;
     2295  letter-spacing: 0.01rem;
     2296  text-transform: uppercase;
     2297}
     2298
     2299.page .entry-content section {
     2300  padding: 32px 0;
     2301  padding: 2rem 0;
     2302}
     2303
     2304.page .entry-content section .container {
     2305  margin: 0 auto;
     2306  max-width: 568.434px;
     2307  max-width: 35.527136788rem;
     2308}
     2309
     2310@media screen and (min-width: 48em) {
     2311  .page .entry-content section .container {
     2312    padding: 0 2rem;
     2313  }
     2314}
     2315
     2316.page .entry-content section:first-of-type {
     2317  padding-top: 0;
     2318}
     2319
     2320.page .entry-content section + section {
     2321  border-top: 2px solid #eee;
     2322}
     2323
     2324.plugin-card {
     2325  margin-bottom: 4%;
     2326}
     2327
     2328@media screen and (min-width: 48em) {
     2329  .plugin-card {
     2330    display: inline-block;
     2331    margin-right: 4%;
     2332    width: 48%;
     2333  }
     2334  .plugin-card:nth-of-type(even) {
     2335    margin-right: 0;
     2336  }
     2337}
     2338
     2339.plugin-card .entry {
     2340  display: inline-block;
     2341  margin: auto;
     2342  vertical-align: top;
     2343}
     2344
     2345@media screen and (min-width: 21em) {
     2346  .plugin-card .entry {
     2347    width: -webkit-calc(96% - 128px);
     2348    width: calc(96% - 128px);
     2349  }
     2350}
     2351
     2352.plugin-card .entry-title {
     2353  font-size: 16px;
     2354  font-size: 1rem;
     2355  line-height: 1.3;
     2356  margin: 0 0 8px;
     2357}
     2358
     2359.plugin-card .entry-title a {
     2360  font-weight: 400;
     2361}
     2362
     2363.plugin-card .entry-excerpt {
     2364  font-size: 12.8px;
     2365  font-size: 0.8rem;
     2366}
     2367
     2368.plugin-card .entry-excerpt p {
     2369  margin: 0 0 8px;
     2370}
     2371
     2372.entry-thumbnail {
     2373  display: none;
     2374  max-width: 128px;
     2375}
     2376
     2377@media screen and (min-width: 21em) {
     2378  .entry-thumbnail {
     2379    display: inline-block;
     2380    margin: 0 4% 0 0;
     2381    vertical-align: top;
     2382  }
     2383  .entry-thumbnail a {
     2384    display: block;
     2385  }
     2386}
     2387
     2388[class*='dashicons-star-'] {
     2389  color: #ffb900;
     2390}
     2391
     2392.rtl .dashicons-star-half {
     2393  -webkit-transform: rotateY(180deg);
     2394  transform: rotateY(180deg);
     2395}
     2396
     2397.plugin-rating {
     2398  line-height: 1;
     2399  margin: 0 10px 8px 0;
     2400}
     2401
     2402.plugin-rating .wporg-ratings {
     2403  display: inline-block;
     2404  margin-right: 5px;
     2405}
     2406
     2407.plugin-rating .rating-count {
     2408  color: #999;
     2409  font-size: 12.8px;
     2410  font-size: 0.8rem;
     2411  top: -1px;
     2412}
     2413
     2414.search-form {
     2415  font-size: 0;
     2416  margin-bottom: 32px;
     2417  margin-bottom: 2rem;
     2418  max-width: 100%;
     2419  position: relative;
     2420}
     2421
     2422.search-form .search-field {
     2423  border: none;
     2424  -webkit-border-radius: 0;
     2425  border-radius: 0;
     2426  -webkit-box-shadow: none;
     2427  box-shadow: none;
     2428  display: block;
     2429  font-size: 16px;
     2430  font-size: 1rem;
     2431  margin: 0 auto;
     2432  max-width: 100%;
     2433  padding: 8px;
     2434  padding: 0.5rem;
     2435  width: 363.797px;
     2436  width: 22.7373675443rem;
     2437}
     2438
     2439.search-form .button-search {
     2440  border-left: none;
     2441  -webkit-border-radius: 0 2px 2px 0;
     2442  border-radius: 0 2px 2px 0;
     2443  font-size: 16px;
     2444  font-size: 1rem;
     2445  position: relative;
     2446  right: auto;
     2447  top: auto;
     2448}
     2449
     2450.search-form .button-search:active {
     2451  background: #006799;
     2452  border-right: 1px solid #006799;
     2453  -webkit-box-shadow: none;
     2454  box-shadow: none;
     2455}
     2456
     2457.search-form .button-search .dashicons {
     2458  font-size: 16px;
     2459  font-size: 1rem;
     2460}
     2461
     2462.site-header .search-form {
     2463  display: inline-block;
     2464}
     2465
     2466.site-header.home .search-form .button-search,
     2467.site-main .search-form .button-search {
     2468  background: transparent;
     2469  border: none;
     2470  -webkit-border-radius: 0;
     2471  border-radius: 0;
     2472  -webkit-box-shadow: none;
     2473  box-shadow: none;
     2474  color: #32373c;
     2475  display: block;
     2476  height: 45px;
     2477  padding: 8px 16px;
     2478  padding: 0.5rem 1rem;
     2479  position: absolute;
     2480  right: 0;
     2481  text-shadow: none;
     2482  top: 0;
     2483}
     2484
     2485.site-header.home .search-form .button-search:focus,
     2486.site-main .search-form .button-search:focus {
     2487  -webkit-box-shadow: 0 0 2px 1px #33b3db;
     2488  box-shadow: 0 0 2px 1px #33b3db;
     2489}
     2490
     2491.site-header.home .search-form .button-search:active,
     2492.site-main .search-form .button-search:active {
     2493  background: transparent;
     2494  border: none;
     2495  -webkit-transform: none;
     2496  -ms-transform: none;
     2497  transform: none;
     2498}
     2499
     2500.site-header:not(.home) .search-form {
     2501  margin: 0;
     2502}
     2503
     2504.site-header:not(.home) .search-form .search-field {
     2505  border: 0;
     2506  -webkit-border-radius: 2px;
     2507  border-radius: 2px;
     2508  display: inline-block;
     2509  font-size: 16px;
     2510  font-size: 1rem;
     2511  padding: 5px 10px;
     2512  position: relative;
     2513  width: 100%;
     2514}
     2515
     2516@media screen and (min-width: 48em) {
     2517  .site-header:not(.home) .search-form .search-field {
     2518    -webkit-border-radius: 2px 0 0 2px;
     2519    border-radius: 2px 0 0 2px;
     2520    font-size: 0.64rem;
     2521    width: 7rem;
     2522  }
     2523  .site-header:not(.home) .search-form .search-field + .button-search {
     2524    display: inline-block;
     2525    margin-bottom: 0;
     2526  }
     2527}
     2528
     2529@media screen and (min-width: 60em) {
     2530  .site-header:not(.home) .search-form .search-field {
     2531    width: 10rem;
     2532  }
     2533}
     2534
     2535.site-main .search-form .search-field {
     2536  border: 1px solid #ddd;
     2537  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
     2538  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
     2539  padding: 8px;
     2540  padding: 0.5rem;
     2541  width: 100%;
     2542}
     2543
     2544.search .site-main {
     2545  margin-top: 32px;
     2546  margin-top: 2rem;
     2547  padding-top: 0;
     2548}
     2549
     2550.search.search-results .page-header {
     2551  margin: 32px 0;
     2552  margin: 2rem 0;
     2553}
     2554
     2555.main-navigation {
     2556  background: #0073aa;
     2557  clear: both;
     2558  left: 0;
     2559  position: absolute;
     2560  top: 60px;
     2561  width: 100%;
     2562}
     2563
     2564.main-navigation ul {
     2565  display: none;
     2566  list-style: none;
     2567  margin: 0;
     2568  padding-left: 0;
     2569}
     2570
     2571.main-navigation ul ul {
     2572  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
     2573  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
     2574  float: left;
     2575  left: -999em;
     2576  position: absolute;
     2577  top: 1.5em;
     2578  z-index: 99999;
     2579}
     2580
     2581.main-navigation ul ul ul {
     2582  left: -999em;
     2583  top: 0;
     2584}
     2585
     2586.main-navigation ul ul li:hover > ul,
     2587.main-navigation ul ul li.focus > ul {
     2588  left: 100%;
     2589}
     2590
     2591.main-navigation ul ul a {
     2592  width: 200px;
     2593}
     2594
     2595.main-navigation ul li:hover > ul,
     2596.main-navigation ul li.focus > ul {
     2597  left: auto;
     2598}
     2599
     2600.main-navigation li {
     2601  border-top: 1px solid rgba(255, 255, 255, 0.2);
     2602  padding: 16px;
     2603  padding: 1rem;
     2604}
     2605
     2606.main-navigation a {
     2607  color: rgba(255, 255, 255, 0.8);
     2608  display: block;
     2609  font-size: 12.8px;
     2610  font-size: 0.8rem;
     2611  text-decoration: none;
     2612}
     2613
     2614.main-navigation a:hover, .main-navigation a.active {
     2615  color: #fff;
     2616}
     2617
     2618@media screen and (min-width: 48em) {
     2619  .main-navigation a.active {
     2620    border-bottom: 1px solid;
     2621  }
     2622}
     2623
     2624/* Small menu. */
     2625.main-navigation.toggled ul {
     2626  display: block;
     2627}
     2628
     2629.menu-toggle {
     2630  background: transparent;
     2631  border: none;
     2632  color: #fff;
     2633  font-size: 25px;
     2634  font-size: 1.5625rem;
     2635  height: 56px;
     2636  height: 3.5rem;
     2637  overflow: hidden;
     2638  position: absolute;
     2639  right: 16px;
     2640  right: 1rem;
     2641  top: -58px;
     2642  width: 56px;
     2643  width: 3.5rem;
     2644  -webkit-appearance: none;
     2645}
     2646
     2647.toggled .menu-toggle:before {
     2648  content: "\f343";
     2649}
     2650
     2651@media screen and (min-width: 48em) {
     2652  .menu-toggle {
     2653    display: none;
     2654  }
     2655  .main-navigation {
     2656    float: right;
     2657    position: initial;
     2658    width: initial;
     2659  }
     2660  .main-navigation.toggled {
     2661    padding: 1px 0;
     2662  }
     2663  .main-navigation ul {
     2664    display: inline-block;
     2665    font-size: 0;
     2666  }
     2667  .main-navigation ul li {
     2668    border: 0;
     2669    display: inline-block;
     2670    font-size: 1rem;
     2671    margin-right: 1rem;
     2672    padding: 0;
     2673  }
     2674  .main-navigation ul li:last-of-type {
     2675    margin-right: 0;
     2676  }
     2677}
     2678
     2679.site-description {
     2680  color: rgba(255, 255, 255, 0.8);
     2681  font-size: 20px;
     2682  font-size: 1.25rem;
     2683  font-weight: 300;
     2684  margin: -6.4px auto 32px;
     2685  margin: -0.4rem auto 2rem;
     2686  text-align: center;
     2687}
     2688
     2689.site-title {
     2690  display: inline-block;
     2691  font-size: 25px;
     2692  font-size: 1.5625rem;
     2693  font-weight: 300;
     2694  line-height: 1;
     2695  margin: 0 32px 0 0;
     2696  margin: 0 2rem 0 0;
     2697  max-width: none;
     2698}
     2699
     2700.site-title a {
     2701  color: #fff;
     2702  font-weight: 300;
     2703}
     2704
     2705.site-title a:hover, .site-title a:focus, .site-title a:active {
     2706  text-decoration: none;
     2707}
     2708
     2709.site-header.home .site-title {
     2710  display: inherit;
     2711  font-size: 61.035px;
     2712  font-size: 3.8146972656rem;
     2713  margin: 32px 0 16px;
     2714  margin: 2rem 0 1rem;
     2715}
     2716
     2717.site-header {
     2718  background: #0073aa;
     2719  padding: 16px 0;
     2720  padding: 1rem 0;
     2721  position: relative;
     2722}
     2723
     2724.site-header .site-branding {
     2725  margin: 0 auto;
     2726  max-width: 960px;
     2727  padding: 0 25px;
     2728  padding: 0 1.5625rem;
     2729}
     2730
     2731@media screen and (min-width: 48em) {
     2732  .site-header .site-branding {
     2733    padding: 0 10px;
     2734  }
     2735}
     2736
     2737.site-header.home {
     2738  padding: 25px 18.288px;
     2739  padding: 1.5625rem 1.143rem;
     2740  text-align: center;
     2741}
     2742
     2743.site-main {
     2744  margin: 0 auto;
     2745  max-width: 960px;
     2746  padding: 48.828px 25px;
     2747  padding: 3.0517578125rem 1.5625rem;
     2748}
     2749
     2750@media screen and (min-width: 48em) {
     2751  .site-main {
     2752    padding: 3.0517578125rem 10px;
     2753  }
     2754}
     2755
     2756.single .site-main {
     2757  padding: 0;
     2758}
     2759
     2760@media screen and (min-width: 48em) {
     2761  .single .site-main {
     2762    padding: 0 10px 3.0517578125rem;
     2763  }
     2764}
     2765
     2766.page .site-main {
     2767  padding-top: 0;
     2768}
     2769
     2770.site-main .page-title {
     2771  font-size: 25px;
     2772  font-size: 1.5625rem;
     2773  font-weight: 400;
     2774}
     2775
     2776.site-main .no-results {
     2777  margin: 0 auto;
     2778  max-width: 568.434px;
     2779  max-width: 35.527136788rem;
     2780  padding: 0 32px;
     2781  padding: 0 2rem;
     2782}
     2783
     2784.widget {
     2785  margin: 0 0 1.5em;
     2786}
     2787
     2788.home .widget-area {
     2789  margin: 0 auto;
     2790  max-width: 960px;
     2791  padding: 0 25px 48.828px 25px;
     2792  padding: 0 1.5625rem 3.0517578125rem 1.5625rem;
     2793}
     2794
     2795@media screen and (min-width: 48em) {
     2796  .home .widget-area {
     2797    padding: 0 10px 3.0517578125rem;
     2798  }
     2799}
     2800
     2801.home .widget-area .widget {
     2802  display: inline-block;
     2803  font-size: 12.8px;
     2804  font-size: 0.8rem;
     2805  margin: 0;
     2806  vertical-align: top;
     2807  /* Make sure select elements fit in widgets. */
     2808}
     2809
     2810@media screen and (min-width: 48em) {
     2811  .home .widget-area .widget {
     2812    margin-right: 5%;
     2813    width: 30%;
     2814  }
     2815  .home .widget-area .widget:last-child {
     2816    margin-right: 0;
     2817  }
     2818}
     2819
     2820.home .widget-area .widget select {
     2821  max-width: 100%;
     2822}
     2823
     2824.plugin-ratings {
     2825  font-size: 12.8px;
     2826  font-size: 0.8rem;
     2827  position: relative;
     2828}
     2829
     2830.plugin-ratings .reviews-link {
     2831  position: absolute;
     2832  right: 0;
     2833  top: 4.8px;
     2834  top: 0.3rem;
     2835}
     2836
     2837.plugin-ratings .reviews-link:after {
     2838  content: "\f345";
     2839  font-family: dashicons;
     2840  padding-left: 5px;
     2841  vertical-align: top;
     2842}
     2843
     2844.plugin-ratings [class*='dashicons-star-'] {
     2845  color: #FFB900;
     2846  display: inline-block;
     2847  font-size: 25px;
     2848  font-size: 1.5625rem;
     2849  height: auto;
     2850  margin: 0;
     2851  width: auto;
     2852}
     2853
     2854.plugin-ratings .ratings-list {
     2855  list-style-type: none;
     2856  margin: 16px 0;
     2857  margin: 1rem 0;
     2858  padding: 0;
     2859}
     2860
     2861.plugin-ratings .ratings-list .counter-container,
     2862.plugin-ratings .ratings-list .counter-container a {
     2863  width: 100%;
     2864}
     2865
     2866.plugin-ratings .ratings-list .counter-label {
     2867  display: inline-block;
     2868  min-width: 58px;
     2869}
     2870
     2871.plugin-ratings .ratings-list .counter-back,
     2872.plugin-ratings .ratings-list .counter-bar {
     2873  display: inline-block;
     2874  height: 16px;
     2875  height: 1rem;
     2876  vertical-align: middle;
     2877}
     2878
     2879.plugin-ratings .ratings-list .counter-back {
     2880  background-color: #ececec;
     2881  width: 58%;
     2882  width: -webkit-calc(100% - 130px);
     2883  width: calc(100% - 130px);
     2884}
     2885
     2886.plugin-ratings .ratings-list .counter-bar {
     2887  background-color: #ffc733;
     2888  display: block;
     2889}
     2890
     2891.plugin-ratings .ratings-list .counter-count {
     2892  margin-left: 3px;
     2893}
     2894
     2895.plugin-support {
     2896  font-size: 12.8px;
     2897  font-size: 0.8rem;
     2898}
     2899
     2900.plugin-support .counter-container {
     2901  margin-bottom: 16px;
     2902  margin-bottom: 1rem;
     2903  position: relative;
     2904}
     2905
     2906.plugin-support .counter-back,
     2907.plugin-support .counter-bar {
     2908  display: inline-block;
     2909  height: 30px;
     2910  vertical-align: middle;
     2911}
     2912
     2913.plugin-support .counter-back {
     2914  background-color: #ececec;
     2915  width: 100%;
     2916}
     2917
     2918.plugin-support .counter-bar {
     2919  background-color: #c7e8ca;
     2920  display: block;
     2921}
     2922
     2923.plugin-support .counter-count {
     2924  font-size: 10.24px;
     2925  font-size: 0.64rem;
     2926  left: 8px;
     2927  position: absolute;
     2928  top: 8px;
     2929  width: 100%;
     2930  width: -webkit-calc(100% - 8px);
     2931  width: calc(100% - 8px);
     2932}
     2933
     2934@media screen and (min-width: 48em) {
     2935  .plugin-support .counter-count {
     2936    top: 5px;
     2937  }
     2938}
     2939
     2940.plugin-meta {
     2941  margin-top: 32px;
     2942  margin-top: 2rem;
     2943}
     2944
     2945.plugin-meta ul {
     2946  font-size: 12.8px;
     2947  font-size: 0.8rem;
     2948  list-style-type: none;
     2949  margin: 0;
     2950  padding: 0;
     2951}
     2952
     2953.plugin-meta li {
     2954  border-top: 1px solid #eee;
     2955  padding: 8px 0;
     2956  padding: 0.5rem 0;
     2957}
     2958
     2959.plugin-meta li strong {
     2960  float: right;
     2961}
     2962
     2963.plugin-meta .tags {
     2964  float: right;
     2965  text-align: right;
     2966  width: 60%;
     2967}
     2968
     2969.plugin-meta [rel="tag"] {
     2970  background: #eee;
     2971  -webkit-border-radius: 2px;
     2972  border-radius: 2px;
     2973  color: #000;
     2974  display: inline-block;
     2975  font-size: 10.24px;
     2976  font-size: 0.64rem;
     2977  margin: 2px;
     2978  padding: 3px 6px;
     2979  position: relative;
     2980  white-space: nowrap;
     2981  width: auto;
     2982}
     2983
     2984.plugin-meta [rel="tag"]:hover {
     2985  background: #f3f3f3;
     2986}
     2987
     2988.plugin-meta [rel="tag"]:active {
     2989  background: #dfdfdf;
     2990}
    30662991/*# sourceMappingURL=style.css.map */
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/js/theme.js

    r3792 r3847  
    1 !function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case"function":break;case"object":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,o){r.apply(this,[e,t,o].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var o=n(2),a=r(o),i=n(30),u=n(162),s=n(184),l=r(s),c=n(439),p=r(c);(0,i.render)(a["default"].createElement(u.Provider,{store:(0,p["default"])()},l["default"]),document.getElementById("content"))},function(e,t,n){"use strict";e.exports=n(3)},function(e,t,n){"use strict";var r=n(4),o=n(5),a=n(17),i=n(20),u=n(25),s=n(9),l=n(27),c=n(28),p=n(29),f=(n(11),s.createElement),d=s.createFactory,h=s.cloneElement,v=r,m={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:p},Component:a,createElement:f,cloneElement:h,isValidElement:s.isValidElement,PropTypes:l,createClass:i.createClass,createFactory:d,createMixin:function(e){return e},DOM:u,version:c,__spread:v};e.exports=m},function(e,t){"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(a){return!1}}var o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,i,u=n(e),s=1;s<arguments.length;s++){r=Object(arguments[s]);for(var l in r)o.call(r,l)&&(u[l]=r[l]);if(Object.getOwnPropertySymbols){i=Object.getOwnPropertySymbols(r);for(var c=0;c<i.length;c++)a.call(r,i[c])&&(u[i[c]]=r[i[c]])}}return u}},function(e,t,n){"use strict";function r(e){return(""+e).replace(_,"$&/")}function o(e,t){this.func=e,this.context=t,this.count=0}function a(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function i(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);g(e,a,r),o.release(r)}function u(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function s(e,t,n){var o=e.result,a=e.keyPrefix,i=e.func,u=e.context,s=i.call(u,t,e.count++);Array.isArray(s)?l(s,o,n,m.thatReturnsArgument):null!=s&&(v.isValidElement(s)&&(s=v.cloneAndReplaceKey(s,a+(!s.key||t&&t.key===s.key?"":r(s.key)+"/")+n)),o.push(s))}function l(e,t,n,o,a){var i="";null!=n&&(i=r(n)+"/");var l=u.getPooled(t,i,o,a);g(e,s,l),u.release(l)}function c(e,t,n){if(null==e)return e;var r=[];return l(e,r,null,t,n),r}function p(e,t,n){return null}function f(e,t){return g(e,p,null)}function d(e){var t=[];return l(e,t,null,m.thatReturnsArgument),t}var h=n(6),v=n(9),m=n(12),g=n(14),y=h.twoArgumentPooler,b=h.fourArgumentPooler,_=/\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,y),u.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(u,b);var E={forEach:i,map:c,mapIntoWithKeyPrefixInternal:l,count:f,toArray:d};e.exports=E},function(e,t,n){"use strict";var r=n(7),o=(n(8),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),a=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},i=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},u=function(e,t,n,r){var o=this;if(o.instancePool.length){var a=o.instancePool.pop();return o.call(a,e,t,n,r),a}return new o(e,t,n,r)},s=function(e,t,n,r,o){var a=this;if(a.instancePool.length){var i=a.instancePool.pop();return a.call(i,e,t,n,r,o),i}return new a(e,t,n,r,o)},l=function(e){var t=this;e instanceof t?void 0:r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=10,p=o,f=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||p,n.poolSize||(n.poolSize=c),n.release=l,n},d={addPoolingTo:f,oneArgumentPooler:o,twoArgumentPooler:a,threeArgumentPooler:i,fourArgumentPooler:u,fiveArgumentPooler:s};e.exports=d},function(e,t){"use strict";function n(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}e.exports=n},function(e,t,n){"use strict";function r(e,t,n,r,o,a,i,u){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,a,i,u],c=0;s=new Error(t.replace(/%s/g,function(){return l[c++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}e.exports=r},function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var a=n(4),i=n(10),u=(n(11),n(13),Object.prototype.hasOwnProperty),s="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103,l={key:!0,ref:!0,__self:!0,__source:!0},c=function(e,t,n,r,o,a,i){var u={$$typeof:s,type:e,key:t,ref:n,props:i,_owner:a};return u};c.createElement=function(e,t,n){var a,s={},p=null,f=null,d=null,h=null;if(null!=t){r(t)&&(f=t.ref),o(t)&&(p=""+t.key),d=void 0===t.__self?null:t.__self,h=void 0===t.__source?null:t.__source;for(a in t)u.call(t,a)&&!l.hasOwnProperty(a)&&(s[a]=t[a])}var v=arguments.length-2;if(1===v)s.children=n;else if(v>1){for(var m=Array(v),g=0;g<v;g++)m[g]=arguments[g+2];s.children=m}if(e&&e.defaultProps){var y=e.defaultProps;for(a in y)void 0===s[a]&&(s[a]=y[a])}return c(e,p,f,d,h,i.current,s)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){var n=c(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n},c.cloneElement=function(e,t,n){var s,p=a({},e.props),f=e.key,d=e.ref,h=e._self,v=e._source,m=e._owner;if(null!=t){r(t)&&(d=t.ref,m=i.current),o(t)&&(f=""+t.key);var g;e.type&&e.type.defaultProps&&(g=e.type.defaultProps);for(s in t)u.call(t,s)&&!l.hasOwnProperty(s)&&(void 0===t[s]&&void 0!==g?p[s]=g[s]:p[s]=t[s])}var y=arguments.length-2;if(1===y)p.children=n;else if(y>1){for(var b=Array(y),_=0;_<y;_++)b[_]=arguments[_+2];p.children=b}return c(e.type,f,d,h,v,m,p)},c.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===s},c.REACT_ELEMENT_TYPE=s,e.exports=c},function(e,t){"use strict";var n={current:null};e.exports=n},function(e,t,n){"use strict";var r=n(12),o=r;e.exports=o},function(e,t){"use strict";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t,n){"use strict";var r=!1;e.exports=r},function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,a){var f=typeof e;if("undefined"!==f&&"boolean"!==f||(e=null),null===e||"string"===f||"number"===f||u.isValidElement(e))return n(a,e,""===t?c+r(e,0):t),1;var d,h,v=0,m=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g<e.length;g++)d=e[g],h=m+r(d,g),v+=o(d,h,n,a);else{var y=s(e);if(y){var b,_=y.call(e);if(y!==e.entries)for(var E=0;!(b=_.next()).done;)d=b.value,h=m+r(d,E++),v+=o(d,h,n,a);else for(;!(b=_.next()).done;){var x=b.value;x&&(d=x[1],h=m+l.escape(x[0])+p+r(d,0),v+=o(d,h,n,a))}}else if("object"===f){var C="",w=String(e);i("31","[object Object]"===w?"object with keys {"+Object.keys(e).join(", ")+"}":w,C)}}return v}function a(e,t,n){return null==e?0:o(e,"",t,n)}var i=n(7),u=(n(10),n(9)),s=n(15),l=(n(8),n(16)),c=(n(11),"."),p=":";e.exports=a},function(e,t){"use strict";function n(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=n},function(e,t){"use strict";function n(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+e).replace(t,function(e){return n[e]});return"$"+r}function r(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1);return(""+r).replace(t,function(e){return n[e]})}var o={escape:n,unescape:r};e.exports=o},function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=i,this.updater=n||a}var o=n(7),a=n(18),i=(n(13),n(19));n(8),n(11);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e?o("85"):void 0,this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")};e.exports=r},function(e,t,n){"use strict";function r(e,t){}var o=(n(11),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){r(e,"forceUpdate")},enqueueReplaceState:function(e,t){r(e,"replaceState")},enqueueSetState:function(e,t){r(e,"setState")}});e.exports=o},function(e,t,n){"use strict";var r={};e.exports=r},function(e,t,n){"use strict";function r(e,t){var n=x.hasOwnProperty(t)?x[t]:null;w.hasOwnProperty(t)&&(n!==_.OVERRIDE_BASE?p("73",t):void 0),e&&(n!==_.DEFINE_MANY&&n!==_.DEFINE_MANY_MERGED?p("74",t):void 0)}function o(e,t){if(t){"function"==typeof t?p("75"):void 0,h.isValidElement(t)?p("76"):void 0;var n=e.prototype,o=n.__reactAutoBindPairs;t.hasOwnProperty(b)&&C.mixins(e,t.mixins);for(var a in t)if(t.hasOwnProperty(a)&&a!==b){var i=t[a],l=n.hasOwnProperty(a);if(r(l,a),C.hasOwnProperty(a))C[a](e,i);else{var c=x.hasOwnProperty(a),f="function"==typeof i,d=f&&!c&&!l&&t.autobind!==!1;if(d)o.push(a,i),n[a]=i;else if(l){var v=x[a];!c||v!==_.DEFINE_MANY_MERGED&&v!==_.DEFINE_MANY?p("77",v,a):void 0,v===_.DEFINE_MANY_MERGED?n[a]=u(n[a],i):v===_.DEFINE_MANY&&(n[a]=s(n[a],i))}else n[a]=i}}}}function a(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in C;o?p("78",n):void 0;var a=n in e;a?p("79",n):void 0,e[n]=r}}}function i(e,t){e&&t&&"object"==typeof e&&"object"==typeof t?void 0:p("80");for(var n in t)t.hasOwnProperty(n)&&(void 0!==e[n]?p("81",n):void 0,e[n]=t[n]);return e}function u(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return i(o,n),i(o,r),o}}function s(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function l(e,t){var n=t.bind(e);return n}function c(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=l(e,o)}}var p=n(7),f=n(4),d=n(17),h=n(9),v=(n(21),n(23),n(18)),m=n(19),g=(n(8),n(22)),y=n(24),b=(n(11),y({mixins:null})),_=g({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),E=[],x={mixins:_.DEFINE_MANY,statics:_.DEFINE_MANY,propTypes:_.DEFINE_MANY,contextTypes:_.DEFINE_MANY,childContextTypes:_.DEFINE_MANY,getDefaultProps:_.DEFINE_MANY_MERGED,getInitialState:_.DEFINE_MANY_MERGED,getChildContext:_.DEFINE_MANY_MERGED,render:_.DEFINE_ONCE,componentWillMount:_.DEFINE_MANY,componentDidMount:_.DEFINE_MANY,componentWillReceiveProps:_.DEFINE_MANY,shouldComponentUpdate:_.DEFINE_ONCE,componentWillUpdate:_.DEFINE_MANY,componentDidUpdate:_.DEFINE_MANY,componentWillUnmount:_.DEFINE_MANY,updateComponent:_.OVERRIDE_BASE},C={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)o(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=f({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=f({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=u(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=f({},e.propTypes,t)},statics:function(e,t){a(e,t)},autobind:function(){}},w={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e),t&&this.updater.enqueueCallback(this,t,"replaceState")},isMounted:function(){return this.updater.isMounted(this)}},P=function(){};f(P.prototype,d.prototype,w);var T={createClass:function(e){var t=function(e,n,r){this.__reactAutoBindPairs.length&&c(this),this.props=e,this.context=n,this.refs=m,this.updater=r||v,this.state=null;var o=this.getInitialState?this.getInitialState():null;"object"!=typeof o||Array.isArray(o)?p("82",t.displayName||"ReactCompositeComponent"):void 0,this.state=o};t.prototype=new P,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],E.forEach(o.bind(null,t)),o(t,e),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),t.prototype.render?void 0:p("83");for(var n in x)t.prototype[n]||(t.prototype[n]=null);return t},injection:{injectMixin:function(e){E.push(e)}}};e.exports=T},function(e,t,n){"use strict";var r=n(22),o=r({prop:null,context:null,childContext:null});e.exports=o},function(e,t,n){"use strict";var r=n(8),o=function(e){var t,n={};e instanceof Object&&!Array.isArray(e)?void 0:r(!1);for(t in e)e.hasOwnProperty(t)&&(n[t]=t);return n};e.exports=o},function(e,t,n){"use strict";var r={};e.exports=r},function(e,t){"use strict";var n=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};e.exports=n},function(e,t,n){"use strict";function r(e){return o.createFactory(e)}var o=n(9),a=n(26),i=a({a:"a",abbr:"abbr",address:"address",area:"area",article:"article",aside:"aside",audio:"audio",b:"b",base:"base",bdi:"bdi",bdo:"bdo",big:"big",blockquote:"blockquote",body:"body",br:"br",button:"button",canvas:"canvas",caption:"caption",cite:"cite",code:"code",col:"col",colgroup:"colgroup",data:"data",datalist:"datalist",dd:"dd",del:"del",details:"details",dfn:"dfn",dialog:"dialog",div:"div",dl:"dl",dt:"dt",em:"em",embed:"embed",fieldset:"fieldset",figcaption:"figcaption",figure:"figure",footer:"footer",form:"form",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",head:"head",header:"header",hgroup:"hgroup",hr:"hr",html:"html",i:"i",iframe:"iframe",img:"img",input:"input",ins:"ins",kbd:"kbd",keygen:"keygen",label:"label",legend:"legend",li:"li",link:"link",main:"main",map:"map",mark:"mark",menu:"menu",menuitem:"menuitem",meta:"meta",meter:"meter",nav:"nav",noscript:"noscript",object:"object",ol:"ol",optgroup:"optgroup",option:"option",output:"output",p:"p",param:"param",picture:"picture",pre:"pre",progress:"progress",q:"q",rp:"rp",rt:"rt",ruby:"ruby",s:"s",samp:"samp",script:"script",section:"section",select:"select",small:"small",source:"source",span:"span",strong:"strong",style:"style",sub:"sub",summary:"summary",sup:"sup",table:"table",tbody:"tbody",td:"td",textarea:"textarea",tfoot:"tfoot",th:"th",thead:"thead",time:"time",title:"title",tr:"tr",track:"track",u:"u",ul:"ul","var":"var",video:"video",wbr:"wbr",circle:"circle",clipPath:"clipPath",defs:"defs",ellipse:"ellipse",g:"g",image:"image",line:"line",linearGradient:"linearGradient",mask:"mask",path:"path",pattern:"pattern",polygon:"polygon",polyline:"polyline",radialGradient:"radialGradient",rect:"rect",stop:"stop",svg:"svg",text:"text",tspan:"tspan"},r);e.exports=i},function(e,t){"use strict";function n(e,t,n){if(!e)return null;var o={};for(var a in e)r.call(e,a)&&(o[a]=t.call(n,e[a],a,e));return o}var r=Object.prototype.hasOwnProperty;e.exports=n},function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function o(e){function t(t,n,r,o,a,i){if(o=o||w,i=i||r,null==n[r]){var u=E[a];return t?new Error("Required "+u+" `"+i+"` was not specified in "+("`"+o+"`.")):null}return e(n,r,o,a,i)}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function a(e){function t(t,n,r,o,a){var i=t[n],u=g(i);if(u!==e){var s=E[o],l=y(i);return new Error("Invalid "+s+" `"+a+"` of type "+("`"+l+"` supplied to `"+r+"`, expected ")+("`"+e+"`."))}return null}return o(t)}function i(){return o(x.thatReturns(null))}function u(e){function t(t,n,r,o,a){if("function"!=typeof e)return new Error("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var i=t[n];if(!Array.isArray(i)){var u=E[o],s=g(i);return new Error("Invalid "+u+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected an array."))}for(var l=0;l<i.length;l++){var c=e(i,l,r,o,a+"["+l+"]");if(c instanceof Error)return c}return null}return o(t)}function s(){function e(e,t,n,r,o){if(!_.isValidElement(e[t])){var a=E[r];return new Error("Invalid "+a+" `"+o+"` supplied to "+("`"+n+"`, expected a single ReactElement."))}return null}return o(e)}function l(e){function t(t,n,r,o,a){if(!(t[n]instanceof e)){var i=E[o],u=e.name||w,s=b(t[n]);return new Error("Invalid "+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected ")+("instance of `"+u+"`."))}return null}return o(t)}function c(e){function t(t,n,o,a,i){for(var u=t[n],s=0;s<e.length;s++)if(r(u,e[s]))return null;var l=E[a],c=JSON.stringify(e);return new Error("Invalid "+l+" `"+i+"` of value `"+u+"` "+("supplied to `"+o+"`, expected one of "+c+"."))}return o(Array.isArray(e)?t:function(){return new Error("Invalid argument supplied to oneOf, expected an instance of array.")})}function p(e){function t(t,n,r,o,a){if("function"!=typeof e)return new Error("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var i=t[n],u=g(i);if("object"!==u){var s=E[o];return new Error("Invalid "+s+" `"+a+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an object."))}for(var l in i)if(i.hasOwnProperty(l)){var c=e(i,l,r,o,a+"."+l);if(c instanceof Error)return c}return null}return o(t)}function f(e){function t(t,n,r,o,a){for(var i=0;i<e.length;i++){var u=e[i];if(null==u(t,n,r,o,a))return null}var s=E[o];return new Error("Invalid "+s+" `"+a+"` supplied to "+("`"+r+"`."))}return o(Array.isArray(e)?t:function(){return new Error("Invalid argument supplied to oneOfType, expected an instance of array.")})}function d(){function e(e,t,n,r,o){if(!v(e[t])){var a=E[r];return new Error("Invalid "+a+" `"+o+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return null}return o(e)}function h(e){function t(t,n,r,o,a){var i=t[n],u=g(i);if("object"!==u){var s=E[o];return new Error("Invalid "+s+" `"+a+"` of type `"+u+"` "+("supplied to `"+r+"`, expected `object`."))}for(var l in e){var c=e[l];if(c){var p=c(i,l,r,o,a+"."+l);if(p)return p}}return null}return o(t)}function v(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(v);if(null===e||_.isValidElement(e))return!0;var t=C(e);if(!t)return!1;var n,r=t.call(e);if(t!==e.entries){for(;!(n=r.next()).done;)if(!v(n.value))return!1}else for(;!(n=r.next()).done;){var o=n.value;if(o&&!v(o[1]))return!1}return!0;default:return!1}}function m(e,t){return"symbol"===e||("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function g(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":m(t,e)?"symbol":t}function y(e){var t=g(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function b(e){return e.constructor&&e.constructor.name?e.constructor.name:w}var _=n(9),E=n(23),x=n(12),C=n(15),w="<<anonymous>>",P={array:a("array"),bool:a("boolean"),func:a("function"),number:a("number"),object:a("object"),string:a("string"),symbol:a("symbol"),any:i(),arrayOf:u,element:s(),instanceOf:l,node:d(),objectOf:p,oneOf:c,oneOfType:f,shape:h};e.exports=P},function(e,t){"use strict";e.exports="15.2.1"},function(e,t,n){"use strict";function r(e){return a.isValidElement(e)?void 0:o("23"),e}var o=n(7),a=n(9);n(8);e.exports=r},function(e,t,n){"use strict";e.exports=n(31)},function(e,t,n){"use strict";var r=n(32),o=n(35),a=n(154),i=n(55),u=n(52),s=n(28),l=n(159),c=n(160),p=n(161);n(11);o.inject();var f={findDOMNode:l,render:a.render,unmountComponentAtNode:a.unmountComponentAtNode,version:s,unstable_batchedUpdates:u.batchedUpdates,unstable_renderSubtreeIntoContainer:p};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:a,Reconciler:i});e.exports=f},function(e,t,n){"use strict";function r(e){for(var t;t=e._renderedComponent;)e=t;return e}function o(e,t){var n=r(e);n._hostNode=t,t[v]=n}function a(e){var t=e._hostNode;t&&(delete t[v],e._hostNode=null)}function i(e,t){if(!(e._flags&h.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var i in n)if(n.hasOwnProperty(i)){var u=n[i],s=r(u)._domID;if(null!=s){for(;null!==a;a=a.nextSibling)if(1===a.nodeType&&a.getAttribute(d)===String(s)||8===a.nodeType&&a.nodeValue===" react-text: "+s+" "||8===a.nodeType&&a.nodeValue===" react-empty: "+s+" "){o(u,a);continue e}c("32",s)}}e._flags|=h.hasCachedChildNodes}}function u(e){if(e[v])return e[v];for(var t=[];!e[v];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[v]);e=t.pop())n=r,t.length&&i(r,e);return n}function s(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function l(e){if(void 0===e._hostNode?c("33"):void 0,e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent?void 0:c("34"),e=e._hostParent;for(;t.length;e=t.pop())i(e,e._hostNode);return e._hostNode}var c=n(7),p=n(33),f=n(34),d=(n(8),p.ID_ATTRIBUTE_NAME),h=f,v="__reactInternalInstance$"+Math.random().toString(36).slice(2),m={getClosestInstanceFromNode:u,getInstanceFromNode:s,getNodeFromInstance:l,precacheChildNodes:i,precacheNode:o,uncacheNode:a};e.exports=m},function(e,t,n){"use strict";function r(e,t){return(e&t)===t}var o=n(7),a=(n(8),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=a,n=e.Properties||{},i=e.DOMAttributeNamespaces||{},s=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&u._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in n){u.properties.hasOwnProperty(p)?o("48",p):void 0;var f=p.toLowerCase(),d=n[p],h={attributeName:f,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:r(d,t.MUST_USE_PROPERTY),hasBooleanValue:r(d,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(d,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(d,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(d,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1?void 0:o("50",p),s.hasOwnProperty(p)){var v=s[p];h.attributeName=v}i.hasOwnProperty(p)&&(h.attributeNamespace=i[p]),l.hasOwnProperty(p)&&(h.propertyName=l[p]),c.hasOwnProperty(p)&&(h.mutationMethod=c[p]),u.properties[p]=h}}}),i=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",u={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:i,ATTRIBUTE_NAME_CHAR:i+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<u._isCustomAttributeFunctions.length;t++){var n=u._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},injection:a};e.exports=u},function(e,t){"use strict";var n={hasCachedChildNodes:1};e.exports=n},function(e,t,n){"use strict";function r(){x||(x=!0,g.EventEmitter.injectReactEventListener(m),g.EventPluginHub.injectEventPluginOrder(i),g.EventPluginUtils.injectComponentTree(p),g.EventPluginUtils.injectTreeTraversal(d),g.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:_,BeforeInputEventPlugin:o}),g.HostComponent.injectGenericComponentClass(c),g.HostComponent.injectTextComponentClass(h),g.DOMProperty.injectDOMPropertyConfig(s),g.DOMProperty.injectDOMPropertyConfig(b),g.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),g.Updates.injectReconcileTransaction(y),g.Updates.injectBatchingStrategy(v),g.Component.injectEnvironment(l))}var o=n(36),a=n(51),i=n(63),u=n(64),s=n(69),l=n(70),c=n(84),p=n(32),f=n(125),d=n(126),h=n(127),v=n(128),m=n(129),g=n(132),y=n(133),b=n(141),_=n(142),E=n(143),x=!1;e.exports={inject:r}},function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function a(e){switch(e){case O.topCompositionStart:return N.compositionStart;case O.topCompositionEnd:return N.compositionEnd;case O.topCompositionUpdate:return N.compositionUpdate}}function i(e,t){return e===O.topKeyDown&&t.keyCode===E}function u(e,t){switch(e){case O.topKeyUp:return _.indexOf(t.keyCode)!==-1;case O.topKeyDown:return t.keyCode!==E;case O.topKeyPress:case O.topMouseDown:case O.topBlur:return!0;default:return!1}}function s(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function l(e,t,n,r){var o,l;if(x?o=a(e):R?u(e,n)&&(o=N.compositionEnd):i(e,n)&&(o=N.compositionStart),!o)return null;P&&(R||o!==N.compositionStart?o===N.compositionEnd&&R&&(l=R.getData()):R=m.getPooled(r));var c=g.getPooled(o,t,n,r);if(l)c.data=l;else{var p=s(n);null!==p&&(c.data=p)}return h.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case O.topCompositionEnd:return s(t);case O.topKeyPress:var n=t.which;return n!==T?null:(M=!0,S);case O.topTextInput:var r=t.data;return r===S&&M?null:r;default:return null}}function p(e,t){if(R){if(e===O.topCompositionEnd||u(e,t)){var n=R.getData();return m.release(R),R=null,n}return null}switch(e){case O.topPaste:return null;case O.topKeyPress:return t.which&&!o(t)?String.fromCharCode(t.which):null;case O.topCompositionEnd:return P?null:t.data;default:return null}}function f(e,t,n,r){var o;if(o=w?c(e,n):p(e,n),!o)return null;var a=y.getPooled(N.beforeInput,t,n,r);return a.data=o,h.accumulateTwoPhaseDispatches(a),a}var d=n(37),h=n(38),v=n(45),m=n(46),g=n(48),y=n(50),b=n(24),_=[9,13,27,32],E=229,x=v.canUseDOM&&"CompositionEvent"in window,C=null;v.canUseDOM&&"documentMode"in document&&(C=document.documentMode);var w=v.canUseDOM&&"TextEvent"in window&&!C&&!r(),P=v.canUseDOM&&(!x||C&&C>8&&C<=11),T=32,S=String.fromCharCode(T),O=d.topLevelTypes,N={beforeInput:{phasedRegistrationNames:{bubbled:b({onBeforeInput:null}),captured:b({onBeforeInputCapture:null})},dependencies:[O.topCompositionEnd,O.topKeyPress,O.topTextInput,O.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:b({onCompositionEnd:null}),captured:b({onCompositionEndCapture:null})},dependencies:[O.topBlur,O.topCompositionEnd,O.topKeyDown,O.topKeyPress,O.topKeyUp,O.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:b({onCompositionStart:null}),captured:b({onCompositionStartCapture:null})},dependencies:[O.topBlur,O.topCompositionStart,O.topKeyDown,O.topKeyPress,O.topKeyUp,O.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:b({onCompositionUpdate:null}),captured:b({onCompositionUpdateCapture:null})},dependencies:[O.topBlur,O.topCompositionUpdate,O.topKeyDown,O.topKeyPress,O.topKeyUp,O.topMouseDown]}},M=!1,R=null,k={eventTypes:N,extractEvents:function(e,t,n,r){return[l(e,t,n,r),f(e,t,n,r)]}};e.exports=k},function(e,t,n){"use strict";var r=n(22),o=r({bubbled:null,captured:null}),a=r({topAbort:null,topAnimationEnd:null,topAnimationIteration:null,topAnimationStart:null,topBlur:null,topCanPlay:null,topCanPlayThrough:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topDurationChange:null,topEmptied:null,topEncrypted:null,topEnded:null,topError:null,topFocus:null,topInput:null,topInvalid:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topLoadedData:null,topLoadedMetadata:null,topLoadStart:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topPause:null,topPlay:null,topPlaying:null,topProgress:null,topRateChange:null,topReset:null,topScroll:null,topSeeked:null,topSeeking:null,topSelectionChange:null,topStalled:null,topSubmit:null,topSuspend:null,topTextInput:null,topTimeUpdate:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topTransitionEnd:null,topVolumeChange:null,topWaiting:null,topWheel:null}),i={topLevelTypes:a,PropagationPhases:o};e.exports=i},function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return b(e,r)}function o(e,t,n){var o=t?y.bubbled:y.captured,a=r(e,n,o);a&&(n._dispatchListeners=m(n._dispatchListeners,a),n._dispatchInstances=m(n._dispatchInstances,e))}function a(e){e&&e.dispatchConfig.phasedRegistrationNames&&v.traverseTwoPhase(e._targetInst,o,e)}function i(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?v.getParentInstance(t):null;v.traverseTwoPhase(n,o,e)}}function u(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=b(e,r);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchInstances=m(n._dispatchInstances,e))}}function s(e){e&&e.dispatchConfig.registrationName&&u(e._targetInst,null,e)}function l(e){g(e,a)}function c(e){g(e,i)}function p(e,t,n,r){v.traverseEnterLeave(n,r,u,e,t)}function f(e){g(e,s)}var d=n(37),h=n(39),v=n(41),m=n(43),g=n(44),y=(n(11),d.PropagationPhases),b=h.getListener,_={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:f,accumulateEnterLeaveDispatches:p};e.exports=_},function(e,t,n){"use strict";var r=n(7),o=n(40),a=n(41),i=n(42),u=n(43),s=n(44),l=(n(8),{}),c=null,p=function(e,t){e&&(a.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},f=function(e){return p(e,!0)},d=function(e){return p(e,!1)},h={injection:{injectEventPluginOrder:o.injectEventPluginOrder,injectEventPluginsByName:o.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n?r("94",t,typeof n):void 0;var a=l[t]||(l[t]={});a[e._rootNodeID]=n;var i=o.registrationNameModules[t];i&&i.didPutListener&&i.didPutListener(e,t,n)},getListener:function(e,t){var n=l[t];return n&&n[e._rootNodeID]},deleteListener:function(e,t){var n=o.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=l[t];r&&delete r[e._rootNodeID]},deleteAllListeners:function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t][e._rootNodeID]){var n=o.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t),delete l[t][e._rootNodeID]}},extractEvents:function(e,t,n,r){for(var a,i=o.plugins,s=0;s<i.length;s++){var l=i[s];if(l){var c=l.extractEvents(e,t,n,r);c&&(a=u(a,c))}}return a},enqueueEvents:function(e){e&&(c=u(c,e))},processEventQueue:function(e){var t=c;c=null,e?s(t,f):s(t,d),c?r("95"):void 0,i.rethrowCaughtError()},__purge:function(){l={}},__getListenerBank:function(){return l}};e.exports=h},function(e,t,n){"use strict";function r(){if(u)for(var e in s){var t=s[e],n=u.indexOf(e);if(n>-1?void 0:i("96",e),!l.plugins[n]){t.extractEvents?void 0:i("97",e),
    2 l.plugins[n]=t;var r=t.eventTypes;for(var a in r)o(r[a],t,a)?void 0:i("98",a,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?i("99",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var u=r[o];a(u,t,n)}return!0}return!!e.registrationName&&(a(e.registrationName,t,n),!0)}function a(e,t,n){l.registrationNameModules[e]?i("100",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var i=n(7),u=(n(8),null),s={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){u?i("101"):void 0,u=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];s.hasOwnProperty(n)&&s[n]===o||(s[n]?i("102",n):void 0,s[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var r=l.registrationNameModules[t.phasedRegistrationNames[n]];if(r)return r}return null},_resetEventPlugins:function(){u=null;for(var e in s)s.hasOwnProperty(e)&&delete s[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=l},function(e,t,n){"use strict";function r(e){return e===y.topMouseUp||e===y.topTouchEnd||e===y.topTouchCancel}function o(e){return e===y.topMouseMove||e===y.topTouchMove}function a(e){return e===y.topMouseDown||e===y.topTouchStart}function i(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=b.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function u(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)i(e,t,n[o],r[o]);else n&&i(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function s(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=s(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function c(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)?h("103"):void 0,e.currentTarget=t?b.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function p(e){return!!e._dispatchListeners}var f,d,h=n(7),v=n(37),m=n(42),g=(n(8),n(11),{injectComponentTree:function(e){f=e},injectTreeTraversal:function(e){d=e}}),y=v.topLevelTypes,b={isEndish:r,isMoveish:o,isStartish:a,executeDirectDispatch:c,executeDispatchesInOrder:u,executeDispatchesInOrderStopAtTrue:l,hasDispatches:p,getInstanceFromNode:function(e){return f.getInstanceFromNode(e)},getNodeFromInstance:function(e){return f.getNodeFromInstance(e)},isAncestor:function(e,t){return d.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return d.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return d.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return d.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return d.traverseEnterLeave(e,t,n,r,o)},injection:g};e.exports=b},function(e,t,n){"use strict";function r(e,t,n,r){try{return t(n,r)}catch(a){return void(null===o&&(o=a))}}var o=null,a={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};e.exports=a},function(e,t,n){"use strict";function r(e,t){return null==t?o("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=n(7);n(8);e.exports=r},function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=n(4),a=n(6),i=n(47);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[i()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);var u=t>1?1-t:void 0;return this._fallbackText=o.slice(e,u),this._fallbackText}}),a.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";function r(){return!a&&o.canUseDOM&&(a="textContent"in document.documentElement?"textContent":"innerText"),a}var o=n(45),a=null;e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(49),a={data:null};o.augmentClass(r,a),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var a in o)if(o.hasOwnProperty(a)){var u=o[a];u?this[a]=u(n):"target"===a?this.target=r:this[a]=n[a]}var s=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return s?this.isDefaultPrevented=i.thatReturnsTrue:this.isDefaultPrevented=i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse,this}var o=n(4),a=n(6),i=n(12),u=(n(11),"function"==typeof Proxy,["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),s={type:null,target:null,currentTarget:i.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():e.returnValue=!1,this.isDefaultPrevented=i.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<u.length;n++)this[u[n]]=null}}),r.Interface=s,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var i=new r;o(i,e.prototype),e.prototype=i,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,a.addPoolingTo(e,a.fourArgumentPooler)},a.addPoolingTo(r,a.fourArgumentPooler),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(49),a={data:null};o.augmentClass(r,a),e.exports=r},function(e,t,n){"use strict";function r(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function o(e){var t=w.getPooled(M.change,k,e,P(e));_.accumulateTwoPhaseDispatches(t),C.batchedUpdates(a,t)}function a(e){b.enqueueEvents(e),b.processEventQueue(!1)}function i(e,t){R=e,k=t,R.attachEvent("onchange",o)}function u(){R&&(R.detachEvent("onchange",o),R=null,k=null)}function s(e,t){if(e===N.topChange)return t}function l(e,t,n){e===N.topFocus?(u(),i(t,n)):e===N.topBlur&&u()}function c(e,t){R=e,k=t,A=e.value,D=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(R,"value",L),R.attachEvent?R.attachEvent("onpropertychange",f):R.addEventListener("propertychange",f,!1)}function p(){R&&(delete R.value,R.detachEvent?R.detachEvent("onpropertychange",f):R.removeEventListener("propertychange",f,!1),R=null,k=null,A=null,D=null)}function f(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==A&&(A=t,o(e))}}function d(e,t){if(e===N.topInput)return t}function h(e,t,n){e===N.topFocus?(p(),c(t,n)):e===N.topBlur&&p()}function v(e,t){if((e===N.topSelectionChange||e===N.topKeyUp||e===N.topKeyDown)&&R&&R.value!==A)return A=R.value,k}function m(e){return e.nodeName&&"input"===e.nodeName.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function g(e,t){if(e===N.topClick)return t}var y=n(37),b=n(39),_=n(38),E=n(45),x=n(32),C=n(52),w=n(49),P=n(60),T=n(61),S=n(62),O=n(24),N=y.topLevelTypes,M={change:{phasedRegistrationNames:{bubbled:O({onChange:null}),captured:O({onChangeCapture:null})},dependencies:[N.topBlur,N.topChange,N.topClick,N.topFocus,N.topInput,N.topKeyDown,N.topKeyUp,N.topSelectionChange]}},R=null,k=null,A=null,D=null,I=!1;E.canUseDOM&&(I=T("change")&&(!("documentMode"in document)||document.documentMode>8));var j=!1;E.canUseDOM&&(j=T("input")&&(!("documentMode"in document)||document.documentMode>11));var L={get:function(){return D.get.call(this)},set:function(e){A=""+e,D.set.call(this,e)}},U={eventTypes:M,extractEvents:function(e,t,n,o){var a,i,u=t?x.getNodeFromInstance(t):window;if(r(u)?I?a=s:i=l:S(u)?j?a=d:(a=v,i=h):m(u)&&(a=g),a){var c=a(e,t);if(c){var p=w.getPooled(M.change,c,n,o);return p.type="change",_.accumulateTwoPhaseDispatches(p),p}}i&&i(e,u,t)}};e.exports=U},function(e,t,n){"use strict";function r(){S.ReactReconcileTransaction&&E?void 0:c("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=f.getPooled(),this.reconcileTransaction=S.ReactReconcileTransaction.getPooled(!0)}function a(e,t,n,o,a,i){r(),E.batchedUpdates(e,t,n,o,a,i)}function i(e,t){return e._mountOrder-t._mountOrder}function u(e){var t=e.dirtyComponentsLength;t!==g.length?c("124",t,g.length):void 0,g.sort(i),y++;for(var n=0;n<t;n++){var r=g[n],o=r._pendingCallbacks;r._pendingCallbacks=null;var a;if(h.logTopLevelRenders){var u=r;r._currentElement.props===r._renderedComponent._currentElement&&(u=r._renderedComponent),a="React update: "+u.getName(),console.time(a)}if(v.performUpdateIfNecessary(r,e.reconcileTransaction,y),a&&console.timeEnd(a),o)for(var s=0;s<o.length;s++)e.callbackQueue.enqueue(o[s],r.getPublicInstance())}}function s(e){return r(),E.isBatchingUpdates?(g.push(e),void(null==e._updateBatchNumber&&(e._updateBatchNumber=y+1))):void E.batchedUpdates(s,e)}function l(e,t){E.isBatchingUpdates?void 0:c("125"),b.enqueue(e,t),_=!0}var c=n(7),p=n(4),f=n(53),d=n(6),h=n(54),v=n(55),m=n(59),g=(n(8),[]),y=0,b=f.getPooled(),_=!1,E=null,x={initialize:function(){this.dirtyComponentsLength=g.length},close:function(){this.dirtyComponentsLength!==g.length?(g.splice(0,this.dirtyComponentsLength),P()):g.length=0}},C={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},w=[x,C];p(o.prototype,m.Mixin,{getTransactionWrappers:function(){return w},destructor:function(){this.dirtyComponentsLength=null,f.release(this.callbackQueue),this.callbackQueue=null,S.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return m.Mixin.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),d.addPoolingTo(o);var P=function(){for(;g.length||_;){if(g.length){var e=o.getPooled();e.perform(u,null,e),o.release(e)}if(_){_=!1;var t=b;b=f.getPooled(),t.notifyAll(),f.release(t)}}},T={injectReconcileTransaction:function(e){e?void 0:c("126"),S.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:c("127"),"function"!=typeof e.batchedUpdates?c("128"):void 0,"boolean"!=typeof e.isBatchingUpdates?c("129"):void 0,E=e}},S={ReactReconcileTransaction:null,batchedUpdates:a,enqueueUpdate:s,flushBatchedUpdates:P,injection:T,asap:l};e.exports=S},function(e,t,n){"use strict";function r(){this._callbacks=null,this._contexts=null}var o=n(7),a=n(4),i=n(6);n(8);a(r.prototype,{enqueue:function(e,t){this._callbacks=this._callbacks||[],this._contexts=this._contexts||[],this._callbacks.push(e),this._contexts.push(t)},notifyAll:function(){var e=this._callbacks,t=this._contexts;if(e){e.length!==t.length?o("24"):void 0,this._callbacks=null,this._contexts=null;for(var n=0;n<e.length;n++)e[n].call(t[n]);e.length=0,t.length=0}},checkpoint:function(){return this._callbacks?this._callbacks.length:0},rollback:function(e){this._callbacks&&(this._callbacks.length=e,this._contexts.length=e)},reset:function(){this._callbacks=null,this._contexts=null},destructor:function(){this.reset()}}),i.addPoolingTo(r),e.exports=r},function(e,t){"use strict";var n={logTopLevelRenders:!1};e.exports=n},function(e,t,n){"use strict";function r(){a.attachRefs(this,this._currentElement)}var o=n(7),a=n(56),i=(n(58),n(8),{mountComponent:function(e,t,n,o,a){var i=e.mountComponent(t,n,o,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),i},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){a.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,o){var i=e._currentElement;if(t!==i||o!==e._context){var u=a.shouldUpdateRefs(i,t);u&&a.detachRefs(e,i),e.receiveComponent(t,n,o),u&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){return e._updateBatchNumber!==n?void(null!=e._updateBatchNumber&&e._updateBatchNumber!==n+1?o("121",n,e._updateBatchNumber):void 0):void e.performUpdateIfNecessary(t)}});e.exports=i},function(e,t,n){"use strict";function r(e,t,n){"function"==typeof e?e(t.getPublicInstance()):a.addComponentAsRefTo(t,e,n)}function o(e,t,n){"function"==typeof e?e(null):a.removeComponentAsRefFrom(t,e,n)}var a=n(57),i={};i.attachRefs=function(e,t){if(null!==t&&t!==!1){var n=t.ref;null!=n&&r(n,e,t._owner)}},i.shouldUpdateRefs=function(e,t){var n=null===e||e===!1,r=null===t||t===!1;return n||r||t._owner!==e._owner||t.ref!==e.ref},i.detachRefs=function(e,t){if(null!==t&&t!==!1){var n=t.ref;null!=n&&o(n,e,t._owner)}},e.exports=i},function(e,t,n){"use strict";var r=n(7),o=(n(8),{isValidOwner:function(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)},addComponentAsRefTo:function(e,t,n){o.isValidOwner(n)?void 0:r("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){o.isValidOwner(n)?void 0:r("120");var a=n.getPublicInstance();a&&a.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});e.exports=o},function(e,t,n){"use strict";var r=null;e.exports={debugTool:r}},function(e,t,n){"use strict";var r=n(7),o=(n(8),{reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,a,i,u,s){this.isInTransaction()?r("27"):void 0;var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,a,i,u,s),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(p){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=a.OBSERVED_ERROR,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===a.OBSERVED_ERROR)try{this.initializeAll(n+1)}catch(o){}}}},closeAll:function(e){this.isInTransaction()?void 0:r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var o,i=t[n],u=this.wrapperInitData[n];try{o=!0,u!==a.OBSERVED_ERROR&&i.close&&i.close.call(this,u),o=!1}finally{if(o)try{this.closeAll(n+1)}catch(s){}}}this.wrapperInitData.length=0}}),a={Mixin:o,OBSERVED_ERROR:{}};e.exports=a},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){"use strict";/**
     1/******/ (function(modules) { // webpackBootstrap
     2/******/    // The module cache
     3/******/    var installedModules = {};
     4/******/
     5/******/    // The require function
     6/******/    function __webpack_require__(moduleId) {
     7/******/
     8/******/        // Check if module is in cache
     9/******/        if(installedModules[moduleId])
     10/******/            return installedModules[moduleId].exports;
     11/******/
     12/******/        // Create a new module (and put it into the cache)
     13/******/        var module = installedModules[moduleId] = {
     14/******/            exports: {},
     15/******/            id: moduleId,
     16/******/            loaded: false
     17/******/        };
     18/******/
     19/******/        // Execute the module function
     20/******/        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
     21/******/
     22/******/        // Flag the module as loaded
     23/******/        module.loaded = true;
     24/******/
     25/******/        // Return the exports of the module
     26/******/        return module.exports;
     27/******/    }
     28/******/
     29/******/
     30/******/    // expose the modules object (__webpack_modules__)
     31/******/    __webpack_require__.m = modules;
     32/******/
     33/******/    // expose the module cache
     34/******/    __webpack_require__.c = installedModules;
     35/******/
     36/******/    // __webpack_public_path__
     37/******/    __webpack_require__.p = "";
     38/******/
     39/******/    // Load entry module and return exports
     40/******/    return __webpack_require__(0);
     41/******/ })
     42/************************************************************************/
     43/******/ ([
     44/* 0 */
     45/***/ function(module, exports, __webpack_require__) {
     46
     47    module.exports = __webpack_require__(1);
     48
     49
     50/***/ },
     51/* 1 */
     52/***/ function(module, exports, __webpack_require__) {
     53
     54    'use strict';
     55   
     56    var _react = __webpack_require__(169);
     57   
     58    var _react2 = _interopRequireDefault(_react);
     59   
     60    var _reactDom = __webpack_require__(2);
     61   
     62    var _reactRedux = __webpack_require__(167);
     63   
     64    var _router = __webpack_require__(195);
     65   
     66    var _router2 = _interopRequireDefault(_router);
     67   
     68    var _store = __webpack_require__(450);
     69   
     70    var _store2 = _interopRequireDefault(_store);
     71   
     72    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
     73   
     74    (0, _reactDom.render)(_react2.default.createElement(
     75        _reactRedux.Provider,
     76        { store: (0, _store2.default)() },
     77        _router2.default
     78    ), document.getElementById('content'));
     79
     80/***/ },
     81/* 2 */
     82/***/ function(module, exports, __webpack_require__) {
     83
     84    'use strict';
     85   
     86    module.exports = __webpack_require__(3);
     87
     88
     89/***/ },
     90/* 3 */
     91/***/ function(module, exports, __webpack_require__) {
     92
     93    /* WEBPACK VAR INJECTION */(function(process) {/**
     94     * Copyright 2013-present, Facebook, Inc.
     95     * All rights reserved.
     96     *
     97     * This source code is licensed under the BSD-style license found in the
     98     * LICENSE file in the root directory of this source tree. An additional grant
     99     * of patent rights can be found in the PATENTS file in the same directory.
     100     *
     101     * @providesModule ReactDOM
     102     */
     103   
     104    /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/
     105   
     106    'use strict';
     107   
     108    var ReactDOMComponentTree = __webpack_require__(5);
     109    var ReactDefaultInjection = __webpack_require__(10);
     110    var ReactMount = __webpack_require__(158);
     111    var ReactReconciler = __webpack_require__(36);
     112    var ReactUpdates = __webpack_require__(33);
     113    var ReactVersion = __webpack_require__(163);
     114   
     115    var findDOMNode = __webpack_require__(164);
     116    var getHostComponentFromComposite = __webpack_require__(165);
     117    var renderSubtreeIntoContainer = __webpack_require__(166);
     118    var warning = __webpack_require__(19);
     119   
     120    ReactDefaultInjection.inject();
     121   
     122    var React = {
     123      findDOMNode: findDOMNode,
     124      render: ReactMount.render,
     125      unmountComponentAtNode: ReactMount.unmountComponentAtNode,
     126      version: ReactVersion,
     127   
     128      /* eslint-disable camelcase */
     129      unstable_batchedUpdates: ReactUpdates.batchedUpdates,
     130      unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer
     131    };
     132   
     133    // Inject the runtime into a devtools global hook regardless of browser.
     134    // Allows for debugging when the hook is injected on the page.
     135    /* eslint-enable camelcase */
     136    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
     137      __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
     138        ComponentTree: {
     139          getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,
     140          getNodeFromInstance: function (inst) {
     141            // inst is an internal instance (but could be a composite)
     142            if (inst._renderedComponent) {
     143              inst = getHostComponentFromComposite(inst);
     144            }
     145            if (inst) {
     146              return ReactDOMComponentTree.getNodeFromInstance(inst);
     147            } else {
     148              return null;
     149            }
     150          }
     151        },
     152        Mount: ReactMount,
     153        Reconciler: ReactReconciler
     154      });
     155    }
     156   
     157    if (process.env.NODE_ENV !== 'production') {
     158      var ExecutionEnvironment = __webpack_require__(23);
     159      if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
     160   
     161        // First check if devtools is not installed
     162        if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
     163          // If we're in Chrome or Firefox, provide a download link if not installed.
     164          if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {
     165            // Firefox does not have the issue with devtools loaded over file://
     166            var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;
     167            console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools');
     168          }
     169        }
     170   
     171        var testFunc = function testFn() {};
     172        process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;
     173   
     174        // If we're in IE8, check to see if we are in compatibility mode and provide
     175        // information on preventing compatibility mode
     176        var ieCompatibilityMode = document.documentMode && document.documentMode < 8;
     177   
     178        process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : void 0;
     179   
     180        var expectedFeatures = [
     181        // shims
     182        Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim];
     183   
     184        for (var i = 0; i < expectedFeatures.length; i++) {
     185          if (!expectedFeatures[i]) {
     186            process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0;
     187            break;
     188          }
     189        }
     190      }
     191    }
     192   
     193    module.exports = React;
     194    /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
     195
     196/***/ },
     197/* 4 */
     198/***/ function(module, exports) {
     199
     200    // shim for using process in browser
     201   
     202    var process = module.exports = {};
     203   
     204    // cached from whatever global is present so that test runners that stub it
     205    // don't break things.  But we need to wrap it in a try catch in case it is
     206    // wrapped in strict mode code which doesn't define any globals.  It's inside a
     207    // function because try/catches deoptimize in certain engines.
     208   
     209    var cachedSetTimeout;
     210    var cachedClearTimeout;
     211   
     212    (function () {
     213      try {
     214        cachedSetTimeout = setTimeout;
     215      } catch (e) {
     216        cachedSetTimeout = function () {
     217          throw new Error('setTimeout is not defined');
     218        }
     219      }
     220      try {
     221        cachedClearTimeout = clearTimeout;
     222      } catch (e) {
     223        cachedClearTimeout = function () {
     224          throw new Error('clearTimeout is not defined');
     225        }
     226      }
     227    } ())
     228    var queue = [];
     229    var draining = false;
     230    var currentQueue;
     231    var queueIndex = -1;
     232   
     233    function cleanUpNextTick() {
     234        if (!draining || !currentQueue) {
     235            return;
     236        }
     237        draining = false;
     238        if (currentQueue.length) {
     239            queue = currentQueue.concat(queue);
     240        } else {
     241            queueIndex = -1;
     242        }
     243        if (queue.length) {
     244            drainQueue();
     245        }
     246    }
     247   
     248    function drainQueue() {
     249        if (draining) {
     250            return;
     251        }
     252        var timeout = cachedSetTimeout(cleanUpNextTick);
     253        draining = true;
     254   
     255        var len = queue.length;
     256        while(len) {
     257            currentQueue = queue;
     258            queue = [];
     259            while (++queueIndex < len) {
     260                if (currentQueue) {
     261                    currentQueue[queueIndex].run();
     262                }
     263            }
     264            queueIndex = -1;
     265            len = queue.length;
     266        }
     267        currentQueue = null;
     268        draining = false;
     269        cachedClearTimeout(timeout);
     270    }
     271   
     272    process.nextTick = function (fun) {
     273        var args = new Array(arguments.length - 1);
     274        if (arguments.length > 1) {
     275            for (var i = 1; i < arguments.length; i++) {
     276                args[i - 1] = arguments[i];
     277            }
     278        }
     279        queue.push(new Item(fun, args));
     280        if (queue.length === 1 && !draining) {
     281            cachedSetTimeout(drainQueue, 0);
     282        }
     283    };
     284   
     285    // v8 likes predictible objects
     286    function Item(fun, array) {
     287        this.fun = fun;
     288        this.array = array;
     289    }
     290    Item.prototype.run = function () {
     291        this.fun.apply(null, this.array);
     292    };
     293    process.title = 'browser';
     294    process.browser = true;
     295    process.env = {};
     296    process.argv = [];
     297    process.version = ''; // empty string to avoid regexp issues
     298    process.versions = {};
     299   
     300    function noop() {}
     301   
     302    process.on = noop;
     303    process.addListener = noop;
     304    process.once = noop;
     305    process.off = noop;
     306    process.removeListener = noop;
     307    process.removeAllListeners = noop;
     308    process.emit = noop;
     309   
     310    process.binding = function (name) {
     311        throw new Error('process.binding is not supported');
     312    };
     313   
     314    process.cwd = function () { return '/' };
     315    process.chdir = function (dir) {
     316        throw new Error('process.chdir is not supported');
     317    };
     318    process.umask = function() { return 0; };
     319
     320
     321/***/ },
     322/* 5 */
     323/***/ function(module, exports, __webpack_require__) {
     324
     325    /* WEBPACK VAR INJECTION */(function(process) {/**
     326     * Copyright 2013-present, Facebook, Inc.
     327     * All rights reserved.
     328     *
     329     * This source code is licensed under the BSD-style license found in the
     330     * LICENSE file in the root directory of this source tree. An additional grant
     331     * of patent rights can be found in the PATENTS file in the same directory.
     332     *
     333     * @providesModule ReactDOMComponentTree
     334     */
     335   
     336    'use strict';
     337   
     338    var _prodInvariant = __webpack_require__(6);
     339   
     340    var DOMProperty = __webpack_require__(7);
     341    var ReactDOMComponentFlags = __webpack_require__(9);
     342   
     343    var invariant = __webpack_require__(8);
     344   
     345    var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
     346    var Flags = ReactDOMComponentFlags;
     347   
     348    var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);
     349   
     350    /**
     351     * Drill down (through composites and empty components) until we get a host or
     352     * host text component.
     353     *
     354     * This is pretty polymorphic but unavoidable with the current structure we have
     355     * for `_renderedChildren`.
     356     */
     357    function getRenderedHostOrTextFromComponent(component) {
     358      var rendered;
     359      while (rendered = component._renderedComponent) {
     360        component = rendered;
     361      }
     362      return component;
     363    }
     364   
     365    /**
     366     * Populate `_hostNode` on the rendered host/text component with the given
     367     * DOM node. The passed `inst` can be a composite.
     368     */
     369    function precacheNode(inst, node) {
     370      var hostInst = getRenderedHostOrTextFromComponent(inst);
     371      hostInst._hostNode = node;
     372      node[internalInstanceKey] = hostInst;
     373    }
     374   
     375    function uncacheNode(inst) {
     376      var node = inst._hostNode;
     377      if (node) {
     378        delete node[internalInstanceKey];
     379        inst._hostNode = null;
     380      }
     381    }
     382   
     383    /**
     384     * Populate `_hostNode` on each child of `inst`, assuming that the children
     385     * match up with the DOM (element) children of `node`.
     386     *
     387     * We cache entire levels at once to avoid an n^2 problem where we access the
     388     * children of a node sequentially and have to walk from the start to our target
     389     * node every time.
     390     *
     391     * Since we update `_renderedChildren` and the actual DOM at (slightly)
     392     * different times, we could race here and see a newer `_renderedChildren` than
     393     * the DOM nodes we see. To avoid this, ReactMultiChild calls
     394     * `prepareToManageChildren` before we change `_renderedChildren`, at which
     395     * time the container's child nodes are always cached (until it unmounts).
     396     */
     397    function precacheChildNodes(inst, node) {
     398      if (inst._flags & Flags.hasCachedChildNodes) {
     399        return;
     400      }
     401      var children = inst._renderedChildren;
     402      var childNode = node.firstChild;
     403      outer: for (var name in children) {
     404        if (!children.hasOwnProperty(name)) {
     405          continue;
     406        }
     407        var childInst = children[name];
     408        var childID = getRenderedHostOrTextFromComponent(childInst)._domID;
     409        if (childID == null) {
     410          // We're currently unmounting this child in ReactMultiChild; skip it.
     411          continue;
     412        }
     413        // We assume the child nodes are in the same order as the child instances.
     414        for (; childNode !== null; childNode = childNode.nextSibling) {
     415          if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') {
     416            precacheNode(childInst, childNode);
     417            continue outer;
     418          }
     419        }
     420        // We reached the end of the DOM children without finding an ID match.
     421         true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;
     422      }
     423      inst._flags |= Flags.hasCachedChildNodes;
     424    }
     425   
     426    /**
     427     * Given a DOM node, return the closest ReactDOMComponent or
     428     * ReactDOMTextComponent instance ancestor.
     429     */
     430    function getClosestInstanceFromNode(node) {
     431      if (node[internalInstanceKey]) {
     432        return node[internalInstanceKey];
     433      }
     434   
     435      // Walk up the tree until we find an ancestor whose instance we have cached.
     436      var parents = [];
     437      while (!node[internalInstanceKey]) {
     438        parents.push(node);
     439        if (node.parentNode) {
     440          node = node.parentNode;
     441        } else {
     442          // Top of the tree. This node must not be part of a React tree (or is
     443          // unmounted, potentially).
     444          return null;
     445        }
     446      }
     447   
     448      var closest;
     449      var inst;
     450      for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {
     451        closest = inst;
     452        if (parents.length) {
     453          precacheChildNodes(inst, node);
     454        }
     455      }
     456   
     457      return closest;
     458    }
     459   
     460    /**
     461     * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent
     462     * instance, or null if the node was not rendered by this React.
     463     */
     464    function getInstanceFromNode(node) {
     465      var inst = getClosestInstanceFromNode(node);
     466      if (inst != null && inst._hostNode === node) {
     467        return inst;
     468      } else {
     469        return null;
     470      }
     471    }
     472   
     473    /**
     474     * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding
     475     * DOM node.
     476     */
     477    function getNodeFromInstance(inst) {
     478      // Without this first invariant, passing a non-DOM-component triggers the next
     479      // invariant for a missing parent, which is super confusing.
     480      !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;
     481   
     482      if (inst._hostNode) {
     483        return inst._hostNode;
     484      }
     485   
     486      // Walk up the tree until we find an ancestor whose DOM node we have cached.
     487      var parents = [];
     488      while (!inst._hostNode) {
     489        parents.push(inst);
     490        !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;
     491        inst = inst._hostParent;
     492      }
     493   
     494      // Now parents contains each ancestor that does *not* have a cached native
     495      // node, and `inst` is the deepest ancestor that does.
     496      for (; parents.length; inst = parents.pop()) {
     497        precacheChildNodes(inst, inst._hostNode);
     498      }
     499   
     500      return inst._hostNode;
     501    }
     502   
     503    var ReactDOMComponentTree = {
     504      getClosestInstanceFromNode: getClosestInstanceFromNode,
     505      getInstanceFromNode: getInstanceFromNode,
     506      getNodeFromInstance: getNodeFromInstance,
     507      precacheChildNodes: precacheChildNodes,
     508      precacheNode: precacheNode,
     509      uncacheNode: uncacheNode
     510    };
     511   
     512    module.exports = ReactDOMComponentTree;
     513    /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
     514
     515/***/ },
     516/* 6 */
     517/***/ function(module, exports) {
     518
     519    /**
     520     * Copyright (c) 2013-present, Facebook, Inc.
     521     * All rights reserved.
     522     *
     523     * This source code is licensed under the BSD-style license found in the
     524     * LICENSE file in the root directory of this source tree. An additional grant
     525     * of patent rights can be found in the PATENTS file in the same directory.
     526     *
     527     * @providesModule reactProdInvariant
     528     *
     529     */
     530    'use strict';
     531   
     532    /**
     533     * WARNING: DO NOT manually require this module.
     534     * This is a replacement for `invariant(...)` used by the error code system
     535     * and will _only_ be required by the corresponding babel pass.
     536     * It always throws.
     537     */
     538   
     539    function reactProdInvariant(code) {
     540      var argCount = arguments.length - 1;
     541   
     542      var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;
     543   
     544      for (var argIdx = 0; argIdx < argCount; argIdx++) {
     545        message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);
     546      }
     547   
     548      message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';
     549   
     550      var error = new Error(message);
     551      error.name = 'Invariant Violation';
     552      error.framesToPop = 1; // we don't care about reactProdInvariant's own frame
     553   
     554      throw error;
     555    }
     556   
     557    module.exports = reactProdInvariant;
     558
     559/***/ },
     560/* 7 */
     561/***/ function(module, exports, __webpack_require__) {
     562
     563    /* WEBPACK VAR INJECTION */(function(process) {/**
     564     * Copyright 2013-present, Facebook, Inc.
     565     * All rights reserved.
     566     *
     567     * This source code is licensed under the BSD-style license found in the
     568     * LICENSE file in the root directory of this source tree. An additional grant
     569     * of patent rights can be found in the PATENTS file in the same directory.
     570     *
     571     * @providesModule DOMProperty
     572     */
     573   
     574    'use strict';
     575   
     576    var _prodInvariant = __webpack_require__(6);
     577   
     578    var invariant = __webpack_require__(8);
     579   
     580    function checkMask(value, bitmask) {
     581      return (value & bitmask) === bitmask;
     582    }
     583   
     584    var DOMPropertyInjection = {
     585      /**
     586       * Mapping from normalized, camelcased property names to a configuration that
     587       * specifies how the associated DOM property should be accessed or rendered.
     588       */
     589      MUST_USE_PROPERTY: 0x1,
     590      HAS_BOOLEAN_VALUE: 0x4,
     591      HAS_NUMERIC_VALUE: 0x8,
     592      HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,
     593      HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,
     594   
     595      /**
     596       * Inject some specialized knowledge about the DOM. This takes a config object
     597       * with the following properties:
     598       *
     599       * isCustomAttribute: function that given an attribute name will return true
     600       * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*
     601       * attributes where it's impossible to enumerate all of the possible
     602       * attribute names,
     603       *
     604       * Properties: object mapping DOM property name to one of the
     605       * DOMPropertyInjection constants or null. If your attribute isn't in here,
     606       * it won't get written to the DOM.
     607       *
     608       * DOMAttributeNames: object mapping React attribute name to the DOM
     609       * attribute name. Attribute names not specified use the **lowercase**
     610       * normalized name.
     611       *
     612       * DOMAttributeNamespaces: object mapping React attribute name to the DOM
     613       * attribute namespace URL. (Attribute names not specified use no namespace.)
     614       *
     615       * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.
     616       * Property names not specified use the normalized name.
     617       *
     618       * DOMMutationMethods: Properties that require special mutation methods. If
     619       * `value` is undefined, the mutation method should unset the property.
     620       *
     621       * @param {object} domPropertyConfig the config as described above.
     622       */
     623      injectDOMPropertyConfig: function (domPropertyConfig) {
     624        var Injection = DOMPropertyInjection;
     625        var Properties = domPropertyConfig.Properties || {};
     626        var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};
     627        var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};
     628        var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};
     629        var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};
     630   
     631        if (domPropertyConfig.isCustomAttribute) {
     632          DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);
     633        }
     634   
     635        for (var propName in Properties) {
     636          !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;
     637   
     638          var lowerCased = propName.toLowerCase();
     639          var propConfig = Properties[propName];
     640   
     641          var propertyInfo = {
     642            attributeName: lowerCased,
     643            attributeNamespace: null,
     644            propertyName: propName,
     645            mutationMethod: null,
     646   
     647            mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),
     648            hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),
     649            hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),
     650            hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),
     651            hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)
     652          };
     653          !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;
     654   
     655          if (process.env.NODE_ENV !== 'production') {
     656            DOMProperty.getPossibleStandardName[lowerCased] = propName;
     657          }
     658   
     659          if (DOMAttributeNames.hasOwnProperty(propName)) {
     660            var attributeName = DOMAttributeNames[propName];
     661            propertyInfo.attributeName = attributeName;
     662            if (process.env.NODE_ENV !== 'production') {
     663              DOMProperty.getPossibleStandardName[attributeName] = propName;
     664            }
     665          }
     666   
     667          if (DOMAttributeNamespaces.hasOwnProperty(propName)) {
     668            propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];
     669          }
     670   
     671          if (DOMPropertyNames.hasOwnProperty(propName)) {
     672            propertyInfo.propertyName = DOMPropertyNames[propName];
     673          }
     674   
     675          if (DOMMutationMethods.hasOwnProperty(propName)) {
     676            propertyInfo.mutationMethod = DOMMutationMethods[propName];
     677          }
     678   
     679          DOMProperty.properties[propName] = propertyInfo;
     680        }
     681      }
     682    };
     683   
     684    /* eslint-disable max-len */
     685    var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD';
     686    /* eslint-enable max-len */
     687   
     688    /**
     689     * DOMProperty exports lookup objects that can be used like functions:
     690     *
     691     *   > DOMProperty.isValid['id']
     692     *   true
     693     *   > DOMProperty.isValid['foobar']
     694     *   undefined
     695     *
     696     * Although this may be confusing, it performs better in general.
     697     *
     698     * @see http://jsperf.com/key-exists
     699     * @see http://jsperf.com/key-missing
     700     */
     701    var DOMProperty = {
     702   
     703      ID_ATTRIBUTE_NAME: 'data-reactid',
     704      ROOT_ATTRIBUTE_NAME: 'data-reactroot',
     705   
     706      ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,
     707      ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040',
     708   
     709      /**
     710       * Map from property "standard name" to an object with info about how to set
     711       * the property in the DOM. Each object contains:
     712       *
     713       * attributeName:
     714       *   Used when rendering markup or with `*Attribute()`.
     715       * attributeNamespace
     716       * propertyName:
     717       *   Used on DOM node instances. (This includes properties that mutate due to
     718       *   external factors.)
     719       * mutationMethod:
     720       *   If non-null, used instead of the property or `setAttribute()` after
     721       *   initial render.
     722       * mustUseProperty:
     723       *   Whether the property must be accessed and mutated as an object property.
     724       * hasBooleanValue:
     725       *   Whether the property should be removed when set to a falsey value.
     726       * hasNumericValue:
     727       *   Whether the property must be numeric or parse as a numeric and should be
     728       *   removed when set to a falsey value.
     729       * hasPositiveNumericValue:
     730       *   Whether the property must be positive numeric or parse as a positive
     731       *   numeric and should be removed when set to a falsey value.
     732       * hasOverloadedBooleanValue:
     733       *   Whether the property can be used as a flag as well as with a value.
     734       *   Removed when strictly equal to false; present without a value when
     735       *   strictly equal to true; present with a value otherwise.
     736       */
     737      properties: {},
     738   
     739      /**
     740       * Mapping from lowercase property names to the properly cased version, used
     741       * to warn in the case of missing properties. Available only in __DEV__.
     742       * @type {Object}
     743       */
     744      getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null,
     745   
     746      /**
     747       * All of the isCustomAttribute() functions that have been injected.
     748       */
     749      _isCustomAttributeFunctions: [],
     750   
     751      /**
     752       * Checks whether a property name is a custom attribute.
     753       * @method
     754       */
     755      isCustomAttribute: function (attributeName) {
     756        for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {
     757          var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];
     758          if (isCustomAttributeFn(attributeName)) {
     759            return true;
     760          }
     761        }
     762        return false;
     763      },
     764   
     765      injection: DOMPropertyInjection
     766    };
     767   
     768    module.exports = DOMProperty;
     769    /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
     770
     771/***/ },
     772/* 8 */
     773/***/ function(module, exports, __webpack_require__) {
     774
     775    /* WEBPACK VAR INJECTION */(function(process) {/**
     776     * Copyright (c) 2013-present, Facebook, Inc.
     777     * All rights reserved.
     778     *
     779     * This source code is licensed under the BSD-style license found in the
     780     * LICENSE file in the root directory of this source tree. An additional grant
     781     * of patent rights can be found in the PATENTS file in the same directory.
     782     *
     783     */
     784   
     785    'use strict';
     786