Make WordPress Core

Changeset 46445


Ignore:
Timestamp:
10/08/2019 07:05:53 PM (5 years ago)
Author:
desrosj
Message:

Bundled Themes: Update Twenty Twenty.

This brings trunk's version of Twenty Twenty in-sync with GitHub.

For a complete list of changes since [46357], see https://github.com/WordPress/twentytwenty/compare/7157870...7246fd6.

Props anlino, ianbelanger, poena, williampatton, nielslange, acosmin, netweb, joyusly, luminuu, itowhid06, cbravobernal, intimez, glauberglauber, ocean90, amolv, briceduclos, aristath, mukesh27, garrett-eclipse, audrasjb, afercia, dianeco, utsav72640, mahesh901122, tobifjellner.
See #48110.

Location:
trunk/src/wp-content/themes/twentytwenty
Files:
1 added
37 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-content/themes/twentytwenty/404.php

    r46357 r46445  
    1515    <div class="section-inner thin error404-content">
    1616
    17         <h1 class="entry-title"><?php _e( 'Page Not Found', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></h1>
     17        <h1 class="entry-title"><?php _e( 'Page Not Found', 'twentytwenty' ); ?></h1>
    1818
    19         <div class="intro-text"><p><?php _e( 'The page you were looking for could not be found. It might have been removed, renamed, or did not exist in the first place.', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></p></div>
     19        <div class="intro-text"><p><?php _e( 'The page you were looking for could not be found. It might have been removed, renamed, or did not exist in the first place.', 'twentytwenty' ); ?></p></div>
    2020
    2121        <?php
    2222        get_search_form(
    2323            array(
    24                 'label' => _x( '404 not found', 'Label', 'twentytwenty' ),
     24                'label' => __( '404 not found', 'twentytwenty' ),
    2525            )
    2626        );
     
    2929    </div><!-- .section-inner -->
    3030
    31     <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
     31</main><!-- #site-content -->
    3232
    33 </main><!-- #site-content -->
     33<?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
    3434
    3535<?php
  • trunk/src/wp-content/themes/twentytwenty/assets/css/editor-style-block-rtl.css

    r46357 r46445  
    7474}
    7575
    76 .wp-block[data-align="wide"] .wp-block-group .wp-block {
    77     max-width: 100%;
    78 }
    79 
    80 .wp-block[data-align="full"] .wp-block-group .wp-block {
    81     max-width: 100%;
     76.wp-block[data-align="wide"] .wp-block,
     77.wp-block[data-align="full"] .wp-block {
     78    max-width: none;
     79}
     80
     81.wp-block[data-align="wide"] .wp-block[data-align="wide"],
     82.wp-block[data-align="full"] .wp-block[data-align="wide"] {
     83    max-width: 1200px;
     84}
     85
     86.wp-block .wp-block[data-type="core/group"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]),
     87.wp-block .wp-block[data-type="core/cover"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]) {
     88    margin-right: auto;
     89    margin-left: auto;
     90    max-width: 610px;
     91}
     92
     93.wp-block .wp-block[data-align="full"] {
     94    margin-right: 0;
     95    margin-left: 0;
    8296}
    8397
     
    642656    margin: 0 auto;
    643657    max-width: 1200px;
    644     width: calc(100% - 50px);
     658    width: calc(100% - 40px);
    645659}
    646660
     
    652666}
    653667
    654 .editor-styles-wrapper .wp-block-cover-image .wp-block,
    655 .editor-styles-wrapper .wp-block-cover .wp-block,
    656668.wp-block-cover-image .wp-block-cover-image-text,
    657669.wp-block-cover-image .wp-block-cover-text,
     
    661673.wp-block-cover h2 {
    662674    max-width: 100%;
    663     padding: 0;
    664 }
    665 
    666 .editor-styles-wrapper .wp-block-cover p {
    667     font-family: inherit;
    668675}
    669676
     
    672679}
    673680
     681/* Block: Shared Media Styles ---------------- */
     682
     683.wp-block[data-type*="core-embed"][data-align="full"] figcaption,
     684.wp-block[data-type="core/image"][data-align="full"] figcaption,
     685.wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption {
     686    padding: 0 14px;
     687}
    674688
    675689/* Block: Paragraph -------------------------- */
     
    983997}
    984998
     999.wp-block[data-type="core/group"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"],
     1000.wp-block[data-type="core/group"][data-align="full"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"] {
     1001    margin-right: 0;
     1002    width: 100%;
     1003}
     1004
    9851005/* Block: Paragraph -------------------------- */
    9861006
     
    10411061@media ( min-width: 600px ) {
    10421062
     1063
     1064    /* BLOCK: SHARED MEDIA STYLES */
     1065
     1066    .wp-block[data-type*="core-embed"][data-align="full"] figcaption,
     1067    .wp-block[data-type="core/image"][data-align="full"] figcaption,
     1068    .wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption {
     1069        padding: 0 45px;
     1070    }
     1071
     1072    /* BLOCK: COLUMNS */
     1073
     1074    .editor-styles-wrapper .wp-block[data-type="core/column"] h1,
     1075    .editor-styles-wrapper .wp-block[data-type="core/column"] h2,
     1076    .editor-styles-wrapper .wp-block[data-type="core/column"] h3,
     1077    .editor-styles-wrapper .wp-block[data-type="core/column"] h4,
     1078    .editor-styles-wrapper .wp-block[data-type="core/column"] h5,
     1079    .editor-styles-wrapper .wp-block[data-type="core/column"] h6 {
     1080        margin: 35px 0 20px 0;
     1081    }
    10431082
    10441083    /* BLOCK: PULLQUOTE */
     
    12291268    }
    12301269
    1231     /* BLOCK: COVER */
    1232 
    1233     .editor-styles-wrapper .wp-block-cover-image .wp-block-cover__inner-container,
    1234     .editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container {
    1235         width: calc(100% - 100px);
    1236     }
    1237 
    12381270    /* BLOCK: GROUP */
    12391271
  • trunk/src/wp-content/themes/twentytwenty/assets/css/editor-style-block.css

    r46357 r46445  
    7474}
    7575
    76 .wp-block[data-align="wide"] .wp-block-group .wp-block {
    77     max-width: 100%;
    78 }
    79 
    80 .wp-block[data-align="full"] .wp-block-group .wp-block {
    81     max-width: 100%;
     76.wp-block[data-align="wide"] .wp-block,
     77.wp-block[data-align="full"] .wp-block {
     78    max-width: none;
     79}
     80
     81.wp-block[data-align="wide"] .wp-block[data-align="wide"],
     82.wp-block[data-align="full"] .wp-block[data-align="wide"] {
     83    max-width: 1200px;
     84}
     85
     86.wp-block .wp-block[data-type="core/group"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]),
     87.wp-block .wp-block[data-type="core/cover"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]) {
     88    margin-left: auto;
     89    margin-right: auto;
     90    max-width: 610px;
     91}
     92
     93.wp-block .wp-block[data-align="full"] {
     94    margin-left: 0;
     95    margin-right: 0;
    8296}
    8397
     
    642656    margin: 0 auto;
    643657    max-width: 1200px;
    644     width: calc(100% - 50px);
     658    width: calc(100% - 40px);
    645659}
    646660
     
    652666}
    653667
    654 .editor-styles-wrapper .wp-block-cover-image .wp-block,
    655 .editor-styles-wrapper .wp-block-cover .wp-block,
    656668.wp-block-cover-image .wp-block-cover-image-text,
    657669.wp-block-cover-image .wp-block-cover-text,
     
    661673.wp-block-cover h2 {
    662674    max-width: 100%;
    663     padding: 0;
    664 }
    665 
    666 .editor-styles-wrapper .wp-block-cover p {
    667     font-family: inherit;
    668675}
    669676
     
    672679}
    673680
     681/* Block: Shared Media Styles ---------------- */
     682
     683.wp-block[data-type*="core-embed"][data-align="full"] figcaption,
     684.wp-block[data-type="core/image"][data-align="full"] figcaption,
     685.wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption {
     686    padding: 0 14px;
     687}
    674688
    675689/* Block: Paragraph -------------------------- */
     
    983997}
    984998
     999.wp-block[data-type="core/group"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"],
     1000.wp-block[data-type="core/group"][data-align="full"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"] {
     1001    margin-left: 0;
     1002    width: 100%;
     1003}
     1004
    9851005/* Block: Paragraph -------------------------- */
    9861006
     
    10411061@media ( min-width: 600px ) {
    10421062
     1063
     1064    /* BLOCK: SHARED MEDIA STYLES */
     1065
     1066    .wp-block[data-type*="core-embed"][data-align="full"] figcaption,
     1067    .wp-block[data-type="core/image"][data-align="full"] figcaption,
     1068    .wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption {
     1069        padding: 0 45px;
     1070    }
     1071
     1072    /* BLOCK: COLUMNS */
     1073
     1074    .editor-styles-wrapper .wp-block[data-type="core/column"] h1,
     1075    .editor-styles-wrapper .wp-block[data-type="core/column"] h2,
     1076    .editor-styles-wrapper .wp-block[data-type="core/column"] h3,
     1077    .editor-styles-wrapper .wp-block[data-type="core/column"] h4,
     1078    .editor-styles-wrapper .wp-block[data-type="core/column"] h5,
     1079    .editor-styles-wrapper .wp-block[data-type="core/column"] h6 {
     1080        margin: 35px 0 20px 0;
     1081    }
    10431082
    10441083    /* BLOCK: PULLQUOTE */
     
    12291268    }
    12301269
    1231     /* BLOCK: COVER */
    1232 
    1233     .editor-styles-wrapper .wp-block-cover-image .wp-block-cover__inner-container,
    1234     .editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container {
    1235         width: calc(100% - 100px);
    1236     }
    1237 
    12381270    /* BLOCK: GROUP */
    12391271
  • trunk/src/wp-content/themes/twentytwenty/assets/css/editor-style-classic-rtl.css

    r46357 r46445  
    99/*
    1010 * Chrome renders extra-wide &nbsp; characters for the Hoefler Text font.
    11  * This results in a jumping cursor when typing in both the Classic and block
    12  * editors. The following font-face override fixes the issue by manually
     11 * This results in a jumping cursor when typing in both the classic editor and
     12 * block editor. The following font-face override fixes the issue by manually
    1313 * inserting a custom font that includes just a Hoefler Text space replacement
    1414 * for that character instead.
     
    6666
    6767body#tinymce.wp-editor * {
    68     -webkit-box-sizing: border-box;
    69     -moz-box-sizing: border-box;
    7068    box-sizing: border-box;
    7169    -webkit-font-smoothing: antialiased;
     
    374372
    375373body#tinymce.wp-editor .alignleft {
    376     float: right;
     374    float: left;
    377375    margin-left: 25px;
    378376    max-width: 260px;
     
    380378
    381379body#tinymce.wp-editor .alignright {
    382     float: left;
     380    float: right;
    383381    margin-right: 25px;
    384382    max-width: 260px;
  • trunk/src/wp-content/themes/twentytwenty/assets/css/editor-style-classic.css

    r46357 r46445  
    99/*
    1010 * Chrome renders extra-wide &nbsp; characters for the Hoefler Text font.
    11  * This results in a jumping cursor when typing in both the Classic and block
    12  * editors. The following font-face override fixes the issue by manually
     11 * This results in a jumping cursor when typing in both the classic editor and
     12 * block editor. The following font-face override fixes the issue by manually
    1313 * inserting a custom font that includes just a Hoefler Text space replacement
    1414 * for that character instead.
     
    6666
    6767body#tinymce.wp-editor * {
    68     -webkit-box-sizing: border-box;
    69     -moz-box-sizing: border-box;
    7068    box-sizing: border-box;
    7169    -webkit-font-smoothing: antialiased;
     
    374372
    375373body#tinymce.wp-editor .alignleft {
     374
     375    /*rtl:ignore*/
    376376    float: left;
    377377    margin-right: 25px;
     
    380380
    381381body#tinymce.wp-editor .alignright {
     382
     383    /*rtl:ignore*/
    382384    float: right;
    383385    margin-left: 25px;
  • trunk/src/wp-content/themes/twentytwenty/assets/js/color-calculations.js

    r46277 r46445  
    134134 * @return {Object} - this
    135135 */
    136 function twentyTwentyColor( backgroundColor, accentHue ) { // jshint ignore:line
     136function twentyTwentyColor( backgroundColor, accentHue ) {// jshint ignore:line
    137137    var color = new _twentyTwentyColor( backgroundColor, accentHue );
    138138    color.setAccentColorsArray();
  • trunk/src/wp-content/themes/twentytwenty/assets/js/index.js

    r46357 r46445  
    44
    55var twentytwenty = twentytwenty || {};
     6
     7// Set a default value for scrolled.
     8twentytwenty.scrolled = 0;
    69
    710// polyfill closest
     
    3841
    3942// event "polyfill"
    40 
    4143twentytwenty.createEvent = function( eventName ) {
    4244    var event;
     
    5254// matches "polyfill"
    5355// https://developer.mozilla.org/es/docs/Web/API/Element/matches
    54 
    5556if ( ! Element.prototype.matches ) {
    5657    Element.prototype.matches =
     
    138139    // Hide and show modals before and after their animations have played out
    139140    hideAndShowModals: function() {
    140         var modals = document.querySelectorAll( '.cover-modal' ),
    141             htmlStyle = document.documentElement.style;
    142 
    143         var getAdminBarHeight = function( negativeValue ) {
    144             var adminBar = document.querySelector( '#wpadminbar' );
     141        var modals, htmlStyle, adminBar, _doc, _win;
     142
     143        _doc = document;
     144        _win = window;
     145        modals = _doc.querySelectorAll( '.cover-modal' );
     146        htmlStyle = _doc.documentElement.style;
     147        adminBar = _doc.querySelector( '#wpadminbar' );
     148
     149        function getAdminBarHeight( negativeValue ) {
     150            var currentScroll, height;
     151
     152            currentScroll = _win.pageYOffset;
    145153
    146154            if ( adminBar ) {
    147                 return ( negativeValue ? '-' : '' ) + adminBar.getBoundingClientRect().height + 'px';
    148             }
    149 
    150             return 0;
    151         };
     155                height = currentScroll + adminBar.getBoundingClientRect().height;
     156
     157                return negativeValue ? -height : height;
     158            }
     159
     160            return currentScroll === 0 ? 0 : -currentScroll;
     161        }
    152162
    153163        function htmlStyles() {
    154             var overflow = window.innerHeight > document.documentElement.getBoundingClientRect().height;
     164            var overflow = _win.innerHeight > _doc.documentElement.getBoundingClientRect().height;
    155165
    156166            return {
     
    158168                position: 'fixed',
    159169                width: '100%',
    160                 top: getAdminBarHeight( true ),
     170                top: getAdminBarHeight( true ) + 'px',
    161171                left: 0
    162172            };
     
    166176        modals.forEach( function( modal ) {
    167177            modal.addEventListener( 'toggle-target-before-inactive', function( event ) {
     178                var styles, paddingTop, offsetY, mQuery;
     179
     180                styles = htmlStyles();
     181                offsetY = _win.pageYOffset;
     182                paddingTop = ( Math.abs( getAdminBarHeight() ) - offsetY ) + 'px';
     183                mQuery = _win.matchMedia( '(max-width: 600px)' );
     184
    168185                if ( event.target !== modal ) {
    169186                    return;
    170187                }
    171188
    172                 window.scrollTo( { top: 0 } );
    173 
    174                 Object.keys( htmlStyles() ).forEach( function( styleKey ) {
    175                     htmlStyle.setProperty( styleKey, htmlStyles()[ styleKey ] );
     189                Object.keys( styles ).forEach( function( styleKey ) {
     190                    htmlStyle.setProperty( styleKey, styles[ styleKey ] );
    176191                } );
    177192
    178                 document.body.style.setProperty( 'padding-top', getAdminBarHeight() );
     193                _win.twentytwenty.scrolled = parseInt( styles.top );
     194
     195                if ( adminBar ) {
     196                    _doc.body.style.setProperty( 'padding-top', paddingTop );
     197
     198                    if ( mQuery.matches ) {
     199                        if ( offsetY >= getAdminBarHeight() ) {
     200                            modal.style.setProperty( 'top', 0 );
     201                        } else {
     202                            modal.style.setProperty( 'top', ( getAdminBarHeight() - offsetY ) + 'px' );
     203                        }
     204                    }
     205                }
    179206
    180207                modal.classList.add( 'show-modal' );
     
    188215
    189216                setTimeout( function() {
     217                    var clickedEl;
     218
     219                    clickedEl = twentytwenty.toggles.clickedEl;
     220
    190221                    modal.classList.remove( 'show-modal' );
    191222
     
    194225                    } );
    195226
    196                     document.body.style.removeProperty( 'padding-top' );
     227                    if ( adminBar ) {
     228                        _doc.body.style.removeProperty( 'padding-top' );
     229                        modal.style.removeProperty( 'top' );
     230                    }
     231
     232                    _win.scrollTo( 0, Math.abs( _win.twentytwenty.scrolled + getAdminBarHeight() ) );
     233
     234                    _win.twentytwenty.scrolled = 0;
     235
     236                    if ( clickedEl !== false ) {
     237                        clickedEl.focus();
     238                        clickedEl = false;
     239                    }
    197240                }, 500 );
    198241            } );
     
    394437    goBackToCloseButton: function() {
    395438        document.addEventListener( 'keydown', function( event ) {
    396             var desktopMenuButton = document.querySelector( '.toggle.close-nav-toggle' );
    397             var mobileMenuButton = document.querySelector( '.toggle.mobile-nav-toggle' );
    398             var isMobileMenu = desktopMenuButton ? window.getComputedStyle( desktopMenuButton, null ).getPropertyValue( 'display' ) === 'none' : false;
    399             var firstMenuItem = isMobileMenu ? mobileMenuButton : desktopMenuButton;
    400 
    401             var menuLinks = isMobileMenu ?
    402                 document.querySelectorAll( '.menu-modal .mobile-menu li' ) :
    403                 document.querySelectorAll( '.menu-modal .expanded-menu li' );
    404 
    405             var socialLinks = document.querySelectorAll( '.menu-modal .social-menu > li' );
    406             var hasSocialMenu = document.querySelectorAll( '.menu-modal .social-menu' ).length > 0;
    407             var lastModalMenuItems = hasSocialMenu ? socialLinks : menuLinks;
    408             var focusedElementParentLi = twentytwentyFindParents( event.target, 'li' );
    409             var focusedElementIsInsideModal = twentytwentyFindParents( event.target, '.menu-modal' ).length > 0;
    410             var lastMenuItem = lastModalMenuItems[lastModalMenuItems.length - 1];
    411 
    412             var isFirstModalItem = isMobileMenu ?
    413                 event.target === mobileMenuButton :
    414                 focusedElementIsInsideModal && event.target === desktopMenuButton;
    415 
    416             var isLastModalItem = focusedElementIsInsideModal && focusedElementParentLi[0] ?
     439            var closeMenuButton, mobileMenu, isDesktop, menuLinks, firstLevelmenuLinks, lastMenuLinkToggleButton, lastToogleSubMenuLinkNotOpened, lastMenuLinkHasSubClosedMenu, socialLinks, hasSocialMenu, lastModalMenuItems, focusedElementParentLi, focusedElementIsInsideModal, lastMenuItem, isFirstModalItem, isLastModalItem;
     440
     441            closeMenuButton = document.querySelector( '.toggle.close-nav-toggle' );
     442            mobileMenu = document.querySelector( '.mobile-menu' );
     443
     444            if ( mobileMenu ) {
     445                return false;
     446            }
     447
     448            isDesktop = window.getComputedStyle( mobileMenu, null ).getPropertyValue( 'display' ) === 'none';
     449
     450            menuLinks = isDesktop ?
     451                document.querySelectorAll( '.menu-modal .expanded-menu .modal-menu li' ) :
     452                document.querySelectorAll( '.menu-modal .mobile-menu .modal-menu li' );
     453
     454            firstLevelmenuLinks = isDesktop ?
     455                document.querySelectorAll( '.menu-modal .expanded-menu .modal-menu > li' ) :
     456                document.querySelectorAll( '.menu-modal .mobile-menu .modal-menu > li' );
     457
     458            if ( firstLevelmenuLinks ) {
     459                return false;
     460            }
     461
     462            lastMenuLinkToggleButton = firstLevelmenuLinks[firstLevelmenuLinks.length - 1].querySelector( '.sub-menu-toggle' ) || undefined;
     463            lastMenuLinkHasSubClosedMenu = lastMenuLinkToggleButton && ! lastMenuLinkToggleButton.classList.contains( 'active' );
     464
     465            lastToogleSubMenuLinkNotOpened = isDesktop ?
     466                document.querySelector( '.menu-modal .expanded-menu .modal-menu .sub-menu .sub-menu-toggle:not(.active)' ) :
     467                document.querySelector( '.menu-modal .mobile-menu .sub-menu .sub-menu-toggle:not(.active)' );
     468
     469            socialLinks = document.querySelectorAll( '.menu-modal .social-menu li' );
     470            hasSocialMenu = document.querySelectorAll( '.menu-modal .social-menu' ).length > 0;
     471            lastModalMenuItems = hasSocialMenu ? socialLinks : menuLinks;
     472            focusedElementParentLi = twentytwentyFindParents( event.target, 'li' );
     473            focusedElementIsInsideModal = twentytwentyFindParents( event.target, '.menu-modal' ).length > 0;
     474
     475            lastMenuItem = lastModalMenuItems[lastModalMenuItems.length - 1];
     476
     477            isFirstModalItem = event.target === closeMenuButton;
     478
     479            isLastModalItem = focusedElementIsInsideModal && focusedElementParentLi[0] ?
    417480                focusedElementParentLi[0].className === lastMenuItem.className :
    418481                undefined;
     482
     483            if ( lastMenuLinkToggleButton && lastMenuLinkHasSubClosedMenu && ! hasSocialMenu ) { // Last 1st level item has submenu and is closed
     484                isLastModalItem = event.target === lastMenuLinkToggleButton;
     485                lastMenuItem = lastMenuLinkToggleButton;
     486            }
     487            if ( lastMenuLinkToggleButton && ! lastMenuLinkHasSubClosedMenu && ! hasSocialMenu ) { // Last 1st level item has submenu is opened
     488                isLastModalItem = event.target === lastToogleSubMenuLinkNotOpened || event.target === menuLinks[menuLinks.length - 1].querySelector( 'a' );
     489                lastMenuItem = lastToogleSubMenuLinkNotOpened || menuLinks[menuLinks.length - 1].querySelector( 'a' );
     490            }
    419491
    420492            if ( ! event.shiftKey && event.key === 'Tab' && isLastModalItem ) {
    421493                // Forward
    422494                event.preventDefault();
    423                 firstMenuItem.focus();
     495                closeMenuButton.focus();
    424496            }
    425497            if ( event.shiftKey && event.key === 'Tab' && isFirstModalItem ) {
    426498                // Backward
    427499                event.preventDefault();
    428                 lastMenuItem.querySelector( 'a' ).focus();
     500                if ( lastMenuItem.querySelector( 'a' ) ) {
     501                    lastMenuItem.querySelector( 'a' ).focus();
     502                } else {
     503                    lastMenuItem.focus();
     504                }
    429505            }
    430506        } );
     
    446522    focusMenuWithChildren: function() {
    447523        // Get all the link elements within the primary menu.
    448         var menu = document.querySelector( '.primary-menu-wrapper' );
    449         var links = menu.getElementsByTagName( 'a' );
    450         var i, len;
     524        var menu, links, i, len;
     525
     526        menu = document.querySelector( '.primary-menu-wrapper' );
     527
     528        if ( ! menu ) {
     529            return false;
     530        }
     531
     532        links = menu.getElementsByTagName( 'a' );
    451533
    452534        // Each time a menu link is focused or blurred, toggle focus.
     
    482564twentytwenty.toggles = {
    483565
     566    clickedEl: false,
     567
    484568    init: function() {
    485569        // Do the toggle
     
    494578
    495579    performToggle: function( element, instantly ) {
    496         var toggle, targetString, target, timeOutTime, classToToggle, activeClass;
     580        var self, toggle, _doc, targetString, target, timeOutTime, classToToggle, activeClass;
     581
     582        self = this;
     583        _doc = document;
    497584
    498585        // Get our targets
     
    501588        activeClass = 'active';
    502589
     590        // Elements to focus after modals are closed
     591        if ( ! _doc.querySelectorAll( '.show-modal' ).length ) {
     592            self.clickedEl = _doc.activeElement;
     593        }
     594
    503595        if ( targetString === 'next' ) {
    504596            target = toggle.nextSibling;
    505597        } else {
    506             target = document.querySelector( targetString );
     598            target = _doc.querySelector( targetString );
    507599        }
    508600
     
    545637            } else {
    546638                // If not, toggle all toggles with this toggle target
    547                 document.querySelector( '*[data-toggle-target="' + targetString + '"]' ).classList.toggle( activeClass );
     639                _doc.querySelector( '*[data-toggle-target="' + targetString + '"]' ).classList.toggle( activeClass );
    548640            }
    549641
     
    556648            // Toggle body class
    557649            if ( toggle.dataset.toggleBodyClass ) {
    558                 document.querySelector( 'body' ).classList.toggle( toggle.dataset.toggleBodyClass );
     650                _doc.querySelector( 'body' ).classList.toggle( toggle.dataset.toggleBodyClass );
    559651            }
    560652
    561653            // Check whether to set focus
    562654            if ( toggle.dataset.setFocus ) {
    563                 focusElement = document.querySelector( toggle.dataset.setFocus );
     655                focusElement = _doc.querySelector( toggle.dataset.setFocus );
    564656
    565657                if ( focusElement ) {
     
    589681
    590682        document.querySelectorAll( '*[data-toggle-target]' ).forEach( function( element ) {
    591             element.addEventListener( 'click', function() {
     683            element.addEventListener( 'click', function( event ) {
     684                event.preventDefault();
    592685                self.performToggle( element );
    593686            } );
  • trunk/src/wp-content/themes/twentytwenty/classes/class-twentytwenty-customize.php

    r46357 r46445  
    9191                    'header_footer_background_color',
    9292                    array(
    93                         'label'   => esc_html__( 'Header & Footer Background Color', 'twentytwenty' ),
     93                        'label'   => __( 'Header &amp; Footer Background Color', 'twentytwenty' ),
    9494                        'section' => 'colors',
    9595                    )
     96                )
     97            );
     98
     99            // Enable picking an accent color.
     100            $wp_customize->add_setting(
     101                'accent_hue_active',
     102                array(
     103                    'capability'        => 'edit_theme_options',
     104                    'sanitize_callback' => array( __CLASS__, 'sanitize_select' ),
     105                    'transport'         => 'postMessage',
     106                    'default'           => 'default',
     107                )
     108            );
     109
     110            $wp_customize->add_control(
     111                'accent_hue_active',
     112                array(
     113                    'type'    => 'radio',
     114                    'section' => 'colors',
     115                    'label'   => __( 'Primary Color', 'twentytwenty' ),
     116                    'choices' => array(
     117                        'default' => __( 'Default', 'twentytwenty' ),
     118                        'custom'  => __( 'Custom', 'twentytwenty' ),
     119                    ),
    96120                )
    97121            );
     
    137161                    'type'              => 'theme_mod',
    138162                    'transport'         => 'postMessage',
    139                     'sanitize_callback' => array( 'TwentyTwenty_Customize', 'sanitize_accent_accessible_colors' ),
     163                    'sanitize_callback' => array( __CLASS__, 'sanitize_accent_accessible_colors' ),
    140164                )
    141165            );
     
    147171                    'accent_hue',
    148172                    array(
    149                         'label'    => esc_html__( 'Accent Color Hue', 'twentytwenty' ),
    150                         'section'  => 'colors',
    151                         'settings' => 'accent_hue',
    152                         'mode'     => 'hue',
     173                        'section'         => 'colors',
     174                        'settings'        => 'accent_hue',
     175                        'description'     => __( 'Apply a custom color for links, buttons, featured images.', 'twentytwenty' ),
     176                        'mode'            => 'hue',
     177                        'active_callback' => function() use ( $wp_customize ) {
     178                            return ( 'custom' === $wp_customize->get_setting( 'accent_hue_active' )->value() );
     179                        },
    153180                    )
    154181                )
     
    165192                'options',
    166193                array(
    167                     'title'       => __( 'Theme Options', 'twentytwenty' ),
    168                     'priority'    => 40,
    169                     'capability'  => 'edit_theme_options',
    170                     'description' => __( 'Specific settings for the Twenty Twenty theme.', 'twentytwenty' ),
     194                    'title'      => __( 'Theme Options', 'twentytwenty' ),
     195                    'priority'   => 40,
     196                    'capability' => 'edit_theme_options',
    171197                )
    172198            );
     
    226252                    'title'       => __( 'Cover Template', 'twentytwenty' ),
    227253                    'capability'  => 'edit_theme_options',
    228                     'description' => __( 'Settings for the "Cover Template" page template.', 'twentytwenty' ),
     254                    'description' => __( 'Settings for the "Cover Template" page template. Add a featured image to use as background.', 'twentytwenty' ),
    229255                    'priority'    => 42,
    230256                )
     
    295321                    'cover_template_overlay_background_color',
    296322                    array(
    297                         'label'       => __( 'Image Overlay Background Color', 'twentytwenty' ),
    298                         'description' => __( 'The color used for the featured image overlay. Defaults to the accent color.', 'twentytwenty' ),
     323                        'label'       => __( 'Overlay Background Color', 'twentytwenty' ),
     324                        'description' => __( 'The color used for the overlay. Defaults to the accent color.', 'twentytwenty' ),
    299325                        'section'     => 'cover_template_options',
    300326                    )
     
    317343                    'cover_template_overlay_text_color',
    318344                    array(
    319                         'label'       => __( 'Image Overlay Text Color', 'twentytwenty' ),
    320                         'description' => __( 'The color used for the text in the featured image overlay.', 'twentytwenty' ),
     345                        'label'       => __( 'Overlay Text Color', 'twentytwenty' ),
     346                        'description' => __( 'The color used for the text in the overlay.', 'twentytwenty' ),
    321347                        'section'     => 'cover_template_options',
    322348                    )
     
    338364                'cover_template_overlay_opacity',
    339365                array(
    340                     'label'       => __( 'Image Overlay Opacity', 'twentytwenty' ),
     366                    'label'       => __( 'Overlay Opacity', 'twentytwenty' ),
    341367                    'description' => __( 'Make sure that the contrast is high enough so that the text is readable.', 'twentytwenty' ),
    342368                    'section'     => 'cover_template_options',
     
    384410         * @param string $input The input from the setting.
    385411         * @param object $setting The selected setting.
     412         *
     413         * @return string $input|$setting->default The input from the setting or the default setting.
    386414         */
    387415        public static function sanitize_select( $input, $setting ) {
     
    394422         * Sanitize boolean for checkbox.
    395423         *
    396          * @param bool $checked Wethere or not a blox is checked.
     424         * @param bool $checked Whether or not a box is checked.
     425         *
     426         * @return bool
    397427         */
    398428        public static function sanitize_checkbox( $checked ) {
  • trunk/src/wp-content/themes/twentytwenty/classes/class-twentytwenty-svg-icons.php

    r46357 r46445  
    1919         *
    2020         * @param string $icon Icon name.
     21         * @param string $group Icon group.
    2122         * @param string $color Color.
    2223         */
    23         public static function get_svg( $icon, $color = '#1A1A1B' ) {
    24             $arr = apply_filters( 'twentytwenty_svg_icons', self::$icons );
     24        public static function get_svg( $icon, $group = 'ui', $color = '#1A1A1B' ) {
     25            if ( 'ui' === $group ) {
     26                $arr = self::$ui_icons;
     27            } elseif ( 'social' === $group ) {
     28                $arr = self::$social_icons;
     29            } else {
     30                $arr = array();
     31            }
    2532            if ( array_key_exists( $icon, $arr ) ) {
    2633                $repl = '<svg class="svg-icon" aria-hidden="true" role="img" focusable="false" ';
     
    3643
    3744        /**
     45         * GET SOCIAL LINK SVG
     46         * Detects the social network from a URL and returns the SVG code for its icon.
     47         *
     48         * @param string $uri The URL to retrieve SVG for.
     49         */
     50        public static function get_social_link_svg( $uri ) {
     51            static $regex_map; // Only compute regex map once, for performance.
     52            if ( ! isset( $regex_map ) ) {
     53                $regex_map = array();
     54                $map       = &self::$social_icons_map; // Use reference instead of copy, to save memory.
     55                foreach ( array_keys( self::$social_icons ) as $icon ) {
     56                    $domains            = array_key_exists( $icon, $map ) ? $map[ $icon ] : array( sprintf( '%s.com', $icon ) );
     57                    $domains            = array_map( 'trim', $domains ); // Remove leading/trailing spaces, to prevent regex from failing to match.
     58                    $domains            = array_map( 'preg_quote', $domains );
     59                    $regex_map[ $icon ] = sprintf( '/(%s)/i', implode( '|', $domains ) );
     60                }
     61            }
     62            foreach ( $regex_map as $icon => $regex ) {
     63                if ( preg_match( $regex, $uri ) ) {
     64                    return twentytwenty_get_theme_svg( $icon, 'social' );
     65                }
     66            }
     67            return null;
     68        }
     69
     70        /**
    3871         * ICON STORAGE
    3972         * Store the code for all SVGs in an array.
     
    4174         * @var array
    4275         */
    43         public static $icons = array(
     76        public static $ui_icons = array(
    4477            'arrow-down'          => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="24" viewBox="0 0 22 24">
    4578        <polygon fill="#FFF" points="721.105 856 721.105 874.315 728.083 867.313 730.204 869.41 719.59 880 709 869.41 711.074 867.313 718.076 874.315 718.076 856" transform="translate(-709 -856)"/>
     
    72105        <path fill="#1A1A1B" d="M2.8,1.85 C2.275329,1.85 1.85,2.27532949 1.85,2.8 L1.85,15.4 C1.85,15.9246705 2.275329,16.35 2.8,16.35 L17.2,16.35 C17.724671,16.35 18.15,15.9246705 18.15,15.4 L18.15,5.5 C18.15,4.97532949 17.724671,4.55 17.2,4.55 L9.1,4.55 C8.8158,4.55 8.550403,4.40796403 8.392757,4.17149517 L6.845094,1.85 L2.8,1.85 Z M17.2,2.85 C18.663555,2.85 19.85,4.03644541 19.85,5.5 L19.85,15.4 C19.85,16.8635546 18.663555,18.05 17.2,18.05 L2.8,18.05 C1.336445,18.05 0.15,16.8635546 0.15,15.4 L0.15,2.8 C0.15,1.33644541 1.336445,0.15 2.8,0.15 L7.3,0.15 C7.5842,0.15 7.849597,0.292035965 8.007243,0.528504833 L9.554906,2.85 L17.2,2.85 Z"/>
    73106        </svg>',
     107            'link'                => '<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
     108        <path d="M6.70846497,10.3082552 C6.43780491,9.94641406 6.5117218,9.43367048 6.87356298,9.16301045 C7.23540415,8.89235035 7.74814771,8.96626726 8.01880776,9.32810842 C8.5875786,10.0884893 9.45856383,10.5643487 10.4057058,10.6321812 C11.3528479,10.7000136 12.2827563,10.3531306 12.9541853,9.68145807 L15.3987642,7.23705399 C16.6390369,5.9529049 16.6212992,3.91168563 15.3588977,2.6492841 C14.0964962,1.38688258 12.0552769,1.36914494 10.77958,2.60113525 L9.37230725,4.00022615 C9.05185726,4.31881314 8.53381538,4.31730281 8.21522839,3.99685275 C7.89664141,3.67640269 7.89815174,3.15836082 8.21860184,2.83977385 L9.63432671,1.43240056 C11.5605503,-0.42800847 14.6223793,-0.401402004 16.5159816,1.49220028 C18.4095838,3.38580256 18.4361903,6.44763148 16.5658147,8.38399647 L14.1113741,10.838437 C13.1043877,11.8457885 11.7095252,12.366113 10.2888121,12.2643643 C8.86809903,12.1626156 7.56162126,11.4488264 6.70846497,10.3082552 Z M11.291535,7.6917448 C11.5621951,8.05358597 11.4882782,8.56632952 11.126437,8.83698955 C10.7645959,9.10764965 10.2518523,9.03373274 9.98119227,8.67189158 C9.4124214,7.91151075 8.54143617,7.43565129 7.59429414,7.36781884 C6.6471521,7.29998638 5.71724372,7.64686937 5.04581464,8.31854193 L2.60123581,10.762946 C1.36096312,12.0470951 1.37870076,14.0883144 2.64110228,15.3507159 C3.90350381,16.6131174 5.94472309,16.630855 7.21873082,15.400549 L8.61782171,14.0014581 C8.93734159,13.6819382 9.45538568,13.6819382 9.77490556,14.0014581 C10.0944254,14.320978 10.0944254,14.839022 9.77490556,15.1585419 L8.36567329,16.5675994 C6.43944966,18.4280085 3.37762074,18.401402 1.48401846,16.5077998 C-0.409583822,14.6141975 -0.436190288,11.5523685 1.43418536,9.61600353 L3.88862594,7.16156298 C4.89561225,6.15421151 6.29047483,5.63388702 7.71118789,5.7356357 C9.13190097,5.83738438 10.4383788,6.55117356 11.291535,7.6917448 Z"/>
     109        </svg>',
    74110            'search'              => '<svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 23 23">
    75111        <path d="M38.710696,48.0601792 L43,52.3494831 L41.3494831,54 L37.0601792,49.710696 C35.2632422,51.1481185 32.9839107,52.0076499 30.5038249,52.0076499 C24.7027226,52.0076499 20,47.3049272 20,41.5038249 C20,35.7027226 24.7027226,31 30.5038249,31 C36.3049272,31 41.0076499,35.7027226 41.0076499,41.5038249 C41.0076499,43.9839107 40.1481185,46.2632422 38.710696,48.0601792 Z M36.3875844,47.1716785 C37.8030221,45.7026647 38.6734666,43.7048964 38.6734666,41.5038249 C38.6734666,36.9918565 35.0157934,33.3341833 30.5038249,33.3341833 C25.9918565,33.3341833 22.3341833,36.9918565 22.3341833,41.5038249 C22.3341833,46.0157934 25.9918565,49.6734666 30.5038249,49.6734666 C32.7048964,49.6734666 34.7026647,48.8030221 36.1716785,47.3875844 C36.2023931,47.347638 36.2360451,47.3092237 36.2726343,47.2726343 C36.3092237,47.2360451 36.347638,47.2023931 36.3875844,47.1716785 Z" transform="translate(-20 -31)"/>
     
    83119        );
    84120
     121        /**
     122         * Social Icons – domain mappings.
     123         *
     124         * By default, each Icon ID is matched against a .com TLD. To override this behavior,
     125         * specify all the domains it covers (including the .com TLD too, if applicable).
     126         *
     127         * @var array
     128         */
     129        public static $social_icons_map = array(
     130            'amazon'      => array(
     131                'amazon.com',
     132                'amazon.cn',
     133                'amazon.in',
     134                'amazon.fr',
     135                'amazon.de',
     136                'amazon.it',
     137                'amazon.nl',
     138                'amazon.es',
     139                'amazon.co',
     140                'amazon.ca',
     141            ),
     142            'apple'       => array(
     143                'apple.com',
     144                'itunes.com',
     145            ),
     146            'behance'     => array(
     147                'behance.net',
     148            ),
     149            'codepen'     => array(
     150                'codepen.io',
     151            ),
     152            'facebook'    => array(
     153                'facebook.com',
     154                'fb.me',
     155            ),
     156            'feed'        => array(
     157                'feed',
     158            ),
     159            'google-plus' => array(
     160                'plus.google.com',
     161            ),
     162            'lastfm'      => array(
     163                'last.fm',
     164            ),
     165            'mail'        => array(
     166                'mailto:',
     167            ),
     168            'slideshare'  => array(
     169                'slideshare.net',
     170                'slideshare.com',
     171            ),
     172            'pocket'      => array(
     173                'getpocket.com',
     174            ),
     175            'twitch'      => array(
     176                'twitch.tv',
     177            ),
     178            'wordpress'   => array(
     179                'wordpress.com',
     180                'wordpress.org',
     181            ),
     182        );
     183
     184        /**
     185         * Social Icons – svg sources.
     186         *
     187         * @var array
     188         */
     189        public static $social_icons = array(
     190            '500px'       => '<svg width="14" height="18" viewBox="0 0 14 18" xmlns="http://www.w3.org/2000/svg"><path d="M2.448 11.848c-.047-.152 0-.26.14-.325.141-.065.253-.109.335-.132.14-.047.263-.07.369-.07.105 0 .176.058.21.175.118.317.264.624.44.923s.358.554.545.765V9.756c0-.422.088-.835.264-1.24.176-.403.427-.764.756-1.08.328-.34.714-.6 1.16-.782a3.599 3.599 0 011.37-.273c.493 0 .956.094 1.39.281.433.188.811.443 1.133.765.323.322.578.7.765 1.134s.281.89.281 1.37c0 .493-.093.956-.281 1.39s-.442.811-.765 1.133c-.322.323-.7.578-1.133.765s-.897.281-1.39.281c-.198 0-.38-.008-.544-.026a3.053 3.053 0 01-.58-.132.64.64 0 01-.132-.132c-.064-.076-.061-.237.009-.483.012-.059.05-.155.114-.29.065-.135.167-.185.308-.15.011 0 .111.024.299.07.187.048.345.071.474.071.692 0 1.28-.24 1.767-.72.486-.481.73-1.067.73-1.758 0-.317-.062-.624-.185-.923s-.302-.56-.536-.783c-.235-.234-.504-.413-.81-.536s-.626-.184-.966-.184c-.34 0-.662.07-.967.21-.304.141-.574.34-.808.598-.211.223-.372.475-.484.756s-.167.563-.167.844v4.166c.364.21.75.375 1.16.492a4.783 4.783 0 003.12-.193 4.966 4.966 0 001.574-1.037 4.993 4.993 0 001.037-1.565c.246-.586.37-1.201.37-1.845a4.774 4.774 0 00-1.407-3.393A4.758 4.758 0 009.857 5.51a4.798 4.798 0 00-1.854-.36c-.645 0-1.263.12-1.855.36-.592.24-1.11.589-1.556 1.046l-.325.325c-.217.217-.366.396-.448.536l-.018.018c-.07.082-.149.152-.237.21-.088.06-.255.06-.5 0a.925.925 0 01-.361-.149c-.112-.076-.167-.167-.167-.272V.405c0-.094.038-.182.114-.264a.379.379 0 01.29-.123L11.712 0c.152 0 .243.076.272.229s.044.263.044.334-.012.179-.035.325c-.024.146-.111.22-.264.22H3.573v4.886c.281-.293.633-.58 1.055-.86s.773-.481 1.054-.599c.364-.152.742-.27 1.134-.351a5.786 5.786 0 012.364 0c.387.082.756.2 1.108.351.351.141.685.32 1.002.537.316.216.61.46.879.73a5.982 5.982 0 011.265 1.862 5.843 5.843 0 01.457 2.285c0 .399-.038.791-.114 1.178-.076.387-.19.756-.343 1.108s-.334.685-.545 1.002a5.754 5.754 0 01-1.6 1.6 5.45 5.45 0 01-1.001.526c-.352.165-.72.285-1.108.36a6.08 6.08 0 01-2.337 0 5.137 5.137 0 01-1.125-.36 5.198 5.198 0 01-.994-.527 6.12 6.12 0 01-1.6-1.6 5.154 5.154 0 01-.623-1.23 1.052 1.052 0 01-.053-.158zm4.201-.984c0-.024.006-.05.018-.08s.04-.061.088-.096l.65-.668-.668-.668c-.059-.047-.076-.109-.053-.185a.62.62 0 01.194-.255.371.371 0 01.15-.14.369.369 0 01.149-.035c.035 0 .061.003.079.008.017.006.032.021.044.044l.668.668.65-.65a.2.2 0 01.21-.053.803.803 0 01.413.387c.042.082.027.158-.043.228l-.65.668.632.633c.024.035.05.091.08.167.029.076-.021.185-.15.325a.778.778 0 01-.167.132.339.339 0 01-.167.044l-.105-.035a.17.17 0 01-.088-.07l-.633-.615c-.023.023-.132.134-.325.334-.194.199-.308.31-.343.334 0 .011-.012.023-.035.035s-.059.017-.106.017a.36.36 0 01-.158-.044.605.605 0 01-.158-.114v-.018c-.035-.035-.073-.076-.114-.123s-.062-.105-.062-.175zm1.424-8.912c.55 0 1.093.052 1.626.158s1.052.258 1.556.457c.457.199.879.425 1.265.677.387.251.75.536 1.09.852.094.094.12.188.08.281a1.168 1.168 0 01-.203.3c-.07.07-.138.134-.202.192a.298.298 0 01-.202.088.216.216 0 01-.08-.017.177.177 0 01-.078-.07 11.99 11.99 0 00-1.046-.792 5.607 5.607 0 00-1.029-.544 6.76 6.76 0 00-1.344-.422 7.2 7.2 0 00-1.433-.14c-.422 0-.858.043-1.31.13a7.633 7.633 0 00-1.31.379c-.14.047-.242.009-.307-.114a5.898 5.898 0 00-.15-.273 19.104 19.104 0 01-.06-.22.27.27 0 01-.01-.149c0-.047.015-.088.044-.123s.062-.065.097-.088a7.153 7.153 0 011.424-.413c.527-.1 1.055-.15 1.582-.15zm5.678 13.025c.175.164.26.29.255.377s-.039.15-.097.185l-.044.044-.026.026c-.364.364-.765.692-1.205.985s-.899.545-1.38.756c-.503.222-1.025.386-1.564.492a8.452 8.452 0 01-3.252 0 7.353 7.353 0 01-1.564-.492c-.48-.2-.938-.446-1.372-.739s-.837-.627-1.212-1.002a8.226 8.226 0 01-1.758-2.601 12.433 12.433 0 01-.317-.932 6.897 6.897 0 01-.21-.95c-.024-.14.035-.234.175-.28.14-.047.24-.077.299-.088.152-.024.281-.024.387 0s.164.093.175.21v.036c.024.094.068.284.132.571.065.287.179.63.343 1.028.164.41.375.806.633 1.187.258.38.557.741.896 1.081.329.328.683.618 1.064.87.38.252.782.472 1.204.66.434.187.885.327 1.353.421a7.154 7.154 0 002.83 0 6.72 6.72 0 001.354-.422 8.15 8.15 0 001.213-.668 6.895 6.895 0 001.055-.861l.052-.07a.26.26 0 01.123-.07.198.198 0 01.141.017.604.604 0 01.14.079c.06.041.118.09.176.15z"/></svg>',
     191
     192            'amazon'      => '<svg width="18" height="16" viewBox="0 0 18 15" xmlns="http://www.w3.org/2000/svg"><path d="M16.004 11.571c.164-.07.29-.035.378.106.088.14.056.27-.097.386a8.912 8.912 0 01-1.635.95c-.586.281-1.199.516-1.838.703a13.92 13.92 0 01-3.842.563c-.867 0-1.706-.076-2.515-.229a13.056 13.056 0 01-4.484-1.74 12.657 12.657 0 01-1.899-1.442c-.082-.07-.094-.147-.035-.23.059-.081.14-.087.246-.017.633.376 1.301.704 2.005.985.703.293 1.43.542 2.18.747.75.206 1.524.361 2.321.466.786.106 1.583.159 2.392.159.551 0 1.114-.03 1.688-.088a17.495 17.495 0 001.723-.264 18.569 18.569 0 001.724-.44 17.07 17.07 0 001.688-.615zm1.934-1.09c.106.129.077.55-.088 1.266-.164.715-.51 1.29-1.037 1.723-.07.07-.138.091-.202.062s-.08-.085-.044-.167c.129-.305.278-.718.448-1.24.17-.522.196-.859.08-1.011-.13-.153-.464-.211-1.003-.176-.54.035-.967.07-1.284.105-.105 0-.164-.029-.176-.087-.011-.06.024-.124.106-.194.563-.387 1.21-.566 1.943-.536.733.03 1.152.114 1.257.255zM9.99 3.834v-.247c0-.21-.006-.43-.018-.659a1.181 1.181 0 00-.193-.607c-.106-.164-.252-.281-.44-.351s-.369-.106-.545-.106c-.34 0-.642.088-.905.264-.264.176-.431.44-.502.791a.48.48 0 01-.123.229.269.269 0 01-.193.088L5.348 3.06a.466.466 0 01-.185-.114c-.053-.053-.073-.132-.062-.238.2-1.043.695-1.755 1.486-2.136A5.592 5.592 0 019.04 0c.422 0 .885.067 1.39.202s.92.36 1.248.677c.422.41.657.874.703 1.39s.07 1.06.07 1.635v2.743c0 .41.074.73.22.958.147.23.297.449.449.66.059.094.09.182.097.264a.288.288 0 01-.097.228c-.2.141-.434.331-.703.572-.27.24-.493.436-.669.589a.278.278 0 01-.202.088.486.486 0 01-.22-.053c-.281-.246-.477-.445-.589-.598a9.661 9.661 0 01-.395-.598c-.493.493-.944.833-1.354 1.02-.41.188-.932.282-1.566.282-.738 0-1.362-.23-1.872-.686-.51-.457-.765-1.143-.765-2.058 0-.727.176-1.327.527-1.802A3.337 3.337 0 016.684 4.43a5.668 5.668 0 011.635-.422c.61-.07 1.167-.129 1.67-.176zM9.638 7.49c.176-.316.279-.624.308-.923a9.65 9.65 0 00.044-.94V5.24c-.633 0-1.231.109-1.794.326s-.844.694-.844 1.433c0 .387.1.7.3.94s.462.361.79.361c.247 0 .478-.073.695-.22.217-.146.384-.342.501-.589z"/></svg>',
     193
     194            'apple'       => '<svg width="16" height="19" viewBox="0 0 16 19" xmlns="http://www.w3.org/2000/svg"><path d="M14.94 6.186c-.633.21-1.143.68-1.53 1.406-.386.727-.58 1.418-.58 2.074a4.7 4.7 0 00.669 2.409c.445.761 1.054 1.248 1.828 1.459-.106.363-.252.75-.44 1.16-.199.398-.422.785-.668 1.16s-.504.72-.773 1.037a5.975 5.975 0 01-.826.756 2.503 2.503 0 01-.739.343c-.27.076-.574.114-.914.114-.21 0-.442-.023-.694-.07s-.548-.14-.888-.282a4.333 4.333 0 00-.738-.263 2.533 2.533 0 00-.598-.088c-.14 0-.354.04-.641.123-.287.082-.636.205-1.046.37-.223.07-.428.128-.615.175-.188.047-.346.07-.475.07-.363 0-.709-.073-1.037-.22s-.662-.354-1.002-.624a9.465 9.465 0 01-1.389-1.582 10.162 10.162 0 01-1.01-1.837 10.446 10.446 0 01-.625-2.03C.07 11.143 0 10.428 0 9.702c0-.715.105-1.407.316-2.075a6.08 6.08 0 01.932-1.784c.398-.521.878-.94 1.441-1.257s1.19-.474 1.88-.474c.423 0 .792.04 1.108.123.317.082.616.193.897.334.258.152.507.26.747.325s.483.097.73.097c.187 0 .392-.018.615-.053.222-.035.439-.1.65-.193.539-.211.99-.37 1.353-.475.364-.105.65-.158.862-.158.527 0 1.005.079 1.432.237.428.158.818.396 1.17.712.14.14.278.305.412.492.135.188.267.399.396.633zM7.557 4.217c0-.492.097-.96.29-1.406.194-.445.46-.879.8-1.3.328-.364.715-.66 1.16-.888.446-.229.914-.39 1.406-.484a4.55 4.55 0 01-.254 1.494c-.17.492-.425.944-.765 1.354-.387.422-.794.732-1.222.931-.428.2-.9.3-1.415.3z"/></svg>',
     195
     196            'bandcamp'    => '<svg width="19" height="6" viewBox="0 0 19 6" xmlns="http://www.w3.org/2000/svg"><path d="M.32 5.811L3.449.361h6.68l-3.13 5.45H.32zm13.289-3.445c.07.105.14.214.21.325.071.111.13.225.177.343a2.953 2.953 0 01.105.808c0 .14-.009.276-.026.405a2.422 2.422 0 01-.08.369c-.034.129-.078.246-.131.351-.053.106-.114.211-.185.317a2.01 2.01 0 01-.237.263 1.046 1.046 0 01-.29.194 2.079 2.079 0 01-.378.132c-.123.029-.255.043-.395.043a2.389 2.389 0 01-.422-.035c-.07 0-.141-.008-.211-.026s-.14-.044-.211-.08a1.46 1.46 0 01-.317-.175 1.12 1.12 0 01-.14-.167 1.724 1.724 0 01-.106-.184h-.035v.562h-.808V.361h.878v2.005a.73.73 0 01.106-.14l.105-.106c.059-.036.109-.07.15-.106.04-.035.085-.07.132-.105a6.737 6.737 0 01.351-.106.492.492 0 01.185-.035h.167c.164 0 .313.012.448.035.135.024.255.059.36.106.141.058.258.123.352.193.094.07.176.158.246.264zm-.457 1.968a.93.93 0 00.044-.228 2.46 2.46 0 01.026-.229c0-.093-.003-.184-.009-.272a.773.773 0 00-.061-.255.938.938 0 00-.097-.246c-.04-.07-.079-.14-.114-.21-.059-.06-.114-.112-.167-.16s-.114-.087-.185-.122c-.07-.059-.149-.097-.237-.114s-.173-.027-.255-.027c-.175 0-.34.035-.492.106a.853.853 0 00-.351.28 1.377 1.377 0 00-.211.45 2.007 2.007 0 00-.044.843l.044.255a.938.938 0 00.096.246c.041.07.08.14.115.21.058.06.117.112.175.159a.909.909 0 00.211.123.688.688 0 00.211.08c.082.017.164.026.246.026.094 0 .182-.012.264-.036s.158-.058.228-.105a.868.868 0 00.194-.132.972.972 0 00.158-.184 2.87 2.87 0 01.123-.22.616.616 0 00.088-.238zm3.973.668a1.1 1.1 0 00.22-.307 1.12 1.12 0 00.096-.396h.879c-.059.27-.135.501-.229.695a1.66 1.66 0 01-.369.5c-.164.141-.345.247-.545.317-.199.07-.427.106-.685.106-.164 0-.317-.018-.457-.053a3.004 3.004 0 01-.387-.123 2.1 2.1 0 01-.343-.194c-.1-.07-.184-.146-.255-.228a1.352 1.352 0 01-.228-.299 2.92 2.92 0 01-.158-.334c-.035-.14-.068-.278-.097-.413a2.045 2.045 0 010-.853c.03-.14.062-.27.097-.386.058-.14.117-.267.176-.378s.128-.22.21-.325c.07-.094.159-.176.264-.247.106-.07.217-.128.334-.175.129-.059.27-.103.422-.132a2.255 2.255 0 011.125.062c.105.035.205.073.299.114.094.04.181.085.263.132.07.07.141.143.211.22.07.075.13.155.176.237.035.093.07.193.106.298.035.106.058.217.07.334h-.879a.964.964 0 00-.114-.325.967.967 0 00-.202-.237c-.07-.059-.159-.103-.264-.132s-.217-.044-.334-.044a.701.701 0 00-.185.026c-.064.018-.12.033-.167.044-.07.024-.14.053-.21.088a.67.67 0 00-.317.317c-.035.07-.07.146-.105.228-.036.106-.062.217-.08.334s-.026.252-.026.404a3.348 3.348 0 00.035.493c.024.07.05.146.08.228a.74.74 0 00.096.194c.035.07.085.131.15.184.064.053.12.097.167.132.07.035.149.061.237.079a1.299 1.299 0 00.633-.026.819.819 0 00.29-.159z"/></svg>',
     197
     198            'behance'     => '<svg width="19" height="12" viewBox="0 0 19 12" xmlns="http://www.w3.org/2000/svg"><path d="M16.52 2.396h-4.499V1.342h4.499v1.054zM9.069 6.649c.176.246.308.512.395.8.088.286.132.606.132.957 0 .281-.026.542-.079.782-.053.24-.132.46-.237.659-.117.21-.25.398-.396.562a3.975 3.975 0 01-.483.457 4.816 4.816 0 01-.597.317c-.211.093-.434.175-.668.246-.223.046-.457.087-.703.123a5.213 5.213 0 01-.738.052H.318V.427h5.201c.258 0 .51.02.756.062.246.04.486.09.72.15.211.046.405.113.58.201.176.088.346.185.51.29.152.106.29.235.413.387.123.152.231.316.325.492.082.152.144.34.185.562.04.223.061.469.061.738 0 .258-.03.507-.088.747-.058.24-.158.448-.299.624-.117.188-.272.36-.465.518-.194.159-.413.29-.66.396.352.105.65.246.897.422.246.175.451.386.615.632zM2.672 4.927h2.53c.223 0 .425-.015.607-.044.182-.03.343-.097.483-.203.14-.105.246-.234.317-.386.07-.152.105-.352.105-.598a2.03 2.03 0 00-.026-.334.81.81 0 00-.114-.298c-.047-.07-.1-.138-.159-.202s-.134-.126-.228-.185a9.83 9.83 0 00-.237-.114 1.404 1.404 0 00-.29-.097 5.861 5.861 0 01-.317-.044 1.921 1.921 0 00-.316-.026H2.672v2.53zm4.499 3.338c0-.28-.041-.518-.123-.711s-.205-.355-.369-.484a1.573 1.573 0 00-.545-.263 2.697 2.697 0 00-.72-.088H2.672v3.058h2.671a3.8 3.8 0 00.36-.018c.124-.012.238-.03.343-.053.106-.035.202-.07.29-.105.088-.035.179-.082.273-.14a.959.959 0 00.228-.185.741.741 0 00.158-.273c.047-.082.088-.184.123-.307s.053-.267.053-.43zm11.141-.105h-5.8c0 .281.05.568.15.861s.237.521.413.685c.152.153.349.273.589.36.24.089.512.132.817.132.223 0 .43-.032.624-.096.193-.065.372-.161.536-.29.152-.106.275-.211.369-.316s.17-.246.228-.422h1.933c-.152.539-.351.972-.597 1.3a3.439 3.439 0 01-.844.809c-.316.21-.667.374-1.054.492s-.808.175-1.265.175a4.577 4.577 0 01-1.722-.316 4.25 4.25 0 01-.686-.369 3.793 3.793 0 01-.58-.475 3.888 3.888 0 01-.474-.623 4.664 4.664 0 01-.37-.747 5.992 5.992 0 01-.201-.791 4.86 4.86 0 010-1.757c.052-.282.131-.557.237-.826.082-.258.193-.495.334-.712a5.31 5.31 0 01.474-.624 4.11 4.11 0 01.607-.5c.216-.147.448-.285.694-.414.257-.105.527-.184.808-.237a4.76 4.76 0 011.819.018c.299.064.583.16.852.29.246.14.472.298.677.474.205.176.39.37.553.58.176.223.32.466.43.73a5.57 5.57 0 01.423 1.721c.029.323.038.618.026.888zm-2.214-1.441c-.035-.258-.094-.492-.176-.703s-.187-.387-.316-.527a1.301 1.301 0 00-.536-.343 2.19 2.19 0 00-.73-.114 1.96 1.96 0 00-.474.053c-.14.035-.275.088-.404.158a1.803 1.803 0 00-.308.176c-.1.07-.184.152-.255.246-.07.082-.125.17-.166.263-.041.094-.08.193-.115.299a1.135 1.135 0 00-.105.492h3.585z"/></svg>',
     199
     200            'codepen'     => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M18 6.38v5.5c0 .012-.003.03-.009.053a.29.29 0 00-.009.07v.054a.873.873 0 01-.044.132 2.497 2.497 0 01-.061.132c-.012 0-.018.003-.018.01v.008a.078.078 0 01-.009.035c-.005.012-.014.018-.026.018a.235.235 0 01-.044.061l-.026.027c-.024.012-.041.026-.053.044s-.024.032-.035.044c-.012 0-.02.003-.027.009l-.026.026-8.147 5.413a.135.135 0 01-.052.017c-.012 0-.024.006-.036.018-.023.012-.04.018-.052.018s-.03.005-.053.017c-.035.012-.08.024-.132.035a.69.69 0 01-.3 0 1.357 1.357 0 01-.131-.035.122.122 0 01-.053-.009l-.053-.026a.078.078 0 01-.035-.009l-.053-.026-8.129-5.413a.77.77 0 01-.123-.114 2.032 2.032 0 00-.106-.115H.15c-.006 0-.01-.006-.01-.017-.01 0-.017-.003-.017-.01v-.008a2.499 2.499 0 01-.061-.132.873.873 0 01-.044-.133v-.052c0-.024-.003-.047-.01-.071S0 11.91 0 11.898V6.38c0-.012.003-.03.009-.053s.009-.047.009-.07v-.053a.873.873 0 01.044-.132c.017-.042.038-.086.061-.133.012 0 .018-.003.018-.009v-.008l.017-.018a1.15 1.15 0 01.23-.23L8.515.264C8.54.25 8.557.245 8.57.245s.023-.006.035-.018A.135.135 0 018.657.21c.012 0 .03-.006.053-.018a.819.819 0 01.58 0c.024 0 .041.003.053.009l.053.026c.012 0 .023.003.035.01l.053.026 8.129 5.412a.77.77 0 01.123.114c.035.042.07.08.106.115h.008c.006 0 .01.006.01.018.011 0 .017.003.017.008v.01c.023.046.044.09.061.132a.873.873 0 01.044.132v.053c0 .023.003.047.01.07s.008.041.008.053zm-9.009 4.46l2.551-1.71-2.55-1.71L6.44 9.13l2.551 1.71zm.845-4.918l3.22 2.168 2.551-1.728-5.771-3.825v3.385zm-1.69 0V2.537l-5.77 3.825 2.55 1.728 3.22-2.168zM3.397 9.13L1.689 7.967v2.31L3.396 9.13zm1.53 1.023l-2.55 1.727 5.77 3.826v-3.385l-3.22-2.168zm4.91 2.168v3.385l5.771-3.826-2.551-1.727-3.22 2.168zm4.75-3.19l1.707 1.163v-2.31L14.587 9.13z"/></svg>',
     201
     202            'deviantart'  => '<svg width="12" height="19" viewBox="0 0 12 19" xmlns="http://www.w3.org/2000/svg"><path d="M11.48.139h-.01v3.608L8.32 9.753l.29.284h2.86v4.513H6.14l-.46.249-1.58 3.003-.32.337H.68v-3.607l3.15-6.006-.29-.284H.68V3.747h5.35l.47-.267L8.08.477 8.4.139z"/></svg>',
     203
     204            'digg'        => '<svg width="18" height="11" viewBox="0 0 18 11" xmlns="http://www.w3.org/2000/svg"><path d="M5.41 2.554h1.793v6.117H5.41V2.554zM2.879.023h1.793V8.67H-.004V2.554h2.883V.023zm0 3.973h-1.09V7.23h1.09V3.996zM5.41.023h1.793V1.85H5.41V.023zm2.496 2.531h4.676v8.297H7.906V9.41h2.883V8.67H7.906V2.554zM9.7 7.23h1.09V3.995h-1.09V7.23zm8.297-4.676v8.297H13.32V9.41h2.883V8.67H13.32V2.554h4.676zm-1.793 1.441h-1.09V7.23h1.09V3.995z"/></svg>',
     205
     206            'dribbble'    => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M9.68.139c1.254 0 2.426.234 3.516.703 1.09.48 2.042 1.128 2.856 1.943s1.456 1.766 1.925 2.856.703 2.256.703 3.498c0 1.242-.234 2.408-.703 3.498s-1.11 2.042-1.925 2.856-1.767 1.462-2.856 1.943c-1.102.468-2.274.703-3.516.703s-2.408-.235-3.498-.703c-1.09-.48-2.042-1.128-2.856-1.943s-1.462-1.766-1.943-2.856A8.758 8.758 0 01.68 9.139c0-1.242.234-2.408.703-3.498.48-1.09 1.128-2.042 1.943-2.856S5.092 1.323 6.182.842A8.758 8.758 0 019.68.14zm5.977 4.148a7.736 7.736 0 01-1.16 1.16 12.69 12.69 0 01-1.301.932c-.516.328-1.125.639-1.828.932.093.176.181.36.263.554.082.193.158.383.229.57.035.06.064.121.088.185.023.065.052.132.088.203a12.923 12.923 0 011.88-.106c.622.012 1.178.041 1.67.088s.897.1 1.213.158c.328.059.522.094.58.106 0-.914-.155-1.779-.466-2.593a7.84 7.84 0 00-1.256-2.189zM9.68 1.44a7.741 7.741 0 00-1.793.21c.059.083.182.253.37.51.187.27.412.604.676 1.002.264.399.56.856.888 1.372.316.503.632 1.043.949 1.617 1.371-.516 2.37-1.081 2.997-1.697.627-.615.964-.975 1.01-1.08a7.29 7.29 0 00-1.09-.81 8.176 8.176 0 00-1.22-.606 6.813 6.813 0 00-1.346-.378 7.332 7.332 0 00-1.44-.14zm-3.234.738a7.587 7.587 0 00-1.512.932 8.169 8.169 0 00-1.257 1.248 7.56 7.56 0 00-.94 1.494 7.7 7.7 0 00-.58 1.705c.093 0 .345-.006.755-.018.41 0 .938-.026 1.582-.079a30.18 30.18 0 002.198-.272c.832-.13 1.699-.31 2.601-.545a45.446 45.446 0 00-.966-1.617 92.45 92.45 0 00-1.881-2.848zm-4.43 6.96c0 .493.047.974.14 1.442a7.136 7.136 0 001.002 2.584c.247.399.522.768.827 1.108l.492-.739c.281-.41.685-.884 1.213-1.423a14.583 14.583 0 011.916-1.618c.761-.539 1.64-.966 2.636-1.283l.15-.061a.938.938 0 01.132-.044l-.29-.65c-.1-.223-.203-.44-.308-.651-.973.293-1.916.516-2.83.668s-1.734.26-2.461.325c-.727.065-1.324.097-1.793.097-.469.012-.744.012-.826 0v.246zm7.664 7.7c.55 0 1.078-.059 1.582-.176.504-.117.984-.27 1.441-.457a11.367 11.367 0 00-.158-.79c-.07-.376-.17-.818-.299-1.328a31.427 31.427 0 00-.492-1.714c-.199-.633-.433-1.3-.703-2.004 0 .024-.006.036-.018.036h-.017c-1.09.375-2.01.826-2.76 1.353-.762.516-1.38 1.017-1.854 1.503-.475.486-.824.917-1.046 1.292a8.306 8.306 0 00-.387.668c.656.492 1.386.885 2.188 1.178s1.644.439 2.523.439zm4.324-1.336a8.092 8.092 0 001.196-.984c.363-.375.685-.78.966-1.213s.516-.897.703-1.389.323-1.008.405-1.547a8.474 8.474 0 00-.51-.158 11.686 11.686 0 00-2.531-.316c-.551-.012-1.131.029-1.74.123.257.691.474 1.347.65 1.969.176.609.325 1.157.448 1.643s.214.894.273 1.222c.07.316.117.533.14.65z"/></svg>',
     207
     208            'etsy'        => '<svg width="16" height="19" viewBox="0 0 16 19" xmlns="http://www.w3.org/2000/svg"><path d="M.83.841A.423.423 0 01.9.543C.96.46 1.076.42 1.251.42c.082 0 .333.006.754.017.422.012.924.024 1.51.036s1.21.023 1.876.035 1.287.017 1.86.017c2.35 0 3.947-.064 4.79-.193.842-.128 1.467-.193 1.877-.193.21.012.35.082.42.21s.106.246.106.352-.035.26-.105.465a2.25 2.25 0 00-.105.728c0 .28.023.558.07.833.046.275.07.547.07.816 0 .245-.08.412-.237.5a.901.901 0 01-.43.131c-.105 0-.19-.029-.254-.087s-.097-.193-.097-.404c-.011-.398-.16-.824-.447-1.28-.287-.457-1.868-.685-4.746-.685-1.45 0-2.31.097-2.579.29s-.403.517-.403.973v4.456c0 .246.038.413.114.5.076.088.213.132.412.132h4.176c.397 0 .775-.117 1.131-.35s.565-.644.623-1.229c.012-.292.056-.47.132-.535s.196-.097.36-.097c.151 0 .28.065.385.193.106.13.152.334.14.614-.034.293-.072.597-.113.913-.041.316-.062.678-.062 1.087 0 .422.03.825.088 1.211.058.386.088.731.088 1.035 0 .292-.14.46-.421.5s-.457-.102-.527-.43c-.07-.292-.228-.646-.473-1.061-.246-.415-.825-.623-1.737-.623h-3.72c-.21 0-.362.067-.456.202-.093.134-.14.371-.14.71v4.737c0 .421.108.813.325 1.176s.74.543 1.57.543c.42 0 .912.006 1.473.018a20.7 20.7 0 001.685-.07 10.113 10.113 0 001.631-.263c.527-.13.965-.328 1.316-.597.28-.222.485-.517.614-.886.129-.368.24-.833.333-1.395.047-.245.26-.339.64-.28.38.058.553.386.518.982-.011.28-.108.67-.29 1.167-.18.497-.271.938-.271 1.324v.957c0 .345-.14.517-.421.517-.246 0-.445-.047-.597-.14-.152-.094-.772-.14-1.86-.14-.537 0-1.35.005-2.438.017-1.088 0-2.207.006-3.36.018-1.152.011-2.213.017-3.184.017-.97.012-1.614.018-1.93.018-.222 0-.37-.035-.447-.106s-.114-.175-.114-.315.044-.258.132-.351.23-.14.43-.14c.187 0 .579-.088 1.175-.264.596-.175.895-.79.895-1.842V3.858c0-.561-.1-1.088-.299-1.579-.198-.491-.649-.772-1.35-.842-.281-.035-.439-.102-.474-.202S.83 1.005.83.841z"/></svg>',
     209
     210            'facebook'    => '<svg width="11" height="19" viewBox="0 0 11 19" xmlns="http://www.w3.org/2000/svg"><path d="M7.05 18.437H3.745V10.21H.968V7.011h2.777V4.656c0-.692.1-1.295.3-1.81.198-.528.477-.97.834-1.328a3.367 3.367 0 011.292-.8A4.903 4.903 0 017.86.437c.586 0 1.107.015 1.564.044.457.03.756.062.897.097v2.847H8.632c-.668 0-1.099.144-1.292.431-.193.287-.29.66-.29 1.116v2.04h3.164l-.422 3.199H7.05v8.226z"/></svg>',
     211
     212            'feed'        => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M5.12 15.714c0 .668-.232 1.233-.697 1.696a2.321 2.321 0 01-1.703.695c-.67 0-1.238-.232-1.703-.695a2.303 2.303 0 01-.697-1.696c0-.645.232-1.204.697-1.679a2.292 2.292 0 011.703-.712c.67 0 1.238.235 1.703.704.465.468.697 1.03.697 1.687zM.32 9.702V6.257c1.647 0 3.188.31 4.624.932 1.447.632 2.708 1.485 3.785 2.557s1.926 2.33 2.55 3.77a11.6 11.6 0 01.935 4.624H8.755a8.552 8.552 0 00-.635-3.243 8.383 8.383 0 00-1.835-2.734A8.436 8.436 0 001.979 9.86 8.652 8.652 0 00.32 9.702zm0-6.117V.14c2.482 0 4.812.474 6.988 1.424 2.188.937 4.097 2.223 5.727 3.858s2.92 3.542 3.873 5.722c.941 2.191 1.412 4.523 1.412 6.996h-3.459c0-2.004-.382-3.89-1.147-5.66s-1.806-3.314-3.123-4.632a14.708 14.708 0 00-4.624-3.12C4.202 3.966 2.32 3.585.32 3.585z"/></svg>',
     213
     214            'flickr'      => '<svg width="18" height="9" viewBox="0 0 18 9" xmlns="http://www.w3.org/2000/svg"><path d="M4.08 8.179c-.563 0-1.09-.105-1.582-.316a4.082 4.082 0 01-1.292-.87 4.274 4.274 0 01-.888-1.31C.108 5.19.002 4.663.002 4.1s.105-1.09.316-1.582c.211-.492.501-.923.87-1.292.37-.37.806-.665 1.31-.888A3.973 3.973 0 014.08.023c.563 0 1.09.105 1.582.316.492.211.923.501 1.292.87.37.37.665.806.888 1.31.21.492.316 1.02.316 1.582s-.105 1.09-.316 1.582c-.211.492-.501.923-.87 1.292-.37.369-.806.665-1.31.888-.492.21-1.02.316-1.582.316zm9.844 0c-.563 0-1.09-.105-1.582-.316a4.082 4.082 0 01-1.292-.87 4.274 4.274 0 01-.888-1.31c-.21-.492-.316-1.02-.316-1.582s.105-1.09.316-1.582c.211-.492.501-.923.87-1.292.37-.37.806-.665 1.31-.888a3.973 3.973 0 011.582-.316c.562 0 1.09.105 1.582.316.492.211.923.501 1.292.87.369.37.665.806.888 1.31.21.492.316 1.02.316 1.582s-.106 1.09-.316 1.582c-.211.492-.501.923-.87 1.292-.37.369-.806.665-1.31.888-.492.21-1.02.316-1.582.316z"/></svg>',
     215
     216            'foursquare'  => '<svg width="14" height="19" viewBox="0 0 14 19" xmlns="http://www.w3.org/2000/svg"><path d="M12.28.101c.727 0 1.195.196 1.406.589.211.392.246.958.106 1.696-.106.492-.252 1.195-.44 2.11-.176.914-.354 1.828-.536 2.742-.182.914-.349 1.734-.5 2.46-.142.716-.224 1.126-.247 1.231-.07.27-.193.571-.37.905-.175.334-.567.501-1.177.501H7.57c-.059 0-.097.006-.114.018l-.132.088c-.023.023-.275.31-.756.861-.48.563-1.005 1.175-1.573 1.837-.568.662-1.093 1.269-1.573 1.82l-.703.826c-.176.21-.384.316-.624.316s-.42-.023-.537-.07c-.105-.035-.225-.132-.36-.29-.135-.159-.202-.413-.202-.765V1.718c0-.316.12-.665.36-1.046.24-.38.683-.571 1.327-.571h9.598zm-.055 10.055l.09-.457.06-.283-.15.74zm.15-.74l.584-2.898-.143.72a251.52 251.52 0 01-.442 2.178zm.584-2.898c.132-.674.264-1.348.393-2.023.188-.914.334-1.617.44-2.109l-.833 4.132zm-1.241-3.816a.517.517 0 00-.097-.448.45.45 0 00-.36-.184H3.562c-.176 0-.32.064-.431.193s-.167.264-.167.404v11.918c0 .012.008.018.026.018s.032-.006.044-.018l.44-.545a55.84 55.84 0 001.01-1.204c.37-.45.724-.882 1.064-1.292.328-.41.533-.662.615-.756.164-.199.302-.325.413-.378.111-.052.29-.079.536-.079h2.566c.2 0 .346-.058.44-.175.094-.118.146-.211.158-.282a35 35 0 00.202-.993c.112-.568.185-.929.22-1.08.012-.165-.038-.317-.15-.458s-.237-.21-.377-.21H6.97c-.21 0-.38-.065-.51-.194s-.193-.3-.193-.51v-.457c0-.211.065-.38.194-.51s.298-.193.51-.193H10.732c.13 0 .252-.05.37-.15s.193-.202.228-.307l.387-2.11z"/></svg>',
     217
     218            'goodreads'   => '<svg width="13" height="19" viewBox="0 0 13 19" xmlns="http://www.w3.org/2000/svg"><path d="M10.63.418h1.444v12.294c0 .869-.117 1.638-.352 2.307-.247.67-.599 1.233-1.057 1.691s-1.027.804-1.708 1.04c-.681.234-1.462.351-2.343.351-.775 0-1.467-.094-2.078-.281-.61-.2-1.127-.485-1.55-.855a3.653 3.653 0 01-.969-1.347c-.234-.528-.358-1.133-.37-1.814l-.035-.388H2.88v.423c.06.951.39 1.67.995 2.158.605.487 1.495.73 2.669.73 1.409 0 2.442-.325 3.1-.977.657-.652.986-1.664.986-3.038v-1.867c-.458.634-1.075 1.133-1.85 1.497a5.769 5.769 0 01-2.483.546c-.88 0-1.67-.173-2.369-.52s-1.283-.842-1.752-1.488a6.218 6.218 0 01-.969-1.955 8.196 8.196 0 01-.334-2.378c0-.974.135-1.855.405-2.641.27-.799.651-1.48 1.144-2.044S3.51.864 4.202.56C4.893.254 5.662.101 6.508.101c.845 0 1.629.185 2.35.555a4.72 4.72 0 011.77 1.559V.418zm.317 6.13a6.213 6.213 0 00-.361-2.238c-.252-.692-.614-1.274-1.083-1.743a3.753 3.753 0 00-1.268-.846 4.137 4.137 0 00-1.55-.281c-.81 0-1.491.152-2.043.458a3.998 3.998 0 00-1.357 1.215 5.054 5.054 0 00-.74 1.638 7.39 7.39 0 00-.228 1.796c0 .764.1 1.45.3 2.061.199.61.48 1.136.845 1.576s.804.778 1.32 1.013a4.124 4.124 0 001.726.352c.764 0 1.427-.14 1.99-.422a4.218 4.218 0 001.374-1.145c.364-.47.635-1.004.81-1.603s.265-1.21.265-1.832z"/></svg>',
     219
     220            'google-plus' => '<svg width="19" height="13" viewBox="0 0 19 13" xmlns="http://www.w3.org/2000/svg"><path d="M6.14 5.323h5.45c.082.516.111 1.031.088 1.547s-.112 1.02-.264 1.512a5.708 5.708 0 01-.554 1.31c-.24.416-.536.788-.888 1.116-.34.305-.709.56-1.107.765s-.815.348-1.248.43a6.43 6.43 0 01-1.495.176c-.504 0-.99-.058-1.459-.176a5.32 5.32 0 01-1.107-.439 6.98 6.98 0 01-1.002-.65 4.671 4.671 0 01-.906-.862 6.176 6.176 0 01-.677-1.037 5.985 5.985 0 01-.545-1.846A5.935 5.935 0 01.48 5.288a7.45 7.45 0 01.211-.774c.082-.246.176-.48.281-.703A5.884 5.884 0 012.334 2.08 5.754 5.754 0 014.24.963a6.02 6.02 0 011.97-.307c.68.005 1.324.12 1.933.342.352.13.686.29 1.002.484.317.193.604.419.862.677-.094.093-.19.184-.29.272-.1.088-.19.185-.273.29L8.39 3.776a2.845 2.845 0 00-1.265-.738c-.27-.094-.548-.141-.836-.141s-.57.023-.852.07c-.317.07-.627.19-.932.36-.305.17-.568.367-.791.59-.2.199-.37.416-.51.65-.14.235-.252.475-.334.72-.117.376-.176.754-.176 1.135s.059.753.176 1.116c.129.352.305.68.528.985.222.304.492.562.808.773.2.14.405.26.616.36s.427.168.65.203c.234.047.472.067.712.061.24-.006.472-.026.694-.061.211-.035.428-.097.65-.185.224-.088.429-.19.616-.308.305-.21.557-.471.756-.782.2-.31.334-.647.404-1.01H6.14V5.322zm12.236.14v1.442h-1.969v1.97h-1.442v-1.97h-1.969V5.464h1.97v-1.97h1.441v1.97h1.969z"/></svg>',
     221
     222            'google'      => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M17.65 8.499c.047.633.038 1.256-.026 1.871a12.714 12.714 0 01-.325 1.819 8.868 8.868 0 01-.896 2.02 7.555 7.555 0 01-1.388 1.704 8.218 8.218 0 01-1.731 1.213 7.965 7.965 0 01-1.959.72 9.909 9.909 0 01-2.31.255 8.672 8.672 0 01-2.293-.325 9.662 9.662 0 01-1.73-.66 7.935 7.935 0 01-1.538-.992c-.515-.41-.981-.867-1.397-1.37s-.77-1.043-1.063-1.617C.772 12.692.59 12.23.45 11.75s-.246-.966-.317-1.458a7.93 7.93 0 01-.07-1.493 9.1 9.1 0 01.158-1.494c.094-.386.202-.77.325-1.15.123-.381.272-.747.448-1.099.27-.515.58-1.007.931-1.475a9.392 9.392 0 012.618-2.267 8.746 8.746 0 011.581-.72A9.498 9.498 0 019.146.1a8.34 8.34 0 011.529.14 8.067 8.067 0 011.493.422c.527.2 1.034.448 1.52.747.486.298.94.647 1.361 1.045-.14.14-.284.287-.43.44-.146.152-.296.298-.448.439-.27.28-.542.556-.817.825s-.553.545-.835.826c-.269-.27-.568-.5-.896-.694a5.15 5.15 0 00-1.036-.465c-.422-.13-.858-.2-1.31-.211s-.892.023-1.326.105a5.833 5.833 0 00-1.458.58c-.457.258-.86.568-1.212.931-.305.305-.568.636-.79.993s-.405.729-.545 1.115a5.67 5.67 0 00-.255 1.757c.006.61.102 1.195.29 1.757h-.035a.603.603 0 01.061.123c.018.047.032.088.044.123.2.492.469.958.808 1.397.34.44.726.805 1.16 1.098a6.2 6.2 0 00.957.545 4.63 4.63 0 001.046.334 5.451 5.451 0 002.143 0c.352-.059.694-.156 1.028-.29s.647-.296.94-.484c.48-.316.878-.717 1.195-1.203.316-.486.527-1.01.632-1.572H9.041V7.41h8.468c.035.175.065.357.088.544s.041.37.053.545z"/></svg>',
     223
     224            'github'      => '<svg width="17" height="19" viewBox="0 0 17 19" xmlns="http://www.w3.org/2000/svg"><path d="M16.82 6.336c0 1.127-.153 2.049-.458 2.765-.317.716-.725 1.286-1.224 1.709s-1.066.728-1.7.915c-.645.188-1.291.317-1.937.388.211.2.393.478.546.837.153.358.229.807.229 1.347V18.1H6.464a173.584 173.584 0 00-.035-2.783c-1.62.353-2.683.212-3.188-.422l-.758-.951c-.27-.67-.554-1.125-.854-1.365l-.449-.361c-.528-.353-.643-.558-.343-.617l.449-.088c.587.059 1.033.273 1.338.643l.458.555c.517.892 1.127 1.318 1.832 1.277.704-.041 1.221-.138 1.55-.291.059-.376.158-.693.3-.951s.299-.458.475-.599a12.085 12.085 0 01-1.938-.405c-.634-.2-1.206-.51-1.717-.933S2.665 9.817 2.36 9.1c-.317-.716-.475-1.638-.475-2.765 0-.634.108-1.215.325-1.744.218-.528.508-.992.872-1.391-.059-.14-.132-.49-.22-1.048S2.894.911 3.223.101l.757.035C4.485.16 5.301.547 6.43 1.3A11.364 11.364 0 019.352.91c.517 0 1.022.036 1.515.106.493.07.974.164 1.444.282C13.427.536 14.24.145 14.751.128L15.515.1c.318.81.432 1.494.344 2.052s-.167.907-.238 1.048c.388.41.684.878.89 1.4.205.523.308 1.101.308 1.735zM2.096 12.078a.235.235 0 00-.026-.106.134.134 0 00-.08-.07c-.058-.036-.105-.047-.14-.036a.106.106 0 00-.071.07c-.012.024-.006.057.018.098a.163.163 0 00.088.079c.035.012.076.012.123 0s.076-.024.088-.035zm.458.528a.122.122 0 00.035-.123.261.261 0 00-.07-.124c-.036-.058-.077-.088-.124-.088s-.088.006-.123.018c-.012.035-.017.076-.017.123s.017.088.052.124.083.058.141.07c.059.012.094.012.106 0zm.458.67a.18.18 0 00.053-.133.245.245 0 00-.053-.15c-.035-.058-.076-.093-.123-.105a.22.22 0 00-.124 0c-.035.023-.053.064-.053.123s.018.112.053.159c.035.058.077.094.124.105a.22.22 0 00.123 0zm.634.633c.035-.035.044-.082.026-.14a.267.267 0 00-.097-.141c-.035-.06-.082-.091-.14-.097s-.106.014-.141.061c-.036.036-.044.08-.027.132.018.053.05.103.097.15.035.059.082.088.141.088s.106-.017.14-.053zm.88.388c.012-.059-.002-.112-.044-.159s-.085-.076-.132-.088a.469.469 0 00-.202.01c-.065.017-.103.049-.115.096a.177.177 0 00.044.159.274.274 0 00.168.088c.058.011.117.008.176-.01s.094-.05.106-.096zm.705.246c.07 0 .13-.017.176-.052s.07-.077.07-.124a.146.146 0 00-.07-.132.327.327 0 00-.176-.044c-.07 0-.13.018-.176.053-.047.035-.07.076-.07.123 0 .06.023.103.07.132.047.03.106.044.176.044zm.916-.105c.07-.024.129-.056.176-.097s.07-.08.07-.115a.223.223 0 00-.105-.123.284.284 0 00-.176-.017c-.07.023-.13.055-.176.096s-.07.08-.07.115c.023.059.058.1.105.123s.105.03.176.018z"/></svg>',
     225
     226            'instagram'   => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M9.51 1.757c-1.219 0-2.01.009-2.373.026-.363.018-.791.033-1.283.044a6.324 6.324 0 00-1.046.123 4.488 4.488 0 00-.642.194c-.199.07-.38.16-.545.272a3.267 3.267 0 00-.852.853 2.815 2.815 0 00-.29.562 5.826 5.826 0 00-.176.624c-.059.252-.094.607-.105 1.064-.024.48-.041.902-.053 1.265s-.018 1.149-.018 2.356c0 1.219.009 2.01.027 2.373.017.363.032.79.044 1.283.023.445.064.794.123 1.046s.123.466.193.642c.07.199.161.38.272.544a3.267 3.267 0 00.853.853c.164.111.352.208.562.29.165.059.373.117.624.176.252.058.607.094 1.064.105.48.024.902.041 1.266.053s1.148.018 2.355.018c1.219 0 2.01-.01 2.373-.027s.791-.032 1.283-.044a6.324 6.324 0 001.046-.123c.252-.058.466-.123.642-.193.199-.07.38-.161.545-.273a3.267 3.267 0 00.852-.852c.112-.164.208-.352.29-.563.059-.164.117-.372.176-.624s.094-.606.106-1.063c.023-.48.04-.902.052-1.266s.018-1.148.018-2.355c0-1.219-.009-2.01-.027-2.373a53.213 53.213 0 01-.043-1.283 6.324 6.324 0 00-.124-1.046 4.488 4.488 0 00-.193-.642c-.07-.2-.161-.38-.272-.545s-.244-.322-.396-.474a2.83 2.83 0 00-1.02-.668 5.826 5.826 0 00-.623-.176c-.252-.059-.607-.094-1.064-.106-.48-.023-.902-.04-1.266-.052s-1.148-.018-2.355-.018zm0-1.617c1.23 0 2.036.009 2.417.026.38.018.806.032 1.274.044.493.024.909.067 1.248.132.34.064.65.15.932.255.305.129.589.275.853.44.263.163.518.368.764.615s.454.503.624.773.314.55.43.844c.106.27.194.577.265.923.07.345.11.764.123 1.256.023.48.04.909.052 1.284.012.375.018 1.177.018 2.408s-.009 2.036-.026 2.417c-.018.38-.033.805-.044 1.274a9.181 9.181 0 01-.132 1.248c-.065.34-.15.65-.255.932-.129.304-.275.589-.44.852s-.369.519-.615.765-.504.454-.773.624c-.27.17-.551.313-.844.43-.27.106-.577.194-.923.264-.346.07-.764.112-1.257.123-.48.024-.908.041-1.283.053-.375.012-1.178.018-2.408.018s-2.036-.01-2.417-.027-.806-.032-1.274-.044a9.181 9.181 0 01-1.248-.131c-.34-.065-.65-.15-.932-.255a6.136 6.136 0 01-.853-.44c-.263-.164-.518-.369-.764-.615s-.454-.504-.624-.773c-.17-.27-.314-.551-.43-.844a5.607 5.607 0 01-.265-.923A7.287 7.287 0 01.58 12.83c-.023-.48-.04-.908-.052-1.283C.516 11.173.51 10.37.51 9.14s.009-2.036.026-2.417c.018-.381.033-.806.044-1.275.024-.492.068-.908.132-1.248.065-.34.15-.65.255-.931.129-.305.275-.59.44-.853.164-.264.369-.518.615-.764s.504-.455.773-.625c.27-.17.551-.313.844-.43.27-.106.577-.194.923-.264.345-.07.764-.111 1.257-.123.48-.023.908-.04 1.283-.053S8.279.14 9.51.14zm0 4.36c.645 0 1.248.122 1.81.368a4.53 4.53 0 012.461 2.461c.247.563.37 1.166.37 1.81 0 .645-.123 1.249-.37 1.811a4.53 4.53 0 01-2.46 2.461 4.467 4.467 0 01-1.811.37 4.467 4.467 0 01-1.81-.37 4.53 4.53 0 01-2.461-2.46 4.467 4.467 0 01-.37-1.811c0-.645.123-1.248.37-1.81a4.53 4.53 0 012.46-2.462A4.467 4.467 0 019.51 4.5zm0 7.663c.832 0 1.544-.299 2.136-.896.591-.598.887-1.307.887-2.127 0-.832-.298-1.544-.896-2.136-.598-.592-1.307-.888-2.127-.888-.832 0-1.544.3-2.136.897-.592.598-.887 1.307-.887 2.127 0 .832.298 1.544.896 2.136.598.591 1.307.887 2.127.887zm5.871-7.84c0 .293-.1.548-.299.765a.982.982 0 01-.756.325 1.06 1.06 0 01-.764-.316 1.038 1.038 0 01-.325-.774c0-.292.105-.541.316-.747.21-.205.469-.307.773-.307.293 0 .542.1.747.299.206.199.308.45.308.755z"/></svg>',
     227
     228            'lastfm'      => '<svg width="19" height="11" viewBox="0 0 19 11" xmlns="http://www.w3.org/2000/svg"><path d="M14.52 10.093c-.89 0-1.647-.094-2.268-.281-.609-.188-1.125-.446-1.547-.774a4.092 4.092 0 01-1.019-1.142 7.805 7.805 0 01-.615-1.389l-.668-2.074c-.246-.75-.563-1.383-.95-1.899-.386-.515-1.03-.773-1.933-.773-.633 0-1.213.258-1.74.773-.528.516-.791 1.407-.791 2.672 0 .985.222 1.764.668 2.338s1.03.862 1.758.862c.808 0 1.456-.2 1.942-.598l.73-.598.667 1.793-.852.545c-.569.363-1.433.545-2.593.545-.715 0-1.353-.105-1.916-.316-.562-.211-1.034-.519-1.415-.923s-.67-.905-.87-1.503c-.2-.598-.299-1.29-.299-2.074 0-.82.1-1.547.299-2.18.2-.645.495-1.186.888-1.626s.876-.776 1.45-1.01C4.02.225 4.688.108 5.45.108c.68 0 1.283.064 1.81.193.528.129.99.34 1.389.633.398.293.738.668 1.02 1.125.292.469.55 1.037.773 1.705l.668 2.074c.246.75.62 1.371 1.125 1.864.504.492 1.277.738 2.32.738.703 0 1.236-.085 1.6-.255.363-.17.545-.448.545-.835 0-.293-.103-.545-.308-.756-.205-.21-.571-.38-1.099-.51l-1.406-.351c-.844-.188-1.453-.504-1.828-.95-.375-.445-.562-1.019-.562-1.722 0-1.125.38-1.899 1.142-2.32s1.612-.633 2.549-.633c1.055 0 1.887.199 2.496.597s.961 1.067 1.055 2.004l-2.074.246c-.036-.433-.19-.747-.466-.94-.276-.193-.66-.29-1.152-.29-.457 0-.811.094-1.063.281-.252.188-.378.457-.378.809 0 .316.08.568.237.756.158.187.466.334.923.44l1.336.28c.879.211 1.55.548 2.013 1.011.463.463.694 1.11.694 1.942 0 1.032-.392 1.764-1.178 2.198-.785.433-1.822.65-3.11.65z"/></svg>',
     229
     230            'linkedin'    => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M14.27 9.628a1.057 1.057 0 00-.492-.316 2.467 2.467 0 00-.774-.106c-.386 0-.712.059-.975.176a1.64 1.64 0 00-.642.492c-.152.223-.266.492-.343.809s-.114.68-.114 1.09v6.152a.473.473 0 01-.026.15.448.448 0 01-.114.166c-.036.035-.083.068-.141.097s-.117.044-.176.044H7.24c-.047 0-.097-.015-.15-.044s-.108-.062-.167-.097a1.305 1.305 0 01-.096-.15.339.339 0 01-.044-.166V6.57a.31.31 0 01.044-.15 5.8 5.8 0 01.096-.167c.047-.035.097-.067.15-.096s.108-.044.167-.044h3.129a.69.69 0 01.149.017c.053.012.097.03.132.053.035.012.061.041.079.088l.061.158c0 .047.006.094.018.14a.48.48 0 01.018.106v.281c.398-.386.867-.67 1.406-.852a5.59 5.59 0 011.793-.273c.75 0 1.418.088 2.004.264.586.176 1.09.451 1.511.826.422.387.739.856.95 1.407.21.55.316 1.195.316 1.933v7.664a.473.473 0 01-.026.15.448.448 0 01-.115.167c-.035.035-.082.067-.14.096s-.117.044-.176.044h-3.305a.31.31 0 01-.15-.044 5.8 5.8 0 01-.166-.096 1.305 1.305 0 01-.097-.15.339.339 0 01-.044-.167V11c0-.293-.026-.553-.079-.782a1.85 1.85 0 00-.237-.589zm-9.738-5.45c-.211.212-.446.37-.703.475s-.54.159-.844.159c-.293 0-.571-.053-.835-.159s-.501-.263-.712-.474c-.211-.211-.37-.443-.475-.695a2.19 2.19 0 01-.158-.852c0-.293.053-.566.158-.817.106-.252.264-.484.475-.695.21-.21.445-.375.703-.492s.54-.176.844-.176c.293 0 .571.059.835.176s.5.281.712.492c.21.211.369.44.474.686.106.246.159.521.159.826 0 .316-.053.6-.159.852a2.159 2.159 0 01-.474.695zm.527 2.391v11.355a.31.31 0 01-.044.15c-.03.053-.061.108-.097.167a1.305 1.305 0 01-.149.096.339.339 0 01-.167.044H1.368a.31.31 0 01-.15-.044 5.802 5.802 0 01-.167-.096 1.305 1.305 0 01-.096-.15.339.339 0 01-.044-.167V6.57a.31.31 0 01.044-.149c.029-.053.061-.108.096-.167.047-.035.097-.067.15-.097a.339.339 0 01.167-.044h3.234a.31.31 0 01.15.044 5.8 5.8 0 01.166.097c.036.047.068.097.097.15.03.052.044.108.044.166z"/></svg>',
     231
     232            'mail'        => '<svg width="18" height="13" viewBox="0 0 18 13" xmlns="http://www.w3.org/2000/svg"><path d="M9.6 8.175l8.402-6.856v10.793h-18V1.32l8.403 6.856c.093.07.19.129.29.176s.202.07.307.07.211-.023.317-.07c.105-.047.199-.106.28-.176zm-.598-2.074a.662.662 0 01-.263-.053 1.417 1.417 0 01-.229-.123L1.373.089h15.258L9.495 5.925a.813.813 0 01-.492.176z"/></svg>',
     233
     234            'medium'      => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M18.39 15.093h-6.856l1.372-1.512c.023-.023.038-.079.044-.167.005-.088.008-.202.008-.342V3.667l-4.5 11.426L3.572 4.441a5.822 5.822 0 01-.167-.457 39.698 39.698 0 01-.15-.474v7.927c0 .164.006.282.018.352.012.07.076.182.193.334l2.074 2.97H.39l2.092-2.97c.117-.152.178-.264.184-.334.006-.07.01-.188.01-.352V3.246c0-.176.002-.293.008-.352.006-.058-.032-.14-.114-.246L.97.222h4.852l4.2 9.3 3.657-9.3h4.711l-1.266 1.565c-.082.094-.131.187-.149.281s-.026.211-.026.352v10.635c0 .14.003.252.008.334.006.082.027.14.062.176l1.371 1.529z"/></svg>',
     235
     236            'meetup'      => '<svg width="19" height="15" viewBox="0 0 19 15" xmlns="http://www.w3.org/2000/svg"><path d="M12.22 11.542c-.012-.258.012-.504.07-.738s.14-.463.246-.685c.375-.797.75-1.59 1.125-2.38a774.383 774.383 0 001.291-2.742c.053-.123.085-.254.097-.395a1.428 1.428 0 00-.018-.387c-.023-.128-.105-.228-.246-.298-.14-.07-.278-.091-.413-.062s-.255.097-.36.202c-.14.106-.255.232-.343.378a6.41 6.41 0 00-.237.43c-.27.528-.533 1.049-.79 1.564a192.161 192.161 0 01-1.582 3.092l-.773 1.547c-.082.152-.164.301-.246.448a1.8 1.8 0 01-.298.395c-.223.234-.501.39-.835.465-.334.077-.653.05-.957-.079a.87.87 0 01-.519-.535c-.088-.252-.073-.548.044-.888.2-.527.401-1.048.606-1.563s.413-1.031.624-1.547l.316-.843.317-.843c.035-.07.064-.147.087-.229s.041-.158.053-.228a1.094 1.094 0 00-.088-.703.8.8 0 00-.474-.421.77.77 0 00-.598.07c-.199.105-.35.28-.456.527-.246.609-.492 1.221-.738 1.836s-.486 1.227-.72 1.836c-.258.632-.513 1.268-.765 1.906s-.506 1.268-.764 1.889c-.281.68-.68 1.13-1.195 1.353s-1.118.222-1.81 0c-.609-.2-1.068-.563-1.379-1.09-.31-.527-.377-1.112-.202-1.756.13-.528.27-1.055.422-1.582.152-.527.31-1.051.474-1.572.164-.522.328-1.04.492-1.555.176-.527.346-1.048.51-1.564l.457-1.265c.153-.422.316-.837.491-1.247.305-.656.794-1.166 1.467-1.529.674-.363 1.327-.457 1.96-.28.28.07.553.172.816.307s.525.272.782.412c.27.153.522.205.756.159.234-.047.462-.164.685-.352a92.698 92.698 0 00.597-.527c.422-.34.864-.504 1.327-.492.463.012.893.2 1.291.562.07.059.138.118.202.176.065.059.132.117.202.176a.653.653 0 00.378.202.597.597 0 00.413-.114 2.279 2.279 0 011.15-.37c.393-.011.788.024 1.187.106.55.117.978.413 1.282.887s.416.993.334 1.555a7.778 7.778 0 01-.588 2.02 277.748 277.748 0 00-1.626 3.725 9.284 9.284 0 00-.58 1.863c-.011.117-.023.228-.035.334a3.025 3.025 0 00-.017.333c-.012.328.05.583.184.765.135.181.372.313.712.395.21.059.43.105.659.14s.454.077.676.124c.316.07.539.184.668.342.129.158.187.372.175.641-.011.246-.09.446-.237.598s-.372.258-.676.316c-.55.106-1.092.123-1.625.053s-1.052-.217-1.555-.44c-.598-.257-1.051-.629-1.362-1.115-.31-.486-.483-1.057-.518-1.713z"/></svg>',
     237
     238            'pinterest'   => '<svg width="15" height="19" viewBox="0 0 15 19" xmlns="http://www.w3.org/2000/svg"><path d="M4.77 7.548c0-.387.047-.738.14-1.055.094-.316.247-.61.458-.879.187-.257.404-.457.65-.597.246-.14.51-.211.791-.211.223 0 .422.035.598.105.175.07.328.188.457.352a1.866 1.866 0 01.387 1.16c0 .14-.015.296-.044.466-.03.17-.074.354-.132.554-.047.21-.1.436-.159.676s-.134.495-.228.765c-.082.281-.158.527-.229.738-.07.211-.123.399-.158.563-.07.28-.079.545-.026.79.053.247.167.475.343.686.175.188.378.334.606.44s.483.158.765.158c.492 0 .94-.138 1.344-.413s.765-.689 1.082-1.24c.316-.562.553-1.177.711-1.845s.238-1.4.238-2.197c0-.598-.097-1.143-.29-1.635a3.831 3.831 0 00-.87-1.319 3.932 3.932 0 00-1.398-.835c-.545-.193-1.169-.29-1.872-.29-.785 0-1.494.123-2.127.37a4.48 4.48 0 00-1.67 1.142A4.99 4.99 0 003.03 5.632a5.075 5.075 0 00-.37 1.951c0 .422.06.809.176 1.16.118.352.293.668.528.95a.566.566 0 01.158.28.96.96 0 01.017.317c-.035.082-.07.194-.105.334s-.07.31-.105.51a.397.397 0 01-.07.176.32.32 0 01-.141.105.614.614 0 01-.15.018.852.852 0 01-.167-.018 3.17 3.17 0 01-.949-.606 3.555 3.555 0 01-.703-.94A4.85 4.85 0 01.727 8.69a6.23 6.23 0 01-.14-1.354c0-.316.026-.627.078-.932.053-.304.132-.615.238-.931.105-.317.231-.624.378-.923s.325-.589.536-.87c.21-.293.445-.566.703-.818.258-.252.527-.495.809-.73.292-.222.618-.424.975-.606a7.928 7.928 0 011.204-.483c.422-.117.859-.21 1.31-.281.451-.07.917-.106 1.397-.106.504 0 .988.044 1.45.132.463.088.906.22 1.328.396.421.152.814.342 1.177.571.364.229.686.483.967.765.293.293.55.6.774.923.222.322.421.67.597 1.045.153.364.273.739.36 1.125s.132.774.132 1.16c0 1.055-.131 2.02-.395 2.892a6.954 6.954 0 01-1.222 2.347c-.539.703-1.154 1.225-1.846 1.564-.69.34-1.459.51-2.302.51-.281 0-.554-.03-.818-.088a2.728 2.728 0 01-.764-.299 2.626 2.626 0 01-.633-.413 1.94 1.94 0 01-.422-.536c-.187.82-.343 1.477-.466 1.969s-.214.82-.272.984a7.114 7.114 0 01-.528 1.336 13.037 13.037 0 01-.984 1.618H3.61a15.553 15.553 0 01-.08-1.97c.018-.597.08-1.136.185-1.616L5.086 9.27a3.083 3.083 0 01-.237-.765 5.323 5.323 0 01-.08-.958z"/></svg>',
     239
     240            'pocket'      => '<svg width="19" height="17" viewBox="0 0 19 17" xmlns="http://www.w3.org/2000/svg"><path d="M18.2 2.721v4.673c0 .492-.03.99-.088 1.493-.058.504-.158.99-.299 1.459-.269.831-.647 1.607-1.133 2.327s-1.068 1.35-1.748 1.89a8.416 8.416 0 01-1.142.807c-.398.246-.814.457-1.247.633s-.878.316-1.335.421a8.79 8.79 0 01-1.37.211c-.48.035-.955.03-1.424-.017a7.998 7.998 0 01-1.405-.229 9.677 9.677 0 01-1.353-.457 8.131 8.131 0 01-1.265-.667 9.857 9.857 0 01-1.985-1.704A8.739 8.739 0 01.983 11.4a9.283 9.283 0 01-.492-1.388 7.71 7.71 0 01-.246-1.423C.21 8.062.195 7.535.201 7.008s.01-1.043.01-1.546V2.3c0-.387.107-.738.324-1.055a1.55 1.55 0 01.87-.632c.105-.035.213-.056.325-.062a6.52 6.52 0 01.342-.008h8.714c.539.011 1.072.017 1.599.017.527 0 1.06.006 1.599.018h1.58c.235-.024.478-.035.73-.035s.5.035.746.105a1.956 1.956 0 01.914.703c.14.21.217.43.228.659.012.228.018.465.018.711zm-3.584 4.076c.07-.2.082-.404.035-.615s-.129-.392-.246-.545a1.232 1.232 0 00-.527-.36 1.236 1.236 0 00-.632-.061 1.4 1.4 0 00-.72.386c-.2.2-.393.387-.58.562a142.695 142.695 0 01-2.74 2.6 21.07 21.07 0 01-1.187-1.097c-.38-.381-.77-.765-1.168-1.151l-.29-.29c-.1-.1-.202-.19-.307-.272a4.673 4.673 0 00-.598-.563c-.164-.105-.351-.166-.562-.184s-.41.009-.597.08c-.422.175-.66.485-.712.93-.052.445.068.814.36 1.107.41.41.817.808 1.221 1.195.404.386.806.773 1.204 1.16.199.175.395.36.588.552.194.194.396.384.606.571.164.164.337.34.519.527.181.188.395.305.64.352a1.308 1.308 0 001.16-.316 62.497 62.497 0 001.23-1.195 111.392 111.392 0 002.425-2.284c.164-.164.34-.33.527-.5.187-.17.304-.367.351-.59z"/></svg>',
     241
     242            'reddit'      => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M18.19 7.429c0 .375-.105.709-.316 1.002-.211.293-.48.51-.809.65a2.953 2.953 0 01.105.774c0 .726-.21 1.406-.632 2.039-.422.633-.994 1.186-1.714 1.661-.721.475-1.568.853-2.54 1.134a11.8 11.8 0 01-3.13.404c-1.112 0-2.155-.14-3.128-.422-.973-.27-1.82-.641-2.54-1.116-.72-.475-1.292-1.028-1.714-1.661-.422-.645-.633-1.324-.633-2.04 0-.14.009-.28.027-.421.017-.14.044-.27.079-.387a1.753 1.753 0 01-.765-.65 1.719 1.719 0 01-.29-.967c0-.492.17-.908.51-1.248.34-.34.756-.51 1.248-.51.281 0 .536.059.764.176.229.117.42.27.572.457a8.346 8.346 0 011.142-.668c.41-.2.844-.369 1.301-.51.457-.14.938-.252 1.442-.334a11.25 11.25 0 011.564-.14L10.245.257a.295.295 0 01.15-.167.377.377 0 01.236-.044l3.551.844c.024 0 .041.006.053.018l.018.017c.128-.246.304-.442.527-.589s.48-.22.773-.22c.387 0 .712.132.976.396s.395.589.395.976c0 .386-.131.718-.395.993a1.297 1.297 0 01-.976.413c-.386 0-.714-.132-.984-.396a1.335 1.335 0 01-.422-.94h-.14L10.771.785l-1.3 3.867a11.692 11.692 0 013.103.475c.473.14.916.316 1.326.527.422.199.809.427 1.16.685a1.705 1.705 0 011.371-.668c.492 0 .908.17 1.248.51.34.34.51.756.51 1.248zM5.077 8.835c0 .352.129.656.387.914s.562.387.914.387c.351 0 .656-.129.914-.387s.387-.562.387-.914c0-.351-.13-.656-.387-.914s-.563-.387-.914-.387c-.352 0-.656.13-.914.387s-.387.563-.387.914zm7.031 3.586c.035-.035.053-.085.053-.15a.27.27 0 00-.053-.166c-.035-.035-.082-.053-.14-.053s-.106.018-.141.053c-.27.27-.624.466-1.064.589-.439.123-.963.184-1.573.184-.633 0-1.166-.064-1.6-.193s-.779-.322-1.036-.58c-.036-.035-.082-.053-.141-.053s-.106.018-.14.053a.34.34 0 00-.053.175.19.19 0 00.052.141c.305.305.698.527 1.178.668s1.06.211 1.74.211c.692 0 1.278-.073 1.758-.22s.867-.366 1.16-.659zm-.07-2.285c.351 0 .65-.126.896-.378s.37-.56.37-.923c0-.351-.124-.656-.37-.914s-.545-.387-.896-.387c-.375 0-.692.13-.95.387s-.386.563-.386.914c0 .375.132.686.395.932.264.246.578.369.94.369z"/></svg>',
     243
     244            'skype'       => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M17.6 11.315a4.903 4.903 0 01.492 2.18c0 .68-.129 1.318-.387 1.916a5.054 5.054 0 01-1.045 1.564c-.44.446-.958.797-1.556 1.055a4.661 4.661 0 01-1.899.387c-.421 0-.832-.053-1.23-.159a4.512 4.512 0 01-1.09-.439 5.48 5.48 0 01-.782.114c-.252.018-.507.027-.765.027a8.246 8.246 0 01-3.304-.668 8.475 8.475 0 01-2.681-1.793 8.486 8.486 0 01-1.82-2.69 8.121 8.121 0 01-.667-3.287c0-.305.017-.598.052-.879.036-.281.077-.562.123-.844C.831 7.448.666 7.06.55 6.63S.373 5.772.373 5.338c0-.68.13-1.318.387-1.916a5.054 5.054 0 011.046-1.564c.44-.445.958-.797 1.556-1.055A4.66 4.66 0 015.26.417c.492 0 .958.067 1.398.202.44.134.852.313 1.239.536a9.444 9.444 0 011.441-.106c1.172 0 2.268.223 3.287.668a8.486 8.486 0 012.69 1.82 8.475 8.475 0 011.793 2.68 8.246 8.246 0 01.668 3.305c0 .305-.012.61-.035.914-.024.305-.07.598-.14.879zm-4.008 2.215a3.214 3.214 0 00.598-1.899c0-.28-.03-.55-.088-.808a2.15 2.15 0 00-.264-.668 2.261 2.261 0 00-.395-.563 3.334 3.334 0 00-.554-.457 4.657 4.657 0 00-.66-.351c-.24-.106-.5-.211-.781-.317a9.03 9.03 0 00-.897-.246c-.316-.07-.638-.14-.967-.21l-.72-.185c-.2-.053-.358-.097-.475-.132a2.172 2.172 0 01-.334-.106 9.622 9.622 0 01-.334-.14 2.74 2.74 0 01-.29-.185.825.825 0 01-.202-.202.523.523 0 01-.14-.237.988.988 0 01-.036-.255c0-.164.044-.314.132-.448s.22-.255.395-.36c.176-.13.387-.22.633-.273a4.05 4.05 0 01.844-.08c.316 0 .595.027.835.08.24.053.43.132.571.237.14.106.273.237.396.396.123.158.237.342.343.553.105.14.199.27.28.387.083.117.165.211.247.281.094.07.2.123.316.158.118.036.246.053.387.053.176 0 .34-.03.492-.088a.99.99 0 00.387-.263c.129-.13.22-.261.272-.396.053-.135.08-.272.08-.413a2.13 2.13 0 00-.247-.984 2.612 2.612 0 00-.351-.475 3.635 3.635 0 00-.492-.44 3.688 3.688 0 00-.624-.395 4.436 4.436 0 00-.783-.308 4.034 4.034 0 00-.896-.193 10.103 10.103 0 00-1.072-.053c-.48 0-.923.03-1.328.088a4.956 4.956 0 00-1.133.3 3.913 3.913 0 00-.967.474c-.27.187-.498.404-.686.65-.199.246-.348.516-.448.809-.1.293-.15.597-.15.914 0 .34.05.65.15.931s.237.534.413.756c.176.235.387.44.633.615s.516.323.809.44c.304.14.647.267 1.028.378.38.111.788.208 1.222.29.316.07.606.14.87.21.263.071.489.13.676.177.176.07.34.143.493.22.152.076.28.166.386.272.13.105.22.228.273.369.053.14.079.287.079.44 0 .21-.053.404-.158.58s-.264.333-.475.474c-.21.164-.463.281-.756.352-.293.07-.615.105-.967.105-.246 0-.474-.017-.685-.053a2.144 2.144 0 01-.545-.158 2.167 2.167 0 01-.958-.949 16.982 16.982 0 00-.237-.457 1.965 1.965 0 00-.211-.43 1.295 1.295 0 00-.282-.308.876.876 0 00-.342-.194 1.434 1.434 0 00-.396-.052c-.176 0-.337.026-.483.079s-.279.132-.396.237a.869.869 0 00-.272.37c-.053.14-.08.286-.08.439 0 .246.045.495.133.747.087.252.22.506.395.764.176.27.384.507.624.712.24.205.501.378.782.519.41.21.867.369 1.371.474s1.055.159 1.653.159c.515 0 .993-.039 1.432-.115.44-.076.841-.19 1.204-.342a4.995 4.995 0 001.011-.563c.287-.21.525-.457.712-.738z"/></svg>',
     245
     246            'slideshare'  => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 5.901c.586 0 1.084.193 1.494.58.41.387.615.85.615 1.389 0 .55-.208 1.016-.624 1.397s-.91.572-1.485.572a2.098 2.098 0 01-1.494-.58c-.41-.387-.615-.85-.615-1.39 0-.55.208-1.016.624-1.397.416-.38.91-.571 1.485-.571zm4.992-.035c.598 0 1.105.193 1.52.58.417.387.625.85.625 1.389 0 .562-.208 1.037-.624 1.424-.416.386-.923.58-1.52.58a2.098 2.098 0 01-1.495-.58 1.88 1.88 0 01-.615-1.424c0-.551.208-1.017.624-1.398s.911-.571 1.485-.571zm5.555 3.129c.27-.188.475-.19.615-.009s.123.396-.052.642c-.317.386-.78.808-1.39 1.265-.608.457-1.376.88-2.302 1.266.492 1.676.516 3.006.07 3.99-.445.997-1.028 1.662-1.749 1.996-.72.334-1.42.36-2.1.079-.668-.293-.99-.873-.967-1.74v-3.27a2.404 2.404 0 00-.492-.106v3.375c.023.868-.3 1.448-.967 1.74-.68.282-1.38.256-2.1-.078-.721-.334-1.299-1-1.732-1.996-.446-.984-.416-2.314.088-3.99-.95-.387-1.732-.809-2.347-1.266-.615-.457-1.087-.879-1.415-1.265-.153-.246-.167-.46-.044-.642.123-.182.325-.179.606.009l.115.079c.04.03.061.05.061.062V2.174c0-.492.173-.908.519-1.248.345-.34.735-.51 1.169-.51h12.62c.446 0 .81.17 1.09.51s.422.756.422 1.248v6.962a.423.423 0 00.185-.08c.03-.029.062-.05.097-.061zm-1.16.668V2.948c0-.563-.085-.973-.255-1.23-.17-.258-.519-.387-1.046-.387H3.406c-.562 0-.937.117-1.125.351S2 2.338 2 2.948v6.75c.55.316 1.096.55 1.635.703.539.14 1.051.238 1.538.29.486.053.928.074 1.327.062.41-.012.75-.024 1.02-.035.246-.012.439.005.58.052.14.047.263.112.369.194.023.023.038.044.044.061s.014.032.026.044c.106.094.211.182.317.264.105.082.199.158.28.228a1.01 1.01 0 01.282-.65c.164-.164.457-.229.879-.193.281.011.621.023 1.02.035.398.012.837-.009 1.318-.062a9.87 9.87 0 001.547-.307 7.72 7.72 0 001.705-.721z"/></svg>',
     247
     248            'snapchat'    => '<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M17.6 13.58c.105.012.196.056.272.131s.102.173.079.29a.639.639 0 01-.036.21c-.035.105-.102.196-.201.272s-.23.16-.394.254c-.2.082-.444.16-.737.236s-.63.15-1.016.22c-.024.035-.044.09-.062.166s-.032.15-.043.22a2.855 2.855 0 00-.106.42.432.432 0 01-.175.236.507.507 0 01-.28.08H14.62a1.03 1.03 0 01-.245-.036 2.836 2.836 0 00-.42-.079 4.292 4.292 0 00-.492-.026c-.128 0-.245.009-.35.026a4.775 4.775 0 01-.35.044c-.211.035-.415.108-.614.22a7.67 7.67 0 00-.649.411 7.636 7.636 0 01-1.043.666c-.391.21-.861.316-1.41.316H8.8c-.55 0-1.02-.108-1.411-.324a11.522 11.522 0 01-1.06-.658 9.375 9.375 0 00-.64-.403 1.88 1.88 0 00-.605-.228 4.775 4.775 0 01-.35-.044 1.916 1.916 0 00-.316-.026c-.222 0-.409.015-.56.044s-.281.05-.386.061c-.082.024-.158.041-.228.053s-.135.017-.193.017c-.152 0-.26-.04-.324-.122s-.12-.158-.167-.228a2.687 2.687 0 00-.105-.42 3.64 3.64 0 00-.044-.22.526.526 0 00-.061-.166c-.386-.07-.725-.14-1.017-.21s-.537-.153-.736-.246a2.321 2.321 0 01-.386-.254.673.673 0 01-.21-.272.188.188 0 01-.035-.105V14c-.023-.094.003-.181.079-.263a.426.426 0 01.272-.14c.268-.059.531-.132.788-.22.257-.087.497-.213.719-.376.222-.129.42-.278.596-.447.175-.17.345-.348.508-.535.292-.339.514-.649.666-.929a6.92 6.92 0 00.246-.473h.035a.999.999 0 00.105-.342.574.574 0 00-.035-.29c-.07-.151-.205-.268-.403-.35-.199-.082-.38-.152-.544-.21-.058-.012-.11-.03-.157-.053s-.088-.04-.123-.052a3.966 3.966 0 01-.386-.184.996.996 0 01-.28-.22c-.152-.116-.237-.23-.254-.341a.877.877 0 01-.009-.272.74.74 0 01.14-.254 1.15 1.15 0 01.263-.237c.059-.035.137-.067.237-.096.099-.03.195-.044.289-.044.047 0 .096.006.149.018.052.011.108.029.166.052.14.07.278.123.412.158.135.035.254.053.36.053.07 0 .131-.006.184-.018a.644.644 0 00.149-.053.7.7 0 00-.027-.184.834.834 0 01-.026-.219 33.536 33.536 0 01-.052-1.928c0-.678.105-1.244.315-1.7.14-.304.3-.587.482-.85.181-.263.383-.494.605-.692.187-.2.388-.368.604-.509.217-.14.447-.268.693-.385.432-.187.835-.307 1.21-.36s.66-.079.858-.079H9.152c.187 0 .467.024.84.07s.772.17 1.193.369c.245.117.476.245.692.385.216.14.418.31.605.509.234.198.444.432.63.7.188.27.351.562.492.877.198.42.295.976.289 1.665-.006.69-.032 1.332-.079 1.928v.246a.614.614 0 01-.035.192c.047 0 .088.006.123.018a.456.456 0 00.14.018c.128 0 .254-.018.377-.053.122-.035.254-.088.394-.158.047-.035.105-.055.175-.061s.129-.009.176-.009c.07 0 .14.006.21.018a.93.93 0 01.193.052c.163.07.304.16.42.272a.526.526 0 01.176.394.721.721 0 01-.044.22.598.598 0 01-.184.254 1.444 1.444 0 01-.307.227c-.123.07-.266.135-.43.193a3.582 3.582 0 00-.122.044.601.601 0 00-.123.061c-.175.059-.365.129-.57.21-.204.082-.341.2-.411.351a.494.494 0 00-.027.28c.018.106.062.223.132.351l.228.456c.14.269.356.575.648.92.292.345.655.67 1.087.973.432.315.952.526 1.56.631z"/></svg>',
     249
     250            'soundcloud'  => '<svg width="19" height="9" viewBox="0 0 19 9" xmlns="http://www.w3.org/2000/svg"><path d="M1.3 7.415H.948v-2.18H1.3v2.18zm.914.703h-.352v-3.41h.352v3.41zm.703.211h-.351V4.356h.351V8.33zm.738.176h-.351V4.532h.351v3.973zm.88 0h-.352V3.267h.351v5.238zm.738 0H4.92V2.563h.352v5.942zm.879 0H5.8V2.177h.352v6.328zm.738 0h-.352V2h.352v6.504zm.914 0h-.387V2.177h.387v6.328zm.703 0h-.352V2.388h.352v6.117zm.738 0H8.86V1.649h.386v6.856zm.88 0h-.352V1.122h.351v7.383zm6.609-.07H10.58a.303.303 0 01-.193-.07.216.216 0 01-.088-.177v-7.03c0-.071.018-.127.053-.168.035-.04.1-.079.193-.114.211-.082.437-.144.677-.185.24-.04.483-.061.73-.061.503 0 .984.094 1.44.281.458.176.862.422 1.214.738.351.317.632.692.843 1.125.223.434.358.903.405 1.407.14-.047.28-.088.422-.123.14-.036.293-.053.457-.053.609 0 1.13.214 1.564.641s.65.953.65 1.574c0 .609-.213 1.13-.641 1.564-.428.434-.952.65-1.573.65z"/></svg>',
     251
     252            'spotify'     => '<svg width="19" height="13" viewBox="0 0 19 13" xmlns="http://www.w3.org/2000/svg"><path d="M14.7 12.008a.737.737 0 01-.474.342.697.697 0 01-.58-.096c-.75-.445-1.54-.808-2.37-1.089-.844-.27-1.728-.457-2.653-.562s-1.896-.117-2.915-.035a20 20 0 00-3.161.492.83.83 0 01-.588-.115.795.795 0 01-.36-.483.746.746 0 01.105-.588.83.83 0 01.492-.36 24.104 24.104 0 013.477-.527 17.117 17.117 0 013.205.053c1.025.117 2 .334 2.924.65.937.304 1.82.714 2.652 1.23.187.105.305.263.351.473s.012.416-.105.615zm1.546-3.442a.955.955 0 01-.598.43.94.94 0 01-.737-.114 13.108 13.108 0 00-2.845-1.265 16.552 16.552 0 00-3.223-.702 17.724 17.724 0 00-3.346-.07c-1.124.07-2.189.257-3.196.562-.246.082-.489.058-.729-.07s-.407-.317-.5-.563a1.03 1.03 0 01.079-.755.876.876 0 01.588-.474 16.48 16.48 0 013.618-.667c1.253-.094 2.5-.07 3.74.07a17.96 17.96 0 013.619.79c1.17.375 2.242.86 3.213 1.458.223.152.37.36.44.623.07.264.029.513-.123.747zm1.756-4.004c-.153.28-.39.46-.712.535a1.24 1.24 0 01-.904-.114c-1.019-.609-2.172-1.083-3.46-1.423-1.3-.327-2.617-.544-3.951-.65s-2.635-.105-3.9 0c-1.276.106-2.4.305-3.371.598a1.055 1.055 0 01-.878-.07 1.185 1.185 0 01-.598-.703 1.215 1.215 0 01.106-.904c.152-.287.386-.478.702-.571C2.15.92 3.42.686 4.847.557S7.74.426 9.237.55s2.975.377 4.427.763c1.451.399 2.769.943 3.951 1.634.281.175.46.418.536.729.076.31.026.606-.15.887z"/></svg>',
     253
     254            'stumbleupon' => '<svg width="19" height="15" viewBox="0 0 19 15" xmlns="http://www.w3.org/2000/svg"><path d="M9.2 3.602c-.258 0-.48.09-.668.272s-.281.408-.281.677v5.766a4.118 4.118 0 01-.334 1.547c-.211.48-.501.9-.87 1.257-.37.357-.794.641-1.275.852a3.93 3.93 0 01-1.564.316 3.93 3.93 0 01-1.565-.316 4.033 4.033 0 01-1.265-.87c-.364-.37-.65-.8-.862-1.292A3.93 3.93 0 01.2 10.246V7.75h3.094v2.461c0 .258.09.48.272.668a.904.904 0 00.677.281c.258 0 .48-.09.668-.272a.904.904 0 00.281-.677v-5.8c.012-.54.13-1.044.352-1.512.21-.469.498-.88.861-1.23A4.01 4.01 0 017.671.841 3.87 3.87 0 019.2.543a4.009 4.009 0 012.795 1.125c.362.352.65.762.86 1.23.211.47.328.973.352 1.512v1.301l-1.828.528-1.23-.563V4.551c0-.258-.092-.48-.273-.668a.904.904 0 00-.677-.281zm9 6.644a3.93 3.93 0 01-.316 1.565c-.211.492-.498.923-.862 1.292-.363.37-.785.66-1.265.87-.493.211-1.014.317-1.565.317s-1.072-.106-1.564-.317c-.48-.21-.905-.498-1.275-.861a4.016 4.016 0 01-1.204-2.83V7.786l1.23.562 1.829-.562v2.53c0 .259.09.481.272.669a.904.904 0 00.677.281c.258 0 .48-.09.668-.272a.904.904 0 00.281-.677V7.75H18.2v2.496z"/></svg>',
     255
     256            'tumblr'      => '<svg width="12" height="19" viewBox="0 0 12 19" xmlns="http://www.w3.org/2000/svg"><path d="M.1 8.239V5.673a5.138 5.138 0 001.828-.985c.246-.21.472-.445.677-.703s.378-.539.518-.844c.153-.293.282-.632.387-1.02.106-.386.188-.808.246-1.265h2.567v4.535h4.289V8.24h-4.29v4.606c0 .527.015.958.045 1.292.029.334.073.57.131.712a.99.99 0 00.229.395c.105.111.228.214.37.308.21.117.43.21.658.28.229.071.466.106.712.106.457 0 .914-.076 1.371-.228.457-.152.914-.381 1.371-.686v2.848c-.386.176-.755.331-1.107.466a7.137 7.137 0 01-1.002.307 7.26 7.26 0 01-.958.159c-.346.035-.694.052-1.046.052a8.03 8.03 0 01-1.169-.079 5.926 5.926 0 01-1.01-.237c-.317-.105-.613-.228-.888-.37s-.519-.31-.73-.509a3.638 3.638 0 01-.571-.598 3.28 3.28 0 01-.378-.632 3.428 3.428 0 01-.185-.791 8.727 8.727 0 01-.061-1.108V8.24H.1z"/></svg>',
     257
     258            'twitch'      => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M12.8 16.061H9.284L6.93 18.417h-2.32V16.06H.284V3.545L1.48.416h16.03v10.97L12.8 16.06zm3.129-5.484V1.963H3.027v11.355h3.515v2.356l2.356-2.356h4.29l2.741-2.742zm-2.742-5.45v4.676H11.64V5.127h1.547zm-5.871 0h1.582v4.676H7.316V5.127z"/></svg>',
     259
     260            'twitter'     => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M16.6 4.2v.457c0 1.219-.229 2.455-.686 3.709a10.568 10.568 0 01-2.021 3.375c-.89 1.008-1.992 1.834-3.305 2.479-1.3.632-2.8.949-4.5.949-.515 0-1.025-.035-1.53-.106-.503-.07-.992-.175-1.467-.316s-.934-.317-1.38-.527a9.099 9.099 0 01-1.283-.704 9.86 9.86 0 00.879.036c.855 0 1.679-.135 2.47-.405a6.85 6.85 0 002.135-1.177c-.808 0-1.529-.244-2.162-.73a3.782 3.782 0 01-1.318-1.837c.117.035.231.056.343.062s.231.008.36.008a4.54 4.54 0 00.984-.105A3.632 3.632 0 012.01 8.085a3.563 3.563 0 01-.844-2.338v-.07c.246.14.507.252.783.334s.565.123.87.123a3.58 3.58 0 01-1.196-1.292 3.56 3.56 0 01-.316-2.734c.094-.316.223-.615.387-.896.445.562.949 1.072 1.511 1.53a10.59 10.59 0 003.85 1.985c.727.2 1.47.317 2.232.352a3.555 3.555 0 01-.105-.844c0-.504.094-.984.281-1.441.2-.446.466-.835.8-1.17a3.625 3.625 0 011.169-.781c.445-.2.926-.3 1.441-.3.54 0 1.04.106 1.503.317.463.211.865.492 1.204.844a7.969 7.969 0 001.23-.343 6.622 6.622 0 001.126-.536c-.14.422-.352.809-.633 1.16-.281.352-.61.645-.984.88a8.26 8.26 0 001.072-.212 5.848 5.848 0 001.037-.386A8.42 8.42 0 0116.6 4.2z"/></svg>',
     261
     262            'vimeo'       => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M12.1 3.883c-.21 0-.428.026-.65.08a3.818 3.818 0 00-.685.236c.222-.726.492-1.359.808-1.897s.685-.984 1.107-1.336.896-.609 1.423-.773 1.101-.234 1.722-.21c.926.01 1.608.315 2.047.913s.636 1.488.589 2.67a5.986 5.986 0 01-.281 1.442c-.164.515-.399 1.072-.703 1.669s-.685 1.242-1.142 1.933c-.445.68-.967 1.4-1.564 2.161-.61.785-1.195 1.476-1.757 2.074s-1.102 1.098-1.617 1.502c-.515.404-1.007.706-1.476.905-.469.2-.914.299-1.335.299-.528 0-1.01-.243-1.45-.73-.44-.486-.846-1.215-1.221-2.187-.246-.89-.49-1.778-.73-2.662a251.3 251.3 0 01-.711-2.68c-.281-.96-.565-1.681-.852-2.161-.287-.48-.589-.72-.905-.72-.07 0-.22.07-.448.21s-.548.351-.958.633l-.843-1.09A125.804 125.804 0 013.103 1.81C3.677 1.306 4.19.92 4.641.65 5.09.38 5.47.228 5.774.193c.68-.07 1.236.132 1.67.606.433.475.732 1.233.896 2.276.175 1.101.325 1.994.448 2.68.123.685.22 1.162.29 1.432.187.913.395 1.599.623 2.055s.466.686.712.686c.188 0 .422-.147.703-.44.281-.292.61-.732.984-1.317.363-.598.65-1.125.861-1.582s.334-.843.369-1.16c.047-.503-.032-.887-.237-1.15-.205-.264-.536-.396-.993-.396z"/></svg>',
     263
     264            'vk'          => '<svg width="19" height="11" viewBox="0 0 19 11" xmlns="http://www.w3.org/2000/svg"><path d="M18.1 9.122c.105.129.234.31.387.545.152.234.222.44.21.615-.07.504-.55.691-1.44.563s-1.536-.106-1.934.07h-.07a2.677 2.677 0 01-1.187-.554 7.723 7.723 0 01-.888-.852 7.918 7.918 0 01-.58-.668c-.222-.281-.462-.399-.72-.352-.387.059-.563.337-.528.835.036.498-.035.888-.21 1.169-.13.234-.422.354-.88.36-.456.006-.878-.008-1.265-.044-1.218-.14-2.18-.498-2.882-1.072a12.286 12.286 0 01-1.864-1.88 1.12 1.12 0 01-.14-.167 3.297 3.297 0 00-.106-.15.426.426 0 01-.052-.061.085.085 0 01-.018-.044c-.035-.035-.07-.076-.105-.123s-.059-.088-.07-.123c-.024-.024-.042-.044-.053-.062s-.018-.032-.018-.044a.54.54 0 01-.088-.114 1.285 1.285 0 00-.088-.132c-.023 0-.038-.009-.044-.026a.11.11 0 00-.026-.044 5.18 5.18 0 01-.106-.185 1.384 1.384 0 00-.105-.167 4.165 4.165 0 00-.211-.316.427.427 0 01-.053-.062.085.085 0 01-.017-.044.47.47 0 01-.088-.123.47.47 0 00-.088-.123.108.108 0 00-.018-.061.085.085 0 01-.017-.044.47.47 0 01-.088-.123.47.47 0 00-.088-.123c0-.024-.006-.044-.018-.062s-.017-.032-.017-.044a27.3 27.3 0 01-1.195-2.214C1.19 2.794 1.05 2.5.91 2.196a2.32 2.32 0 01-.211-.984c.2-.152.451-.225.756-.22.304.007.615.01.931.01.282 0 .604-.01.967-.027s.65.027.861.132c.106.059.217.22.334.483s.229.49.334.677c.14.34.29.647.448.923.159.275.314.542.466.8.024.023.044.05.062.079a.34.34 0 00.044.061c0 .024.003.038.008.044l.027.027c0 .023.009.043.026.061l.044.044.018.018.017.017c.024.035.038.065.044.088s.015.041.027.053l.017.017.018.018c.023.035.044.064.061.088s.032.053.044.088c.13.164.278.36.448.588s.36.326.572.29c.21-.035.34-.251.386-.65.047-.398.07-.756.07-1.072v-.105c.012-.375.007-.745-.017-1.108-.023-.363-.088-.638-.193-.826a.665.665 0 00-.396-.343 2.02 2.02 0 01-.518-.255C6.769.908 7.04.72 7.422.65c.38-.07.823-.105 1.327-.105.422 0 .882.011 1.38.035.498.023.823.164.975.422.176.304.238.682.185 1.133-.053.451-.08.87-.08 1.257a.217.217 0 00-.034.123v.65l-.018.01c-.012.006-.017.014-.017.026v.175c0 .024.005.035.017.035h.018V4.798c.023 0 .035.003.035.009v.132c.023 0 .035.006.035.017V5.044l.009.009.026.026v.071h.035v.07c.024 0 .035.003.035.009v.026c0 .024.006.035.018.035h.018v.035l.017.01c.012.005.018.014.018.026.023 0 .035.005.035.017v.018l.035.035.018.009c.011.006.017.014.017.026H11.561v.035c.024 0 .038.003.044.009l.027.026a.855.855 0 00.562-.316c.14-.176.27-.352.387-.527.023-.035.044-.065.061-.088a.513.513 0 01.044-.053l.01-.018c.006-.012.014-.017.025-.017 0-.024.006-.041.018-.053l.018-.017c.023-.024.038-.041.044-.053s.014-.018.026-.018c0-.023.003-.038.009-.044l.026-.026c0-.023.006-.038.018-.044.011-.006.017-.015.017-.026l.018-.01c.012-.005.017-.014.017-.025a.408.408 0 00.106-.176.427.427 0 00.053-.062.085.085 0 00.017-.044.425.425 0 00.053-.061.085.085 0 00.017-.044c.141-.235.276-.478.405-.73s.263-.524.404-.817c.094-.2.196-.436.308-.712.11-.275.243-.436.395-.483.27-.106.592-.144.967-.114.375.029.744.044 1.107.044.305 0 .671-.006 1.099-.018.427-.012.694.088.8.299.07.176.029.436-.123.782a7.444 7.444 0 01-.334.694c-.235.352-.466.671-.695.958s-.454.577-.676.87c-.024.024-.039.044-.044.062s-.015.032-.027.044l-.017.008a.028.028 0 00-.018.027c-.023 0-.038.009-.044.026s-.015.032-.026.044c0 .024-.006.038-.018.044s-.017.015-.017.026l-.044.044-.027.027-.061.061-.044.044-.457.624c-.176.24-.258.49-.246.747.023.2.111.372.263.519.153.146.3.29.44.43.34.317.636.6.887.853.252.252.507.554.765.905z"/></svg>',
     265
     266            'wordpress'   => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M9.9.375c1.242 0 2.408.234 3.498.703 1.09.48 2.042 1.128 2.856 1.943s1.462 1.766 1.943 2.856c.469 1.09.703 2.256.703 3.498s-.234 2.408-.703 3.498c-.48 1.09-1.128 2.042-1.943 2.856s-1.766 1.462-2.856 1.943a8.758 8.758 0 01-3.498.703 8.758 8.758 0 01-3.498-.703 9.307 9.307 0 01-2.856-1.943 9.309 9.309 0 01-1.943-2.856C1.134 11.783.9 10.617.9 9.375s.234-2.408.703-3.498A9.307 9.307 0 013.546 3.02a9.309 9.309 0 012.856-1.943A8.758 8.758 0 019.9.375zm-8.086 9a8.042 8.042 0 001.274 4.35 8.625 8.625 0 001.433 1.697 8.287 8.287 0 001.863 1.23L2.517 6.07c-.234.516-.41 1.052-.527 1.609S1.814 8.8 1.814 9.375zM9.9 17.461c.48 0 .946-.038 1.398-.114.45-.077.875-.19 1.274-.343 0-.024-.006-.044-.018-.062s-.017-.032-.017-.044l-2.496-6.82-2.426 7.067a8.284 8.284 0 002.285.316zm1.125-11.883l2.918 8.684.809-2.672c.175-.563.319-1.055.43-1.477s.167-.809.167-1.16c0-.492-.073-.92-.22-1.283a6.964 6.964 0 00-.448-.932c-.199-.34-.378-.66-.536-.958a1.983 1.983 0 01-.237-.94c0-.375.126-.71.378-1.002.252-.293.571-.44.958-.44h.105a8.386 8.386 0 00-1.16-.879 8.651 8.651 0 00-2.742-1.09A8.44 8.44 0 009.9 1.29c-.703 0-1.383.088-2.04.263-.655.176-1.274.422-1.854.739s-1.11.697-1.59 1.142c-.48.457-.903.961-1.266 1.512h.527c.422 0 .885-.018 1.389-.053l.756-.053c.21-.011.325.088.343.3.017.21-.085.333-.308.368l-.272.027c-.182.017-.396.032-.642.044l2.953 8.754 1.758-5.309-1.266-3.445c-.21-.024-.404-.041-.58-.053l-.263-.018c-.211-.023-.308-.143-.29-.36s.137-.32.36-.308l.764.053c.51.035.958.053 1.345.053.422 0 .89-.018 1.406-.053l.774-.053c.21-.011.322.088.334.3.012.21-.088.333-.299.368l-.273.027c-.181.017-.395.032-.641.044zm2.953 10.793a8.14 8.14 0 001.635-1.266 8.137 8.137 0 001.266-1.634 8.362 8.362 0 00.826-1.934 8.224 8.224 0 00.28-2.162c0-.703-.084-1.383-.254-2.04s-.413-1.265-.73-1.827a4.285 4.285 0 01.07.808c0 .422-.049.87-.149 1.345-.1.475-.26.999-.483 1.573l-2.46 7.137z"/></svg>',
     267
     268            'yelp'        => '<svg width="16" height="19" viewBox="0 0 16 19" xmlns="http://www.w3.org/2000/svg"><path d="M2.8 2.176a.803.803 0 01.325-.316l.202-.106 3.55-1.3c.07-.011.16-.035.271-.07.112-.035.302.035.571.21.153.083.255.261.308.537l.079.413.035 6.079-.097.369a.63.63 0 01-.465.474.73.73 0 01-.589-.105l-.254-.176-3.655-4.99-.228-.36c-.153-.24-.17-.46-.053-.659zM.938 12.542c-.07-.117-.106-.275-.106-.474v-.3l.246-3.056c0-.082.044-.176.132-.281s.184-.188.29-.246c.117-.082.287-.091.51-.027l.333.097 3.795 1.933.281.193c.188.129.281.31.281.545 0 .316-.058.503-.175.562s-.223.117-.317.176l-4.462.983-.334.08c-.223.052-.38-.01-.474-.185zM7.79 18.34a1.14 1.14 0 01-.422.026l-.21-.026-2.988-.949a.926.926 0 01-.28-.193.7.7 0 01-.176-.334c-.047-.152-.012-.325.105-.518l.176-.29 2.986-3.268.273-.184c.181-.123.36-.132.536-.027.175.082.284.202.325.36l.061.238-.07 4.427-.009.325c-.006.217-.108.354-.307.413zm1.827-9.101l2.39-3.795.175-.237a.537.537 0 01.492-.22c.176 0 .307.053.395.158l.132.158 2.038 2.39.08.228c.052.153.06.31.026.475-.036.152-.156.284-.36.395l-.308.167-4.252 1.23-.342.017c-.229.012-.396-.076-.501-.263-.082-.176-.097-.337-.044-.483l.079-.22zm5.587 4.955l-1.792 2.6-.21.123a.89.89 0 01-.458.123c-.152 0-.307-.082-.465-.246l-.238-.246-2.284-3.83-.087-.317c-.059-.21-.018-.386.123-.527.14-.14.292-.205.456-.193l.246.018 4.287 1.37.3.106c.198.07.298.21.298.421 0 .14-.03.275-.088.404l-.088.194z"/></svg>',
     269
     270            'youtube'     => '<svg xmlns="http://www.w3.org/2000/svg" width="19" height="14" viewBox="0 0 19 14"><path d="M18.216 3.72l.088.905a20.4 20.4 0 01.088 1.977v1.371c0 .739-.029 1.41-.088 2.013l-.088.905-.158.686c-.105.457-.287.826-.545 1.107-.351.352-.7.566-1.046.642-.345.076-.606.12-.782.132-.62.047-1.3.082-2.039.105-.726.024-1.406.041-2.039.053-.633.012-1.16.018-1.582.018H8.636c-.503-.012-1.092-.024-1.766-.036a116.07 116.07 0 01-2.03-.052 27.164 27.164 0 01-1.565-.088c-.2-.035-.495-.085-.888-.15-.392-.064-.764-.272-1.116-.624-.27-.281-.454-.65-.554-1.107l-.149-.686-.088-.905a20.961 20.961 0 01-.088-2.013v-1.37c0-.727.03-1.39.088-1.987l.088-.897.158-.703c.106-.468.287-.832.545-1.09.352-.375.7-.594 1.046-.659.346-.064.607-.102.782-.114a47.09 47.09 0 012.04-.105c.726-.024 1.406-.041 2.038-.053C7.81.983 8.337.977 8.76.977h1.266c.422 0 .95.006 1.582.018.633.012 1.313.03 2.04.053a47.09 47.09 0 012.038.105c.176.023.437.067.782.132.346.064.695.278 1.046.641.27.27.454.636.554 1.1l.15.693zm-6.398 3.726l.598-.316-4.852-2.532v5.063l4.254-2.215z"/></svg>',
     271
     272        );
     273
    85274    }
    86275}
  • trunk/src/wp-content/themes/twentytwenty/classes/class-twentytwenty-walker-comment.php

    r46357 r46445  
    3434
    3535            ?>
    36             <<?php echo esc_html( $tag ); ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>>
     36            <<?php echo $tag; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>>
    3737                <article id="div-comment-<?php comment_ID(); ?>" class="comment-body">
    3838                    <footer class="comment-meta">
     
    5151                            }
    5252
    53                             /* Translators: '%1$s = comment author name */
    54                             printf( '<span class="fn">%1$s</span><span class="screen-reader-text says">%2$s</span>', esc_html( $comment_author ), __( 'says:', 'twentytwenty' ) ); // phpcs:ignore
     53                            printf(
     54                                '<span class="fn">%1$s</span><span class="screen-reader-text says">%2$s</span>',
     55                                esc_html( $comment_author ),
     56                                __( 'says:', 'twentytwenty' )
     57                            );
    5558
    5659                            if ( ! empty( $comment_author_url ) ) {
     
    7275                            <?php
    7376                            if ( get_edit_comment_link() ) {
    74                                 echo ' &bull; <a class="comment-edit-link" href="' . esc_url( get_edit_comment_link() ) . '">' . __( 'Edit', 'twentytwenty' ) . '</a>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations
     77                                echo ' &bull; <a class="comment-edit-link" href="' . esc_url( get_edit_comment_link() ) . '">' . __( 'Edit', 'twentytwenty' ) . '</a>';
    7578                            }
    7679                            ?>
     
    7982                    </footer><!-- .comment-meta -->
    8083
    81                     <div class="comment-content">
     84                    <div class="comment-content entry-content">
    8285
    8386                        <?php
     
    8790                        if ( '0' === $comment->comment_approved ) {
    8891                            ?>
    89                             <p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></p>
     92                            <p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'twentytwenty' ); ?></p>
    9093                            <?php
    9194                        }
     
    122125                            }
    123126                            if ( $by_post_author ) {
    124                                 echo '<span class="by-post-author">' . __( 'By Post Author', 'twentytwenty' ) . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations
     127                                echo '<span class="by-post-author">' . __( 'By Post Author', 'twentytwenty' ) . '</span>';
    125128                            }
    126129                            ?>
  • trunk/src/wp-content/themes/twentytwenty/comments.php

    r46357 r46445  
    3232            <?php
    3333            if ( ! have_comments() ) {
    34                 esc_html_e( 'Leave a comment', 'twentytwenty' );
     34                _e( 'Leave a comment', 'twentytwenty' );
    3535            } elseif ( '1' === $comments_number ) {
    3636                /* translators: %s: post title */
    37                 printf( esc_html_x( 'One reply on &ldquo;%s&rdquo;', 'comments title', 'twentytwenty' ), esc_html( get_the_title() ) );
     37                printf( _x( 'One reply on &ldquo;%s&rdquo;', 'comments title', 'twentytwenty' ), esc_html( get_the_title() ) );
    3838            } else {
    39                 echo esc_html(
    40                     sprintf(
    41                         /* translators: 1: number of comments, 2: post title */
    42                         _nx(
    43                             '%1$s reply on &ldquo;%2$s&rdquo;',
    44                             '%1$s replies on &ldquo;%2$s&rdquo;',
    45                             $comments_number,
    46                             'comments title',
    47                             'twentytwenty'
    48                         ),
    49                         number_format_i18n( $comments_number ),
    50                         get_the_title()
    51                     )
     39                echo sprintf(
     40                    /* translators: 1: number of comments, 2: post title */
     41                    _nx(
     42                        '%1$s reply on &ldquo;%2$s&rdquo;',
     43                        '%1$s replies on &ldquo;%2$s&rdquo;',
     44                        $comments_number,
     45                        'comments title',
     46                        'twentytwenty'
     47                    ),
     48                    number_format_i18n( $comments_number ),
     49                    esc_html( get_the_title() )
    5250                );
    5351            }
     
    6159
    6260            <?php
    63 
    6461            wp_list_comments(
    6562                array(
     
    8178
    8279            if ( $comment_pagination ) {
     80                $pagination_classes = '';
    8381
    8482                // If we're only showing the "Next" link, add a class indicating so.
    85                 if ( strpos( $comment_pagination, 'prev page-numbers' ) === false ) {
     83                if ( false === strpos( $comment_pagination, 'prev page-numbers' ) ) {
    8684                    $pagination_classes = ' only-next';
    87                 } else {
    88                     $pagination_classes = '';
    8985                }
    9086                ?>
    9187
    92                 <nav class="comments-pagination pagination<?php echo esc_attr( $pagination_classes ); ?>" aria-label="<?php esc_attr_e( 'Comments', 'twentytwenty' ); ?>">
     88                <nav class="comments-pagination pagination<?php echo $pagination_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>" aria-label="<?php esc_attr_e( 'Comments', 'twentytwenty' ); ?>">
    9389                    <?php echo wp_kses_post( $comment_pagination ); ?>
    9490                </nav>
     
    129125    <div class="comment-respond" id="respond">
    130126
    131         <p class="comments-closed"><?php _e( 'Comments are closed.', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></p>
     127        <p class="comments-closed"><?php _e( 'Comments are closed.', 'twentytwenty' ); ?></p>
    132128
    133129    </div><!-- #respond -->
  • trunk/src/wp-content/themes/twentytwenty/footer.php

    r46357 r46445  
    1212 */
    1313
    14 ?>     
     14?>
    1515            <footer id="site-footer" role="contentinfo" class="header-footer-group">
    1616
     
    2121                        <p class="footer-copyright">&copy;
    2222                            <?php
    23                             echo esc_html(
    24                                 date_i18n(
    25                                     /* Translators: Y = Format parameter for date() https://php.net/manual/en/function.date.php */
    26                                     _x( 'Y', 'Translators: Y = Current year', 'twentytwenty' )
    27                                 )
     23                            echo date_i18n(
     24                                /* translators: Copyright date format, see https://secure.php.net/date */
     25                                _x( 'Y', 'copyright date format', 'twentytwenty' )
    2826                            );
    2927                            ?>
     
    3331                        <p class="powered-by-wordpress">
    3432                            <a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentytwenty' ) ); ?>">
    35                                 <?php
    36                                 _e( 'Powered by WordPress', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations
    37                                 ?>
     33                                <?php _e( 'Powered by WordPress', 'twentytwenty' ); ?>
    3834                            </a>
    39                         </p><!-- .theme-credits -->
     35                        </p><!-- .powered-by-wordpress -->
    4036
    4137                    </div><!-- .footer-credits -->
     
    4440                        <span class="to-the-top-long">
    4541                            <?php
    46                             // Translators: %s = HTML character for an arrow.
    47                             printf( esc_html( _x( 'To the top %s', '%s = HTML character for an arrow', 'twentytwenty' ) ), '<span class="arrow">&uarr;</span>' );
     42                            /* translators: %s: HTML character for up arrow */
     43                            printf( __( 'To the top %s', 'twentytwenty' ), '<span class="arrow">&uarr;</span>' );
    4844                            ?>
    49                         </span>
     45                        </span><!-- .to-the-top-long -->
    5046                        <span class="to-the-top-short">
    5147                            <?php
    52                             // Translators: %s = HTML character for an arrow.
    53                             printf( esc_html( _x( 'Up %s', '%s = HTML character for an arrow', 'twentytwenty' ) ), '<span class="arrow">&uarr;</span>' );
     48                            /* translators: %s: HTML character for up arrow */
     49                            printf( __( 'Up %s', 'twentytwenty' ), '<span class="arrow">&uarr;</span>' );
    5450                            ?>
    55                         </span>
    56                     </a>
     51                        </span><!-- .to-the-top-short -->
     52                    </a><!-- .to-the-top -->
    5753
    5854                </div><!-- .section-inner -->
  • trunk/src/wp-content/themes/twentytwenty/functions.php

    r46357 r46445  
    2020 * WP Body Open
    2121 * Register Sidebars
    22  * Enqueue Block editor assets
    23  * Classic Editor Style
     22 * Enqueue block editor assets
     23 * Enqueue classic editor styles
    2424 * Block editor settings
    2525 */
     
    6161    set_post_thumbnail_size( 1200, 9999 );
    6262
    63     // Add custom image sizes.
     63    // Add custom image size used in Cover Template.
    6464    add_image_size( 'twentytwenty-fullscreen', 1980, 9999 );
    6565
     
    175175function twentytwenty_register_styles() {
    176176
    177     $theme_version    = wp_get_theme()->get( 'Version' );
    178     $css_dependencies = array();
    179 
    180     /**
    181     * Filter to load, unload Font Awesome CSS
    182     *
    183     * By default, only load the Font Awesome fonts if the social menu is in use or
    184     * using filter Font Awesome css be loaded
    185     *
    186     * @since 1.0.0
    187     *
    188     * @param bool Whether to load font awesome, Default false.
    189     */
    190     $load_font_awesome = apply_filters( 'twentytwenty_load_font_awesome', has_nav_menu( 'social' ) );
    191 
    192     if ( $load_font_awesome ) {
    193         wp_register_style( 'font-awesome', get_template_directory_uri() . '/assets/css/font-awesome.css', false, '5.10.2', 'all' );
    194         $css_dependencies[] = 'font-awesome';
    195     }
    196 
    197     wp_enqueue_style( 'twentytwenty-style', get_template_directory_uri() . '/style.css', $css_dependencies, $theme_version );
     177    $theme_version = wp_get_theme()->get( 'Version' );
     178
     179    wp_enqueue_style( 'twentytwenty-style', get_stylesheet_uri(), array(), $theme_version );
    198180    wp_style_add_data( 'twentytwenty-style', 'rtl', 'replace' );
    199181
     
    248230 *
    249231 * @param string $html The HTML output from get_custom_logo (core function).
     232 *
     233 * @return string $html
    250234 */
    251235function twentytwenty_get_custom_logo( $html ) {
     
    303287 */
    304288function twentytwenty_skip_link() {
    305     echo '<a class="skip-link screen-reader-text" href="#site-content">' . __( 'Skip to the content', 'twentytwenty' ) . '</a>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations
     289    echo '<a class="skip-link screen-reader-text" href="#site-content">' . __( 'Skip to the content', 'twentytwenty' ) . '</a>';
    306290}
    307291
     
    387371
    388372/**
    389  * Output Customizer Settings in the Classic Editor.
     373 * Output Customizer settings in the classic editor.
    390374 * Adds styles to the head of the TinyMCE iframe. Kudos to @Otto42 for the original solution.
    391375 *
    392376 * @param array $mce_init TinyMCE styles.
     377 *
     378 * @return array $mce_init TinyMCE styles.
    393379 */
    394380function twentytwenty_add_classic_editor_customizer_styles( $mce_init ) {
     
    417403    $editor_color_palette = array(
    418404        array(
    419             'name'  => esc_html__( 'Accent Color', 'twentytwenty' ),
     405            'name'  => __( 'Accent Color', 'twentytwenty' ),
    420406            'slug'  => 'accent',
    421407            'color' => twentytwenty_get_color_for_area( 'content', 'accent' ),
    422408        ),
    423409        array(
    424             'name'  => esc_html__( 'Secondary', 'twentytwenty' ),
     410            'name'  => __( 'Primary', 'twentytwenty' ),
     411            'slug'  => 'primary',
     412            'color' => twentytwenty_get_color_for_area( 'content', 'text' ),
     413        ),
     414        array(
     415            'name'  => __( 'Secondary', 'twentytwenty' ),
    425416            'slug'  => 'secondary',
    426417            'color' => twentytwenty_get_color_for_area( 'content', 'secondary' ),
    427418        ),
    428419        array(
    429             'name'  => esc_html__( 'Subtle Background', 'twentytwenty' ),
     420            'name'  => __( 'Subtle Background', 'twentytwenty' ),
    430421            'slug'  => 'subtle-background',
    431422            'color' => twentytwenty_get_color_for_area( 'content', 'borders' ),
     
    450441    }
    451442
    452     // Gutenberg Font Sizes.
     443    // Block Editor Font Sizes.
    453444    add_theme_support(
    454445        'editor-font-sizes',
    455446        array(
    456447            array(
    457                 'name'      => _x( 'Small', 'Name of the small font size in Gutenberg', 'twentytwenty' ),
    458                 'shortName' => _x( 'S', 'Short name of the small font size in the Gutenberg editor.', 'twentytwenty' ),
    459                 'size'      => 16,
     448                'name'      => _x( 'Small', 'Name of the small font size in the block editor', 'twentytwenty' ),
     449                'shortName' => _x( 'S', 'Short name of the small font size in the block editor.', 'twentytwenty' ),
     450                'size'      => 18,
    460451                'slug'      => 'small',
    461452            ),
    462453            array(
    463                 'name'      => _x( 'Regular', 'Name of the regular font size in Gutenberg', 'twentytwenty' ),
    464                 'shortName' => _x( 'M', 'Short name of the regular font size in the Gutenberg editor.', 'twentytwenty' ),
    465                 'size'      => 18,
     454                'name'      => _x( 'Regular', 'Name of the regular font size in the block editor', 'twentytwenty' ),
     455                'shortName' => _x( 'M', 'Short name of the regular font size in the block editor.', 'twentytwenty' ),
     456                'size'      => 21,
    466457                'slug'      => 'regular',
    467458            ),
    468459            array(
    469                 'name'      => _x( 'Large', 'Name of the large font size in Gutenberg', 'twentytwenty' ),
    470                 'shortName' => _x( 'L', 'Short name of the large font size in the Gutenberg editor.', 'twentytwenty' ),
     460                'name'      => _x( 'Large', 'Name of the large font size in the block editor', 'twentytwenty' ),
     461                'shortName' => _x( 'L', 'Short name of the large font size in the block editor.', 'twentytwenty' ),
    471462                'size'      => 24,
    472463                'slug'      => 'large',
    473464            ),
    474465            array(
    475                 'name'      => _x( 'Larger', 'Name of the larger font size in Gutenberg', 'twentytwenty' ),
    476                 'shortName' => _x( 'XL', 'Short name of the larger font size in the Gutenberg editor.', 'twentytwenty' ),
     466                'name'      => _x( 'Larger', 'Name of the larger font size in the block editor', 'twentytwenty' ),
     467                'shortName' => _x( 'XL', 'Short name of the larger font size in the block editor.', 'twentytwenty' ),
    477468                'size'      => 32,
    478469                'slug'      => 'larger',
     
    499490        '<a href="%1$s" class="more-link faux-button">%2$s <span class="screen-reader-text">"%3$s"</span></a>',
    500491        esc_url( get_permalink( get_the_ID() ) ),
    501         esc_html__( 'Continue reading', 'twentytwenty' ),
    502         get_the_title( get_the_ID() )
     492        __( 'Continue reading', 'twentytwenty' ),
     493        esc_html( get_the_title( get_the_ID() ) )
    503494    );
    504495}
     
    514505function twentytwenty_customize_controls_enqueue_scripts() {
    515506    $theme_version = wp_get_theme()->get( 'Version' );
     507
     508    // Add main customizer js file.
     509    wp_enqueue_script( 'twentytwenty-customize', get_template_directory_uri() . '/assets/js/customize.js', array( 'jquery' ), $theme_version, false );
    516510
    517511    // Add script for color calculations.
     
    623617        'content'       => array(
    624618            'accent'     => array(
    625                 'color'            => array( '.color-accent', '.color-accent-hover:hover', '.color-accent-hover:focus', '.has-accent-color', '.has-drop-cap:not(:focus):first-letter', '.wp-block-button.is-style-outline', 'a' ),
    626                 'border-color'     => array( 'blockquote', '.border-color-accent', '.border-color-accent-hover:hover', '.border-color-accent-hover:focus' ),
    627                 'background'       => array( 'button:not(.toggle)', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file__button', 'input[type="button"]', 'input[type="reset"]', 'input[type="submit"]' ),
    628                 'background-color' => array( '.bg-accent', '.bg-accent-hover:hover', '.bg-accent-hover:focus', '.has-accent-background-color', '.comment-reply-link' ),
    629                 'fill'             => array( '.fill-children-accent', '.fill-children-accent *' ),
     619                'color'        => array( '.color-accent', '.color-accent-hover:hover', '.color-accent-hover:focus', '.has-accent-color', '.has-drop-cap:not(:focus):first-letter', '.wp-block-button.is-style-outline', 'a' ),
     620                'border-color' => array( 'blockquote', '.border-color-accent', '.border-color-accent-hover:hover', '.border-color-accent-hover:focus' ),
     621                'background'   => array( 'button:not(.toggle)', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file .wp-block-file__button', 'input[type="button"]', 'input[type="reset"]', 'input[type="submit"]', '.bg-accent', '.bg-accent-hover:hover', '.bg-accent-hover:focus', '.has-accent-background-color', '.comment-reply-link' ),
     622                'fill'         => array( '.fill-children-accent', '.fill-children-accent *' ),
    630623            ),
    631624            'background' => array(
    632625                'color'      => array( 'button', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-button__link:active', '.wp-block-button__link:focus', '.wp-block-button__link:visited', '.wp-block-button__link:hover', '.wp-block-file__button', 'input[type="button"]', 'input[type="reset"]', 'input[type="submit"]', '.comment-reply-link' ),
    633                 'background' => array(),
     626                'background' => array( '.has-background-background-color' ),
    634627            ),
    635628            'text'       => array(
    636                 'color' => array( 'body', '.entry-title a' ),
     629                'color'      => array( 'body', '.entry-title a', '.has-primary-color' ),
     630                'background' => array( '.has-primary-background-color' ),
    637631            ),
    638632            'secondary'  => array(
    639                 'color' => array( 'cite', 'figcaption', '.wp-caption-text', '.post-meta', '.entry-content .wp-block-archives li', '.entry-content .wp-block-categories li', '.entry-content .wp-block-latest-posts li', '.wp-block-latest-comments__comment-date', '.wp-block-latest-posts__post-date', '.wp-block-embed figcaption', '.wp-block-image figcaption', '.wp-block-pullquote cite', '.comment-metadata', '.comment-respond .comment-notes', '.comment-respond .logged-in-as', '.pagination .dots', '.entry-content hr:not(.has-background)', 'hr.styled-separator' ),
     633                'color'      => array( 'cite', 'figcaption', '.wp-caption-text', '.post-meta', '.entry-content .wp-block-archives li', '.entry-content .wp-block-categories li', '.entry-content .wp-block-latest-posts li', '.wp-block-latest-comments__comment-date', '.wp-block-latest-posts__post-date', '.wp-block-embed figcaption', '.wp-block-image figcaption', '.wp-block-pullquote cite', '.comment-metadata', '.comment-respond .comment-notes', '.comment-respond .logged-in-as', '.pagination .dots', '.entry-content hr:not(.has-background)', 'hr.styled-separator', '.has-secondary-color' ),
     634                'background' => array( '.has-secondary-background-color' ),
    640635            ),
    641636            'borders'    => array(
    642637                'border-color'        => array( 'pre', 'fieldset', 'input', 'textarea', 'table', 'table *', 'hr' ),
    643                 'background'          => array( 'caption', 'code', 'code', 'kbd', 'samp', '.wp-block-table.is-style-stripes tbody tr:nth-child(odd)' ),
     638                'background'          => array( 'caption', 'code', 'code', 'kbd', 'samp', '.wp-block-table.is-style-stripes tbody tr:nth-child(odd)', '.has-subtle-background-background-color' ),
    644639                'border-bottom-color' => array( '.wp-block-table.is-style-stripes' ),
    645640                'border-top-color'    => array( '.wp-block-latest-posts.is-grid li' ),
     641                'color'               => array( '.has-subtle-background-color' ),
    646642            ),
    647643        ),
     
    652648            ),
    653649            'background' => array(
    654                 'color'      => array( '.social-icons a', '.overlay-header .header-inner', '.primary-menu ul', '.header-footer-group button', '.header-footer-group .button', '.header-footer-group .faux-button', '.header-footer-group .wp-block-button:not(.is-style-outline) .wp-block-button__link', '.header-footer-group .wp-block-file__button', '.header-footer-group input[type="button"]', '.header-footer-group input[type="reset"]', '.header-footer-group input[type="submit"]' ),
     650                'color'      => array( '.social-icons a', '.overlay-header .header-inner', 'body:not(.overlay-header) .primary-menu ul', '.header-footer-group button', '.header-footer-group .button', '.header-footer-group .faux-button', '.header-footer-group .wp-block-button:not(.is-style-outline) .wp-block-button__link', '.header-footer-group .wp-block-file__button', '.header-footer-group input[type="button"]', '.header-footer-group input[type="reset"]', '.header-footer-group input[type="submit"]' ),
    655651                'background' => array( '#site-header', '.footer-nav-widgets-wrapper', '#site-footer', '.menu-modal', '.menu-modal-inner', '.search-modal-inner', '.archive-header', '.singular .entry-header', '.singular .featured-media:before', '.wp-block-pullquote:before' ),
    656652            ),
  • trunk/src/wp-content/themes/twentytwenty/header.php

    r46357 r46445  
    1010 */
    1111
    12 ?>
    13 <!DOCTYPE html>
     12?><!DOCTYPE html>
    1413
    1514<html class="no-js" <?php language_attributes(); ?>>
     
    3231        ?>
    3332
    34         <header id="site-header" class="header-footer-group">
     33        <header id="site-header" class="header-footer-group" role="banner">
    3534
    3635            <div class="header-inner section-inner">
     
    4746                        ?>
    4847
    49                         <button class="toggle search-toggle mobile-search-toggle" data-toggle-target=".search-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">
    50                             <div class="toggle-inner">
    51                                 <div class="toggle-icon">
     48                        <button class="toggle search-toggle mobile-search-toggle" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">
     49                            <span class="toggle-inner">
     50                                <span class="toggle-icon">
    5251                                    <?php twentytwenty_the_theme_svg( 'search' ); ?>
    53                                 </div>
    54                                 <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
    55                             </div>
     52                                </span>
     53                                <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); ?></span>
     54                            </span>
    5655                        </button><!-- .search-toggle -->
    5756
     
    7069                    </div><!-- .header-titles -->
    7170
    72                     <button class="toggle nav-toggle mobile-nav-toggle" data-toggle-target=".menu-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle">
    73                         <div class="toggle-inner">
    74                             <div class="toggle-icon">
     71                    <button class="toggle nav-toggle mobile-nav-toggle" data-toggle-target=".menu-modal" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle">
     72                        <span class="toggle-inner">
     73                            <span class="toggle-icon">
    7574                                <?php twentytwenty_the_theme_svg( 'ellipsis' ); ?>
    76                             </div>
    77                             <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
    78                         </div>
     75                            </span>
     76                            <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); ?></span>
     77                        </span>
    7978                    </button><!-- .nav-toggle -->
    8079
     
    130129                    ?>
    131130
    132                     <div class="header-toggles hide-no-js<?php echo esc_attr( $header_toggles_classes ); ?>">
     131                    <div class="header-toggles hide-no-js<?php echo $header_toggles_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>">
    133132
    134133                        <?php
     
    141140                        ?>
    142141
    143                         <div class="toggle-wrapper nav-toggle-wrapper<?php echo esc_attr( $nav_toggle_wrapper_classes ); ?>">
     142                        <div class="toggle-wrapper nav-toggle-wrapper<?php echo $nav_toggle_wrapper_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>">
    144143
    145                             <button class="toggle nav-toggle" data-toggle-target=".menu-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle">
    146                                 <div class="toggle-inner">
    147                                     <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
    148                                     <div class="toggle-icon">
     144                            <button class="toggle nav-toggle desktop-nav-toggle" data-toggle-target=".menu-modal" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle">
     145                                <span class="toggle-inner">
     146                                    <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); ?></span>
     147                                    <span class="toggle-icon">
    149148                                        <?php twentytwenty_the_theme_svg( 'ellipsis' ); ?>
    150                                     </div>
    151                                 </div>
     149                                    </span>
     150                                </span>
    152151                            </button><!-- .nav-toggle -->
    153152
     
    160159                            <div class="toggle-wrapper search-toggle-wrapper">
    161160
    162                                 <button class="toggle search-toggle" data-toggle-target=".search-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">
    163                                     <div class="toggle-inner">
     161                                <button class="toggle search-toggle desktop-search-toggle" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">
     162                                    <span class="toggle-inner">
    164163                                        <?php twentytwenty_the_theme_svg( 'search' ); ?>
    165                                         <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
    166                                     </div>
     164                                        <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); ?></span>
     165                                    </span>
    167166                                </button><!-- .search-toggle -->
    168167
  • trunk/src/wp-content/themes/twentytwenty/inc/custom-css.php

    r46357 r46445  
    6161        $accent_default = '#cd2653';
    6262        /**
    63          * Filters the CSS selectors targetting button component on frontend to apply common css
     63         * Filters the CSS selectors targeting button component on frontend to apply common css
    6464         *
    6565         * @since 1.0.0
    6666         *
    67          * @param string $string   The comma separated string of all CSS selectors targetting button component
     67         * @param string $string   The comma separated string of all CSS selectors targeting button component
    6868         */
    6969        $buttons_targets = apply_filters( 'twentytwenty_buttons_targets_front_end', 'button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button, input[type=\'button\'], input[type=\'reset\'], input[type=\'submit\']' );
     
    103103                        /*
    104104                         * If we don't have an elements array or it is empty
    105                          * then skip this itteration early;
     105                         * then skip this iteration early;
    106106                         */
    107107                        if ( ! is_array( $elements ) || empty( $elements ) ) {
     
    119119                twentytwenty_generate_css( '.overlay-header .header-inner', 'color', $cover );
    120120                twentytwenty_generate_css( '.cover-header .entry-header *', 'color', $cover );
    121             }
    122 
    123             // Helper Classes.
    124             if ( $accent && $accent !== $accent_default ) {
    125                 twentytwenty_generate_css( '.color-accent, .color-accent-hover:hover, .has-accent-color', 'color', $accent );
    126                 twentytwenty_generate_css( '.bg-accent, .bg-accent-hover:hover, .has-accent-background-color', 'background-color', $accent );
    127                 twentytwenty_generate_css( '.border-color-accent, .border-color-accent-hover:hover', 'border-color', $accent );
    128                 twentytwenty_generate_css( '.fill-children-accent, .fill-children-accent *', 'fill', $accent );
    129121            }
    130122
  • trunk/src/wp-content/themes/twentytwenty/inc/starter-content.php

    r46283 r46445  
    2323    $starter_content = array(
    2424        'widgets'   => array(
    25             // Place one core-defined widgets in the first tooter widget area.
     25            // Place one core-defined widgets in the first footer widget area.
    2626            'sidebar-1' => array(
    2727                'text_about',
    2828            ),
    29             // Place one core-defined widgets in the second tooter widget area.
     29            // Place one core-defined widgets in the second footer widget area.
    3030            'sidebar-2' => array(
    3131                'text_business_info',
     
    3535        // Specify the core-defined pages to create and add custom thumbnails to some of them.
    3636        'posts'     => array(
    37             'home',
     37            'front' => array(
     38                'post_type'    => 'page',
     39                'post_title'   => __( 'The New UMoMA Opens its Doors', 'twentytwenty' ),
     40                'post_content' => join(
     41                    '',
     42                    array(
     43                        '<!-- wp:group {"align":"wide"} -->',
     44                        '<div class="wp-block-group alignwide"><div class="wp-block-group__inner-container"><!-- wp:heading {"align":"center"} -->',
     45                        '<h2 class="has-text-align-center">' . __( 'The premier destination for modern art in Northern Sweden. Open from 10 AM to 6 PM every day during the summer months.', 'twentytwenty' ) . '</h2>',
     46                        '<!-- /wp:heading --></div></div>',
     47                        '<!-- /wp:group -->',
     48                        '<!-- wp:columns {"align":"wide"} -->',
     49                        '<div class="wp-block-columns alignwide"><!-- wp:column -->',
     50                        '<div class="wp-block-column"><!-- wp:group -->',
     51                        '<div class="wp-block-group"><div class="wp-block-group__inner-container">',
     52                        '<!-- wp:heading {"level":3} -->',
     53                        '<h3>' . __( 'Works and Days', 'twentytwenty' ) . '</h3>',
     54                        '<!-- /wp:heading -->',
     55                        '<!-- wp:paragraph -->',
     56                        '<p>' . __( 'August 1 -- December 1', 'twentytwenty' ) . '</p>',
     57                        '<!-- /wp:paragraph -->',
     58                        '<!-- wp:button {"className":"is-style-outline"} -->',
     59                        '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>',
     60                        '<!-- /wp:button --></div></div>',
     61                        '<!-- /wp:group -->',
     62                        '<!-- wp:group -->',
     63                        '<div class="wp-block-group"><div class="wp-block-group__inner-container">',
     64                        '<!-- wp:heading {"level":3} -->',
     65                        '<h3>' . __( 'Theatre of Operations', 'twentytwenty' ) . '</h3>',
     66                        '<!-- /wp:heading -->',
     67                        '<!-- wp:paragraph -->',
     68                        '<p>' . __( 'October 1 -- December 1', 'twentytwenty' ) . '</p>',
     69                        '<!-- /wp:paragraph -->',
     70                        '<!-- wp:button {"className":"is-style-outline"} -->',
     71                        '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>',
     72                        '<!-- /wp:button --></div></div>',
     73                        '<!-- /wp:group --></div>',
     74                        '<!-- /wp:column -->',
     75                        '<!-- wp:column -->',
     76                        '<div class="wp-block-column"><!-- wp:group -->',
     77                        '<div class="wp-block-group"><div class="wp-block-group__inner-container">',
     78                        '<!-- wp:heading {"level":3} -->',
     79                        '<h3>' . __( 'The Life I Deserve', 'twentytwenty' ) . '</h3>',
     80                        '<!-- /wp:heading -->',
     81                        '<!-- wp:paragraph -->',
     82                        '<p>' . __( 'August 1 -- December 1', 'twentytwenty' ) . '</p>',
     83                        '<!-- /wp:paragraph -->',
     84                        '<!-- wp:button {"className":"is-style-outline"} -->',
     85                        '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>',
     86                        '<!-- /wp:button --></div></div>',
     87                        '<!-- /wp:group -->',
     88                        '<!-- wp:group -->',
     89                        '<div class="wp-block-group"><div class="wp-block-group__inner-container">',
     90                        '<!-- wp:heading {"level":3} -->',
     91                        '<h3>' . __( 'From Signac to Matisse', 'twentytwenty' ) . '</h3>',
     92                        '<!-- /wp:heading -->',
     93                        '<!-- wp:paragraph -->',
     94                        '<p>' . __( 'October 1 -- December 1', 'twentytwenty' ) . '</p>',
     95                        '<!-- /wp:paragraph -->',
     96                        '<!-- wp:button {"className":"is-style-outline"} -->',
     97                        '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>',
     98                        '<!-- /wp:button --></div></div>',
     99                        '<!-- /wp:group --></div>',
     100                        '<!-- /wp:column --></div>',
     101                        '<!-- /wp:columns -->',
     102                        '<!-- wp:group {"align":"wide"} -->',
     103                        '<div class="wp-block-group alignwide"><div class="wp-block-group__inner-container"><!-- wp:heading {"align":"center","textColor":"accent"} -->',
     104                        '<h2 class="has-accent-color has-text-align-center">' . __( '”Cyborgs, as the philosopher Donna Haraway established, are not reverent. They do not remember the cosmos.”', 'twentytwenty' ) . '</h2>',
     105                        '<!-- /wp:heading --></div></div>',
     106                        '<!-- /wp:group -->',
     107                        '<!-- wp:paragraph {"dropCap":true} -->',
     108                        '<p class="has-drop-cap">' . __( 'With seven floors of striking architecture, UMoMA shows exhibitions of international contemporary art, sometimes along with art historical retrospectives. Existential, political and philosophical issues are intrinsic to our programme. As visitor you are invited to guided tours artist talks, lectures, film screenings and other events with free admission', 'twentytwenty' ) . '</p>',
     109                        '<!-- /wp:paragraph -->',
     110                        '<!-- wp:paragraph -->',
     111                        '<p>' . __( 'The exhibitions are produced by UMoMA in collaboration with artists and museums around the world and they often attract international attention. UMoMA has received a Special Commendation from the European Museum of the Year, and was among the top candidates for the Swedish Museum of the Year Award as well as for the Council of Europe Museum Prize.', 'twentytwenty' ) . '</p>',
     112                        '<!-- /wp:paragraph -->',
     113                        '<!-- wp:paragraph -->',
     114                        '<p></p>',
     115                        '<!-- /wp:paragraph -->',
     116                        '<!-- wp:group {"customBackgroundColor":"#ffffff","align":"wide"} -->',
     117                        '<div class="wp-block-group alignwide has-background" style="background-color:#ffffff"><div class="wp-block-group__inner-container"><!-- wp:group -->',
     118                        '<div class="wp-block-group"><div class="wp-block-group__inner-container"><!-- wp:heading {"align":"center"} -->',
     119                        '<h2 class="has-text-align-center">' . __( 'Become a Member and Get Exclusive Offers!', 'twentytwenty' ) . '</h2>',
     120                        '<!-- /wp:heading -->',
     121                        '<!-- wp:paragraph {"align":"center"} -->',
     122                        '<p class="has-text-align-center">' . __( 'Members get access to exclusive exhibits and sales. Our memberships cost $99.99 and are billed annually.', 'twentytwenty' ) . '</p>',
     123                        '<!-- /wp:paragraph -->',
     124                        '<!-- wp:button {"align":"center"} -->',
     125                        '<div class="wp-block-button aligncenter"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Join the Club', 'twentytwenty' ) . '</a></div>',
     126                        '<!-- /wp:button --></div></div>',
     127                        '<!-- /wp:group --></div></div>',
     128                        '<!-- /wp:group -->',
     129                    )
     130                ),
     131            ),
    38132            'about',
    39133            'contact',
     
    44138        'options'   => array(
    45139            'show_on_front'  => 'page',
    46             'page_on_front'  => '{{home}}',
     140            'page_on_front'  => '{{front}}',
    47141            'page_for_posts' => '{{blog}}',
    48142        ),
  • trunk/src/wp-content/themes/twentytwenty/inc/svg-icons.php

    r46271 r46445  
    1414     *
    1515     * @param string $svg_name The name of the icon.
     16     * @param string $group The group the icon belongs to.
    1617     * @param string $color Color code.
    1718     */
    18     function twentytwenty_the_theme_svg( $svg_name, $color = '' ) {
    19         echo twentytwenty_get_theme_svg( $svg_name, $color ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in twentytwenty_get_theme_svg();.
     19    function twentytwenty_the_theme_svg( $svg_name, $group = 'ui', $color = '' ) {
     20        echo twentytwenty_get_theme_svg( $svg_name, $group, $color ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in twentytwenty_get_theme_svg();.
    2021    }
    2122}
     
    2728     *
    2829     * @param string $svg_name The name of the icon.
     30     * @param string $group The group the icon belongs to.
    2931     * @param string $color Color code.
    3032     */
    31     function twentytwenty_get_theme_svg( $svg_name, $color = '' ) {
     33    function twentytwenty_get_theme_svg( $svg_name, $group = 'ui', $color = '' ) {
    3234
    3335        // Make sure that only our allowed tags and attributes are included.
    3436        $svg = wp_kses(
    35             TwentyTwenty_SVG_Icons::get_svg( $svg_name, $color ),
     37            TwentyTwenty_SVG_Icons::get_svg( $svg_name, $group, $color ),
    3638            array(
    3739                'svg'     => array(
  • trunk/src/wp-content/themes/twentytwenty/inc/template-tags.php

    r46357 r46445  
    1010/**
    1111 * Table of Contents:
     12 * Logo & Description
    1213 * Comments
    1314 * Post Meta
    1415 * Menus
    1516 * Classes
    16  */
    17 
     17 * Archives
     18 * Miscellaneous
     19 */
     20
     21/**
     22 * Logo & Description
     23 */
    1824/**
    1925 * Displays the site logo, either text or image.
    2026 *
    2127 * @param array   $args Arguments for displaying the site logo either as an image or text.
    22  * @param boolean $echo Echo or return the html.
     28 * @param boolean $echo Echo or return the HTML.
     29 *
     30 * @return string $html Compiled HTML based on our arguments.
    2331 */
    2432function twentytwenty_site_logo( $args = array(), $echo = true ) {
     
    8290 *
    8391 * @param boolean $echo Echo or return the html.
     92 *
     93 * @return string $html The HTML to display.
    8494 */
    8595function twentytwenty_site_description( $echo = true ) {
     
    119129 *
    120130 * @param object $comment Comment data.
     131 *
     132 * @return bool
    121133 */
    122134function twentytwenty_is_comment_by_post_author( $comment = null ) {
     
    143155 *
    144156 * @param string $link Link to the top of the page.
     157 *
     158 * @return string $link Link to the top of the page.
    145159 */
    146160function twentytwenty_filter_comment_reply_link( $link ) {
     
    168182
    169183}
     184
     185/**
     186 * Filters the edit post link to add an icon and use the post meta structure.
     187 *
     188 * @param string $link    Anchor tag for the edit link.
     189 * @param int    $post_id Post ID.
     190 * @param string $text    Anchor text.
     191 */
     192function twentytwenty_edit_post_link( $link, $post_id, $text ) {
     193
     194    $edit_url = get_edit_post_link( $post_id );
     195
     196    if ( ! $edit_url ) {
     197        return;
     198    }
     199
     200    $text = sprintf(
     201        wp_kses(
     202            /* translators: %s: Post title. Only visible to screen readers. */
     203            __( 'Edit <span class="screen-reader-text">%s</span>', 'twentytwenty' ),
     204            array(
     205                'span' => array(
     206                    'class' => array(),
     207                ),
     208            )
     209        ),
     210        get_the_title( $post_id )
     211    );
     212
     213    return '<div class="post-meta-wrapper post-meta-edit-link-wrapper"><ul class="post-meta"><li class="post-edit meta-wrapper"><span class="meta-icon">' . twentytwenty_get_theme_svg( 'edit' ) . '</span><span class="meta-text"><a href="' . esc_url( $edit_url ) . '">' . $text . '</a></span></li></ul><!-- .post-meta --></div><!-- .post-meta-wrapper -->';
     214
     215}
     216
     217add_filter( 'edit_post_link', 'twentytwenty_edit_post_link', 10, 3 );
    170218
    171219/**
     
    207255        * Filters post meta info visibility
    208256        *
    209         * Use this filter to hide post meta information like Author, Post date, Comments, Is stiky status
     257        * Use this filter to hide post meta information like Author, Post date, Comments, Is sticky status
    210258        *
    211259        * @since 1.0.0
     
    290338                    <li class="post-author meta-wrapper">
    291339                        <span class="meta-icon">
    292                             <span class="screen-reader-text"><?php _e( 'Post author', 'twentytwenty' );// phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
     340                            <span class="screen-reader-text"><?php _e( 'Post author', 'twentytwenty' ); ?></span>
    293341                            <?php twentytwenty_the_theme_svg( 'user' ); ?>
    294342                        </span>
     
    296344                            <?php
    297345                            printf(
    298                                 // Translators: %s = the author name.
    299                                 _x( 'By %s', '%s = author name', 'twentytwenty' ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations
     346                                /* translators: %s: Author name */
     347                                __( 'By %s', 'twentytwenty' ),
    300348                                '<a href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author_meta( 'display_name' ) ) . '</a>'
    301349                            );
     
    315363                        <a class="meta-wrapper" href="<?php the_permalink(); ?>">
    316364                            <span class="meta-icon">
    317                                 <span class="screen-reader-text"><?php _e( 'Post date', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
     365                                <span class="screen-reader-text"><?php _e( 'Post date', 'twentytwenty' ); ?></span>
    318366                                <?php twentytwenty_the_theme_svg( 'calendar' ); ?>
    319367                            </span>
     
    334382                    <li class="post-categories meta-wrapper">
    335383                        <span class="meta-icon">
    336                             <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
     384                            <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); ?></span>
    337385                            <?php twentytwenty_the_theme_svg( 'folder' ); ?>
    338386                        </span>
    339387                        <span class="meta-text">
    340                             <?php _e( 'In', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?> <?php the_category( ', ' ); ?>
     388                            <?php _ex( 'In', 'A string that is output before one or more categories', 'twentytwenty' ); ?> <?php the_category( ', ' ); ?>
    341389                        </span>
    342390                    </li>
     
    352400                    <li class="post-tags meta-wrapper">
    353401                        <span class="meta-icon">
    354                             <span class="screen-reader-text"><?php _e( 'Tags', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
     402                            <span class="screen-reader-text"><?php _e( 'Tags', 'twentytwenty' ); ?></span>
    355403                            <?php twentytwenty_the_theme_svg( 'tag' ); ?>
    356404                        </span>
     
    390438                        </span>
    391439                        <span class="meta-text">
    392                             <?php _e( 'Sticky post', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?>
     440                            <?php _e( 'Sticky post', 'twentytwenty' ); ?>
    393441                        </span>
    394442                    </li>
     
    438486 * styling of sub levels in the fallback. Only applied if the match_menu_classes argument is set.
    439487 *
    440  * @param string $css_class CSS Class names.
     488 * @param array $css_class CSS Class names.
    441489 * @param string $item Comment.
    442490 * @param int    $depth Depth of the current comment.
    443491 * @param array  $args An array of arguments.
    444  * @param string $current_page Wether or not the item is the current item.
     492 * @param string $current_page Whether or not the item is the current item.
     493 *
     494 * @return array $css_class CSS Class names.
    445495 */
    446496function twentytwenty_filter_wp_list_pages_item_classes( $css_class, $item, $depth, $args, $current_page ) {
     
    472522 * Add a Sub Nav Toggle to the Expanded Menu and Mobile Menu.
    473523 *
    474  * @param array  $args An array of arguments.
    475  * @param string $item Menu item.
    476  * @param int    $depth Depth of the current menu item.
     524 * @param stdClass $args An array of arguments.
     525 * @param string   $item Menu item.
     526 * @param int      $depth Depth of the current menu item.
     527 *
     528 * @return stdClass $args An object of wp_nav_menu() arguments.
    477529 */
    478530function twentytwenty_add_sub_toggles_to_main_menu( $args, $item, $depth ) {
     
    515567
    516568/**
     569 * Display SVG icons in social links menu.
     570 *
     571 * @param  string  $item_output The menu item output.
     572 * @param  WP_Post $item        Menu item object.
     573 * @param  int     $depth       Depth of the menu.
     574 * @param  array   $args        wp_nav_menu() arguments.
     575 * @return string  $item_output The menu item output with social icon.
     576 */
     577function twentytwenty_nav_menu_social_icons( $item_output, $item, $depth, $args ) {
     578    // Change SVG icon inside social links menu if there is supported URL.
     579    if ( 'social' === $args->theme_location ) {
     580        $svg = TwentyTwenty_SVG_Icons::get_social_link_svg( $item->url );
     581        if ( empty( $svg ) ) {
     582            $svg = twentytwenty_get_theme_svg( 'link' );
     583        }
     584        $item_output = str_replace( $args->link_after, '</span>' . $svg, $item_output );
     585    }
     586
     587    return $item_output;
     588}
     589
     590add_filter( 'walker_nav_menu_start_el', 'twentytwenty_nav_menu_social_icons', 10, 4 );
     591
     592/**
    517593 * Classes
    518594 */
     
    532608
    533609/**
     610 * Add conditional body classes.
     611 *
     612 * @param array $classes Classes added to the body tag.
     613 *
     614 * @return array $classes Classes added to the body tag.
     615 */
     616function twentytwenty_body_classes( $classes ) {
     617
     618    global $post;
     619    $post_type = isset( $post ) ? $post->post_type : false;
     620
     621    // Check whether we're singular.
     622    if ( is_singular() ) {
     623        $classes[] = 'singular';
     624    }
     625
     626    // Check whether the current page should have an overlay header.
     627    if ( is_page_template( array( 'templates/template-cover.php' ) ) ) {
     628        $classes[] = 'overlay-header';
     629    }
     630
     631    // Check whether the current page has full-width content.
     632    if ( is_page_template( array( 'templates/template-full-width.php' ) ) ) {
     633        $classes[] = 'has-full-width-content';
     634    }
     635
     636    // Check for enabled search.
     637    if ( true === get_theme_mod( 'enable_header_search', true ) ) {
     638        $classes[] = 'enable-search-modal';
     639    }
     640
     641    // Check for post thumbnail.
     642    if ( is_singular() && has_post_thumbnail() ) {
     643        $classes[] = 'has-post-thumbnail';
     644    } elseif ( is_singular() ) {
     645        $classes[] = 'missing-post-thumbnail';
     646    }
     647
     648    // Check whether we're in the customizer preview.
     649    if ( is_customize_preview() ) {
     650        $classes[] = 'customizer-preview';
     651    }
     652
     653    // Check if posts have single pagination.
     654    if ( is_single() && ( get_next_post() || get_previous_post() ) ) {
     655        $classes[] = 'has-single-pagination';
     656    } else {
     657        $classes[] = 'has-no-pagination';
     658    }
     659
     660    // Check if we're showing comments.
     661    if ( $post && ( ( 'post' === $post_type || comments_open() || get_comments_number() ) && ! post_password_required() ) ) {
     662        $classes[] = 'showing-comments';
     663    } else {
     664        $classes[] = 'not-showing-comments';
     665    }
     666
     667    // Check if avatars are visible.
     668    $classes[] = get_option( 'show_avatars' ) ? 'show-avatars' : 'hide-avatars';
     669
     670    // Slim page template class names (class = name - file suffix).
     671    if ( is_page_template() ) {
     672        $classes[] = basename( get_page_template_slug(), '.php' );
     673    }
     674
     675    // Check for the elements output in the top part of the footer.
     676    $has_footer_menu = has_nav_menu( 'footer' );
     677    $has_social_menu = has_nav_menu( 'social' );
     678    $has_sidebar_1   = is_active_sidebar( 'sidebar-1' );
     679    $has_sidebar_2   = is_active_sidebar( 'sidebar-2' );
     680
     681    // Add a class indicating whether those elements are output.
     682    if ( $has_footer_menu || $has_social_menu || $has_sidebar_1 || $has_sidebar_2 ) {
     683        $classes[] = 'footer-top-visible';
     684    } else {
     685        $classes[] = 'footer-top-hidden';
     686    }
     687
     688    // Get header/footer background color.
     689    $header_footer_background = get_theme_mod( 'header_footer_background_color', '#ffffff' );
     690    $header_footer_background = strtolower( '#' . ltrim( $header_footer_background, '#' ) );
     691
     692    // Get content background color.
     693    $background_color = get_theme_mod( 'background_color', 'f5efe0' );
     694    $background_color = strtolower( '#' . ltrim( $background_color, '#' ) );
     695
     696    // Add extra class if main background and header/footer background are the same color.
     697    if ( $background_color === $header_footer_background ) {
     698        $classes[] = 'reduced-spacing';
     699    }
     700
     701    return $classes;
     702
     703}
     704
     705add_filter( 'body_class', 'twentytwenty_body_classes' );
     706
     707/**
     708 * Archives
     709 */
     710/**
    534711 * Filters the archive title and styles the word before the first colon.
    535712 *
    536713 * @param string $title Current archive title.
     714 *
     715 * @return string $title Current archive title.
    537716 */
    538717function twentytwenty_get_the_archive_title( $title ) {
     
    559738
    560739/**
    561  * Filters the edit post link to add an icon and use the post meta structure.
    562  *
    563  * @param string $link    Anchor tag for the edit link.
    564  * @param int    $post_id Post ID.
    565  * @param string $text    Anchor text.
    566  */
    567 function twentytwenty_edit_post_link( $link, $post_id, $text ) {
    568 
    569     $edit_url = get_edit_post_link( $post_id );
    570 
    571     if ( ! $edit_url ) {
    572         return;
    573     }
    574 
    575     return '<div class="post-meta-wrapper post-meta-edit-link-wrapper"><ul class="post-meta"><li class="post-edit meta-wrapper"><span class="meta-icon">' . twentytwenty_get_theme_svg( 'edit' ) . '</span><span class="meta-text"><a href="' . esc_url( $edit_url ) . '">' . $text . '</a></span></li></ul><!-- .post-meta --></div><!-- .post-meta-wrapper -->';
    576 
    577 }
    578 
    579 add_filter( 'edit_post_link', 'twentytwenty_edit_post_link', 10, 3 );
    580 
    581 /**
    582  * Add conditional body classes.
    583  *
    584  * @param string $classes Classes added to the body tag.
    585  */
    586 function twentytwenty_body_classes( $classes ) {
    587 
    588     global $post;
    589     $post_type = isset( $post ) ? $post->post_type : false;
    590 
    591     // Check whether we're singular.
    592     if ( is_singular() ) {
    593         $classes[] = 'singular';
    594     }
    595 
    596     // Check whether the current page should have an overlay header.
    597     if ( is_page_template( array( 'templates/template-cover.php' ) ) ) {
    598         $classes[] = 'overlay-header';
    599     }
    600 
    601     // Check whether the current page has full-width content.
    602     if ( is_page_template( array( 'templates/template-full-width.php' ) ) ) {
    603         $classes[] = 'has-full-width-content';
    604     }
    605 
    606     // Check for enabled search.
    607     if ( true === get_theme_mod( 'enable_header_search', true ) ) {
    608         $classes[] = 'enable-search-modal';
    609     }
    610 
    611     // Check for post thumbnail.
    612     if ( is_singular() && has_post_thumbnail() ) {
    613         $classes[] = 'has-post-thumbnail';
    614     } elseif ( is_singular() ) {
    615         $classes[] = 'missing-post-thumbnail';
    616     }
    617 
    618     // Check whether we're in the customizer preview.
    619     if ( is_customize_preview() ) {
    620         $classes[] = 'customizer-preview';
    621     }
    622 
    623     // Check if posts have single pagination.
    624     if ( is_single() && ( get_next_post() || get_previous_post() ) ) {
    625         $classes[] = 'has-single-pagination';
    626     } else {
    627         $classes[] = 'has-no-pagination';
    628     }
    629 
    630     // Check if we're showing comments.
    631     if ( $post && ( ( 'post' === $post_type || comments_open() || get_comments_number() ) && ! post_password_required() ) ) {
    632         $classes[] = 'showing-comments';
    633     } else {
    634         $classes[] = 'not-showing-comments';
    635     }
    636 
    637     // Check if avatars are visible.
    638     $classes[] = get_option( 'show_avatars' ) ? 'show-avatars' : 'hide-avatars';
    639 
    640     // Slim page template class names (class = name - file suffix).
    641     if ( is_page_template() ) {
    642         $classes[] = basename( get_page_template_slug(), '.php' );
    643     }
    644 
    645     // Check for the elements output in the top part of the footer.
    646     $has_footer_menu = has_nav_menu( 'footer' );
    647     $has_social_menu = has_nav_menu( 'social' );
    648     $has_sidebar_1   = is_active_sidebar( 'sidebar-1' );
    649     $has_sidebar_2   = is_active_sidebar( 'sidebar-2' );
    650 
    651     // Add a class indicating whether those elements are output.
    652     if ( $has_footer_menu || $has_social_menu || $has_sidebar_1 || $has_sidebar_2 ) {
    653         $classes[] = 'footer-top-visible';
    654     } else {
    655         $classes[] = 'footer-top-hidden';
    656     }
    657 
    658     // Get header/footer background color.
    659     $header_footer_background = get_theme_mod( 'header_footer_background_color', '#ffffff' );
    660     $header_footer_background = strtolower( '#' . ltrim( $header_footer_background, '#' ) );
    661 
    662     // Get content background color.
    663     $background_color = get_theme_mod( 'background_color', 'f5efe0' );
    664     $background_color = strtolower( '#' . ltrim( $background_color, '#' ) );
    665 
    666     // Add extra class if main background and header/footer background are the same color.
    667     if ( $background_color === $header_footer_background ) {
    668         $classes[] = 'reduced-spacing';
    669     }
    670 
    671     return $classes;
    672 
    673 }
    674 
    675 add_filter( 'body_class', 'twentytwenty_body_classes' );
    676 
     740 * Miscellaneous
     741 */
    677742/**
    678743 * Toggle animation duration in milliseconds.
     
    692757    return $duration;
    693758}
     759
     760/**
     761 * Get unique ID.
     762 *
     763 * This is a PHP implementation of Underscore's uniqueId method. A static variable
     764 * contains an integer that is incremented with each call. This number is returned
     765 * with the optional prefix. As such the returned value is not universally unique,
     766 * but it is unique across the life of the PHP process.
     767 *
     768 * @see wp_unique_id() Themes requiring WordPress 5.0.3 and greater should use this instead.
     769 *
     770 * @staticvar int $id_counter
     771 *
     772 * @param string $prefix Prefix for the returned ID.
     773 * @return string Unique ID.
     774 */
     775function twentytwenty_unique_id( $prefix = '' ) {
     776    static $id_counter = 0;
     777    if ( function_exists( 'wp_unique_id' ) ) {
     778        return wp_unique_id( $prefix );
     779    }
     780    return $prefix . (string) ++$id_counter;
     781}
  • trunk/src/wp-content/themes/twentytwenty/index.php

    r46357 r46445  
    3535
    3636        if ( $wp_query->found_posts ) {
    37             /* Translators: %s = Number of results */
    38             $archive_subtitle = sprintf( _nx( 'We found %s result for your search.', 'We found %s results for your search.', $wp_query->found_posts, '%s = Number of results', 'twentytwenty' ), $wp_query->found_posts );
     37            $archive_subtitle = sprintf(
     38                /* translators: %s: Number of search results */
     39                _n(
     40                    'We found %s result for your search.',
     41                    'We found %s results for your search.',
     42                    $wp_query->found_posts,
     43                    'twentytwenty'
     44                ),
     45                number_format_i18n( $wp_query->found_posts )
     46            );
    3947        } else {
    4048            $archive_subtitle = __( 'We could not find any results for your search. You can give it another try through the search form below.', 'twentytwenty' );
     
    8997            get_search_form(
    9098                array(
    91                     'label' => _x( 'search again', 'Label', 'twentytwenty' ),
     99                    'label' => __( 'search again', 'twentytwenty' ),
    92100                )
    93101            );
     
    101109
    102110    <?php get_template_part( 'template-parts/pagination' ); ?>
    103     <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
    104111
    105112</main><!-- #site-content -->
    106113
     114<?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
     115
    107116<?php
    108117get_footer();
  • trunk/src/wp-content/themes/twentytwenty/package-lock.json

    r46357 r46445  
    38833883            "dev": true
    38843884        },
     3885        "dependency-graph": {
     3886            "version": "0.8.0",
     3887            "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.8.0.tgz",
     3888            "integrity": "sha512-DCvzSq2UiMsuLnj/9AL484ummEgLtZIcRS7YvtO38QnpX3vqh9nJ8P+zhu8Ja+SmLrBHO2iDbva20jq38qvBkQ==",
     3889            "dev": true
     3890        },
    38853891        "des.js": {
    38863892            "version": "1.0.0",
     
    52815287            "dev": true
    52825288        },
     5289        "fs-extra": {
     5290            "version": "7.0.1",
     5291            "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
     5292            "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
     5293            "dev": true,
     5294            "requires": {
     5295                "graceful-fs": "^4.1.2",
     5296                "jsonfile": "^4.0.0",
     5297                "universalify": "^0.1.0"
     5298            }
     5299        },
    52835300        "fs-write-stream-atomic": {
    52845301            "version": "1.0.10",
     
    53125329                "abbrev": {
    53135330                    "version": "1.1.1",
    5314                     "bundled": true,
     5331                    "resolved": false,
     5332                    "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
    53155333                    "dev": true,
    53165334                    "optional": true
     
    53185336                "ansi-regex": {
    53195337                    "version": "2.1.1",
    5320                     "bundled": true,
     5338                    "resolved": false,
     5339                    "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
    53215340                    "dev": true,
    53225341                    "optional": true
     
    53245343                "aproba": {
    53255344                    "version": "1.2.0",
    5326                     "bundled": true,
     5345                    "resolved": false,
     5346                    "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
    53275347                    "dev": true,
    53285348                    "optional": true
     
    53305350                "are-we-there-yet": {
    53315351                    "version": "1.1.5",
    5332                     "bundled": true,
     5352                    "resolved": false,
     5353                    "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
    53335354                    "dev": true,
    53345355                    "optional": true,
     
    53405361                "balanced-match": {
    53415362                    "version": "1.0.0",
    5342                     "bundled": true,
     5363                    "resolved": false,
     5364                    "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
    53435365                    "dev": true,
    53445366                    "optional": true
     
    53465368                "brace-expansion": {
    53475369                    "version": "1.1.11",
    5348                     "bundled": true,
     5370                    "resolved": false,
     5371                    "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
    53495372                    "dev": true,
    53505373                    "optional": true,
     
    53565379                "chownr": {
    53575380                    "version": "1.1.1",
    5358                     "bundled": true,
     5381                    "resolved": false,
     5382                    "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
    53595383                    "dev": true,
    53605384                    "optional": true
     
    53625386                "code-point-at": {
    53635387                    "version": "1.1.0",
    5364                     "bundled": true,
     5388                    "resolved": false,
     5389                    "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
    53655390                    "dev": true,
    53665391                    "optional": true
     
    53685393                "concat-map": {
    53695394                    "version": "0.0.1",
    5370                     "bundled": true,
     5395                    "resolved": false,
     5396                    "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
    53715397                    "dev": true,
    53725398                    "optional": true
     
    53745400                "console-control-strings": {
    53755401                    "version": "1.1.0",
    5376                     "bundled": true,
     5402                    "resolved": false,
     5403                    "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
    53775404                    "dev": true,
    53785405                    "optional": true
     
    53805407                "core-util-is": {
    53815408                    "version": "1.0.2",
    5382                     "bundled": true,
     5409                    "resolved": false,
     5410                    "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
    53835411                    "dev": true,
    53845412                    "optional": true
     
    53865414                "debug": {
    53875415                    "version": "4.1.1",
    5388                     "bundled": true,
     5416                    "resolved": false,
     5417                    "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
    53895418                    "dev": true,
    53905419                    "optional": true,
     
    53955424                "deep-extend": {
    53965425                    "version": "0.6.0",
    5397                     "bundled": true,
     5426                    "resolved": false,
     5427                    "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
    53985428                    "dev": true,
    53995429                    "optional": true
     
    54015431                "delegates": {
    54025432                    "version": "1.0.0",
    5403                     "bundled": true,
     5433                    "resolved": false,
     5434                    "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
    54045435                    "dev": true,
    54055436                    "optional": true
     
    54075438                "detect-libc": {
    54085439                    "version": "1.0.3",
    5409                     "bundled": true,
     5440                    "resolved": false,
     5441                    "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
    54105442                    "dev": true,
    54115443                    "optional": true
     
    54135445                "fs-minipass": {
    54145446                    "version": "1.2.5",
    5415                     "bundled": true,
     5447                    "resolved": false,
     5448                    "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
    54165449                    "dev": true,
    54175450                    "optional": true,
     
    54225455                "fs.realpath": {
    54235456                    "version": "1.0.0",
    5424                     "bundled": true,
     5457                    "resolved": false,
     5458                    "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
    54255459                    "dev": true,
    54265460                    "optional": true
     
    54285462                "gauge": {
    54295463                    "version": "2.7.4",
    5430                     "bundled": true,
     5464                    "resolved": false,
     5465                    "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
    54315466                    "dev": true,
    54325467                    "optional": true,
     
    54445479                "glob": {
    54455480                    "version": "7.1.3",
    5446                     "bundled": true,
     5481                    "resolved": false,
     5482                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
    54475483                    "dev": true,
    54485484                    "optional": true,
     
    54585494                "has-unicode": {
    54595495                    "version": "2.0.1",
    5460                     "bundled": true,
     5496                    "resolved": false,
     5497                    "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
    54615498                    "dev": true,
    54625499                    "optional": true
     
    54645501                "iconv-lite": {
    54655502                    "version": "0.4.24",
    5466                     "bundled": true,
     5503                    "resolved": false,
     5504                    "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
    54675505                    "dev": true,
    54685506                    "optional": true,
     
    54735511                "ignore-walk": {
    54745512                    "version": "3.0.1",
    5475                     "bundled": true,
     5513                    "resolved": false,
     5514                    "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
    54765515                    "dev": true,
    54775516                    "optional": true,
     
    54825521                "inflight": {
    54835522                    "version": "1.0.6",
    5484                     "bundled": true,
     5523                    "resolved": false,
     5524                    "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
    54855525                    "dev": true,
    54865526                    "optional": true,
     
    54925532                "inherits": {
    54935533                    "version": "2.0.3",
    5494                     "bundled": true,
     5534                    "resolved": false,
     5535                    "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
    54955536                    "dev": true,
    54965537                    "optional": true
     
    54985539                "ini": {
    54995540                    "version": "1.3.5",
    5500                     "bundled": true,
     5541                    "resolved": false,
     5542                    "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
    55015543                    "dev": true,
    55025544                    "optional": true
     
    55045546                "is-fullwidth-code-point": {
    55055547                    "version": "1.0.0",
    5506                     "bundled": true,
     5548                    "resolved": false,
     5549                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
    55075550                    "dev": true,
    55085551                    "optional": true,
     
    55135556                "isarray": {
    55145557                    "version": "1.0.0",
    5515                     "bundled": true,
     5558                    "resolved": false,
     5559                    "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
    55165560                    "dev": true,
    55175561                    "optional": true
     
    55195563                "minimatch": {
    55205564                    "version": "3.0.4",
    5521                     "bundled": true,
     5565                    "resolved": false,
     5566                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
    55225567                    "dev": true,
    55235568                    "optional": true,
     
    55285573                "minimist": {
    55295574                    "version": "0.0.8",
    5530                     "bundled": true,
     5575                    "resolved": false,
     5576                    "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
    55315577                    "dev": true,
    55325578                    "optional": true
     
    55345580                "minipass": {
    55355581                    "version": "2.3.5",
    5536                     "bundled": true,
     5582                    "resolved": false,
     5583                    "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
    55375584                    "dev": true,
    55385585                    "optional": true,
     
    55445591                "minizlib": {
    55455592                    "version": "1.2.1",
    5546                     "bundled": true,
     5593                    "resolved": false,
     5594                    "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
    55475595                    "dev": true,
    55485596                    "optional": true,
     
    55535601                "mkdirp": {
    55545602                    "version": "0.5.1",
    5555                     "bundled": true,
     5603                    "resolved": false,
     5604                    "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
    55565605                    "dev": true,
    55575606                    "optional": true,
     
    55625611                "ms": {
    55635612                    "version": "2.1.1",
    5564                     "bundled": true,
     5613                    "resolved": false,
     5614                    "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
    55655615                    "dev": true,
    55665616                    "optional": true
     
    55685618                "needle": {
    55695619                    "version": "2.3.0",
    5570                     "bundled": true,
     5620                    "resolved": false,
     5621                    "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
    55715622                    "dev": true,
    55725623                    "optional": true,
     
    55795630                "node-pre-gyp": {
    55805631                    "version": "0.12.0",
    5581                     "bundled": true,
     5632                    "resolved": false,
     5633                    "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
    55825634                    "dev": true,
    55835635                    "optional": true,
     
    55975649                "nopt": {
    55985650                    "version": "4.0.1",
    5599                     "bundled": true,
     5651                    "resolved": false,
     5652                    "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
    56005653                    "dev": true,
    56015654                    "optional": true,
     
    56075660                "npm-bundled": {
    56085661                    "version": "1.0.6",
    5609                     "bundled": true,
     5662                    "resolved": false,
     5663                    "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
    56105664                    "dev": true,
    56115665                    "optional": true
     
    56135667                "npm-packlist": {
    56145668                    "version": "1.4.1",
    5615                     "bundled": true,
     5669                    "resolved": false,
     5670                    "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
    56165671                    "dev": true,
    56175672                    "optional": true,
     
    56235678                "npmlog": {
    56245679                    "version": "4.1.2",
    5625                     "bundled": true,
     5680                    "resolved": false,
     5681                    "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
    56265682                    "dev": true,
    56275683                    "optional": true,
     
    56355691                "number-is-nan": {
    56365692                    "version": "1.0.1",
    5637                     "bundled": true,
     5693                    "resolved": false,
     5694                    "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
    56385695                    "dev": true,
    56395696                    "optional": true
     
    56415698                "object-assign": {
    56425699                    "version": "4.1.1",
    5643                     "bundled": true,
     5700                    "resolved": false,
     5701                    "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
    56445702                    "dev": true,
    56455703                    "optional": true
     
    56475705                "once": {
    56485706                    "version": "1.4.0",
    5649                     "bundled": true,
     5707                    "resolved": false,
     5708                    "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
    56505709                    "dev": true,
    56515710                    "optional": true,
     
    56565715                "os-homedir": {
    56575716                    "version": "1.0.2",
    5658                     "bundled": true,
     5717                    "resolved": false,
     5718                    "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
    56595719                    "dev": true,
    56605720                    "optional": true
     
    56625722                "os-tmpdir": {
    56635723                    "version": "1.0.2",
    5664                     "bundled": true,
     5724                    "resolved": false,
     5725                    "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
    56655726                    "dev": true,
    56665727                    "optional": true
     
    56685729                "osenv": {
    56695730                    "version": "0.1.5",
    5670                     "bundled": true,
     5731                    "resolved": false,
     5732                    "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
    56715733                    "dev": true,
    56725734                    "optional": true,
     
    56785740                "path-is-absolute": {
    56795741                    "version": "1.0.1",
    5680                     "bundled": true,
     5742                    "resolved": false,
     5743                    "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
    56815744                    "dev": true,
    56825745                    "optional": true
     
    56845747                "process-nextick-args": {
    56855748                    "version": "2.0.0",
    5686                     "bundled": true,
     5749                    "resolved": false,
     5750                    "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
    56875751                    "dev": true,
    56885752                    "optional": true
     
    56905754                "rc": {
    56915755                    "version": "1.2.8",
    5692                     "bundled": true,
     5756                    "resolved": false,
     5757                    "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
    56935758                    "dev": true,
    56945759                    "optional": true,
     
    57025767                        "minimist": {
    57035768                            "version": "1.2.0",
    5704                             "bundled": true,
     5769                            "resolved": false,
     5770                            "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
    57055771                            "dev": true,
    57065772                            "optional": true
     
    57105776                "readable-stream": {
    57115777                    "version": "2.3.6",
    5712                     "bundled": true,
     5778                    "resolved": false,
     5779                    "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
    57135780                    "dev": true,
    57145781                    "optional": true,
     
    57255792                "rimraf": {
    57265793                    "version": "2.6.3",
    5727                     "bundled": true,
     5794                    "resolved": false,
     5795                    "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
    57285796                    "dev": true,
    57295797                    "optional": true,
     
    57345802                "safe-buffer": {
    57355803                    "version": "5.1.2",
    5736                     "bundled": true,
     5804                    "resolved": false,
     5805                    "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
    57375806                    "dev": true,
    57385807                    "optional": true
     
    57405809                "safer-buffer": {
    57415810                    "version": "2.1.2",
    5742                     "bundled": true,
     5811                    "resolved": false,
     5812                    "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
    57435813                    "dev": true,
    57445814                    "optional": true
     
    57465816                "sax": {
    57475817                    "version": "1.2.4",
    5748                     "bundled": true,
     5818                    "resolved": false,
     5819                    "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
    57495820                    "dev": true,
    57505821                    "optional": true
     
    57525823                "semver": {
    57535824                    "version": "5.7.0",
    5754                     "bundled": true,
     5825                    "resolved": false,
     5826                    "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
    57555827                    "dev": true,
    57565828                    "optional": true
     
    57585830                "set-blocking": {
    57595831                    "version": "2.0.0",
    5760                     "bundled": true,
     5832                    "resolved": false,
     5833                    "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
    57615834                    "dev": true,
    57625835                    "optional": true
     
    57645837                "signal-exit": {
    57655838                    "version": "3.0.2",
    5766                     "bundled": true,
     5839                    "resolved": false,
     5840                    "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
    57675841                    "dev": true,
    57685842                    "optional": true
     
    57705844                "string-width": {
    57715845                    "version": "1.0.2",
    5772                     "bundled": true,
     5846                    "resolved": false,
     5847                    "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
    57735848                    "dev": true,
    57745849                    "optional": true,
     
    57815856                "string_decoder": {
    57825857                    "version": "1.1.1",
    5783                     "bundled": true,
     5858                    "resolved": false,
     5859                    "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
    57845860                    "dev": true,
    57855861                    "optional": true,
     
    57905866                "strip-ansi": {
    57915867                    "version": "3.0.1",
    5792                     "bundled": true,
     5868                    "resolved": false,
     5869                    "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
    57935870                    "dev": true,
    57945871                    "optional": true,
     
    57995876                "strip-json-comments": {
    58005877                    "version": "2.0.1",
    5801                     "bundled": true,
     5878                    "resolved": false,
     5879                    "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
    58025880                    "dev": true,
    58035881                    "optional": true
     
    58055883                "tar": {
    58065884                    "version": "4.4.8",
    5807                     "bundled": true,
     5885                    "resolved": false,
     5886                    "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
    58085887                    "dev": true,
    58095888                    "optional": true,
     
    58205899                "util-deprecate": {
    58215900                    "version": "1.0.2",
    5822                     "bundled": true,
     5901                    "resolved": false,
     5902                    "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
    58235903                    "dev": true,
    58245904                    "optional": true
     
    58265906                "wide-align": {
    58275907                    "version": "1.1.3",
    5828                     "bundled": true,
     5908                    "resolved": false,
     5909                    "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
    58295910                    "dev": true,
    58305911                    "optional": true,
     
    58355916                "wrappy": {
    58365917                    "version": "1.0.2",
    5837                     "bundled": true,
     5918                    "resolved": false,
     5919                    "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
    58385920                    "dev": true,
    58395921                    "optional": true
     
    58415923                "yallist": {
    58425924                    "version": "3.0.3",
    5843                     "bundled": true,
     5925                    "resolved": false,
     5926                    "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
    58445927                    "dev": true,
    58455928                    "optional": true
     
    60886171        },
    60896172        "handlebars": {
    6090             "version": "4.2.0",
    6091             "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz",
    6092             "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==",
     6173            "version": "4.4.2",
     6174            "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz",
     6175            "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==",
    60936176            "dev": true,
    60946177            "requires": {
     
    61006183            "dependencies": {
    61016184                "commander": {
    6102                     "version": "2.20.0",
    6103                     "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
    6104                     "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
     6185                    "version": "2.20.1",
     6186                    "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz",
     6187                    "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==",
    61056188                    "dev": true,
    61066189                    "optional": true
     
    64006483            "dev": true
    64016484        },
     6485        "import-cwd": {
     6486            "version": "2.1.0",
     6487            "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
     6488            "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
     6489            "dev": true,
     6490            "requires": {
     6491                "import-from": "^2.1.0"
     6492            }
     6493        },
    64026494        "import-fresh": {
    64036495            "version": "3.1.0",
     
    64086500                "parent-module": "^1.0.0",
    64096501                "resolve-from": "^4.0.0"
     6502            }
     6503        },
     6504        "import-from": {
     6505            "version": "2.1.0",
     6506            "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
     6507            "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
     6508            "dev": true,
     6509            "requires": {
     6510                "resolve-from": "^3.0.0"
     6511            },
     6512            "dependencies": {
     6513                "resolve-from": {
     6514                    "version": "3.0.0",
     6515                    "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
     6516                    "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
     6517                    "dev": true
     6518                }
    64106519            }
    64116520        },
     
    76357744            }
    76367745        },
     7746        "jsonfile": {
     7747            "version": "4.0.0",
     7748            "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
     7749            "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
     7750            "dev": true,
     7751            "requires": {
     7752                "graceful-fs": "^4.1.6"
     7753            }
     7754        },
    76377755        "jsprim": {
    76387756            "version": "1.4.1",
     
    91089226            }
    91099227        },
     9228        "postcss-cli": {
     9229            "version": "6.1.3",
     9230            "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-6.1.3.tgz",
     9231            "integrity": "sha512-eieqJU+OR1OFc/lQqMsDmROTJpoMZFvoAQ+82utBQ8/8qGMTfH9bBSPsTdsagYA8uvNzxHw2I2cNSSJkLAGhvw==",
     9232            "dev": true,
     9233            "requires": {
     9234                "chalk": "^2.1.0",
     9235                "chokidar": "^2.0.0",
     9236                "dependency-graph": "^0.8.0",
     9237                "fs-extra": "^7.0.0",
     9238                "get-stdin": "^6.0.0",
     9239                "globby": "^9.0.0",
     9240                "postcss": "^7.0.0",
     9241                "postcss-load-config": "^2.0.0",
     9242                "postcss-reporter": "^6.0.0",
     9243                "pretty-hrtime": "^1.0.3",
     9244                "read-cache": "^1.0.0",
     9245                "yargs": "^12.0.1"
     9246            },
     9247            "dependencies": {
     9248                "ansi-regex": {
     9249                    "version": "3.0.0",
     9250                    "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
     9251                    "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
     9252                    "dev": true
     9253                },
     9254                "cliui": {
     9255                    "version": "4.1.0",
     9256                    "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
     9257                    "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
     9258                    "dev": true,
     9259                    "requires": {
     9260                        "string-width": "^2.1.1",
     9261                        "strip-ansi": "^4.0.0",
     9262                        "wrap-ansi": "^2.0.0"
     9263                    }
     9264                },
     9265                "find-up": {
     9266                    "version": "3.0.0",
     9267                    "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
     9268                    "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
     9269                    "dev": true,
     9270                    "requires": {
     9271                        "locate-path": "^3.0.0"
     9272                    }
     9273                },
     9274                "get-caller-file": {
     9275                    "version": "1.0.3",
     9276                    "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
     9277                    "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
     9278                    "dev": true
     9279                },
     9280                "is-fullwidth-code-point": {
     9281                    "version": "1.0.0",
     9282                    "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
     9283                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
     9284                    "dev": true,
     9285                    "requires": {
     9286                        "number-is-nan": "^1.0.0"
     9287                    }
     9288                },
     9289                "locate-path": {
     9290                    "version": "3.0.0",
     9291                    "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
     9292                    "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
     9293                    "dev": true,
     9294                    "requires": {
     9295                        "p-locate": "^3.0.0",
     9296                        "path-exists": "^3.0.0"
     9297                    }
     9298                },
     9299                "p-limit": {
     9300                    "version": "2.2.1",
     9301                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
     9302                    "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
     9303                    "dev": true,
     9304                    "requires": {
     9305                        "p-try": "^2.0.0"
     9306                    }
     9307                },
     9308                "p-locate": {
     9309                    "version": "3.0.0",
     9310                    "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
     9311                    "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
     9312                    "dev": true,
     9313                    "requires": {
     9314                        "p-limit": "^2.0.0"
     9315                    }
     9316                },
     9317                "p-try": {
     9318                    "version": "2.2.0",
     9319                    "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
     9320                    "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
     9321                    "dev": true
     9322                },
     9323                "postcss": {
     9324                    "version": "7.0.18",
     9325                    "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz",
     9326                    "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==",
     9327                    "dev": true,
     9328                    "requires": {
     9329                        "chalk": "^2.4.2",
     9330                        "source-map": "^0.6.1",
     9331                        "supports-color": "^6.1.0"
     9332                    }
     9333                },
     9334                "require-main-filename": {
     9335                    "version": "1.0.1",
     9336                    "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
     9337                    "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
     9338                    "dev": true
     9339                },
     9340                "strip-ansi": {
     9341                    "version": "4.0.0",
     9342                    "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
     9343                    "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
     9344                    "dev": true,
     9345                    "requires": {
     9346                        "ansi-regex": "^3.0.0"
     9347                    }
     9348                },
     9349                "supports-color": {
     9350                    "version": "6.1.0",
     9351                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
     9352                    "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
     9353                    "dev": true,
     9354                    "requires": {
     9355                        "has-flag": "^3.0.0"
     9356                    }
     9357                },
     9358                "wrap-ansi": {
     9359                    "version": "2.1.0",
     9360                    "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
     9361                    "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
     9362                    "dev": true,
     9363                    "requires": {
     9364                        "string-width": "^1.0.1",
     9365                        "strip-ansi": "^3.0.1"
     9366                    },
     9367                    "dependencies": {
     9368                        "ansi-regex": {
     9369                            "version": "2.1.1",
     9370                            "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
     9371                            "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
     9372                            "dev": true
     9373                        },
     9374                        "string-width": {
     9375                            "version": "1.0.2",
     9376                            "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
     9377                            "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
     9378                            "dev": true,
     9379                            "requires": {
     9380                                "code-point-at": "^1.0.0",
     9381                                "is-fullwidth-code-point": "^1.0.0",
     9382                                "strip-ansi": "^3.0.0"
     9383                            }
     9384                        },
     9385                        "strip-ansi": {
     9386                            "version": "3.0.1",
     9387                            "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
     9388                            "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
     9389                            "dev": true,
     9390                            "requires": {
     9391                                "ansi-regex": "^2.0.0"
     9392                            }
     9393                        }
     9394                    }
     9395                },
     9396                "yargs": {
     9397                    "version": "12.0.5",
     9398                    "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
     9399                    "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
     9400                    "dev": true,
     9401                    "requires": {
     9402                        "cliui": "^4.0.0",
     9403                        "decamelize": "^1.2.0",
     9404                        "find-up": "^3.0.0",
     9405                        "get-caller-file": "^1.0.1",
     9406                        "os-locale": "^3.0.0",
     9407                        "require-directory": "^2.1.1",
     9408                        "require-main-filename": "^1.0.1",
     9409                        "set-blocking": "^2.0.0",
     9410                        "string-width": "^2.0.0",
     9411                        "which-module": "^2.0.0",
     9412                        "y18n": "^3.2.1 || ^4.0.0",
     9413                        "yargs-parser": "^11.1.1"
     9414                    }
     9415                },
     9416                "yargs-parser": {
     9417                    "version": "11.1.1",
     9418                    "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
     9419                    "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
     9420                    "dev": true,
     9421                    "requires": {
     9422                        "camelcase": "^5.0.0",
     9423                        "decamelize": "^1.2.0"
     9424                    }
     9425                }
     9426            }
     9427        },
    91109428        "postcss-html": {
    91119429            "version": "0.36.0",
     
    91579475            }
    91589476        },
     9477        "postcss-load-config": {
     9478            "version": "2.1.0",
     9479            "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
     9480            "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==",
     9481            "dev": true,
     9482            "requires": {
     9483                "cosmiconfig": "^5.0.0",
     9484                "import-cwd": "^2.0.0"
     9485            }
     9486        },
    91599487        "postcss-markdown": {
    91609488            "version": "0.36.0",
     
    93479675                "react-is": "^16.8.4"
    93489676            }
     9677        },
     9678        "pretty-hrtime": {
     9679            "version": "1.0.3",
     9680            "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
     9681            "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
     9682            "dev": true
    93499683        },
    93509684        "private": {
     
    96439977                "react-is": "^16.9.0",
    96449978                "scheduler": "^0.15.0"
     9979            }
     9980        },
     9981        "read-cache": {
     9982            "version": "1.0.0",
     9983            "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
     9984            "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
     9985            "dev": true,
     9986            "requires": {
     9987                "pify": "^2.3.0"
     9988            },
     9989            "dependencies": {
     9990                "pify": {
     9991                    "version": "2.3.0",
     9992                    "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
     9993                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
     9994                    "dev": true
     9995                }
    96459996            }
    96469997        },
     
    1114611497            }
    1114711498        },
     11499        "stylelint-a11y": {
     11500            "version": "1.2.1",
     11501            "resolved": "https://registry.npmjs.org/stylelint-a11y/-/stylelint-a11y-1.2.1.tgz",
     11502            "integrity": "sha512-yfH6ibVkfAlAt7J5ExrzpBPFCSWDTxBL9svdFZ6BfGF5hRmFgTS03x4r/rBAAaNDpgKE32CQz5qcLbgOLzuxfA==",
     11503            "dev": true
     11504        },
    1114811505        "stylelint-config-recommended": {
    1114911506            "version": "2.2.0",
     
    1181812175                "unist-util-is": "^3.0.0"
    1181912176            }
     12177        },
     12178        "universalify": {
     12179            "version": "0.1.2",
     12180            "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
     12181            "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
     12182            "dev": true
    1182012183        },
    1182112184        "unpipe": {
  • trunk/src/wp-content/themes/twentytwenty/package.json

    r46357 r46445  
    1919    },
    2020    "devDependencies": {
     21        "@wordpress/browserslist-config": "^2.6.0",
    2122        "@wordpress/scripts": "^5.0.0",
     23        "autoprefixer": "^9.6.1",
    2224        "concurrently": "^4.1.2",
    23         "rtlcss": "^2.4.0"
     25        "postcss-cli": "^6.1.3",
     26        "rtlcss": "^2.4.0",
     27        "stylelint-a11y": "^1.2.1"
    2428    },
     29    "browserslist": [
     30        "extends @wordpress/browserslist-config"
     31    ],
    2532    "rtlcssConfig": {
    2633        "options": {
     
    3744    },
    3845    "scripts": {
     46        "build": "npm run build:vendor-prefixes && npm run build:rtl",
    3947        "build:rtl": "concurrently \"npm run build:rtl-style\" \"npm run build:rtl-esb\" \"npm run build:rtl-esc\"",
    4048        "build:rtl-style": "rtlcss style.css style-rtl.css",
    4149        "build:rtl-esb": "rtlcss assets/css/editor-style-block.css assets/css/editor-style-block-rtl.css",
    4250        "build:rtl-esc": "rtlcss assets/css/editor-style-classic.css assets/css/editor-style-classic-rtl.css",
     51        "build:vendor-prefixes": "concurrently \"npm run build:vendor-prefixes-style\" \"npm run build:vendor-prefixes-esb\" \"npm run build:vendor-prefixes-esc\"",
     52        "build:vendor-prefixes-style": "postcss -r --no-map style.css assets/css/editor-style-block.css assets/css/editor-style-classic.css",
     53        "build:vendor-prefixes-esb": "postcss -r --no-map assets/css/editor-style-block.css ",
     54        "build:vendor-prefixes-esc": "postcss -r --no-map assets/css/editor-style-classic.css",
    4355        "lint:css": "wp-scripts lint-style 'style.css' 'assets/**/*.css'",
    4456        "lint:js": "wp-scripts lint-js 'assets/**/*.js'",
  • trunk/src/wp-content/themes/twentytwenty/readme.txt

    r46357 r46445  
    5353License: MIT License, https://opensource.org/licenses/MIT
    5454Source: https://feathericons.com
     55Used for post meta icons, and the link icon in the social menu.
    5556
    56 Font Awesome Icons
    57 Copyright (c) 2012-2019 Fonticons, Inc.
     57Socicon Icons
    5858License: SIL Open Font License, 1.1, https://opensource.org/licenses/OFL-1.1
    59 Source: https://www.fontawesome.io
     59Source: https://www.socicon.com
     60Used for all social menu icons except the link icon.
    6061
    61 Font Awesome Code
    62 Copyright (c) 2012-2019 Fonticons, Inc.
    63 License: MIT License, https://opensource.org/licenses/MIT
    64 Source: https://www.fontawesome.io
     62Code from Twenty Nineteen
     63Copyright (c) 2018 WordPress.org
     64License: GPLv2
     65Source: https://wordpress.org/themes/twentynineteen/
     66Included as part of the following classes and functions:
     67- TwentyTwenty_SVG_Icons
     68- twentytwenty_the_theme_svg()
     69- twentytwenty_get_theme_svg()
     70- twentytwenty_nav_menu_social_icons()
     71
     72Code from Twenty Seventeen
     73Copyright (c) 2016 WordPress.org
     74License: GPLv2
     75Source: https://wordpress.org/themes/twentyseventeen/
     76Included as part of the following classes and functions:
     77- twentytwenty_unique_id()
  • trunk/src/wp-content/themes/twentytwenty/searchform.php

    r46271 r46445  
    1616 * one was passed to get_search_form() in the args array.
    1717 */
    18 $unique_id  = uniqid( 'search-form-' );
    19 $aria_label = ( isset( $args['label'] ) && ! empty( $args['label'] ) ) ? 'aria-label="' . esc_attr( $args['label'] ) . '"' : '';
     18$unique_id = twentytwenty_unique_id( 'search-form-' );
     19
     20$aria_label = ! empty( $args['label'] ) ? 'aria-label="' . esc_attr( $args['label'] ) . '"' : '';
    2021?>
    2122<form role="search" <?php echo $aria_label; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above. ?> method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    2223    <label for="<?php echo esc_attr( $unique_id ); ?>">
    23         <span class="screen-reader-text"><?php echo _x( 'Search for:', 'label', 'twentytwenty' ); // phpcs:ignore: WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations ?></span>
    24         <input type="search" id="<?php echo esc_attr( $unique_id ); ?>" class="search-field" placeholder="<?php echo esc_attr_x( 'Search &hellip;', 'placeholder', 'twentytwenty' ); ?>" value="<?php get_search_query(); ?>" name="s" />
     24        <span class="screen-reader-text"><?php _e( 'Search for:', 'twentytwenty' ); // phpcs:ignore: WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
     25        <input type="search" id="<?php echo esc_attr( $unique_id ); ?>" class="search-field" placeholder="<?php echo esc_attr_x( 'Search &hellip;', 'placeholder', 'twentytwenty' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
    2526    </label>
    2627    <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'twentytwenty' ); ?>" />
  • trunk/src/wp-content/themes/twentytwenty/singular.php

    r46357 r46445  
    2626    }
    2727
    28     get_template_part( 'template-parts/footer-menus-widgets' );
    29 
    3028    ?>
    3129
    3230</main><!-- #site-content -->
    3331
     32<?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
     33
    3434<?php get_footer(); ?>
  • trunk/src/wp-content/themes/twentytwenty/style-rtl.css

    r46357 r46445  
    118118body {
    119119    background: #f5efe0;
    120     -webkit-box-sizing: border-box;
    121     -moz-box-sizing: border-box;
    122120    box-sizing: border-box;
    123121    color: #000;
     
    138136*::before,
    139137*::after {
    140     -webkit-box-sizing: inherit;
    141     -moz-box-sizing: inherit;
    142138    box-sizing: inherit;
    143139    -webkit-font-smoothing: antialiased;
     
    179175    border: 0;
    180176    clip: rect(1px, 1px, 1px, 1px);
     177    -webkit-clip-path: inset(50%);
    181178    clip-path: inset(50%);
    182179    height: 1px;
     
    194191    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    195192    clip: auto !important;
     193    -webkit-clip-path: none;
    196194    clip-path: none;
    197195    color: #21759b;
     
    238236/*
    239237 * Chrome renders extra-wide &nbsp; characters for the Hoefler Text font.
    240  * This results in a jumping cursor when typing in both the Classic and block
    241  * editors. The following font-face override fixes the issue by manually
     238 * This results in a jumping cursor when typing in both the classic editor and
     239 * block editor. The following font-face override fixes the issue by manually
    242240 * inserting a custom font that includes just a Hoefler Text space replacement
    243241 * for that character instead.
     
    712710textarea {
    713711    border-color: #dcd7ca;
     712    color: #000;
    714713}
    715714
     
    743742    border-width: 0.1rem;
    744743    box-shadow: none;
    745     color: inherit;
    746744    display: block;
    747745    font-size: 1.6rem;
     
    851849    margin: 0;
    852850    overflow: visible;
    853     padding: 2.5%;
     851    padding: 0.5em;
    854852}
    855853
     
    857855    background: #dcd7ca;
    858856    font-weight: 600;
    859     padding: 2.5%;
     857    padding: 0.5em;
    860858    text-align: center;
    861859}
     
    10051003    -webkit-touch-callout: none;
    10061004    -webkit-user-select: none;
    1007     -khtml-user-select: none;
    10081005    -moz-user-select: none;
    10091006    -ms-user-select: none;
     
    11271124.opacity-90 {
    11281125    opacity: 0.9;
     1126}
     1127
     1128.blend-mode-exclusion {
     1129    mix-blend-mode: exclusion;
     1130}
     1131
     1132.blend-mode-hue {
     1133    mix-blend-mode: hue;
     1134}
     1135
     1136.blend-mode-saturation {
     1137    mix-blend-mode: saturation;
     1138}
     1139
     1140.blend-mode-color {
     1141    mix-blend-mode: color;
     1142}
     1143
     1144.blend-mode-luminosity {
     1145    mix-blend-mode: luminosity;
    11291146}
    11301147
     
    11871204}
    11881205
     1206.search-form .search-submit:focus,
     1207.search-form .search-submit:hover {
     1208    text-decoration: none;
     1209}
     1210
    11891211
    11901212/* Social Icons ------------------------------ */
     
    11931215    display: flex;
    11941216    flex-wrap: wrap;
    1195     margin: -1rem -1rem 0 0;
     1217    margin: -0.9rem -0.9rem 0 0;
     1218    width: calc(100% + 0.9rem);
    11961219}
    11971220
    11981221ul.social-icons li {
    1199     margin: 1rem 1rem 0 0;
     1222    margin: 0.9rem 0.9rem 0 0;
    12001223}
    12011224
     
    12201243}
    12211244
    1222 .social-icons a::before {
    1223     content: "\e805";
    1224     display: block;
    1225     font-family: "Font Awesome 5";
    1226     font-size: 2rem;
    1227 }
    1228 
    1229 /* NON-BRAND ICONS */
    1230 
    1231 .s-icons a[href*="mailto"]::before {
    1232     content: "\f0e0";
    1233 }
    1234 
    1235 .s-icons a[href*="/feed/"]::before,
    1236 .s-icons a[href*="rss"]::before {
    1237     content: "\f09e";
    1238 }
    1239 
    1240 /* BRAND ICONS */
    1241 
    1242 .s-icons a[href*="500px.com"]::before {
    1243     content: "\f26e";
    1244     font-family: "Font Awesome 5 Brands";
    1245 }
    1246 
    1247 .s-icons a[href*="amazon.com"]::before {
    1248     content: "\f270";
    1249     font-family: "Font Awesome 5 Brands";
    1250 }
    1251 
    1252 .s-icons a[href*="angel.co"]::before {
    1253     content: "\f209";
    1254     font-family: "Font Awesome 5 Brands";
    1255 }
    1256 
    1257 .s-icons a[href*="audible.com"]::before {
    1258     content: "\f373";
    1259     font-family: "Font Awesome 5 Brands";
    1260 }
    1261 
    1262 .s-icons a[href*="behance.net"]::before {
    1263     content: "\f1b4";
    1264     font-family: "Font Awesome 5 Brands";
    1265 }
    1266 
    1267 .s-icons a[href*="blogger.com"]::before {
    1268     content: "\f37d";
    1269     font-family: "Font Awesome 5 Brands";
    1270 }
    1271 
    1272 .s-icons a[href*="codepen.io"]::before {
    1273     content: "\f1cb";
    1274     font-family: "Font Awesome 5 Brands";
    1275 }
    1276 
    1277 .s-icons a[href*="creativecommons.com"]::before {
    1278     content: "\f25e";
    1279     font-family: "Font Awesome 5 Brands";
    1280 }
    1281 
    1282 .s-icons a[href*="deviantart.com"]::before {
    1283     content: "\f1bd";
    1284     font-family: "Font Awesome 5 Brands";
    1285 }
    1286 
    1287 .s-icons a[href*="digg.com"]::before {
    1288     content: "\f1a6";
    1289     font-family: "Font Awesome 5 Brands";
    1290 }
    1291 
    1292 .s-icons a[href*="discordapp.com"]::before {
    1293     content: "\f392";
    1294     font-family: "Font Awesome 5 Brands";
    1295 }
    1296 
    1297 .s-icons a[href*="dribbble.com"]::before {
    1298     content: "\f17d";
    1299     font-family: "Font Awesome 5 Brands";
    1300 }
    1301 
    1302 .s-icons a[href*="ebay"]::before {
    1303     content: "\f4f4";
    1304     font-family: "Font Awesome 5 Brands";
    1305 }
    1306 
    1307 .s-icons a[href*="etsy.com"]::before {
    1308     content: "\f2d7";
    1309     font-family: "Font Awesome 5 Brands";
    1310 }
    1311 
    1312 .s-icons a[href*="facebook.com"]::before {
    1313     content: "\f39e";
    1314     font-family: "Font Awesome 5 Brands";
    1315 }
    1316 
    1317 .s-icons a[href*="flickr.com"]::before {
    1318     content: "\f16e";
    1319     font-family: "Font Awesome 5 Brands";
    1320 }
    1321 
    1322 .s-icons a[href*="github.com"]::before {
    1323     content: "\f113";
    1324     font-family: "Font Awesome 5 Brands";
    1325 }
    1326 
    1327 .s-icons a[href*="gitlab.com"]::before {
    1328     content: "\f296";
    1329     font-family: "Font Awesome 5 Brands";
    1330 }
    1331 
    1332 .s-icons a[href*="goodreads.com"]::before {
    1333     content: "\f3a9";
    1334     font-family: "Font Awesome 5 Brands";
    1335 }
    1336 
    1337 .s-icons a[href*="houzz"]::before {
    1338     content: "\f27c";
    1339     font-family: "Font Awesome 5 Brands";
    1340 }
    1341 
    1342 .s-icons a[href*="imdb.com"]::before {
    1343     content: "\f2d8";
    1344     font-family: "Font Awesome 5 Brands";
    1345 }
    1346 
    1347 .s-icons a[href*="instagram.com"]::before {
    1348     content: "\f16d";
    1349     font-family: "Font Awesome 5 Brands";
    1350 }
    1351 
    1352 .s-icons a[href*="kickstarter.com"]::before {
    1353     content: "\f3bc";
    1354     font-family: "Font Awesome 5 Brands";
    1355 }
    1356 
    1357 .s-icons a[href*="jsfiddle.net"]::before {
    1358     content: "\f1cc";
    1359     font-family: "Font Awesome 5 Brands";
    1360 }
    1361 
    1362 .s-icons a[href*="linkedin.com"]::before {
    1363     content: "\f0e1";
    1364     font-family: "Font Awesome 5 Brands";
    1365 }
    1366 
    1367 .s-icons a[href*="last.fm"]::before {
    1368     content: "\f202";
    1369     font-family: "Font Awesome 5 Brands";
    1370 }
    1371 
    1372 .s-icons a[href*="medium.com"]::before {
    1373     content: "\f3c7";
    1374     font-family: "Font Awesome 5 Brands";
    1375 }
    1376 
    1377 .s-icons a[href*="meetup.com"]::before {
    1378     content: "\f2e0";
    1379     font-family: "Font Awesome 5 Brands";
    1380 }
    1381 
    1382 .s-icons a[href*="mixcloud.com"]::before {
    1383     content: "\f289";
    1384     font-family: "Font Awesome 5 Brands";
    1385 }
    1386 
    1387 .s-icons a[href*="patreon.com"]::before {
    1388     content: "\f3d9";
    1389     font-family: "Font Awesome 5 Brands";
    1390 }
    1391 
    1392 .s-icons a[href*="pscp.tv"]::before {
    1393     content: "\f3da";
    1394     font-family: "Font Awesome 5 Brands";
    1395 }
    1396 
    1397 .s-icons a[href*="pinterest"]::before {
    1398     content: "\f231";
    1399     font-family: "Font Awesome 5 Brands";
    1400 }
    1401 
    1402 .s-icons a[href*="play.google.com"]::before {
    1403     content: "\f3ab";
    1404     font-family: "Font Awesome 5 Brands";
    1405 }
    1406 
    1407 .s-icons a[href*="plus.google.com"]::before {
    1408     content: "\f0d5";
    1409     font-family: "Font Awesome 5 Brands";
    1410 }
    1411 
    1412 .s-icons a[href*="producthunt.com"]::before {
    1413     content: "\f288";
    1414     font-family: "Font Awesome 5 Brands";
    1415 }
    1416 
    1417 .s-icons a[href*="quora.com"]::before {
    1418     content: "\f2c4";
    1419     font-family: "Font Awesome 5 Brands";
    1420 }
    1421 
    1422 .s-icons a[href*="reddit.com"]::before {
    1423     content: "\f281";
    1424     font-family: "Font Awesome 5 Brands";
    1425 }
    1426 
    1427 .s-icons a[href*="slack.com"]::before {
    1428     content: "\f198";
    1429     font-family: "Font Awesome 5 Brands";
    1430 }
    1431 
    1432 .s-icons a[href*="soundcloud.com"]::before {
    1433     content: "\f1be";
    1434     font-family: "Font Awesome 5 Brands";
    1435 }
    1436 
    1437 .s-icons a[href*="spotify.com"]::before {
    1438     content: "\f1bc";
    1439     font-family: "Font Awesome 5 Brands";
    1440 }
    1441 
    1442 .s-icons a[href*="tumblr.com"]::before {
    1443     content: "\f173";
    1444     font-family: "Font Awesome 5 Brands";
    1445 }
    1446 
    1447 .s-icons a[href*="twitch"]::before {
    1448     content: "\f1e8";
    1449     font-family: "Font Awesome 5 Brands";
    1450 }
    1451 
    1452 .s-icons a[href*="twitter.com"]::before {
    1453     content: "\f099";
    1454     font-family: "Font Awesome 5 Brands";
    1455 }
    1456 
    1457 .s-icons a[href*="vimeo.com"]::before {
    1458     content: "\f27d";
    1459     font-family: "Font Awesome 5 Brands";
    1460 }
    1461 
    1462 .s-icons a[href*="wordpress.org"]::before,
    1463 .s-icons a[href*="wordpress.com"]::before {
    1464     content: "\f411";
    1465     font-family: "Font Awesome 5 Brands";
    1466 }
    1467 
    1468 .s-icons a[href*="youtube.com"]::before {
    1469     content: "\f167";
    1470     font-family: "Font Awesome 5 Brands";
    1471 }
    1472 
    14731245
    14741246/* Cover Modals ------------------------------ */
     
    16471419
    16481420.toggle-icon {
     1421    display: block;
    16491422    overflow: hidden;
    16501423}
     
    16561429    position: absolute;
    16571430    top: calc(100% + 0.5rem);
    1658     width: 10rem;
     1431    width: auto;
     1432    white-space: nowrap;
    16591433    word-break: break-all;
    16601434}
     
    22131987    display: flex;
    22141988    justify-content: space-between;
     1989    max-width: 168rem;
    22151990}
    22161991
     
    22592034
    22602035.search-modal form {
     2036    margin: 0;
    22612037    position: relative;
    22622038    width: 100%;
     
    22712047    letter-spacing: -0.0277em;
    22722048    height: 8.4rem;
    2273     padding: 0;
    2274     width: 100%;
     2049    margin: 0 -2rem 0 0;
     2050    max-width: calc(100% + 2rem);
     2051    padding: 0 2rem 0 0;
     2052    width: calc(100% + 2rem);
    22752053}
    22762054
     
    23132091.cover-header-inner-wrapper {
    23142092    display: flex;
     2093    position: relative;
    23152094    flex-direction: column;
    23162095    justify-content: flex-end;
     
    24452224/* Posts ------------------------------------- */
    24462225
    2447 body:not(.singular) main article:first-of-type {
     2226body:not(.singular) main > article:first-of-type {
    24482227    padding: 4rem 0 0;
    24492228}
     
    27972576.has-accent-background-color {
    27982577    background-color: #cd2653;
     2578}
     2579
     2580.has-primary-color {
     2581    color: #000;
     2582}
     2583
     2584.has-primary-background-color {
     2585    background-color: #000;
     2586}
     2587
     2588.has-secondary-color {
     2589    color: #6d6d6d;
     2590}
     2591
     2592.has-secondary-background-color {
     2593    background-color: #6d6d6d;
     2594}
     2595
     2596.has-subtle-background-color {
     2597    color: #dcd7ca;
     2598}
     2599
     2600.has-subtle-background-background-color {
     2601    background-color: #dcd7ca;
     2602}
     2603
     2604.has-background-color {
     2605    color: #f5efe0;
     2606}
     2607
     2608.has-background-background-color {
     2609    background-color: #f5efe0;
    27992610}
    28002611
     
    28882699/* Block: Base Margins ----------------------- */
    28892700
    2890 .wp-block-archives:not(.aligncenter):not(.alignleft):not(.alignright),
    2891 .wp-block-categories:not(.aligncenter):not(.alignleft):not(.alignright),
     2701*[class*="_inner-container"] > *:first-child {
     2702    margin-top: 0;
     2703}
     2704
     2705*[class*="_inner-container"] > *:last-child {
     2706    margin-bottom: 0;
     2707}
     2708
     2709.wp-block-archives,
     2710.wp-block-categories,
    28922711.wp-block-code,
    2893 .wp-block-columns:not(.alignwide):not(.alignfull),
    2894 .wp-block-cover:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    2895 .wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    2896 .wp-block-gallery:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    2897 .wp-block-group:not(.alignwide):not(.alignfull),
    2898 .wp-block-latest-comments:not(.aligncenter):not(.alignleft):not(.alignright),
    2899 .wp-block-latest-posts:not(.aligncenter):not(.alignleft):not(.alignright),
    2900 .wp-block-media-text:not(.alignwide):not(.alignfull),
     2712.wp-block-columns,
     2713.wp-block-cover,
     2714.wp-block-embed,
     2715.wp-block-gallery,
     2716.wp-block-group,
     2717.wp-block-latest-comments,
     2718.wp-block-latest-posts,
     2719.wp-block-media-text,
    29012720.wp-block-preformatted,
    2902 .wp-block-pullquote:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
     2721.wp-block-pullquote,
    29032722.wp-block-quote,
    29042723.wp-block-quote.is-large,
    29052724.wp-block-quote.is-style-large,
    29062725.wp-block-verse,
    2907 .wp-block-video:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
     2726.wp-block-video {
    29082727    margin-bottom: 3rem;
    29092728    margin-top: 3rem;
     
    29112730
    29122731
     2732/* Block: Shared Nesting Alignment Resets ---- */
     2733
     2734[class*="__inner-container"] .wp-block-group:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright),
     2735[class*="__inner-container"] .wp-block-cover:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright) {
     2736    margin-right: auto;
     2737    margin-left: auto;
     2738    max-width: 58rem;
     2739}
     2740
     2741
    29132742/* Block: Shared Widget Styles --------------- */
    29142743
    29152744.wp-block-archives,
    29162745.wp-block-categories,
    2917 .wp-block-gallery ul,
    29182746.wp-block-latest-posts,
    29192747.wp-block-latest-comments {
     
    30202848/* Block: Columns ---------------------------- */
    30212849
     2850.wp-block-column {
     2851    margin-bottom: 3.2rem;
     2852}
     2853
    30222854.wp-block-column > *:first-child {
    30232855    margin-top: 0;
     
    30302862/* Block: Cover ------------------------------ */
    30312863
    3032 .entry-content .wp-block-cover p {
    3033     font-family: inherit;
     2864.wp-block-cover-image .wp-block-cover__inner-container,
     2865.wp-block-cover .wp-block-cover__inner-container {
     2866    width: calc(100% - 4rem);
     2867    padding: 2rem 0;
     2868}
     2869
     2870.wp-block-cover-image .wp-block-cover-image-text,
     2871.wp-block-cover-image .wp-block-cover-text,
     2872.wp-block-cover-image h2,
     2873.wp-block-cover .wp-block-cover-image-text,
     2874.wp-block-cover .wp-block-cover-text,
     2875.wp-block-cover h2 {
     2876    max-width: 100%;
     2877    padding: 0;
     2878}
     2879
     2880.wp-block-cover-image h2,
     2881.wp-block-cover h2 {
     2882    font-size: 3.2rem;
    30342883}
    30352884
     
    30822931}
    30832932
     2933.wp-block-gallery ul {
     2934    list-style: none;
     2935    margin: 0 0 -1.6rem 0;
     2936}
     2937
     2938figure.wp-block-gallery.alignnone,
     2939figure.wp-block-gallery.aligncenter {
     2940    margin-bottom: 3rem;
     2941    margin-top: 3rem;
     2942}
     2943
     2944figure.wp-block-gallery.alignleft {
     2945    margin: 0.3rem 0 2rem 2rem;
     2946}
     2947
     2948figure.wp-block-gallery.alignright {
     2949    margin: 0.3rem 2rem 2rem 0;
     2950}
     2951
     2952figure.wp-block-gallery.alignwide {
     2953    margin-bottom: 4rem;
     2954    margin-top: 4rem;
     2955}
     2956
     2957figure.wp-block-gallery.alignfull {
     2958    margin-bottom: 5rem;
     2959    margin-top: 5rem;
     2960}
     2961
    30842962/* Block: Group ------------------------------ */
    30852963
    30862964.wp-block-group.has-background {
    30872965    padding: 2rem;
    3088 }
    3089 
    3090 .wp-block-group__inner-container > *:first-child {
    3091     margin-top: 0;
    3092 }
    3093 
    3094 .wp-block-group__inner-container > *:last-child {
    3095     margin-bottom: 0;
    30962966}
    30972967
     
    31503020}
    31513021
     3022.reduced-spacing .wp-block-pullquote::before {
     3023    border: 0.1rem solid currentColor;
     3024    font-size: 5.9rem;
     3025}
     3026
    31523027.wp-block-pullquote blockquote {
    31533028    border: none;
     
    33013176}
    33023177
    3303 /* STYLE: DEFAULT */
    3304 
    33053178/* STYLE: LARGE */
    33063179
     
    33143187.wp-block-quote.is-style-large p {
    33153188    font-family: inherit;
     3189    font-size: 2.4rem;
    33163190    font-style: normal;
    33173191    font-weight: 700;
    3318     letter-spacing: -0.035714286em;
    3319     line-height: 1.285714286;
     3192    letter-spacing: -0.02em;
     3193    line-height: 1.285;
    33203194}
    33213195
     
    33983272    line-height: 1.5;
    33993273    max-width: 58rem;
    3400 }
    3401 
    3402 .entry-content > * {
    3403     margin-bottom: 1.25em;
    34043274}
    34053275
     
    34743344.aligncenter,
    34753345.alignleft,
    3476 .alignright,
    3477 .alignwide,
    3478 .alignfull {
     3346.alignright {
    34793347    margin: 3rem 0;
    3480 }
    3481 
    3482 .alignnone,
     3348    max-width: 100%;
     3349}
     3350
    34833351.aligncenter,
     3352.aligncenter img {
     3353    margin-right: auto;
     3354    margin-left: auto;
     3355}
     3356
    34843357.alignleft,
    34853358.alignright {
    3486     max-width: 100%;
     3359    max-width: 50%;
     3360}
     3361
     3362.alignleft {
     3363    float: left;
     3364    margin: 0.3rem 0 2rem 2rem;
     3365}
     3366
     3367.alignright {
     3368    float: right;
     3369    margin: 0.3rem 2rem 2rem 0;
     3370}
     3371
     3372.alignwide {
     3373    margin: 4rem auto;
     3374    max-width: 120rem;
     3375}
     3376
     3377.entry-content > .alignwide {
     3378    max-width: calc(100vw - 4rem);
     3379    position: relative;
     3380    right: calc(50% - 50vw + 2rem);
     3381    width: calc(100vw - 4rem);
    34873382}
    34883383
    34893384.alignfull {
    34903385    margin: 5rem 0;
     3386}
     3387
     3388.entry-content > .alignfull {
    34913389    max-width: 100vw;
    34923390    position: relative;
     
    34953393}
    34963394
    3497 .alignwide {
    3498     max-width: calc(100vw - 4rem);
    3499     position: relative;
    3500     right: calc(50% - 50vw + 2rem);
    3501     width: calc(100vw - 4rem);
    3502 }
    3503 
    3504 .aligncenter,
    3505 .aligncenter img {
    3506     margin-right: auto;
    3507     margin-left: auto;
    3508 }
    3509 
    3510 .alignleft,
    3511 .alignright {
    3512     max-width: 50%;
    3513 }
    3514 
    3515 .alignleft {
    3516     float: right;
    3517     margin: 0.3rem 0 2rem 2rem;
    3518 }
    3519 
    3520 .alignright {
    3521     float: left;
    3522     margin: 0.3rem 2rem 2rem 0;
    3523 }
    3524 
    35253395
    35263396/* Entry Media ------------------------------- */
    35273397
    3528 .alignfull figcaption,
    3529 .alignfull .wp-caption-text {
     3398.alignfull > figcaption,
     3399.alignfull > .wp-caption-text {
    35303400    margin-right: auto;
    35313401    margin-left: auto;
     
    36443514
    36453515/* COMMENT CONTENT */
    3646 .comment-content > *:first-child {
    3647     margin-top: 0;
    3648 }
    3649 
    3650 .comment-content > *:last-child {
    3651     margin-bottom: 0;
    3652 }
    3653 
    3654 .comment-content p,
    3655 .comment-content ol,
    3656 .comment-content ul,
    3657 .comment-content dl,
    3658 .comment-content dt {
    3659     font-family: NonBreakingSpaceOverride, "Hoefler Text", Garamond, "Times New Roman", serif;
    3660     letter-spacing: normal;
    3661 }
    3662 
    3663 .comment-content cite,
    3664 .comment-content figcaption,
    3665 .comment-content .wp-caption-text {
    3666     font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
    3667 }
    3668 
    3669 @supports ( font-variation-settings: normal ) {
    3670 
    3671     .comment-content cite,
    3672     .comment-content figcaption,
    3673     .comment-content .wp-caption-text {
    3674         font-family: "Inter var", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
    3675     }
    3676 }
    3677 
    3678 .comment-content h1 {
    3679     font-size: 2em;
    3680 }
    3681 
    3682 .comment-content h2 {
    3683     font-size: 1.8em;
    3684 }
    3685 
    3686 .comment-content h3 {
    3687     font-size: 1.6em;
    3688 }
    3689 
    3690 .comment-content h4 {
    3691     font-size: 1.4em;
    3692 }
    3693 
    3694 .comment-content h5 {
    3695     font-size: 1.2em;
    3696 }
    3697 
    3698 .comment-content h6 {
    3699     font-size: 1em;
     3516
     3517.comment-content.entry-content .alignleft {
     3518    margin-right: 0;
     3519}
     3520
     3521.comment-content.entry-content .alignright {
     3522    margin-left: 0;
     3523}
     3524
     3525.comment-content.entry-content > .alignwide,
     3526.comment-content.entry-content > .alignfull {
     3527    right: auto;
     3528    max-width: 100%;
     3529    width: auto;
    37003530}
    37013531
     
    41834013/* Widget: RSS ------------------------------- */
    41844014
    4185 .widget_rss .rss-widget-icon {
     4015.widget_rss a.rsswidget:first-of-type {
    41864016    display: none;
    41874017}
     
    42404070#site-footer {
    42414071    background-color: #fff;
     4072    border-color: #dedfdf;
     4073    border-style: solid;
     4074    border-width: 0;
    42424075}
    42434076
     
    42494082.reduced-spacing.footer-top-visible .footer-nav-widgets-wrapper,
    42504083.reduced-spacing.footer-top-hidden #site-footer {
    4251     border-top: 0.1rem solid #dedfdf;
     4084    border-top-width: 0.1rem;
    42524085}
    42534086
     
    42924125
    42934126.footer-social-wrapper {
     4127    margin: 0;
     4128    width: 100%;
     4129}
     4130
     4131.has-footer-menu .footer-social-wrapper {
    42944132    flex-shrink: 0;
    42954133    margin-right: 1rem;
     
    42994137ul.footer-social {
    43004138    margin: -0.5rem -0.5rem 0 0;
     4139}
     4140
     4141.has-footer-menu .footer-social {
    43014142    justify-content: flex-end;
    43024143}
     
    43834224@media ( max-width: 479px ) {
    43844225
    4385     /* Lists ------------------------------------- */
     4226    /* Blocks -------------------------------- */
     4227
     4228    .wp-block-pullquote.alignleft,
     4229    .wp-block-pullquote.alignright {
     4230        float: none;
     4231        margin: 3rem 0;
     4232    }
     4233
     4234    .wp-block-pullquote.alignleft:first-child,
     4235    .wp-block-pullquote.alignright:first-child {
     4236        margin-top: 0;
     4237    }
     4238
     4239    .wp-block-pullquote.alignleft:last-child,
     4240    .wp-block-pullquote.alignright:last-child {
     4241        margin-bottom: 0;
     4242    }
     4243
     4244    /* Entry Content ------------------------- */
     4245
     4246    /* LISTS */
    43864247
    43874248    ul,
     
    44224283        max-width: 26rem;
    44234284    }
    4424 
    4425     .alignleft {
    4426         float: right;
    4427     }
    4428 
    4429     .alignright {
    4430         float: left;
     4285}
     4286
     4287@media ( max-width: 599px ) {
     4288
     4289    /* Blocks -------------------------------- */
     4290
     4291    /* BLOCK: COLUMNS */
     4292
     4293    /* While columns are stacked */
     4294    .wp-block-column:last-child {
     4295        margin-bottom: 0;
     4296    }
     4297
     4298    .wp-block-columns + .wp-block-columns {
     4299        margin-top: 0.2rem;
     4300    }
     4301
     4302    .wp-block-columns.alignwide + .wp-block-columns.alignwide {
     4303        margin-top: -0.8rem;
     4304    }
     4305
     4306    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
     4307        margin-top: -1.8rem;
     4308    }
     4309
     4310}
     4311
     4312@media ( min-width: 600px ) {
     4313
     4314    /* Blocks -------------------------------- */
     4315
     4316    /* BLOCK: COLUMNS */
     4317
     4318    .wp-block-columns.alignwide + .wp-block-columns.alignwide,
     4319    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
     4320        margin-top: -4rem;
     4321    }
     4322
     4323}
     4324
     4325@media ( max-width: 599px ) {
     4326
     4327    /* Blocks -------------------------------- */
     4328
     4329    /* BLOCK: COLUMNS */
     4330
     4331    .alignfull .wp-block-column > p:not(.has-background-color),
     4332    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     4333        max-width: calc(100% - 4rem);
     4334        margin: auto;
     4335    }
     4336}
     4337
     4338@media ( min-width: 600px ) {
     4339
     4340    /* Blocks -------------------------------- */
     4341
     4342    /* BLOCK: COLUMNS */
     4343
     4344    .alignfull .wp-block-column:nth-child(odd) > p:not(.has-background-color),
     4345    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     4346        padding-right: 2rem;
     4347    }
     4348
     4349    .alignfull .wp-block-column:nth-child(even) > p:not(.has-background-color),
     4350    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     4351        padding-left: 2rem;
    44314352    }
    44324353}
     
    44344355@media ( min-width: 660px ) {
    44354356
     4357    /* Blocks -------------------------------- */
     4358
     4359    /* BLOCK: GALLERY */
     4360
     4361    figure.wp-block-gallery.alignleft {
     4362        margin-left: calc(( 100vw - 58rem - 8rem ) / -2);
     4363    }
     4364
     4365    figure.wp-block-gallery.alignright {
     4366        margin-right: calc(( 100vw - 58rem - 8rem ) / -2);
     4367    }
     4368
    44364369    /* Entry Content ------------------------- */
    44374370
    44384371    /* ALIGNMENT CLASSES */
    44394372
    4440     .entry-content > .alignleft,
    4441     .entry-content > p .alignleft,
    4442     .entry-content > .wp-block-image .alignleft {
     4373    .entry-content .alignleft {
     4374        margin-left: calc(( 100vw - 58rem - 8rem ) / -2);
     4375    }
     4376
     4377    .entry-content .alignright {
    44434378        margin-right: calc(( 100vw - 58rem - 8rem ) / -2);
    4444     }
    4445 
    4446     .entry-content > .alignright,
    4447     .entry-content > p .alignright,
    4448     .entry-content > .wp-block-image .alignright {
    4449         margin-left: calc(( 100vw - 58rem - 8rem ) / -2);
    44504379    }
    44514380
     
    46614590
    46624591    .modal-menu ul li {
    4663         border-right-width: 0;
    4664     }
    4665 
    4666     .modal-menu ul a {
    4667         padding-right: 2.5rem;
    4668     }
    4669 
    4670     .modal-menu ul ul a {
    4671         padding-right: 5rem;
    4672     }
    4673 
    4674     .modal-menu ul ul ul a {
    4675         padding-right: 7.5rem;
    4676     }
    4677 
    4678     .modal-menu ul ul ul ul a {
    4679         padding-right: 10rem;
     4592        border-right-color: transparent;
    46804593    }
    46814594
     
    47664679    }
    47674680
    4768     body:not(.singular) main article:first-of-type {
     4681    body:not(.singular) main > article:first-of-type {
    47694682        padding: 8rem 0 0;
    47704683    }
     
    49074820    /* BLOCK: BASE MARGINS */
    49084821
    4909     .wp-block-archives:not(.aligncenter):not(.alignleft):not(.alignright),
    4910     .wp-block-categories:not(.aligncenter):not(.alignleft):not(.alignright),
     4822    .wp-block-archives,
     4823    .wp-block-categories,
    49114824    .wp-block-code,
    4912     .wp-block-columns:not(.alignwide):not(.alignfull),
    4913     .wp-block-cover:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    4914     .wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    4915     .wp-block-gallery:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    4916     .wp-block-group:not(.alignwide):not(.alignfull),
    4917     .wp-block-latest-comments:not(.aligncenter):not(.alignleft):not(.alignright),
    4918     .wp-block-latest-posts:not(.aligncenter):not(.alignleft):not(.alignright),
    4919     .wp-block-media-text:not(.alignwide):not(.alignfull),
     4825    .wp-block-columns,
     4826    .wp-block-cover,
     4827    .wp-block-embed,
     4828    .wp-block-gallery,
     4829    .wp-block-group,
     4830    .wp-block-latest-comments,
     4831    .wp-block-latest-posts,
     4832    .wp-block-media-text,
    49204833    .wp-block-preformatted,
    4921     .wp-block-pullquote:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
     4834    .wp-block-pullquote,
    49224835    .wp-block-quote,
    49234836    .wp-block-quote.is-large,
    49244837    .wp-block-quote.is-style-large,
    49254838    .wp-block-verse,
    4926     .wp-block-video:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
     4839    .wp-block-video {
    49274840        margin-bottom: 5rem;
    49284841        margin-top: 5rem;
     
    49334846    .wp-block-columns.alignwide + .wp-block-columns.alignwide,
    49344847    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
    4935         margin-top: -2rem;
     4848        margin-top: -6rem;
    49364849    }
    49374850
     
    49454858    }
    49464859
     4860    /* BLOCK: COVER */
     4861
     4862    .wp-block-cover-image .wp-block-cover__inner-container,
     4863    .wp-block-cover .wp-block-cover__inner-container {
     4864        width: calc(100% - 8rem);
     4865    }
     4866
     4867    .wp-block-cover-image h2,
     4868    .wp-block-cover h2 {
     4869        font-size: 4.8rem;
     4870    }
     4871
     4872    /* BLOCK: GALLERY */
     4873
     4874    figure.wp-block-gallery.alignnone,
     4875    figure.wp-block-gallery.aligncenter {
     4876        margin-bottom: 4rem;
     4877        margin-top: 4rem;
     4878    }
     4879
     4880    figure.wp-block-gallery.alignwide,
     4881    figure.wp-block-gallery.alignfull {
     4882        margin-bottom: 6rem;
     4883        margin-top: 6rem;
     4884    }
     4885
    49474886    /* BLOCK: GROUP */
    49484887
     
    50044943    }
    50054944
     4945    /* BLOCK: QUOTE */
     4946
     4947    .wp-block-quote.is-large p,
     4948    .wp-block-quote.is-style-large p {
     4949        font-size: 2.8rem;
     4950    }
     4951
    50064952    /* BLOCK: SEPARATOR */
    50074953
     
    50534999    }
    50545000
    5055     .alignwide {
     5001    .entry-content > .alignwide {
    50565002        max-width: calc(100vw - 8rem);
    50575003        right: calc(50% - 50vw + 4rem);
     
    50615007    /* ENTRY MEDIA */
    50625008
    5063     .alignfull figcaption,
    5064     .alignfull .wp-caption-text {
     5009    .alignfull > figcaption,
     5010    .alignfull > .wp-caption-text {
    50655011        width: calc(100% - 8rem);
    50665012    }
     
    50885034    .comments .review {
    50895035        padding-top: 5rem;
    5090     }
    5091 
    5092     .comment-content {
    5093         font-size: 2.1rem;
    50945036    }
    50955037
     
    52225164    }
    52235165
    5224     .footer-social-wrapper {
     5166    .has-footer-menu .footer-social-wrapper {
     5167        flex: 1;
    52255168        margin-right: 4rem;
    52265169        width: auto;
     
    52865229    }
    52875230
     5231}
     5232
     5233@media (min-width: 782px) {
     5234
     5235    /* Blocks -------------------------------- */
     5236
     5237    /* BLOCK: COLUMNS */
     5238
     5239    .alignfull .wp-block-column:first-child > p,
     5240    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     5241        padding-right: 2rem;
     5242    }
     5243
     5244    .alignfull .wp-block-column:last-child > p,
     5245    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     5246        padding-left: 2rem;
     5247    }
    52885248}
    52895249
     
    54125372    }
    54135373
     5374    .header-toggles:only-child .nav-toggle .toggle-inner {
     5375        padding-top: 0;
     5376    }
     5377
     5378    .header-toggles:only-child .toggle-inner {
     5379        display: flex;
     5380        flex-wrap: nowrap;
     5381        align-items: center;
     5382    }
     5383
     5384    .header-toggles:only-child .toggle-inner .svg-icon {
     5385        order: 1;
     5386    }
     5387
     5388    .header-toggles:only-child .toggle-inner .toggle-text {
     5389        position: static;
     5390        padding-left: 20px;
     5391        font-size: 15px;
     5392        color: inherit;
     5393    }
     5394
    54145395    /* Menu Modal ---------------------------- */
    54155396
     
    54895470    .wp-block-columns.alignwide + .wp-block-columns.alignwide,
    54905471    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
    5491         margin-top: -4rem;
     5472        margin-top: -5.2rem;
     5473    }
     5474
     5475    /* BLOCK: GALLERY */
     5476
     5477    figure.wp-block-gallery.alignwide,
     5478    figure.wp-block-gallery.alignfull {
     5479        margin-bottom: 8rem;
     5480        margin-top: 8rem;
    54925481    }
    54935482
     
    55175506    /* ENTRY MEDIA */
    55185507
    5519     .alignfull figcaption,
    5520     .alignfull .wp-caption-text {
     5508    .alignfull > figcaption,
     5509    .alignfull > .wp-caption-text {
    55215510        width: calc(100% - 10rem);
    55225511    }
     
    56505639    }
    56515640
     5641    /* BLOCK: GALLERY */
     5642
     5643    figure.wp-block-gallery.alignfull {
     5644        margin-bottom: 10rem;
     5645        margin-top: 10rem;
     5646    }
     5647
    56525648    /* BLOCK: GROUP */
    56535649
     
    57535749    /* Blocks -------------------------------- */
    57545750
     5751    /* BLOCK: GALLERY */
     5752
     5753    figure.wp-block-gallery.alignleft {
     5754        margin-left: -31rem;
     5755    }
     5756
     5757    figure.wp-block-gallery.alignright {
     5758        margin-right: -31rem;
     5759    }
     5760
    57555761    /* BLOCK: SEPARATOR */
    57565762
     
    57655771    /* ALIGNMENT CLASSES */
    57665772
    5767     .entry-content > .alignleft,
    5768     .entry-content > p .alignleft,
    5769     .entry-content > .wp-block-image .alignleft {
     5773    .entry-content .alignleft {
     5774        margin-left: -31rem;
     5775    }
     5776
     5777    .entry-content .alignright {
    57705778        margin-right: -31rem;
    57715779    }
    57725780
    5773     .entry-content > .alignright,
    5774     .entry-content > p .alignright,
    5775     .entry-content > .wp-block-image .alignright {
    5776         margin-left: -31rem;
    5777     }
    5778 
    5779     .alignwide {
     5781    .entry-content > .alignwide {
    57805782        max-width: 120rem;
    57815783        right: calc(50% - 60rem);
  • trunk/src/wp-content/themes/twentytwenty/style.css

    r46357 r46445  
    118118body {
    119119    background: #f5efe0;
    120     -webkit-box-sizing: border-box;
    121     -moz-box-sizing: border-box;
    122120    box-sizing: border-box;
    123121    color: #000;
     
    138136*::before,
    139137*::after {
    140     -webkit-box-sizing: inherit;
    141     -moz-box-sizing: inherit;
    142138    box-sizing: inherit;
    143139    -webkit-font-smoothing: antialiased;
     
    179175    border: 0;
    180176    clip: rect(1px, 1px, 1px, 1px);
     177    -webkit-clip-path: inset(50%);
    181178    clip-path: inset(50%);
    182179    height: 1px;
     
    194191    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    195192    clip: auto !important;
     193    -webkit-clip-path: none;
    196194    clip-path: none;
    197195    color: #21759b;
     
    238236/*
    239237 * Chrome renders extra-wide &nbsp; characters for the Hoefler Text font.
    240  * This results in a jumping cursor when typing in both the Classic and block
    241  * editors. The following font-face override fixes the issue by manually
     238 * This results in a jumping cursor when typing in both the classic editor and
     239 * block editor. The following font-face override fixes the issue by manually
    242240 * inserting a custom font that includes just a Hoefler Text space replacement
    243241 * for that character instead.
     
    712710textarea {
    713711    border-color: #dcd7ca;
     712    color: #000;
    714713}
    715714
     
    745744    border-width: 0.1rem;
    746745    box-shadow: none;
    747     color: inherit;
    748746    display: block;
    749747    font-size: 1.6rem;
     
    853851    margin: 0;
    854852    overflow: visible;
    855     padding: 2.5%;
     853    padding: 0.5em;
    856854}
    857855
     
    859857    background: #dcd7ca;
    860858    font-weight: 600;
    861     padding: 2.5%;
     859    padding: 0.5em;
    862860    text-align: center;
    863861}
     
    10071005    -webkit-touch-callout: none;
    10081006    -webkit-user-select: none;
    1009     -khtml-user-select: none;
    10101007    -moz-user-select: none;
    10111008    -ms-user-select: none;
     
    11291126.opacity-90 {
    11301127    opacity: 0.9;
     1128}
     1129
     1130.blend-mode-exclusion {
     1131    mix-blend-mode: exclusion;
     1132}
     1133
     1134.blend-mode-hue {
     1135    mix-blend-mode: hue;
     1136}
     1137
     1138.blend-mode-saturation {
     1139    mix-blend-mode: saturation;
     1140}
     1141
     1142.blend-mode-color {
     1143    mix-blend-mode: color;
     1144}
     1145
     1146.blend-mode-luminosity {
     1147    mix-blend-mode: luminosity;
    11311148}
    11321149
     
    11891206}
    11901207
     1208.search-form .search-submit:focus,
     1209.search-form .search-submit:hover {
     1210    text-decoration: none;
     1211}
     1212
    11911213
    11921214/* Social Icons ------------------------------ */
     
    11951217    display: flex;
    11961218    flex-wrap: wrap;
    1197     margin: -1rem 0 0 -1rem;
     1219    margin: -0.9rem 0 0 -0.9rem;
     1220    width: calc(100% + 0.9rem);
    11981221}
    11991222
    12001223ul.social-icons li {
    1201     margin: 1rem 0 0 1rem;
     1224    margin: 0.9rem 0 0 0.9rem;
    12021225}
    12031226
     
    12221245}
    12231246
    1224 .social-icons a::before {
    1225     content: "\e805";
    1226     display: block;
    1227     font-family: "Font Awesome 5";
    1228     font-size: 2rem;
    1229 }
    1230 
    1231 /* NON-BRAND ICONS */
    1232 
    1233 .s-icons a[href*="mailto"]::before {
    1234     content: "\f0e0";
    1235 }
    1236 
    1237 .s-icons a[href*="/feed/"]::before,
    1238 .s-icons a[href*="rss"]::before {
    1239     content: "\f09e";
    1240 }
    1241 
    1242 /* BRAND ICONS */
    1243 
    1244 .s-icons a[href*="500px.com"]::before {
    1245     content: "\f26e";
    1246     font-family: "Font Awesome 5 Brands";
    1247 }
    1248 
    1249 .s-icons a[href*="amazon.com"]::before {
    1250     content: "\f270";
    1251     font-family: "Font Awesome 5 Brands";
    1252 }
    1253 
    1254 .s-icons a[href*="angel.co"]::before {
    1255     content: "\f209";
    1256     font-family: "Font Awesome 5 Brands";
    1257 }
    1258 
    1259 .s-icons a[href*="audible.com"]::before {
    1260     content: "\f373";
    1261     font-family: "Font Awesome 5 Brands";
    1262 }
    1263 
    1264 .s-icons a[href*="behance.net"]::before {
    1265     content: "\f1b4";
    1266     font-family: "Font Awesome 5 Brands";
    1267 }
    1268 
    1269 .s-icons a[href*="blogger.com"]::before {
    1270     content: "\f37d";
    1271     font-family: "Font Awesome 5 Brands";
    1272 }
    1273 
    1274 .s-icons a[href*="codepen.io"]::before {
    1275     content: "\f1cb";
    1276     font-family: "Font Awesome 5 Brands";
    1277 }
    1278 
    1279 .s-icons a[href*="creativecommons.com"]::before {
    1280     content: "\f25e";
    1281     font-family: "Font Awesome 5 Brands";
    1282 }
    1283 
    1284 .s-icons a[href*="deviantart.com"]::before {
    1285     content: "\f1bd";
    1286     font-family: "Font Awesome 5 Brands";
    1287 }
    1288 
    1289 .s-icons a[href*="digg.com"]::before {
    1290     content: "\f1a6";
    1291     font-family: "Font Awesome 5 Brands";
    1292 }
    1293 
    1294 .s-icons a[href*="discordapp.com"]::before {
    1295     content: "\f392";
    1296     font-family: "Font Awesome 5 Brands";
    1297 }
    1298 
    1299 .s-icons a[href*="dribbble.com"]::before {
    1300     content: "\f17d";
    1301     font-family: "Font Awesome 5 Brands";
    1302 }
    1303 
    1304 .s-icons a[href*="ebay"]::before {
    1305     content: "\f4f4";
    1306     font-family: "Font Awesome 5 Brands";
    1307 }
    1308 
    1309 .s-icons a[href*="etsy.com"]::before {
    1310     content: "\f2d7";
    1311     font-family: "Font Awesome 5 Brands";
    1312 }
    1313 
    1314 .s-icons a[href*="facebook.com"]::before {
    1315     content: "\f39e";
    1316     font-family: "Font Awesome 5 Brands";
    1317 }
    1318 
    1319 .s-icons a[href*="flickr.com"]::before {
    1320     content: "\f16e";
    1321     font-family: "Font Awesome 5 Brands";
    1322 }
    1323 
    1324 .s-icons a[href*="github.com"]::before {
    1325     content: "\f113";
    1326     font-family: "Font Awesome 5 Brands";
    1327 }
    1328 
    1329 .s-icons a[href*="gitlab.com"]::before {
    1330     content: "\f296";
    1331     font-family: "Font Awesome 5 Brands";
    1332 }
    1333 
    1334 .s-icons a[href*="goodreads.com"]::before {
    1335     content: "\f3a9";
    1336     font-family: "Font Awesome 5 Brands";
    1337 }
    1338 
    1339 .s-icons a[href*="houzz"]::before {
    1340     content: "\f27c";
    1341     font-family: "Font Awesome 5 Brands";
    1342 }
    1343 
    1344 .s-icons a[href*="imdb.com"]::before {
    1345     content: "\f2d8";
    1346     font-family: "Font Awesome 5 Brands";
    1347 }
    1348 
    1349 .s-icons a[href*="instagram.com"]::before {
    1350     content: "\f16d";
    1351     font-family: "Font Awesome 5 Brands";
    1352 }
    1353 
    1354 .s-icons a[href*="kickstarter.com"]::before {
    1355     content: "\f3bc";
    1356     font-family: "Font Awesome 5 Brands";
    1357 }
    1358 
    1359 .s-icons a[href*="jsfiddle.net"]::before {
    1360     content: "\f1cc";
    1361     font-family: "Font Awesome 5 Brands";
    1362 }
    1363 
    1364 .s-icons a[href*="linkedin.com"]::before {
    1365     content: "\f0e1";
    1366     font-family: "Font Awesome 5 Brands";
    1367 }
    1368 
    1369 .s-icons a[href*="last.fm"]::before {
    1370     content: "\f202";
    1371     font-family: "Font Awesome 5 Brands";
    1372 }
    1373 
    1374 .s-icons a[href*="medium.com"]::before {
    1375     content: "\f3c7";
    1376     font-family: "Font Awesome 5 Brands";
    1377 }
    1378 
    1379 .s-icons a[href*="meetup.com"]::before {
    1380     content: "\f2e0";
    1381     font-family: "Font Awesome 5 Brands";
    1382 }
    1383 
    1384 .s-icons a[href*="mixcloud.com"]::before {
    1385     content: "\f289";
    1386     font-family: "Font Awesome 5 Brands";
    1387 }
    1388 
    1389 .s-icons a[href*="patreon.com"]::before {
    1390     content: "\f3d9";
    1391     font-family: "Font Awesome 5 Brands";
    1392 }
    1393 
    1394 .s-icons a[href*="pscp.tv"]::before {
    1395     content: "\f3da";
    1396     font-family: "Font Awesome 5 Brands";
    1397 }
    1398 
    1399 .s-icons a[href*="pinterest"]::before {
    1400     content: "\f231";
    1401     font-family: "Font Awesome 5 Brands";
    1402 }
    1403 
    1404 .s-icons a[href*="play.google.com"]::before {
    1405     content: "\f3ab";
    1406     font-family: "Font Awesome 5 Brands";
    1407 }
    1408 
    1409 .s-icons a[href*="plus.google.com"]::before {
    1410     content: "\f0d5";
    1411     font-family: "Font Awesome 5 Brands";
    1412 }
    1413 
    1414 .s-icons a[href*="producthunt.com"]::before {
    1415     content: "\f288";
    1416     font-family: "Font Awesome 5 Brands";
    1417 }
    1418 
    1419 .s-icons a[href*="quora.com"]::before {
    1420     content: "\f2c4";
    1421     font-family: "Font Awesome 5 Brands";
    1422 }
    1423 
    1424 .s-icons a[href*="reddit.com"]::before {
    1425     content: "\f281";
    1426     font-family: "Font Awesome 5 Brands";
    1427 }
    1428 
    1429 .s-icons a[href*="slack.com"]::before {
    1430     content: "\f198";
    1431     font-family: "Font Awesome 5 Brands";
    1432 }
    1433 
    1434 .s-icons a[href*="soundcloud.com"]::before {
    1435     content: "\f1be";
    1436     font-family: "Font Awesome 5 Brands";
    1437 }
    1438 
    1439 .s-icons a[href*="spotify.com"]::before {
    1440     content: "\f1bc";
    1441     font-family: "Font Awesome 5 Brands";
    1442 }
    1443 
    1444 .s-icons a[href*="tumblr.com"]::before {
    1445     content: "\f173";
    1446     font-family: "Font Awesome 5 Brands";
    1447 }
    1448 
    1449 .s-icons a[href*="twitch"]::before {
    1450     content: "\f1e8";
    1451     font-family: "Font Awesome 5 Brands";
    1452 }
    1453 
    1454 .s-icons a[href*="twitter.com"]::before {
    1455     content: "\f099";
    1456     font-family: "Font Awesome 5 Brands";
    1457 }
    1458 
    1459 .s-icons a[href*="vimeo.com"]::before {
    1460     content: "\f27d";
    1461     font-family: "Font Awesome 5 Brands";
    1462 }
    1463 
    1464 .s-icons a[href*="wordpress.org"]::before,
    1465 .s-icons a[href*="wordpress.com"]::before {
    1466     content: "\f411";
    1467     font-family: "Font Awesome 5 Brands";
    1468 }
    1469 
    1470 .s-icons a[href*="youtube.com"]::before {
    1471     content: "\f167";
    1472     font-family: "Font Awesome 5 Brands";
    1473 }
    1474 
    14751247
    14761248/* Cover Modals ------------------------------ */
     
    16491421
    16501422.toggle-icon {
     1423    display: block;
    16511424    overflow: hidden;
    16521425}
     
    16581431    position: absolute;
    16591432    top: calc(100% + 0.5rem);
    1660     width: 10rem;
     1433    width: auto;
     1434    white-space: nowrap;
    16611435    word-break: break-all;
    16621436}
     
    22151989    display: flex;
    22161990    justify-content: space-between;
     1991    max-width: 168rem;
    22171992}
    22181993
     
    22612036
    22622037.search-modal form {
     2038    margin: 0;
    22632039    position: relative;
    22642040    width: 100%;
     
    22732049    letter-spacing: -0.0277em;
    22742050    height: 8.4rem;
    2275     padding: 0;
    2276     width: 100%;
     2051    margin: 0 0 0 -2rem;
     2052    max-width: calc(100% + 2rem);
     2053    padding: 0 0 0 2rem;
     2054    width: calc(100% + 2rem);
    22772055}
    22782056
     
    23152093.cover-header-inner-wrapper {
    23162094    display: flex;
     2095    position: relative;
    23172096    flex-direction: column;
    23182097    justify-content: flex-end;
     
    24472226/* Posts ------------------------------------- */
    24482227
    2449 body:not(.singular) main article:first-of-type {
     2228body:not(.singular) main > article:first-of-type {
    24502229    padding: 4rem 0 0;
    24512230}
     
    27992578.has-accent-background-color {
    28002579    background-color: #cd2653;
     2580}
     2581
     2582.has-primary-color {
     2583    color: #000;
     2584}
     2585
     2586.has-primary-background-color {
     2587    background-color: #000;
     2588}
     2589
     2590.has-secondary-color {
     2591    color: #6d6d6d;
     2592}
     2593
     2594.has-secondary-background-color {
     2595    background-color: #6d6d6d;
     2596}
     2597
     2598.has-subtle-background-color {
     2599    color: #dcd7ca;
     2600}
     2601
     2602.has-subtle-background-background-color {
     2603    background-color: #dcd7ca;
     2604}
     2605
     2606.has-background-color {
     2607    color: #f5efe0;
     2608}
     2609
     2610.has-background-background-color {
     2611    background-color: #f5efe0;
    28012612}
    28022613
     
    28902701/* Block: Base Margins ----------------------- */
    28912702
    2892 .wp-block-archives:not(.aligncenter):not(.alignleft):not(.alignright),
    2893 .wp-block-categories:not(.aligncenter):not(.alignleft):not(.alignright),
     2703*[class*="_inner-container"] > *:first-child {
     2704    margin-top: 0;
     2705}
     2706
     2707*[class*="_inner-container"] > *:last-child {
     2708    margin-bottom: 0;
     2709}
     2710
     2711.wp-block-archives,
     2712.wp-block-categories,
    28942713.wp-block-code,
    2895 .wp-block-columns:not(.alignwide):not(.alignfull),
    2896 .wp-block-cover:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    2897 .wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    2898 .wp-block-gallery:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    2899 .wp-block-group:not(.alignwide):not(.alignfull),
    2900 .wp-block-latest-comments:not(.aligncenter):not(.alignleft):not(.alignright),
    2901 .wp-block-latest-posts:not(.aligncenter):not(.alignleft):not(.alignright),
    2902 .wp-block-media-text:not(.alignwide):not(.alignfull),
     2714.wp-block-columns,
     2715.wp-block-cover,
     2716.wp-block-embed,
     2717.wp-block-gallery,
     2718.wp-block-group,
     2719.wp-block-latest-comments,
     2720.wp-block-latest-posts,
     2721.wp-block-media-text,
    29032722.wp-block-preformatted,
    2904 .wp-block-pullquote:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
     2723.wp-block-pullquote,
    29052724.wp-block-quote,
    29062725.wp-block-quote.is-large,
    29072726.wp-block-quote.is-style-large,
    29082727.wp-block-verse,
    2909 .wp-block-video:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
     2728.wp-block-video {
    29102729    margin-bottom: 3rem;
    29112730    margin-top: 3rem;
     
    29132732
    29142733
     2734/* Block: Shared Nesting Alignment Resets ---- */
     2735
     2736[class*="__inner-container"] .wp-block-group:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright),
     2737[class*="__inner-container"] .wp-block-cover:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright) {
     2738    margin-left: auto;
     2739    margin-right: auto;
     2740    max-width: 58rem;
     2741}
     2742
     2743
    29152744/* Block: Shared Widget Styles --------------- */
    29162745
    29172746.wp-block-archives,
    29182747.wp-block-categories,
    2919 .wp-block-gallery ul,
    29202748.wp-block-latest-posts,
    29212749.wp-block-latest-comments {
     
    30222850/* Block: Columns ---------------------------- */
    30232851
     2852.wp-block-column {
     2853    margin-bottom: 3.2rem;
     2854}
     2855
    30242856.wp-block-column > *:first-child {
    30252857    margin-top: 0;
     
    30322864/* Block: Cover ------------------------------ */
    30332865
    3034 .entry-content .wp-block-cover p {
    3035     font-family: inherit;
     2866.wp-block-cover-image .wp-block-cover__inner-container,
     2867.wp-block-cover .wp-block-cover__inner-container {
     2868    width: calc(100% - 4rem);
     2869    padding: 2rem 0;
     2870}
     2871
     2872.wp-block-cover-image .wp-block-cover-image-text,
     2873.wp-block-cover-image .wp-block-cover-text,
     2874.wp-block-cover-image h2,
     2875.wp-block-cover .wp-block-cover-image-text,
     2876.wp-block-cover .wp-block-cover-text,
     2877.wp-block-cover h2 {
     2878    max-width: 100%;
     2879    padding: 0;
     2880}
     2881
     2882.wp-block-cover-image h2,
     2883.wp-block-cover h2 {
     2884    font-size: 3.2rem;
    30362885}
    30372886
     
    30842933}
    30852934
     2935.wp-block-gallery ul {
     2936    list-style: none;
     2937    margin: 0 0 -1.6rem 0;
     2938}
     2939
     2940figure.wp-block-gallery.alignnone,
     2941figure.wp-block-gallery.aligncenter {
     2942    margin-bottom: 3rem;
     2943    margin-top: 3rem;
     2944}
     2945
     2946figure.wp-block-gallery.alignleft {
     2947    margin: 0.3rem 2rem 2rem 0;
     2948}
     2949
     2950figure.wp-block-gallery.alignright {
     2951    margin: 0.3rem 0 2rem 2rem;
     2952}
     2953
     2954figure.wp-block-gallery.alignwide {
     2955    margin-bottom: 4rem;
     2956    margin-top: 4rem;
     2957}
     2958
     2959figure.wp-block-gallery.alignfull {
     2960    margin-bottom: 5rem;
     2961    margin-top: 5rem;
     2962}
     2963
    30862964/* Block: Group ------------------------------ */
    30872965
    30882966.wp-block-group.has-background {
    30892967    padding: 2rem;
    3090 }
    3091 
    3092 .wp-block-group__inner-container > *:first-child {
    3093     margin-top: 0;
    3094 }
    3095 
    3096 .wp-block-group__inner-container > *:last-child {
    3097     margin-bottom: 0;
    30982968}
    30992969
     
    31523022}
    31533023
     3024.reduced-spacing .wp-block-pullquote::before {
     3025    border: 0.1rem solid currentColor;
     3026    font-size: 5.9rem;
     3027}
     3028
    31543029.wp-block-pullquote blockquote {
    31553030    border: none;
     
    33033178}
    33043179
    3305 /* STYLE: DEFAULT */
    3306 
    33073180/* STYLE: LARGE */
    33083181
     
    33163189.wp-block-quote.is-style-large p {
    33173190    font-family: inherit;
     3191    font-size: 2.4rem;
    33183192    font-style: normal;
    33193193    font-weight: 700;
    3320     letter-spacing: -0.035714286em;
    3321     line-height: 1.285714286;
     3194    letter-spacing: -0.02em;
     3195    line-height: 1.285;
    33223196}
    33233197
     
    34003274    line-height: 1.5;
    34013275    max-width: 58rem;
    3402 }
    3403 
    3404 .entry-content > * {
    3405     margin-bottom: 1.25em;
    34063276}
    34073277
     
    34763346.aligncenter,
    34773347.alignleft,
    3478 .alignright,
    3479 .alignwide,
    3480 .alignfull {
     3348.alignright {
    34813349    margin: 3rem 0;
    3482 }
    3483 
    3484 .alignnone,
     3350    max-width: 100%;
     3351}
     3352
    34853353.aligncenter,
     3354.aligncenter img {
     3355    margin-left: auto;
     3356    margin-right: auto;
     3357}
     3358
    34863359.alignleft,
    34873360.alignright {
    3488     max-width: 100%;
     3361    max-width: 50%;
     3362}
     3363
     3364.alignleft {
     3365
     3366    /*rtl:ignore*/
     3367    float: left;
     3368    margin: 0.3rem 2rem 2rem 0;
     3369}
     3370
     3371.alignright {
     3372
     3373    /*rtl:ignore*/
     3374    float: right;
     3375    margin: 0.3rem 0 2rem 2rem;
     3376}
     3377
     3378.alignwide {
     3379    margin: 4rem auto;
     3380    max-width: 120rem;
     3381}
     3382
     3383.entry-content > .alignwide {
     3384    max-width: calc(100vw - 4rem);
     3385    position: relative;
     3386    left: calc(50% - 50vw + 2rem);
     3387    width: calc(100vw - 4rem);
    34893388}
    34903389
    34913390.alignfull {
    34923391    margin: 5rem 0;
     3392}
     3393
     3394.entry-content > .alignfull {
    34933395    max-width: 100vw;
    34943396    position: relative;
     
    34973399}
    34983400
    3499 .alignwide {
    3500     max-width: calc(100vw - 4rem);
    3501     position: relative;
    3502     left: calc(50% - 50vw + 2rem);
    3503     width: calc(100vw - 4rem);
    3504 }
    3505 
    3506 .aligncenter,
    3507 .aligncenter img {
    3508     margin-left: auto;
    3509     margin-right: auto;
    3510 }
    3511 
    3512 .alignleft,
    3513 .alignright {
    3514     max-width: 50%;
    3515 }
    3516 
    3517 .alignleft {
    3518     float: left;
    3519     margin: 0.3rem 2rem 2rem 0;
    3520 }
    3521 
    3522 .alignright {
    3523     float: right;
    3524     margin: 0.3rem 0 2rem 2rem;
    3525 }
    3526 
    35273401
    35283402/* Entry Media ------------------------------- */
    35293403
    3530 .alignfull figcaption,
    3531 .alignfull .wp-caption-text {
     3404.alignfull > figcaption,
     3405.alignfull > .wp-caption-text {
    35323406    margin-left: auto;
    35333407    margin-right: auto;
     
    36463520
    36473521/* COMMENT CONTENT */
    3648 .comment-content > *:first-child {
    3649     margin-top: 0;
    3650 }
    3651 
    3652 .comment-content > *:last-child {
    3653     margin-bottom: 0;
    3654 }
    3655 
    3656 .comment-content p,
    3657 .comment-content ol,
    3658 .comment-content ul,
    3659 .comment-content dl,
    3660 .comment-content dt {
    3661     font-family: NonBreakingSpaceOverride, "Hoefler Text", Garamond, "Times New Roman", serif;
    3662     letter-spacing: normal;
    3663 }
    3664 
    3665 .comment-content cite,
    3666 .comment-content figcaption,
    3667 .comment-content .wp-caption-text {
    3668     font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
    3669 }
    3670 
    3671 @supports ( font-variation-settings: normal ) {
    3672 
    3673     .comment-content cite,
    3674     .comment-content figcaption,
    3675     .comment-content .wp-caption-text {
    3676         font-family: "Inter var", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
    3677     }
    3678 }
    3679 
    3680 .comment-content h1 {
    3681     font-size: 2em;
    3682 }
    3683 
    3684 .comment-content h2 {
    3685     font-size: 1.8em;
    3686 }
    3687 
    3688 .comment-content h3 {
    3689     font-size: 1.6em;
    3690 }
    3691 
    3692 .comment-content h4 {
    3693     font-size: 1.4em;
    3694 }
    3695 
    3696 .comment-content h5 {
    3697     font-size: 1.2em;
    3698 }
    3699 
    3700 .comment-content h6 {
    3701     font-size: 1em;
     3522
     3523.comment-content.entry-content .alignleft {
     3524    margin-left: 0;
     3525}
     3526
     3527.comment-content.entry-content .alignright {
     3528    margin-right: 0;
     3529}
     3530
     3531.comment-content.entry-content > .alignwide,
     3532.comment-content.entry-content > .alignfull {
     3533    left: auto;
     3534    max-width: 100%;
     3535    width: auto;
    37023536}
    37033537
     
    41854019/* Widget: RSS ------------------------------- */
    41864020
    4187 .widget_rss .rss-widget-icon {
     4021.widget_rss a.rsswidget:first-of-type {
    41884022    display: none;
    41894023}
     
    42424076#site-footer {
    42434077    background-color: #fff;
     4078    border-color: #dedfdf;
     4079    border-style: solid;
     4080    border-width: 0;
    42444081}
    42454082
     
    42514088.reduced-spacing.footer-top-visible .footer-nav-widgets-wrapper,
    42524089.reduced-spacing.footer-top-hidden #site-footer {
    4253     border-top: 0.1rem solid #dedfdf;
     4090    border-top-width: 0.1rem;
    42544091}
    42554092
     
    42944131
    42954132.footer-social-wrapper {
     4133    margin: 0;
     4134    width: 100%;
     4135}
     4136
     4137.has-footer-menu .footer-social-wrapper {
    42964138    flex-shrink: 0;
    42974139    margin-left: 1rem;
     
    43014143ul.footer-social {
    43024144    margin: -0.5rem 0 0 -0.5rem;
     4145}
     4146
     4147.has-footer-menu .footer-social {
    43034148    justify-content: flex-end;
    43044149}
     
    43854230@media ( max-width: 479px ) {
    43864231
    4387     /* Lists ------------------------------------- */
     4232    /* Blocks -------------------------------- */
     4233
     4234    .wp-block-pullquote.alignleft,
     4235    .wp-block-pullquote.alignright {
     4236        float: none;
     4237        margin: 3rem 0;
     4238    }
     4239
     4240    .wp-block-pullquote.alignleft:first-child,
     4241    .wp-block-pullquote.alignright:first-child {
     4242        margin-top: 0;
     4243    }
     4244
     4245    .wp-block-pullquote.alignleft:last-child,
     4246    .wp-block-pullquote.alignright:last-child {
     4247        margin-bottom: 0;
     4248    }
     4249
     4250    /* Entry Content ------------------------- */
     4251
     4252    /* LISTS */
    43884253
    43894254    ul,
     
    44244289        max-width: 26rem;
    44254290    }
    4426 
    4427     .alignleft {
    4428         float: left;
    4429     }
    4430 
    4431     .alignright {
    4432         float: right;
     4291}
     4292
     4293@media ( max-width: 599px ) {
     4294
     4295    /* Blocks -------------------------------- */
     4296
     4297    /* BLOCK: COLUMNS */
     4298
     4299    /* While columns are stacked */
     4300    .wp-block-column:last-child {
     4301        margin-bottom: 0;
     4302    }
     4303
     4304    .wp-block-columns + .wp-block-columns {
     4305        margin-top: 0.2rem;
     4306    }
     4307
     4308    .wp-block-columns.alignwide + .wp-block-columns.alignwide {
     4309        margin-top: -0.8rem;
     4310    }
     4311
     4312    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
     4313        margin-top: -1.8rem;
     4314    }
     4315
     4316}
     4317
     4318@media ( min-width: 600px ) {
     4319
     4320    /* Blocks -------------------------------- */
     4321
     4322    /* BLOCK: COLUMNS */
     4323
     4324    .wp-block-columns.alignwide + .wp-block-columns.alignwide,
     4325    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
     4326        margin-top: -4rem;
     4327    }
     4328
     4329}
     4330
     4331@media ( max-width: 599px ) {
     4332
     4333    /* Blocks -------------------------------- */
     4334
     4335    /* BLOCK: COLUMNS */
     4336
     4337    .alignfull .wp-block-column > p:not(.has-background-color),
     4338    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     4339        max-width: calc(100% - 4rem);
     4340        margin: auto;
     4341    }
     4342}
     4343
     4344@media ( min-width: 600px ) {
     4345
     4346    /* Blocks -------------------------------- */
     4347
     4348    /* BLOCK: COLUMNS */
     4349
     4350    .alignfull .wp-block-column:nth-child(odd) > p:not(.has-background-color),
     4351    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     4352        padding-left: 2rem;
     4353    }
     4354
     4355    .alignfull .wp-block-column:nth-child(even) > p:not(.has-background-color),
     4356    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     4357        padding-right: 2rem;
    44334358    }
    44344359}
     
    44364361@media ( min-width: 660px ) {
    44374362
     4363    /* Blocks -------------------------------- */
     4364
     4365    /* BLOCK: GALLERY */
     4366
     4367    figure.wp-block-gallery.alignleft {
     4368
     4369        /*rtl:ignore*/
     4370        margin-left: calc(( 100vw - 58rem - 8rem ) / -2);
     4371    }
     4372
     4373    figure.wp-block-gallery.alignright {
     4374
     4375        /*rtl:ignore*/
     4376        margin-right: calc(( 100vw - 58rem - 8rem ) / -2);
     4377    }
     4378
    44384379    /* Entry Content ------------------------- */
    44394380
    44404381    /* ALIGNMENT CLASSES */
    44414382
    4442     .entry-content > .alignleft,
    4443     .entry-content > p .alignleft,
    4444     .entry-content > .wp-block-image .alignleft {
     4383    .entry-content .alignleft {
     4384
     4385        /*rtl:ignore*/
    44454386        margin-left: calc(( 100vw - 58rem - 8rem ) / -2);
    44464387    }
    44474388
    4448     .entry-content > .alignright,
    4449     .entry-content > p .alignright,
    4450     .entry-content > .wp-block-image .alignright {
     4389    .entry-content .alignright {
     4390
     4391        /*rtl:ignore*/
    44514392        margin-right: calc(( 100vw - 58rem - 8rem ) / -2);
    44524393    }
     
    46634604
    46644605    .modal-menu ul li {
    4665         border-left-width: 0;
    4666     }
    4667 
    4668     .modal-menu ul a {
    4669         padding-left: 2.5rem;
    4670     }
    4671 
    4672     .modal-menu ul ul a {
    4673         padding-left: 5rem;
    4674     }
    4675 
    4676     .modal-menu ul ul ul a {
    4677         padding-left: 7.5rem;
    4678     }
    4679 
    4680     .modal-menu ul ul ul ul a {
    4681         padding-left: 10rem;
     4606        border-left-color: transparent;
    46824607    }
    46834608
     
    47684693    }
    47694694
    4770     body:not(.singular) main article:first-of-type {
     4695    body:not(.singular) main > article:first-of-type {
    47714696        padding: 8rem 0 0;
    47724697    }
     
    49094834    /* BLOCK: BASE MARGINS */
    49104835
    4911     .wp-block-archives:not(.aligncenter):not(.alignleft):not(.alignright),
    4912     .wp-block-categories:not(.aligncenter):not(.alignleft):not(.alignright),
     4836    .wp-block-archives,
     4837    .wp-block-categories,
    49134838    .wp-block-code,
    4914     .wp-block-columns:not(.alignwide):not(.alignfull),
    4915     .wp-block-cover:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    4916     .wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    4917     .wp-block-gallery:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
    4918     .wp-block-group:not(.alignwide):not(.alignfull),
    4919     .wp-block-latest-comments:not(.aligncenter):not(.alignleft):not(.alignright),
    4920     .wp-block-latest-posts:not(.aligncenter):not(.alignleft):not(.alignright),
    4921     .wp-block-media-text:not(.alignwide):not(.alignfull),
     4839    .wp-block-columns,
     4840    .wp-block-cover,
     4841    .wp-block-embed,
     4842    .wp-block-gallery,
     4843    .wp-block-group,
     4844    .wp-block-latest-comments,
     4845    .wp-block-latest-posts,
     4846    .wp-block-media-text,
    49224847    .wp-block-preformatted,
    4923     .wp-block-pullquote:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
     4848    .wp-block-pullquote,
    49244849    .wp-block-quote,
    49254850    .wp-block-quote.is-large,
    49264851    .wp-block-quote.is-style-large,
    49274852    .wp-block-verse,
    4928     .wp-block-video:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
     4853    .wp-block-video {
    49294854        margin-bottom: 5rem;
    49304855        margin-top: 5rem;
     
    49354860    .wp-block-columns.alignwide + .wp-block-columns.alignwide,
    49364861    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
    4937         margin-top: -2rem;
     4862        margin-top: -6rem;
    49384863    }
    49394864
     
    49474872    }
    49484873
     4874    /* BLOCK: COVER */
     4875
     4876    .wp-block-cover-image .wp-block-cover__inner-container,
     4877    .wp-block-cover .wp-block-cover__inner-container {
     4878        width: calc(100% - 8rem);
     4879    }
     4880
     4881    .wp-block-cover-image h2,
     4882    .wp-block-cover h2 {
     4883        font-size: 4.8rem;
     4884    }
     4885
     4886    /* BLOCK: GALLERY */
     4887
     4888    figure.wp-block-gallery.alignnone,
     4889    figure.wp-block-gallery.aligncenter {
     4890        margin-bottom: 4rem;
     4891        margin-top: 4rem;
     4892    }
     4893
     4894    figure.wp-block-gallery.alignwide,
     4895    figure.wp-block-gallery.alignfull {
     4896        margin-bottom: 6rem;
     4897        margin-top: 6rem;
     4898    }
     4899
    49494900    /* BLOCK: GROUP */
    49504901
     
    50064957    }
    50074958
     4959    /* BLOCK: QUOTE */
     4960
     4961    .wp-block-quote.is-large p,
     4962    .wp-block-quote.is-style-large p {
     4963        font-size: 2.8rem;
     4964    }
     4965
    50084966    /* BLOCK: SEPARATOR */
    50094967
     
    50555013    }
    50565014
    5057     .alignwide {
     5015    .entry-content > .alignwide {
    50585016        max-width: calc(100vw - 8rem);
    50595017        left: calc(50% - 50vw + 4rem);
     
    50635021    /* ENTRY MEDIA */
    50645022
    5065     .alignfull figcaption,
    5066     .alignfull .wp-caption-text {
     5023    .alignfull > figcaption,
     5024    .alignfull > .wp-caption-text {
    50675025        width: calc(100% - 8rem);
    50685026    }
     
    50905048    .comments .review {
    50915049        padding-top: 5rem;
    5092     }
    5093 
    5094     .comment-content {
    5095         font-size: 2.1rem;
    50965050    }
    50975051
     
    52245178    }
    52255179
    5226     .footer-social-wrapper {
     5180    .has-footer-menu .footer-social-wrapper {
     5181        flex: 1;
    52275182        margin-left: 4rem;
    52285183        width: auto;
     
    52885243    }
    52895244
     5245}
     5246
     5247@media (min-width: 782px) {
     5248
     5249    /* Blocks -------------------------------- */
     5250
     5251    /* BLOCK: COLUMNS */
     5252
     5253    .alignfull .wp-block-column:first-child > p,
     5254    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     5255        padding-left: 2rem;
     5256    }
     5257
     5258    .alignfull .wp-block-column:last-child > p,
     5259    .alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
     5260        padding-right: 2rem;
     5261    }
    52905262}
    52915263
     
    54145386    }
    54155387
     5388    .header-toggles:only-child .nav-toggle .toggle-inner {
     5389        padding-top: 0;
     5390    }
     5391
     5392    .header-toggles:only-child .toggle-inner {
     5393        display: flex;
     5394        flex-wrap: nowrap;
     5395        align-items: center;
     5396    }
     5397
     5398    .header-toggles:only-child .toggle-inner .svg-icon {
     5399        order: 1;
     5400    }
     5401
     5402    .header-toggles:only-child .toggle-inner .toggle-text {
     5403        position: static;
     5404        padding-right: 20px;
     5405        font-size: 15px;
     5406        color: inherit;
     5407    }
     5408
    54165409    /* Menu Modal ---------------------------- */
    54175410
     
    54915484    .wp-block-columns.alignwide + .wp-block-columns.alignwide,
    54925485    .wp-block-columns.alignfull + .wp-block-columns.alignfull {
    5493         margin-top: -4rem;
     5486        margin-top: -5.2rem;
     5487    }
     5488
     5489    /* BLOCK: GALLERY */
     5490
     5491    figure.wp-block-gallery.alignwide,
     5492    figure.wp-block-gallery.alignfull {
     5493        margin-bottom: 8rem;
     5494        margin-top: 8rem;
    54945495    }
    54955496
     
    55195520    /* ENTRY MEDIA */
    55205521
    5521     .alignfull figcaption,
    5522     .alignfull .wp-caption-text {
     5522    .alignfull > figcaption,
     5523    .alignfull > .wp-caption-text {
    55235524        width: calc(100% - 10rem);
    55245525    }
     
    56525653    }
    56535654
     5655    /* BLOCK: GALLERY */
     5656
     5657    figure.wp-block-gallery.alignfull {
     5658        margin-bottom: 10rem;
     5659        margin-top: 10rem;
     5660    }
     5661
    56545662    /* BLOCK: GROUP */
    56555663
     
    57555763    /* Blocks -------------------------------- */
    57565764
     5765    /* BLOCK: GALLERY */
     5766
     5767    figure.wp-block-gallery.alignleft {
     5768
     5769        /*rtl:ignore*/
     5770        margin-left: -31rem;
     5771    }
     5772
     5773    figure.wp-block-gallery.alignright {
     5774
     5775        /*rtl:ignore*/
     5776        margin-right: -31rem;
     5777    }
     5778
    57575779    /* BLOCK: SEPARATOR */
    57585780
     
    57675789    /* ALIGNMENT CLASSES */
    57685790
    5769     .entry-content > .alignleft,
    5770     .entry-content > p .alignleft,
    5771     .entry-content > .wp-block-image .alignleft {
     5791    .entry-content .alignleft {
     5792
     5793        /*rtl:ignore*/
    57725794        margin-left: -31rem;
    57735795    }
    57745796
    5775     .entry-content > .alignright,
    5776     .entry-content > p .alignright,
    5777     .entry-content > .wp-block-image .alignright {
     5797    .entry-content .alignright {
     5798
     5799        /*rtl:ignore*/
    57785800        margin-right: -31rem;
    57795801    }
    57805802
    5781     .alignwide {
     5803    .entry-content > .alignwide {
    57825804        max-width: 120rem;
    57835805        left: calc(50% - 60rem);
  • trunk/src/wp-content/themes/twentytwenty/template-parts/content-cover.php

    r46357 r46445  
    4545    ?>
    4646
    47     <div class="cover-header <?php echo esc_attr( $cover_header_classes ); ?>"<?php echo $cover_header_style; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- We need to double check this, but for now, we want to pass PHPCS ;) ?>>
     47    <div class="cover-header <?php echo $cover_header_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>"<?php echo $cover_header_style; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- We need to double check this, but for now, we want to pass PHPCS ;) ?>>
    4848        <div class="cover-header-inner-wrapper screen-height">
    4949            <div class="cover-header-inner">
     
    6868
    6969                                <div class="entry-categories">
    70                                     <span class="screen-reader-text"><?php esc_html_e( 'Categories', 'twentytwenty' ); ?></span>
     70                                    <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); ?></span>
    7171                                    <div class="entry-categories-inner">
    7272                                        <?php the_category( ' ' ); ?>
     
    8686                                    <a href="#post-inner" class="to-the-content fill-children-current-color">
    8787                                        <?php twentytwenty_the_theme_svg( 'arrow-down' ); ?>
    88                                         <div class="screen-reader-text"><?php _e( 'Scroll Down', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></div>
     88                                        <div class="screen-reader-text"><?php _e( 'Scroll Down', 'twentytwenty' ); ?></div>
    8989                                    </a><!-- .to-the-content -->
    9090
     
    134134        </div><!-- .entry-content -->
    135135        <?php
    136 
    137136        wp_link_pages(
    138137            array(
    139                 'before' => '<nav class="post-nav-links bg-light-background" aria-label="' . esc_attr__( 'Page', 'twentytwenty' ) . '"><span class="label">' . __( 'Pages:', 'twentytwenty' ) . '</span>',
    140                 'after'  => '</nav>',
     138                'before'      => '<nav class="post-nav-links bg-light-background" aria-label="' . esc_attr__( 'Page', 'twentytwenty' ) . '"><span class="label">' . __( 'Pages:', 'twentytwenty' ) . '</span>',
     139                'after'       => '</nav>',
     140                'link_before' => '<span class="page-number">',
     141                'link_after'  => '</span>',
    141142            )
    142143        );
  • trunk/src/wp-content/themes/twentytwenty/template-parts/content.php

    r46357 r46445  
    4141
    4242        <?php
    43 
    4443        wp_link_pages(
    4544            array(
    46                 'before' => '<nav class="post-nav-links bg-light-background" aria-label="' . esc_attr__( 'Page', 'twentytwenty' ) . '"><span class="label">' . __( 'Pages:', 'twentytwenty' ) . '</span>',
    47                 'after'  => '</nav>',
     45                'before'      => '<nav class="post-nav-links bg-light-background" aria-label="' . esc_attr__( 'Page', 'twentytwenty' ) . '"><span class="label">' . __( 'Pages:', 'twentytwenty' ) . '</span>',
     46                'after'       => '</nav>',
     47                'link_before' => '<span class="page-number">',
     48                'link_after'  => '</span>',
    4849            )
    4950        );
  • trunk/src/wp-content/themes/twentytwenty/template-parts/entry-author-bio.php

    r46357 r46445  
    1717                <?php
    1818                printf(
    19                     /* Translators: %s: post author */
    20                     esc_html__( 'By %s', 'twentytwenty' ),
     19                    /* translators: %s: Author name */
     20                    __( 'By %s', 'twentytwenty' ),
    2121                    esc_html( get_the_author() )
    2222                );
     
    2727            <?php the_author_meta( 'description' ); ?>
    2828            <a class="author-link" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
    29                 <?php esc_html_e( 'View Archive &rarr;', 'twentytwenty' ); ?>
     29                <?php _e( 'View Archive &rarr;', 'twentytwenty' ); ?>
    3030            </a>
    3131        </p><!-- .author-description -->
  • trunk/src/wp-content/themes/twentytwenty/template-parts/entry-header.php

    r46357 r46445  
    3434
    3535            <div class="entry-categories">
    36                 <span class="screen-reader-text"><?php esc_html_e( 'Categories', 'twentytwenty' ); ?></span>
     36                <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); ?></span>
    3737                <div class="entry-categories-inner">
    3838                    <?php the_category( ' ' ); ?>
     
    6060            ?>
    6161
    62             <div class="intro-text section-inner max-percentage<?php echo esc_attr( $intro_text_width ); ?>">
     62            <div class="intro-text section-inner max-percentage<?php echo $intro_text_width; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>">
    6363                <?php the_excerpt(); ?>
    6464            </div>
  • trunk/src/wp-content/themes/twentytwenty/template-parts/featured-image.php

    r46357 r46445  
    2020    <figure class="featured-media">
    2121
    22         <div class="featured-media-inner section-inner<?php echo esc_attr( $featured_media_inner_classes ); ?>">
     22        <div class="featured-media-inner section-inner<?php echo $featured_media_inner_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>">
    2323
    2424            <?php
  • trunk/src/wp-content/themes/twentytwenty/template-parts/footer-menus-widgets.php

    r46357 r46445  
    3030            $footer_top_classes .= $has_social_menu ? ' has-social-menu' : '';
    3131
    32             $footer_social_wrapper_class = $has_footer_menu ? 'footer-social-wrapper' : '';
    33 
    3432            if ( $has_footer_menu || $has_social_menu ) {
    3533                ?>
    36                 <div class="footer-top<?php echo esc_attr( $footer_top_classes ); ?>">
     34                <div class="footer-top<?php echo $footer_top_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>">
    3735                    <?php if ( $has_footer_menu ) { ?>
    3836
    39                         <nav aria-label="<?php esc_attr_e( 'Footer', 'twentytwenty' ); ?>" role="navigation">
     37                        <nav aria-label="<?php esc_attr_e( 'Footer', 'twentytwenty' ); ?>" role="navigation" class="footer-menu-wrapper">
    4038
    4139                            <ul class="footer-menu reset-list-style">
     
    5755                    <?php if ( $has_social_menu ) { ?>
    5856
    59                         <div class="<?php echo esc_attr( $footer_social_wrapper_class ); ?>">
     57                        <nav aria-label="<?php esc_attr_e( 'Social links', 'twentytwenty' ); ?>" class="footer-social-wrapper">
    6058
    61                             <nav aria-label="<?php esc_attr_e( 'Social links', 'twentytwenty' ); ?>">
     59                            <ul class="social-menu footer-social reset-list-style social-icons fill-children-current-color">
    6260
    63                                 <ul class="social-menu footer-social reset-list-style social-icons s-icons">
     61                                <?php
     62                                wp_nav_menu(
     63                                    array(
     64                                        'theme_location'  => 'social',
     65                                        'container'       => '',
     66                                        'container_class' => '',
     67                                        'items_wrap'      => '%3$s',
     68                                        'menu_id'         => '',
     69                                        'menu_class'      => '',
     70                                        'depth'           => 1,
     71                                        'link_before'     => '<span class="screen-reader-text">',
     72                                        'link_after'      => '</span>',
     73                                        'fallback_cb'     => '',
     74                                    )
     75                                );
     76                                ?>
    6477
    65                                     <?php
    66                                     wp_nav_menu(
    67                                         array(
    68                                             'theme_location' => 'social',
    69                                             'container'   => '',
    70                                             'container_class' => '',
    71                                             'items_wrap'  => '%3$s',
    72                                             'menu_id'     => '',
    73                                             'menu_class'  => '',
    74                                             'depth'       => 1,
    75                                             'link_before' => '<span class="screen-reader-text">',
    76                                             'link_after'  => '</span>',
    77                                             'fallback_cb' => '',
    78                                         )
    79                                     );
    80                                     ?>
     78                            </ul><!-- .footer-social -->
    8179
    82                                 </ul>
    83 
    84                             </nav><!-- .social-menu -->
    85 
    86                         </div><!-- .footer-social-wrapper -->
     80                        </nav><!-- .footer-social-wrapper -->
    8781
    8882                    <?php } ?>
  • trunk/src/wp-content/themes/twentytwenty/template-parts/modal-menu.php

    r46357 r46445  
    1818            <div class="menu-top">
    1919
    20                 <button class="toggle close-nav-toggle fill-children-current-color" data-toggle-target=".menu-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".menu-modal">
    21                     <span class="toggle-text"><?php esc_html_e( 'Close Menu', 'twentytwenty' ); ?></span>
     20                <button class="toggle close-nav-toggle fill-children-current-color" data-toggle-target=".menu-modal" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".menu-modal">
     21                    <span class="toggle-text"><?php _e( 'Close Menu', 'twentytwenty' ); ?></span>
    2222                    <?php twentytwenty_the_theme_svg( 'cross' ); ?>
    2323                </button><!-- .nav-toggle -->
     
    4646                    ?>
    4747
    48                     <nav class="expanded-menu<?php echo esc_attr( $expanded_nav_classes ); ?>" aria-label="<?php esc_attr_e( 'Expanded', 'twentytwenty' ); ?>">
     48                    <nav class="expanded-menu<?php echo esc_attr( $expanded_nav_classes ); ?>" aria-label="<?php esc_attr_e( 'Expanded', 'twentytwenty' ); ?>" role="navigation">
    4949
    5050                        <ul class="modal-menu reset-list-style">
     
    7171                    ?>
    7272
    73                     <nav class="mobile-menu" aria-label="<?php esc_attr_e( 'Mobile', 'twentytwenty' ); ?>">
     73                    <nav class="mobile-menu" aria-label="<?php esc_attr_e( 'Mobile', 'twentytwenty' ); ?>" role="navigation">
    7474
    7575                        <ul class="modal-menu reset-list-style">
     
    115115                <?php if ( has_nav_menu( 'social' ) ) { ?>
    116116
    117                     <nav aria-label="<?php esc_attr_e( 'Expanded Social links', 'twentytwenty' ); ?>">
    118                         <ul class="social-menu reset-list-style social-icons s-icons">
     117                    <nav aria-label="<?php esc_attr_e( 'Expanded Social links', 'twentytwenty' ); ?>" role="navigation">
     118                        <ul class="social-menu reset-list-style social-icons fill-children-current-color">
    119119
    120120                            <?php
  • trunk/src/wp-content/themes/twentytwenty/template-parts/modal-search.php

    r46357 r46445  
    1818            get_search_form(
    1919                array(
    20                     'label' => _x( 'Search for:', 'Label', 'twentytwenty' ),
     20                    'label' => __( 'Search for:', 'twentytwenty' ),
    2121                )
    2222            );
    2323            ?>
    2424
    25             <button class="toggle search-untoggle fill-children-current-color" data-toggle-target=".search-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field">
    26                 <span class="screen-reader-text"><?php _e( 'Close search', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span>
     25            <button class="toggle search-untoggle fill-children-current-color" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field">
     26                <span class="screen-reader-text"><?php _e( 'Close search', 'twentytwenty' ); ?></span>
    2727                <?php twentytwenty_the_theme_svg( 'cross' ); ?>
    2828            </button><!-- .search-toggle -->
  • trunk/src/wp-content/themes/twentytwenty/template-parts/navigation.php

    r46357 r46445  
    2323    ?>
    2424
    25     <nav class="pagination-single section-inner<?php echo esc_attr( $pagination_classes ); ?>" aria-label="<?php esc_attr_e( 'Post', 'twentytwenty' ); ?>">
     25    <nav class="pagination-single section-inner<?php echo esc_attr( $pagination_classes ); ?>" aria-label="<?php esc_attr_e( 'Post', 'twentytwenty' ); ?>" role="navigation">
    2626
    2727        <hr class="styled-separator is-style-wide" aria-hidden="true" />
  • trunk/src/wp-content/themes/twentytwenty/template-parts/pagination.php

    r46357 r46445  
    3535);
    3636
    37 // If we're not outputting the previous page link, prepend a placeholder with visisibility: hidden to take its place.
     37// If we're not outputting the previous page link, prepend a placeholder with visibility: hidden to take its place.
    3838if ( strpos( $posts_pagination, 'prev page-numbers' ) === false ) {
    3939    $posts_pagination = str_replace( '<div class="nav-links">', '<div class="nav-links"><span class="prev page-numbers placeholder" aria-hidden="true">' . $prev_text . '</span>', $posts_pagination );
    4040}
    4141
    42 // If we're not outputting the next page link, append a placeholder with visisibility: hidden to take its place.
     42// If we're not outputting the next page link, append a placeholder with visibility: hidden to take its place.
    4343if ( strpos( $posts_pagination, 'next page-numbers' ) === false ) {
    4444    $posts_pagination = str_replace( '</div>', '<span class="next page-numbers placeholder" aria-hidden="true">' . $next_text . '</span></div>', $posts_pagination );
  • trunk/src/wp-content/themes/twentytwenty/templates/template-cover.php

    r46357 r46445  
    2525    }
    2626
    27     get_template_part( 'template-parts/footer-menus-widgets' );
    28 
    2927    ?>
    3028
    3129</main><!-- #site-content -->
    3230
     31<?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
     32
    3333<?php get_footer(); ?>
Note: See TracChangeset for help on using the changeset viewer.