Make WordPress Core

Ticket #25550: 25550.diff

File 25550.diff, 41.5 KB (added by lancewillett, 11 years ago)

Implement slider as optional layout

  • wp-content/themes/twentyfourteen/content-featured-post.php

     
    99?>
    1010
    1111<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    12         <a class="attachment-featured-featured" href="<?php the_permalink(); ?>" rel="<?php the_ID(); ?>">
    13                 <?php
    14                         if ( has_post_thumbnail() ) :
     12        <a class="post-thumbnail" href="<?php the_permalink(); ?>" rel="<?php the_ID(); ?>">
     13        <?php
     14                if ( has_post_thumbnail() ) :
     15                        if ( 'grid' == get_theme_mod( 'featured_content_layout' ) )
    1516                                the_post_thumbnail( 'post-thumbnail-grid' );
    16 
    17                         else :
    18                                 $images = get_children( array(
    19                                         'post_parent'    => get_the_ID(),
    20                                         'post_type'      => 'attachment',
    21                                         'post_mime_type' => 'image',
    22                                         'orderby'        => 'menu_order',
    23                                         'order'          => 'ASC',
    24                                         'numberposts'    => 1,
    25                                 ) );
    26 
    27                                 if ( $images ) :
    28                                         $image = array_shift( $images );
    29                                         echo wp_get_attachment_image( $image->ID, 'post-thumbnail-grid' );
    30                                 endif;
    31                         endif;
    32                 ?>
     17                        else
     18                                the_post_thumbnail( 'post-thumbnail-slider' );
     19                endif;
     20        ?>
    3321        </a>
    3422
    35         <div class="entry-wrap">
    36                 <header class="entry-header">
    37                         <?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
    38                         <div class="entry-meta">
    39                                 <span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
    40                         </div><!-- .entry-meta -->
    41                         <?php endif; ?>
     23        <header class="entry-header">
     24                <?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) &&twentyfourteen_categorized_blog() ) : ?>
     25                <div class="entry-meta">
     26                        <span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
     27                </div><!-- .entry-meta -->
     28                <?php endif; ?>
    4229
    43                         <?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' ); ?>
    44                 </header><!-- .entry-header -->
    45         </div>
     30                <?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">','</a></h1>' ); ?>
     31        </header><!-- .entry-header -->
    4632</article><!-- #post-## -->
  • wp-content/themes/twentyfourteen/featured-content.php

     
    1111?>
    1212
    1313<div id="featured-content" class="featured-content">
    14 
     14        <div class="featured-content-inner">
    1515        <?php
    1616                do_action( 'twentyfourteen_featured_posts_before' );
    1717
     
    2626
    2727                wp_reset_postdata();
    2828        ?>
    29 
     29        </div><!-- .featured-content-inner -->
    3030</div><!-- #featured-content .featured-content -->
  • wp-content/themes/twentyfourteen/functions.php

     
    6868        add_theme_support( 'post-thumbnails' );
    6969
    7070        // Add several sizes for Post Thumbnails.
     71        add_image_size( 'post-thumbnail-slider', 1038, 576, true );
    7172        add_image_size( 'post-thumbnail-grid', 672, 372, true );
    7273        add_image_size( 'post-thumbnail', 672, 0 );
    7374
     
    219220 * @return void
    220221 */
    221222function twentyfourteen_scripts() {
    222 
    223223        // Add Lato font, used in the main stylesheet.
    224         wp_enqueue_style( 'twentyfourteen-lato' );
     224        wp_enqueue_style( 'twentyfourteen-lato', twentyfourteen_font_url(), array(), null );
    225225
    226226        // Add Genericons font, used in the main stylesheet.
    227227        wp_enqueue_style( 'genericons', get_template_directory_uri() . '/fonts/genericons.css', array(), '3.0' );
     
    238238        if ( is_active_sidebar( 'sidebar-3' ) )
    239239                wp_enqueue_script( 'jquery-masonry' );
    240240
     241        if ( 'slider' == get_theme_mod( 'featured_content_layout' ) )
     242                wp_enqueue_script( 'twentyfourteen-slider', get_template_directory_uri() . '/js/slider.js', array( 'jquery' ), '20131028', true );
     243
    241244        wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20131011', true );
    242 
    243         // Add Lato font used in the main stylesheet.
    244         wp_enqueue_style( 'twentyfourteen-lato', twentyfourteen_font_url(), array(), null );
    245245}
    246246add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );
    247247
     
    365365 * 4. Full-width content layout.
    366366 * 5. Presence of footer widgets.
    367367 * 6. Single views.
     368 * 7. Featured content layout.
    368369 *
    369370 * @since Twenty Fourteen 1.0
    370371 *
     
    395396        if ( is_singular() )
    396397                $classes[] = 'singular';
    397398
     399        if ( is_front_page() && 'slider' == get_theme_mod( 'featured_content_layout' ) )
     400                $classes[] = 'slider';
     401        elseif ( is_front_page() )
     402                $classes[] = 'grid';
     403
    398404        return $classes;
    399405}
    400406add_filter( 'body_class', 'twentyfourteen_body_classes' );
  • wp-content/themes/twentyfourteen/inc/customizer.php

     
    3030                'section'  => 'colors',
    3131                'settings' => 'accent_color',
    3232        ) ) );
     33
     34        // Add the featured content section.
     35        $wp_customize->add_section( 'featured_content', array(
     36                'title'    => __( 'Featured Content', 'twentyfourteen' ),
     37                'priority' => 120,
     38        ) );
     39
     40        // Add the featured content layout setting and control.
     41        $wp_customize->add_setting( 'featured_content_layout', array(
     42                'default'    => 'grid',
     43                'type'       => 'theme_mod',
     44                'capability' => 'edit_theme_options',
     45        ) );
     46
     47        $wp_customize->add_control( 'featured_content_layout', array(
     48                'label'   => __( 'Layout', 'twentyfourteen' ),
     49                'section' => 'featured_content',
     50                'type'    => 'select',
     51                'choices' => array(
     52                        'grid'   => __( 'Grid', 'twentyfourteen' ),
     53                        'slider' => __( 'Slider', 'twentyfourteen' ),
     54                ),
     55        ) );
    3356}
    3457add_action( 'customize_register', 'twentyfourteen_customize_register' );
    3558
  • wp-content/themes/twentyfourteen/inc/widgets.php

     
    157157                                                                        $total_images = count( $images );
    158158
    159159                                                                        if ( has_post_thumbnail() ) :
    160                                                                                 $featured_image = get_the_post_thumbnail( get_the_ID(), 'featured-thumbnail-formatted' );
     160                                                                                $post_thumbnail = get_the_post_thumbnail( get_the_ID(), 'post-thumbnail' );
    161161                                                                        elseif ( $total_images > 0 ) :
    162162                                                                                $image          = array_shift( $images );
    163                                                                                 $featured_image = wp_get_attachment_image( $image, 'featured-thumbnail-formatted' );
     163                                                                                $post_thumbnail = wp_get_attachment_image( $image, 'post-thumbnail' );
    164164                                                                        endif;
    165165
    166                                                                         if ( ! empty ( $featured_image ) ) :
     166                                                                        if ( ! empty ( $post_thumbnail ) ) :
    167167                                                ?>
    168                                                                         <a href="<?php the_permalink(); ?>"><?php echo $featured_image; ?></a>
     168                                                                        <a href="<?php the_permalink(); ?>"><?php echo $post_thumbnail; ?></a>
    169169                                                                <?php
    170170                                                                        endif;
    171171                                                                ?>
  • wp-content/themes/twentyfourteen/js/functions.js

     
    22        var body    = $( 'body' ),
    33            _window = $( window );
    44
    5         /**
    6          * Enables menu toggle for small screens.
    7          */
     5        // Enable menu toggle for small screens.
    86        ( function() {
    97                var nav = $( '#primary-navigation' ), button, menu;
    108                if ( ! nav )
     
    2624                } );
    2725        } )();
    2826
    29         /**
     27        /*
    3028         * Makes "skip to content" link work correctly in IE9 and Chrome for better
    3129         * accessibility.
    3230         *
     
    4442        } );
    4543
    4644        $( function() {
    47                 /**
    48                 * Search toggle.
    49                 */
     45                // Search toggle.
    5046                $( '.search-toggle' ).on( 'click.twentyfourteen', function() {
    5147                        var that    = $( this ),
    5248                            wrapper = $( '.search-box-wrapper' );
     
    5854                                wrapper.find( '.search-field' ).focus();
    5955                } );
    6056
    61                 /**
     57                /*
    6258                 * Fixed navbar.
    6359                 *
    6460                 * The callback on the scroll event is only added if there is a header
     
    7672                        } );
    7773                }
    7874
    79                 /**
    80                  * Focus styles for primary menu.
    81                  */
     75                // Focus styles for primary menu.
    8276                $( '.primary-navigation' ).find( 'a' ).on( 'focus.twentyfourteen blur.twentyfourteen', function() {
    8377                        $( this ).parents().toggleClass( 'focus' );
    8478                } );
    8579        } );
    8680
    87         /**
    88          * Arranges footer widgets vertically.
    89          */
     81        // Arrange footer widgets vertically.
    9082        if ( $.isFunction( $.fn.masonry ) ) {
    9183                $( '#footer-sidebar' ).masonry( {
    9284                        itemSelector: '.widget',
     
    9789                        isResizable: true,
    9890                        isRTL: $( 'body' ).is( '.rtl' )
    9991                } );
    100         }
    101 } )( jQuery );
    102  No newline at end of file
     92        };
     93
     94        // Initialize Featured Content slider.
     95        _window.load( function() {
     96                if ( body.is( '.slider' ) ) {
     97                        $( '.featured-content' ).featuredslider( {
     98                                selector:  '.featured-content-inner > article',
     99                                controlsContainer: '.featured-content'
     100                        } );
     101                }
     102        } );
     103} )( jQuery );
  • wp-content/themes/twentyfourteen/js/slider.js

     
     1/*
     2 * Twenty Fourteen Featured Content Slider
     3 *
     4 * Adapted from FlexSlider v2.2.0, copyright 2012 WooThemes
     5 * @link http://www.woothemes.com/flexslider/
     6 */
     7
     8( function( $ ) {
     9        // FeaturedSlider: object instance.
     10        $.featuredslider = function( el, options ) {
     11                var slider = $( el );
     12
     13                // Make variables public.
     14                slider.vars = $.extend( {}, $.featuredslider.defaults, options );
     15
     16                var namespace = slider.vars.namespace,
     17                        msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
     18                        touch = ( ( 'ontouchstart' in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch ),
     19                        eventType = 'click touchend MSPointerUp',
     20                        watchedEvent = '',
     21                        watchedEventClearTimer,
     22                        methods = {},
     23                        focused = true;
     24
     25                // Store a reference to the slider object.
     26                $.data( el, 'featuredslider', slider );
     27
     28                // Private slider methods.
     29                methods = {
     30                        init: function() {
     31                                slider.animating = false;
     32                                slider.currentSlide = 0;
     33                                slider.animatingTo = slider.currentSlide;
     34                                slider.atEnd = ( slider.currentSlide === 0 || slider.currentSlide === slider.last );
     35                                slider.containerSelector = slider.vars.selector.substr( 0, slider.vars.selector.search( ' ' ) );
     36                                slider.slides = $( slider.vars.selector, slider );
     37                                slider.container = $( slider.containerSelector, slider );
     38                                slider.count = slider.slides.length;
     39                                slider.prop = 'marginLeft';
     40                                slider.args = {};
     41                                // TOUCH
     42                                slider.transitions = ( function() {
     43                                        var obj = document.createElement( 'div' ),
     44                                                props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
     45                                        for ( var i in props ) {
     46                                                if ( obj.style[ props[i] ] !== undefined ) {
     47                                                        slider.pfx = props[i].replace( 'Perspective', '' ).toLowerCase();
     48                                                        slider.prop = '-' + slider.pfx + '-transform';
     49                                                        return true;
     50                                                }
     51                                        }
     52                                        return false;
     53                                }() );
     54                                // CONTROLSCONTAINER
     55                                if ( slider.vars.controlsContainer !== '' )
     56                                        slider.controlsContainer = $( slider.vars.controlsContainer ).length > 0 && $( slider.vars.controlsContainer );
     57
     58                                slider.doMath();
     59
     60                                // INIT
     61                                slider.setup( 'init' );
     62
     63                                // CONTROLNAV
     64                                methods.controlNav.setup();
     65
     66                                // DIRECTIONNAV
     67                                methods.directionNav.setup();
     68
     69                                // KEYBOARD
     70                                if ( $( slider.containerSelector ).length === 1 ) {
     71                                        $( document ).bind( 'keyup', function( event ) {
     72                                                var keycode = event.keyCode;
     73                                                if ( ! slider.animating && ( keycode === 39 || keycode === 37 ) ) {
     74                                                        var target = ( keycode === 39 ) ? slider.getTarget( 'next' ) : ( keycode === 37 ) ? slider.getTarget( 'prev' ) : false;
     75                                                        slider.featureAnimate( target );
     76                                                }
     77                                        } );
     78                                }
     79
     80                                // TOUCH
     81                                if ( touch )
     82                                        methods.touch();
     83
     84                                // SLIDE
     85                                $( window ).bind( 'resize orientationchange focus', methods.resize );
     86
     87                                slider.find( 'img' ).attr( 'draggable', 'false' );
     88                        },
     89
     90                        controlNav: {
     91                                setup: function() {
     92                                        methods.controlNav.setupPaging();
     93                                },
     94                                setupPaging: function() {
     95                                        var type = 'control-paging',
     96                                                j = 1,
     97                                                item,
     98                                                slide;
     99
     100                                        slider.controlNavScaffold = $( '<ol class="' + namespace + 'control-nav ' + namespace + type + '"></ol>' );
     101
     102                                        if ( slider.pagingCount > 1 ) {
     103                                                for ( var i = 0; i < slider.pagingCount; i++ ) {
     104                                                        slide = slider.slides.eq( i );
     105                                                        item = '<a>' + j + '</a>';
     106                                                        slider.controlNavScaffold.append( '<li>' + item + '</li>' );
     107                                                        j++;
     108                                                }
     109                                        }
     110
     111                                        // CONTROLSCONTAINER
     112                                        ( slider.controlsContainer ) ? $( slider.controlsContainer ).append( slider.controlNavScaffold ) : slider.append( slider.controlNavScaffold );
     113                                        methods.controlNav.set();
     114
     115                                        methods.controlNav.active();
     116
     117                                        slider.controlNavScaffold.delegate( 'a, img', eventType, function( event ) {
     118                                                event.preventDefault();
     119
     120                                                if ( watchedEvent === '' || watchedEvent === event.type ) {
     121                                                        var $this = $( this ),
     122                                                                target = slider.controlNav.index( $this );
     123
     124                                                        if ( ! $this.hasClass( namespace + 'active' ) ) {
     125                                                                slider.direction = ( target > slider.currentSlide ) ? 'next' : 'prev';
     126                                                                slider.featureAnimate( target );
     127                                                        }
     128                                                }
     129
     130                                                // Set up flags to prevent event duplication.
     131                                                if ( watchedEvent === '' )
     132                                                        watchedEvent = event.type;
     133
     134                                                methods.setToClearWatchedEvent();
     135                                        } );
     136                                },
     137                                set: function() {
     138                                        var selector = 'a';
     139                                        slider.controlNav = $( '.' + namespace + 'control-nav li ' + selector, ( slider.controlsContainer ) ? slider.controlsContainer : slider );
     140                                },
     141                                active: function() {
     142                                        slider.controlNav.removeClass( namespace + 'active' ).eq( slider.animatingTo ).addClass( namespace + 'active' );
     143                                },
     144                                update: function( action, pos ) {
     145                                        if ( slider.pagingCount > 1 && action === 'add' ) {
     146                                                slider.controlNavScaffold.append( $( '<li><a>' + slider.count + '</a></li>' ) );
     147                                        } else if ( slider.pagingCount === 1 ) {
     148                                                slider.controlNavScaffold.find( 'li' ).remove();
     149                                        } else {
     150                                                slider.controlNav.eq( pos ).closest( 'li' ).remove();
     151                                        }
     152                                        methods.controlNav.set();
     153                                        ( slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length ) ? slider.update( pos, action ) : methods.controlNav.active();
     154                                }
     155                        },
     156                        directionNav: {
     157                                setup: function() {
     158                                        var directionNavScaffold = $( '<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + slider.vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + slider.vars.nextText + '</a></li></ul>' );
     159
     160                                        // CONTROLSCONTAINER
     161                                        if ( slider.controlsContainer ) {
     162                                                $( slider.controlsContainer ).append( directionNavScaffold );
     163                                                slider.directionNav = $( '.' + namespace + 'direction-nav li a', slider.controlsContainer );
     164                                        } else {
     165                                                slider.append( directionNavScaffold );
     166                                                slider.directionNav = $( '.' + namespace + 'direction-nav li a', slider );
     167                                        }
     168
     169                                        methods.directionNav.update();
     170
     171                                        slider.directionNav.bind( eventType, function( event ) {
     172                                                event.preventDefault();
     173                                                var target;
     174
     175                                                if ( watchedEvent === '' || watchedEvent === event.type ) {
     176                                                        target = ( $( this ).hasClass( namespace + 'next' ) ) ? slider.getTarget( 'next' ) : slider.getTarget( 'prev' );
     177                                                        slider.featureAnimate( target );
     178                                                }
     179
     180                                                // Set up flags to prevent event duplication.
     181                                                if ( watchedEvent === '' )
     182                                                        watchedEvent = event.type;
     183
     184                                                methods.setToClearWatchedEvent();
     185                                        } );
     186                                },
     187                                update: function() {
     188                                        var disabledClass = namespace + 'disabled';
     189                                        if ( slider.pagingCount === 1 ) {
     190                                                slider.directionNav.addClass( disabledClass ).attr( 'tabindex', '-1' );
     191                                        } else {
     192                                                slider.directionNav.removeClass( disabledClass ).removeAttr( 'tabindex' );
     193                                        }
     194                                }
     195                        },
     196                        touch: function() {
     197                                var startX,
     198                                        startY,
     199                                        offset,
     200                                        cwidth,
     201                                        dx,
     202                                        startT,
     203                                        scrolling = false,
     204                                        localX = 0,
     205                                        localY = 0,
     206                                        accDx = 0;
     207
     208                                if ( ! msGesture ) {
     209                                        el.addEventListener( 'touchstart', onTouchStart, false );
     210
     211                                        function onTouchStart( e ) {
     212                                                if ( slider.animating ) {
     213                                                        e.preventDefault();
     214                                                } else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {
     215                                                        cwidth = slider.w;
     216                                                        startT = Number( new Date() );
     217
     218                                                        // Local vars for X and Y points.
     219                                                        localX = e.touches[0].pageX;
     220                                                        localY = e.touches[0].pageY;
     221
     222                                                        offset = ( slider.animatingTo === slider.last ) ? 0 :
     223                                                                         ( slider.currentSlide === slider.last ) ? slider.limit : ( slider.currentSlide + slider.cloneOffset ) * cwidth;
     224                                                        startX = localX;
     225                                                        startY = localY;
     226
     227                                                        el.addEventListener( 'touchmove', onTouchMove, false );
     228                                                        el.addEventListener( 'touchend', onTouchEnd, false );
     229                                                }
     230                                        }
     231
     232                                        function onTouchMove( e ) {
     233                                                // Local vars for X and Y points.
     234                                                localX = e.touches[0].pageX;
     235                                                localY = e.touches[0].pageY;
     236
     237                                                dx = startX - localX;
     238                                                scrolling = Math.abs( dx ) < Math.abs( localY - startY );
     239
     240                                                var fxms = 500;
     241
     242                                                if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
     243                                                        e.preventDefault();
     244                                                        if ( slider.transitions ) {
     245                                                                slider.setProps( offset + dx, 'setTouch' );
     246                                                        }
     247                                                }
     248                                        }
     249
     250                                        function onTouchEnd( e ) {
     251                                                // Finish the touch by undoing the touch session.
     252                                                el.removeEventListener( 'touchmove', onTouchMove, false );
     253
     254                                                if ( slider.animatingTo === slider.currentSlide && ! scrolling && ! ( dx === null ) ) {
     255                                                        var updateDx = dx,
     256                                                                target = ( updateDx > 0 ) ? slider.getTarget( 'next' ) : slider.getTarget( 'prev' );
     257                                                       
     258                                                        slider.featureAnimate( target );
     259                                                }
     260                                                el.removeEventListener( 'touchend', onTouchEnd, false );
     261
     262                                                startX = null;
     263                                                startY = null;
     264                                                dx = null;
     265                                                offset = null;
     266                                        }
     267                                } else {
     268                                        el.style.msTouchAction = 'none';
     269                                        el._gesture = new MSGesture();
     270                                        el._gesture.target = el;
     271                                        el.addEventListener( 'MSPointerDown', onMSPointerDown, false );
     272                                        el._slider = slider;
     273                                        el.addEventListener( 'MSGestureChange', onMSGestureChange, false );
     274                                        el.addEventListener( 'MSGestureEnd', onMSGestureEnd, false );
     275
     276                                        function onMSPointerDown( e ) {
     277                                                e.stopPropagation();
     278                                                if ( slider.animating ) {
     279                                                        e.preventDefault();
     280                                                } else {
     281                                                        el._gesture.addPointer( e.pointerId );
     282                                                        accDx = 0;
     283                                                        cwidth = slider.w;
     284                                                        startT = Number( new Date() );
     285                                                        offset = ( slider.animatingTo === slider.last ) ? 0 : ( slider.currentSlide === slider.last ) ? slider.limit : ( slider.currentSlide + slider.cloneOffset ) * cwidth;
     286                                                }
     287                                        }
     288
     289                                        function onMSGestureChange( e ) {
     290                                                e.stopPropagation();
     291                                                var slider = e.target._slider;
     292                                                if ( ! slider )
     293                                                        return;
     294
     295                                                var transX = -e.translationX,
     296                                                        transY = -e.translationY;
     297
     298                                                // Accumulate translations.
     299                                                accDx = accDx + transX;
     300                                                dx = accDx;
     301                                                scrolling = Math.abs( accDx ) < Math.abs( -transY );
     302
     303                                                if ( e.detail === e.MSGESTURE_FLAG_INERTIA ) {
     304                                                        setImmediate( function () {
     305                                                                el._gesture.stop();
     306                                                        } );
     307
     308                                                        return;
     309                                                }
     310
     311                                                if ( ! scrolling || Number( new Date() ) - startT > 500 ) {
     312                                                        e.preventDefault();
     313                                                        if ( slider.transitions ) {
     314                                                                slider.setProps( offset + dx, 'setTouch' );
     315                                                        }
     316                                                }
     317                                        }
     318
     319                                        function onMSGestureEnd( e ) {
     320                                                e.stopPropagation();
     321                                                var slider = e.target._slider;
     322                                                if ( ! slider )
     323                                                        return;
     324
     325                                                if ( slider.animatingTo === slider.currentSlide && ! scrolling && ! ( dx === null ) ) {
     326                                                        var updateDx = dx,
     327                                                            target = ( updateDx > 0 ) ? slider.getTarget( 'next' ) : slider.getTarget( 'prev' );                                                       
     328
     329                                                        slider.featureAnimate( target );
     330                                                }
     331
     332                                                startX = null;
     333                                                startY = null;
     334                                                dx = null;
     335                                                offset = null;
     336                                                accDx = 0;
     337                                        }
     338                                }
     339                        },
     340                        resize: function() {
     341                                if ( ! slider.animating && slider.is( ':visible' ) ) {
     342                                        slider.doMath();
     343
     344                                        // SMOOTH HEIGHT
     345                                        methods.smoothHeight();
     346                                        slider.newSlides.width( slider.computedW );
     347                                        slider.setProps( slider.computedW, 'setTotal' );
     348                                }
     349                        },
     350                        smoothHeight: function( dur ) {
     351                                var $obj = slider.viewport;
     352                                ( dur ) ? $obj.animate( { 'height': slider.slides.eq( slider.animatingTo ).height() }, dur ) : $obj.height( slider.slides.eq( slider.animatingTo ).height() );
     353                        },
     354                        setToClearWatchedEvent: function() {
     355                                clearTimeout( watchedEventClearTimer );
     356                                watchedEventClearTimer = setTimeout( function() {
     357                                        watchedEvent = '';
     358                                }, 3000 );
     359                        }
     360                };
     361
     362                // Public methods.
     363                slider.featureAnimate = function( target ) {
     364                        if ( target !== slider.currentSlide )
     365                                slider.direction = ( target > slider.currentSlide ) ? 'next' : 'prev';
     366
     367                        if ( ! slider.animating && slider.is( ':visible' ) ) {
     368                                slider.animating = true;
     369                                slider.animatingTo = target;
     370
     371                                // CONTROLNAV
     372                                methods.controlNav.active();
     373
     374                                slider.slides.removeClass( namespace + 'active-slide' ).eq( target ).addClass( namespace + 'active-slide' );
     375
     376                                slider.atEnd = target === 0 || target === slider.last;
     377
     378                                // DIRECTIONNAV
     379                                methods.directionNav.update();
     380
     381                                // SLIDE
     382                                var dimension = slider.computedW,
     383                                        margin, slideString, calcNext;
     384
     385                                if ( slider.currentSlide === 0 && target === slider.count - 1 && slider.direction !== 'next' ) {
     386                                        slideString = 0;
     387                                } else if ( slider.currentSlide === slider.last && target === 0 && slider.direction !== 'prev' ) {
     388                                        slideString = ( slider.count + 1 ) * dimension;
     389                                } else {
     390                                        slideString = ( target + slider.cloneOffset ) * dimension;
     391                                }
     392                                slider.setProps( slideString, '', slider.vars.animationSpeed );
     393                                if ( slider.transitions ) {
     394                                        if ( ! slider.atEnd ) {
     395                                                slider.animating = false;
     396                                                slider.currentSlide = slider.animatingTo;
     397                                        }
     398                                        slider.container.unbind( 'webkitTransitionEnd transitionend' );
     399                                        slider.container.bind( 'webkitTransitionEnd transitionend', function() {
     400                                                slider.wrapup( dimension );
     401                                        } );
     402                                } else {
     403                                        slider.container.animate( slider.args, slider.vars.animationSpeed, 'swing', function() {
     404                                                slider.wrapup( dimension );
     405                                        } );
     406                                }
     407
     408                                // SMOOTH HEIGHT
     409                                methods.smoothHeight( slider.vars.animationSpeed );
     410                        }
     411                };
     412
     413                slider.wrapup = function( dimension ) {
     414                        // SLIDE
     415                        if ( slider.currentSlide === 0 && slider.animatingTo === slider.last ) {
     416                                slider.setProps( dimension, 'jumpEnd' );
     417                        } else if ( slider.currentSlide === slider.last && slider.animatingTo === 0 ) {
     418                                slider.setProps( dimension, 'jumpStart' );
     419                        }
     420                        slider.animating = false;
     421                        slider.currentSlide = slider.animatingTo;
     422                };
     423
     424                slider.getTarget = function( dir ) {
     425                        slider.direction = dir;
     426                        if ( dir === 'next' ) {
     427                                return ( slider.currentSlide === slider.last ) ? 0 : slider.currentSlide + 1;
     428                        } else {
     429                                return ( slider.currentSlide === 0 ) ? slider.last : slider.currentSlide - 1;
     430                        }
     431                };
     432
     433                // SLIDE
     434                slider.setProps = function( pos, special, dur ) {
     435                        var target = ( function() {
     436                                var posCheck = ( pos ) ? pos : slider.itemW * slider.animatingTo,
     437                                        posCalc = ( function() {
     438                                                switch ( special ) {
     439                                                        case 'setTotal': return ( slider.currentSlide + slider.cloneOffset ) * pos;
     440                                                        case 'setTouch': return pos;
     441                                                        case 'jumpEnd': return slider.count * pos;
     442                                                        case 'jumpStart': return pos;
     443                                                        default: return pos;
     444                                                }
     445                                        }() );
     446
     447                                        return ( posCalc * -1 ) + 'px';
     448                                }() );
     449
     450                        if ( slider.transitions ) {
     451                                target = 'translate3d(' + target + ',0,0 )';
     452                                dur = ( dur !== undefined ) ? ( dur / 1000 ) + 's' : '0s';
     453                                slider.container.css( '-' + slider.pfx + '-transition-duration', dur );
     454                        }
     455
     456                        slider.args[slider.prop] = target;
     457                        if ( slider.transitions || dur === undefined )
     458                                slider.container.css( slider.args );
     459                };
     460
     461                slider.setup = function( type ) {
     462                        // SLIDE
     463                        var sliderOffset, arr;
     464
     465                        if ( type === 'init' ) {
     466                                slider.viewport = $( '<div class="' + namespace + 'viewport"></div>' ).css( { 'overflow': 'hidden', 'position': 'relative' } ).appendTo( slider ).append( slider.container );
     467                                slider.cloneCount = 0;
     468                                slider.cloneOffset = 0;
     469                        }
     470                        slider.cloneCount = 2;
     471                        slider.cloneOffset = 1;
     472                        // Clear out old clones.
     473                        if ( type !== 'init' )
     474                                slider.container.find( '.clone' ).remove();
     475
     476                        slider.container.append( slider.slides.first().clone().addClass( 'clone' ).attr( 'aria-hidden', 'true' ) ).prepend( slider.slides.last().clone().addClass( 'clone' ).attr( 'aria-hidden', 'true' ) );
     477                        slider.newSlides = $( slider.vars.selector, slider );
     478
     479                        sliderOffset = slider.currentSlide + slider.cloneOffset;
     480                        slider.container.width( ( slider.count + slider.cloneCount ) * 200 + '%' );
     481                        slider.setProps( sliderOffset * slider.computedW, 'init' );
     482                        setTimeout( function() {
     483                                slider.doMath();
     484                                slider.newSlides.css( { 'width': slider.computedW, 'float': 'left', 'display': 'block' } );
     485                                // SMOOTH HEIGHT
     486                                methods.smoothHeight();
     487                        }, ( type === 'init' ) ? 100 : 0 );
     488
     489                        slider.slides.removeClass( namespace + 'active-slide' ).eq( slider.currentSlide ).addClass( namespace + 'active-slide' );
     490                };
     491
     492                slider.doMath = function() {
     493                        var slide = slider.slides.first();
     494
     495                        slider.w = ( slider.viewport===undefined ) ? slider.width() : slider.viewport.width();
     496                        slider.h = slide.height();
     497                        slider.boxPadding = slide.outerWidth() - slide.width();
     498
     499                        slider.itemW = slider.w;
     500                        slider.pagingCount = slider.count;
     501                        slider.last = slider.count - 1;
     502                        slider.computedW = slider.itemW - slider.boxPadding;
     503                };
     504
     505                slider.update = function( pos, action ) {
     506                        slider.doMath();
     507
     508                        // Update currentSlide and slider.animatingTo if necessary.
     509                        if ( pos < slider.currentSlide ) {
     510                                slider.currentSlide += 1;
     511                        } else if ( pos <= slider.currentSlide && pos !== 0 ) {
     512                                slider.currentSlide -= 1;
     513                        }
     514                        slider.animatingTo = slider.currentSlide;
     515
     516                        // Update controlNav.
     517                        if ( action === 'add' || slider.pagingCount > slider.controlNav.length ) {
     518                                methods.controlNav.update( 'add' );
     519                        } else if ( action === 'remove' || slider.pagingCount < slider.controlNav.length ) {
     520                                if ( slider.currentSlide > slider.last ) {
     521                                        slider.currentSlide -= 1;
     522                                        slider.animatingTo -= 1;
     523                                }
     524                                methods.controlNav.update( 'remove', slider.last );
     525                        }
     526                        // Update directionNav.
     527                        methods.directionNav.update();
     528                };
     529
     530                // FeaturedSlider: initialize.
     531                methods.init();
     532        };
     533
     534        // Ensure the slider isn't focused if the window loses focus.
     535        $( window ).blur( function ( e ) {
     536                focused = false;
     537        } ).focus( function ( e ) {
     538                focused = true;
     539        } );
     540
     541        // Default settings.
     542        $.featuredslider.defaults = {
     543                namespace: 'slider-',     // String: prefix string attached to the class of every element generated by the plugin.
     544                selector: '.slides > li', // String: selector, must match a simple pattern.
     545                animationSpeed: 600,      // Integer: Set the speed of animations, in milliseconds.
     546                controlsContainer: '',    // jQuery Object/Selector: container navigation to append elements.
     547
     548                // Text labels: @todo allow translation
     549                prevText: 'Previous',     // String: Set the text for the "previous" directionNav item.
     550                nextText: 'Next'          // String: Set the text for the "next" directionNav item.
     551        };
     552
     553        // FeaturedSlider: plugin function.
     554        $.fn.featuredslider = function( options ) {
     555                if ( options === undefined )
     556                        options = {};
     557
     558                if ( typeof options === 'object' ) {
     559                        return this.each( function() {
     560                                var $this = $( this ),
     561                                        selector = ( options.selector ) ? options.selector : '.slides > li',
     562                                        $slides = $this.find( selector );
     563
     564                        if ( $slides.length === 1 || $slides.length === 0 ) {
     565                                        $slides.fadeIn( 400 );
     566                                } else if ( $this.data( 'featuredslider' ) === undefined ) {
     567                                        new $.featuredslider( this, options );
     568                                }
     569                        } );
     570                }
     571        };
     572} )( jQuery );
  • wp-content/themes/twentyfourteen/sidebar.php

    Property changes on: wp-content/themes/twentyfourteen/js/slider.js
    ___________________________________________________________________
    Added: svn:eol-style
    ## -0,0 +1 ##
    +native
    \ No newline at end of property
     
    88 */
    99?>
    1010<div id="secondary">
    11         <div id="secondary-top">
    12                 <?php
    13                         $description = get_bloginfo( 'description' );
    14                         if ( ! empty ( $description ) ) :
    15                 ?>
    16                 <h2 class="site-description"><?php echo esc_html( $description ); ?></h2>
    17                 <?php endif; ?>
     11        <?php
     12                $description = get_bloginfo( 'description' );
     13                if ( ! empty ( $description ) ) :
     14        ?>
     15        <h2 class="site-description"><?php echo esc_html( $description ); ?></h2>
     16        <?php endif; ?>
    1817
    19                 <?php if ( has_nav_menu( 'secondary' ) ) : ?>
    20                 <nav role="navigation" class="navigation site-navigation secondary-navigation">
    21                         <?php wp_nav_menu( array( 'theme_location' => 'secondary' ) ); ?>
    22                 </nav>
    23                 <?php endif; ?>
    24         </div><!-- #secondary-top -->
     18        <?php if ( has_nav_menu( 'secondary' ) ) : ?>
     19        <nav role="navigation" class="navigation site-navigation secondary-navigation">
     20                <?php wp_nav_menu( array( 'theme_location' => 'secondary' ) ); ?>
     21        </nav>
     22        <?php endif; ?>
    2523
    2624        <?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
    2725        <div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
     
    2927                        do_action( 'before_sidebar' );
    3028                        dynamic_sidebar( 'sidebar-1' );
    3129                ?>
    32         </div><!-- #secondary-bottom -->
     30        </div><!-- #primary-sidebar .primary-sidebar -->
    3331        <?php endif; ?>
    3432</div><!-- #secondary -->
  • wp-content/themes/twentyfourteen/style.css

     
    556556
    557557img.size-full,
    558558img.size-large,
    559 img.wp-post-image {
    560         height: auto;
    561         max-width: 100%;
    562 }
    563 
    564 .attachment-featured-featured img,
     559img.wp-post-image,
    565560.post-thumbnail img {
    566561        height: auto;
    567562        max-width: 100%;
     
    708703.footer-sidebar:after,
    709704.hentry:before,
    710705.hentry:after,
     706.slider-direction-nav:before,
     707.slider-direction-nav:after,
    711708[class*="content"]:before,
    712709[class*="content"]:after,
    713710[class*="site"]:before,
     
    719716.clear:after,
    720717.footer-sidebar:after,
    721718.hentry:after,
     719.slider-direction-nav:after,
    722720[class*="content"]:after,
    723721[class*="site"]:after {
    724722        clear: both;
     
    732730.contributor-posts-link:before,
    733731.menu-toggle:before,
    734732.search-toggle:before,
     733.slider-direction-nav a:before,
    735734.widget_twentyfourteen_ephemera .widget-title:before {
    736735        -webkit-font-smoothing: antialiased;
    737736        display: inline-block;
     
    780779}
    781780
    782781.site-header {
    783         background-color: #000;
    784782        max-width: 1260px;
    785783        position: relative;
    786784        width: 100%;
    787         z-index: 3;
     785        z-index: 4;
    788786}
    789787
    790788.header-main {
     789        background-color: #000;
    791790        min-height: 48px;
    792791        padding: 0 10px;
    793792}
     
    812811        cursor: pointer;
    813812        float: right;
    814813        height: 48px;
    815         margin-right: 38px;
     814        margin-right: 48px;
    816815        text-align: center;
    817816        width: 48px;
    818817}
     
    845844.search-box .search-field {
    846845        background-color: #fff;
    847846        float: right;
    848         font-size: 13px;
     847        font-size: 16px;
    849848        margin: 12px 10px;
    850         padding: 3px 2px 3px 6px;
    851         width: 240px;
     849        padding: 1px 2px 2px 6px;
     850        width: 300px;
    852851}
    853852
    854853
     
    929928.secondary-navigation {
    930929        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    931930        font-size: 14px;
    932         margin: 48px 0 0;
     931        margin: 48px 0;
    933932}
    934933
    935934.secondary-navigation a {
     
    10061005        float: none;
    10071006        height: auto;
    10081007        margin: 0;
    1009         min-height: 180px;
     1008        min-height: 192px;
    10101009        position: relative;
    10111010        width: 100%;
    10121011        z-index: 0;
     
    19781977#secondary {
    19791978        background-color: #000;
    19801979        border-top: 1px solid #000;
     1980        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    19811981        clear: both;
    19821982        color: rgba(255, 255, 255, 0.55);
    19831983        font-size: 14px;
     
    19981998.primary-sidebar {
    19991999        padding-top: 48px;
    20002000}
     2001.secondary-navigation + .primary-sidebar {
     2002        padding-top: 0;
     2003}
    20012004
    20022005.footer-sidebar a,
    20032006.primary-sidebar a {
     
    20792082.widget-area input[type="reset"],
    20802083.widget-area input[type="submit"] {
    20812084        font-size: 11px;
    2082         padding: 6px 24px;
     2085        padding: 6px 15px;
    20832086}
    20842087
    20852088.widget-area input[type="email"],
     
    24462449}
    24472450
    24482451.footer-sidebar {
    2449         border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    24502452        padding-top: 48px;
    24512453}
    24522454
     
    24552457        padding: 15px 10px;
    24562458}
    24572459
     2460#supplementary + .site-info {
     2461        border-top: 1px solid rgba(255, 255, 255, 0.2);
     2462}
     2463
    24582464.site-info a {
    24592465        color: rgba(255, 255, 255, 0.75);
    24602466}
     
    24742480        -webkit-box-sizing: border-box;
    24752481        -moz-box-sizing:    border-box;
    24762482        box-sizing:         border-box;
     2483        position: relative;
    24772484        width: 100%;
    24782485}
    24792486
     2487.featured-content-inner {
     2488        overflow: hidden;
     2489}
     2490
    24802491.featured-content .hentry {
    24812492        color: #fff;
    24822493        margin: 0;
     2494        max-width: 100%;
    24832495        width: 100%;
    24842496}
    24852497
    2486 .attachment-featured-featured {
    2487         background-color: #000;
     2498.featured-content .post-thumbnail,
     2499.featured-content .post-thumbnail:hover {
     2500        background: transparent;
     2501}
     2502
     2503.featured-content .post-thumbnail {
    24882504        display: block;
    2489         overflow: hidden;
     2505        min-height: 0;
     2506        position: relative;
     2507        padding-top: 55.357142857%;
    24902508}
    24912509
    2492 .attachment-featured-featured:hover img {
    2493         opacity: 0.85;
     2510.featured-content .post-thumbnail img {
     2511        left: 0;
     2512        position: absolute;
     2513        top: 0;
    24942514}
    24952515
    2496 .featured-content .entry-wrap {
     2516.featured-content .entry-header {
    24972517        background-color: #000;
    2498         border-color: #000;
    2499         border-style: solid;
    2500         border-width: 12px 10px;
    25012518        -webkit-box-sizing: border-box;
    25022519        -moz-box-sizing:    border-box;
    25032520        box-sizing:         border-box;
    25042521        min-height: 96px;
    25052522        overflow: hidden;
     2523        padding: 24px 10px;
    25062524}
    25072525
    25082526.featured-content a {
     
    25332551}
    25342552
    25352553
     2554/* Slider */
     2555
     2556.slider .featured-content .hentry {
     2557        display: none;
     2558        -webkit-backface-visibility: hidden;
     2559        position: relative;
     2560}
     2561
     2562.slider .featured-content .post-thumbnail {
     2563        padding-top: 55.49132947%;
     2564}
     2565
     2566.slider-control-paging {
     2567        background-color: #000;
     2568        -webkit-box-sizing: border-box;
     2569        -moz-box-sizing:    border-box;
     2570        box-sizing:         border-box;
     2571        float: left;
     2572        list-style: none;
     2573        margin: -24px 0 0 0;
     2574        position: relative;
     2575        width: 100%;
     2576        z-index: 3;
     2577}
     2578
     2579.slider-control-paging li {
     2580        float: left;
     2581        margin: 2px 4px 2px 0;
     2582}
     2583
     2584.slider-control-paging li:last-child {
     2585        margin-right: 0;
     2586}
     2587
     2588.slider-control-paging a {
     2589        cursor: pointer;
     2590        display: block;
     2591        height: 44px;
     2592        position: relative;
     2593        text-indent: -999em;
     2594        width: 44px;
     2595}
     2596
     2597.slider-control-paging a:before {
     2598        background-color: #4d4d4d;
     2599        content: "";
     2600        height: 12px;
     2601        left: 10px;
     2602        position: absolute;
     2603        top: 16px;
     2604        width: 12px;
     2605}
     2606
     2607.slider-control-paging a:hover:before {
     2608        background-color: #24890d;
     2609}
     2610
     2611.slider-control-paging a.slider-active:before {
     2612        background-color: #41a62a;
     2613}
     2614
     2615.slider-direction-nav {
     2616        clear: both;
     2617        list-style: none;
     2618        margin: 0;
     2619        position: relative;
     2620        width: 100%;
     2621        z-index: 3;
     2622}
     2623
     2624.slider-direction-nav li {
     2625        border-color: #fff;
     2626        border-style: solid;
     2627        border-width: 2px 1px 0 0;
     2628        -webkit-box-sizing: border-box;
     2629        -moz-box-sizing:    border-box;
     2630        box-sizing:         border-box;
     2631        float: left;
     2632        text-align: center;
     2633        width: 50%;
     2634}
     2635
     2636.slider-direction-nav li:last-child {
     2637        border-width: 2px 0 0 1px;
     2638}
     2639
     2640.slider-direction-nav a {
     2641        background-color: #000;
     2642        display: block;
     2643        font-size: 0;
     2644        height: 46px;
     2645}
     2646
     2647.slider-direction-nav a:hover {
     2648        background-color: #24890d;
     2649}
     2650
     2651.slider-direction-nav a:before {
     2652        content: "\f430";
     2653        color: #fff;
     2654        font-size: 32px;
     2655        line-height: 46px;
     2656}
     2657
     2658.slider-direction-nav a.slider-next:before {
     2659        content: "\f429";
     2660}
     2661
     2662.slider-direction-nav .slider-disabled {
     2663        display: none;
     2664}
     2665
    25362666/**
    25372667 * 10.0 Media Queries
    25382668 * -----------------------------------------------------------------------------
     
    25392669 */
    25402670
    25412671@media screen and (max-width: 400px) {
    2542         .list-view .post-thumbnail {
     2672        .list-view .site-content .post-thumbnail {
    25432673                background: none;
    25442674                min-height: 0;
    25452675                width: auto;
     
    25462676                z-index: 2;
    25472677        }
    25482678
    2549         .list-view .post-thumbnail img {
     2679        .list-view .site-content .post-thumbnail img {
    25502680                float: left;
    25512681                margin: 0 10px 3px 0;
    25522682                width: 84px;
     
    27452875}
    27462876
    27472877@media screen and (min-width: 673px) {
     2878        .header-main {
     2879                padding: 0 0 0 30px;
     2880        }
     2881
    27482882        .content-area {
    27492883                float: left;
    27502884                padding-top: 36px;
     
    27952929                padding-left: 30px;
    27962930        }
    27972931
     2932        #secondary,
     2933        #supplementary {
     2934                padding: 0 30px;
     2935        }
     2936
    27982937        .content-sidebar {
    27992938                border: 0;
    28002939                float: right;
     
    28032942                width: 33.33333333%;
    28042943        }
    28052944
    2806         .featured-content .hentry {
     2945        .grid .featured-content .hentry {
    28072946                float: left;
    28082947                width: 50%;
    28092948        }
    28102949
    2811         .featured-content .hentry:nth-child( 2n+1 ) {
     2950        .grid .featured-content .hentry:nth-child( 2n+1 ) {
    28122951                clear: both;
    28132952        }
    28142953
    2815         .featured-content .entry-wrap {
     2954        .grid .featured-content .entry-header {
     2955                border-color: #000;
     2956                border-style: solid;
     2957                border-width: 12px 10px;
    28162958                height: 96px;
     2959                padding: 0;
    28172960        }
    28182961
    2819         .attachment-featured-featured {
    2820                 height: 186px;
     2962        .slider .featured-content .entry-title {
     2963                font-size: 22px;
     2964                line-height: 1.0909090909;
    28212965        }
     2966
     2967        .slider .featured-content .entry-header {
     2968                bottom: 0;
     2969                min-height: inherit;
     2970                padding: 24px 30px 48px;
     2971                position: absolute;
     2972                width: 50%;
     2973                z-index: 3;
     2974        }
     2975
     2976        .slider-control-paging {
     2977                background: transparent;
     2978                margin-top: -48px;
     2979                padding-left: 20px;
     2980                width: 50%;
     2981        }
     2982
     2983        .slider-direction-nav {
     2984                clear: none;
     2985                float: right;
     2986                margin-top: -48px;
     2987                width: 98px;
     2988        }
     2989
     2990        .slider-direction-nav li {
     2991                border: none;
     2992                padding: 0 1px; 0 0;
     2993        }
     2994
     2995        .slider-direction-nav li:last-child {
     2996                padding: 0 0 0 1px;
     2997        }
     2998
     2999        .slider-direction-nav a {
     3000                height: 48px;
     3001        }
     3002
     3003        .slider-direction-nav a:before {
     3004                line-height: 48px;
     3005        }
     3006
     3007        .site-info {
     3008                padding: 15px 30px;
     3009        }
    28223010}
    28233011
    28243012@media screen and (min-width: 782px) {
    2825         .header-main {
    2826                 padding: 0 0 0 30px;
    2827         }
    2828 
    28293013        .search-toggle {
    28303014                margin-right: 0;
    28313015        }
     
    29453129        .primary-navigation li .current-menu-ancestor > a {
    29463130                background-color: #000;
    29473131        }
    2948 
    2949         .attachment-featured-featured {
    2950                 height: 213px;
    2951         }
    29523132}
    29533133
    29543134@media screen and (min-width: 810px) {
     
    29923172        .contributor-summary {
    29933173                float: left;
    29943174        }
    2995 
    2996         .attachment-featured-featured {
    2997                 height: 224px;
    2998         }
    29993175}
    30003176
    30013177@media screen and (min-width: 870px) {
     
    30573233        .featured-content {
    30583234                margin-bottom: -24px;
    30593235        }
    3060 
    3061         .attachment-featured-featured {
    3062                 height: 241px;
    3063         }
    30643236}
    30653237
    30663238@media screen and (min-width: 1008px) {
     
    31013273
    31023274        #secondary {
    31033275                background-color: transparent;
    3104                 border-top: 0;
     3276                border: 0;
    31053277                clear: none;
    31063278                float: left;
    31073279                font-size: 11px;
     
    31083280                line-height: 1.6363636363;
    31093281                margin: 0 0 0 -100%;
    31103282                min-height: 100vh;
    3111                 padding: 0 30px;
    31123283                width: 122px;
    31133284        }
    31143285
     
    31453316        .secondary-navigation {
    31463317                border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    31473318                font-size: 11px;
    3148                 margin: 0 0 48px;
     3319                margin-top: 0;
    31493320        }
    31503321
    31513322        .secondary-navigation ul,
     
    32033374                width: 25%;
    32043375        }
    32053376
    3206         .site-info {
    3207                 padding: 15px 30px;
    3208         }
    3209 
    32103377        .front-page-content-wrapper {
    32113378                float: left;
    32123379        }
     
    32153382                padding-left: 182px;
    32163383        }
    32173384
    3218         .featured-content .hentry {
     3385        .grid .featured-content .hentry {
    32193386                width: 33.3333333%;
    32203387        }
    32213388
    3222         .featured-content .hentry:nth-child( 2n+1 ) {
     3389        .grid .featured-content .hentry:nth-child( 2n+1 ) {
    32233390                clear: none;
    32243391        }
    32253392
    3226         .featured-content .hentry:nth-child( 3n+1 ) {
     3393        .grid .featured-content .hentry:nth-child( 3n+1 ) {
    32273394                clear: both;
    32283395        }
    32293396
    3230         .featured-content .entry-wrap {
     3397        .grid .featured-content .entry-header {
    32313398                height: 120px;
    32323399        }
    3233 
    3234         .attachment-featured-featured {
    3235                 height: 152px;
    3236         }
    32373400}
    32383401
    32393402@media screen and (min-width: 1040px) {
     
    32733436                padding-right: 30px;
    32743437                padding-left: 30px;
    32753438        }
    3276 
    3277         .attachment-featured-featured {
    3278                 height: 158px;
    3279         }
    32803439}
    32813440
    32823441@media screen and (min-width: 1080px) {
     
    33013460        .secondary-navigation ul ul {
    33023461                left: 162px;
    33033462        }
     3463
     3464        .slider .featured-content .entry-title {
     3465                font-size: 33px;
     3466        }
     3467
     3468        .slider .featured-content .entry-header,
     3469        .slider-control-paging {
     3470                width: 534px;
     3471        }
     3472
     3473        .slider-control-paging {
     3474                padding-left: 24px;
     3475        }
     3476
     3477        .slider-control-paging li {
     3478                margin: 12px 12px 12px 0
     3479        }
     3480
     3481        .slider-control-paging a {
     3482                height: 24px;
     3483                width: 24px;
     3484        }
     3485
     3486        .slider-control-paging a:before {
     3487                left: 6px;
     3488                top: 6px;
     3489        }
    33043490}
    33053491
    33063492@media screen and (min-width: 1110px) {
     
    33173503                padding-right: 30px;
    33183504                padding-left: 30px;
    33193505        }
    3320 
    3321         .attachment-featured-featured {
    3322                 height: 164px;
    3323         }
    33243506}
    33253507
    33263508@media screen and (min-width: 1218px) {
     
    33493531        .full-width .site-content footer.entry-meta {
    33503532                margin-right: auto;
    33513533        }
    3352 
    3353         .attachment-featured-featured {
    3354                 height: 184px;
    3355         }
    33563534}
    33573535
    33583536@media screen and (min-width: 1260px) {
     
    33693547        .site-content blockquote.alignright {
    33703548                margin-right: -18%;
    33713549        }
    3372 
    3373         .attachment-featured-featured {
    3374                 height: 192px;
    3375         }
    33763550}
    3377  No newline at end of file