├── .gitignore ├── 404.php ├── CHANGELOG.md ├── README.md ├── archive.php ├── bower.json ├── comments.php ├── footer.php ├── functions.php ├── gulpfile.js ├── header.php ├── images ├── bullet-1.png ├── bullet-2.png ├── bullet-3.png ├── logo.png └── search-icon.png ├── inc ├── afc-settings.php ├── class-tgm-plugin-activation.php ├── comments-callback.php ├── customizer.php ├── extras.php ├── jetpack.php ├── plugin-activation.php ├── scripts.php └── template-tags.php ├── index.php ├── js ├── dist │ ├── scripts.js │ └── scripts.min.js ├── manifest.js └── src │ ├── customizer.js │ └── hooch-menu-toggle.js ├── languages ├── hooch.pot └── readme.txt ├── package.json ├── page.php ├── readme.txt ├── rtl.css ├── sass ├── _normalize.scss ├── layout │ └── _content-sidebar.scss ├── media │ ├── _captions.scss │ ├── _galleries.scss │ └── _media.scss ├── mixins │ └── _mixins-master.scss ├── modules │ ├── _accessibility.scss │ ├── _alignments.scss │ └── _clearings.scss ├── site │ ├── _site.scss │ └── partials │ │ ├── _asides.scss │ │ ├── _comments.scss │ │ ├── _footer.scss │ │ ├── _homepage.scss │ │ ├── _navigation.scss │ │ ├── _pagination.scss │ │ ├── _posts-and-pages.scss │ │ └── _widgets.scss ├── style.scss └── variables │ ├── _breakpoints.scss │ ├── _colors.scss │ ├── _homepage.scss │ ├── _typography.scss │ └── _variables.scss ├── screenshot.png ├── search.php ├── sidebar.php ├── single.php ├── style.css ├── style.min.css ├── template-parts ├── content-home.php ├── content-none.php ├── content-page.php ├── content-search.php ├── content-single.php └── content.php └── templates └── template-homepage.php /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log 3 | node_modules 4 | bower_components -------------------------------------------------------------------------------- /404.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 |
14 |
15 | 16 |
17 | 20 | 21 |
22 |

23 | 24 | 25 | 26 |
27 |
28 | 29 |
30 |
31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.0 (August 27, 2015) 2 | - initial commit -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Hooch - A Bourbon, Neat, Bitters, and Refills WordPress theme. 2 | 3 | [Demo](http://braginteractive.com/demo/hooch/) 4 | 5 | Read more about Hooch and some of its features [here](http://braginteractive.com/a-bourbon-neat-bitters-and-refills-wordpress-theme/) 6 | 7 | ### Features 8 | - Refills navigation 9 | - Refills footer 10 | - Refills pagination 11 | - custom homepage template with Refills hero unit and icon bullet points 12 | - WordPress customizer support 13 | - custom widget areas in footer 14 | 15 | 16 | #### For the Nerds 17 | For customization, basic knowledge of the command line and the following dependencies are required to use Hooch: 18 | 19 | - Bourbon ([http://bourbon.io/](http://bourbon.io/)) 20 | - Node ([http://nodejs.org/](http://nodejs.org/)) -`npm install` 21 | - Gulp ([http://gulpjs.com/](http://gulpjs.com/)) - `npm install --global gulp` 22 | - Bower ([http://bower.io/](http://bower.io/)) -`npm install -g bower` 23 | 24 | #### Usage 25 | After you've downloaded Hooch, and run `npm install` and `gulp` from the command line you can start using gulp. 26 | 27 | #### Gulp 28 | 29 | ###### 1) Navigate to your new theme 30 | `cd /your-project/wordpress/wp-content/themes/your-new-theme` 31 | 32 | ###### 2) Gulp tasks available: 33 | 34 | `gulp` - Automatically handle changes to CSS, javascript, php, and image optimization. Also Livereload! 35 | 36 | `gulp scripts` - Concatenate and minify javascript files 37 | 38 | `gulp sass` - Compile, prefix, and minify CSS files 39 | 40 | `gulp bower` - Install bower components 41 | 42 | `gulp zip` - Creates a zipped file in the root of the theme. Ignores the bower_components and node_modules directories. 43 | -------------------------------------------------------------------------------- /archive.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 |
14 |
15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
49 |
50 | 51 | 52 | 53 |
54 | 55 | 56 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hooch", 3 | "version": "1.0.0", 4 | "authors": [ 5 | "Brad Williams " 6 | ], 7 | "license": "GPL", 8 | "ignore": [ 9 | "**/.*", 10 | "node_modules", 11 | "bower_components", 12 | "test", 13 | "tests" 14 | ], 15 | "devDependencies": { 16 | "bitters": "~1.0.0", 17 | "bourbon": "~4.2.4", 18 | "neat": "~1.7.2" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /comments.php: -------------------------------------------------------------------------------- 1 | 22 | 23 |
24 | 25 | 26 | 27 | 28 |

29 | ' . get_the_title() . '' 34 | ); 35 | ?> 36 |

37 | 38 |
    39 | 'ol', 42 | 'short_ping' => true, 43 | 'callback' => 'hooch_comment', 44 | ) ); 45 | ?> 46 |
47 | 48 | 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?> 49 | 58 | 59 | 60 | 61 | 62 | 66 |

67 | 68 | 69 | 70 | 71 |
72 | -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /functions.php: -------------------------------------------------------------------------------- 1 | tag in the document head, and expect WordPress to 34 | * provide it for us. 35 | */ 36 | add_theme_support( 'title-tag' ); 37 | 38 | /* 39 | * Enable support for Post Thumbnails on posts and pages. 40 | * 41 | * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ 42 | */ 43 | add_theme_support( 'post-thumbnails' ); 44 | 45 | // This theme uses wp_nav_menu() in one location. 46 | register_nav_menus( array( 47 | 'primary' => esc_html__( 'Primary Menu', 'hooch' ), 48 | ) ); 49 | 50 | /* 51 | * Switch default core markup for search form, comment form, and comments 52 | * to output valid HTML5. 53 | */ 54 | add_theme_support( 'html5', array( 55 | 'search-form', 56 | 'comment-form', 57 | 'comment-list', 58 | 'gallery', 59 | 'caption', 60 | ) ); 61 | 62 | /* 63 | * Enable support for Post Formats. 64 | * See https://developer.wordpress.org/themes/functionality/post-formats/ 65 | */ 66 | add_theme_support( 'post-formats', array( 67 | 'aside', 68 | 'image', 69 | 'video', 70 | 'quote', 71 | 'link', 72 | ) ); 73 | 74 | // Set up the WordPress core custom background feature. 75 | add_theme_support( 'custom-background', apply_filters( 'hooch_custom_background_args', array( 76 | 'default-color' => 'ffffff', 77 | 'default-image' => '', 78 | ) ) ); 79 | } 80 | endif; // hooch_setup 81 | add_action( 'after_setup_theme', 'hooch_setup' ); 82 | 83 | /** 84 | * Set the content width in pixels, based on the theme's design and stylesheet. 85 | * 86 | * Priority 0 to make it available to lower priority callbacks. 87 | * 88 | * @global int $content_width 89 | */ 90 | function hooch_content_width() { 91 | $GLOBALS['content_width'] = apply_filters( 'hooch_content_width', 640 ); 92 | } 93 | add_action( 'after_setup_theme', 'hooch_content_width', 0 ); 94 | 95 | /** 96 | * Register widget area. 97 | * 98 | * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar 99 | */ 100 | function hooch_widgets_init() { 101 | register_sidebar( array( 102 | 'name' => esc_html__( 'Sidebar', 'hooch' ), 103 | 'id' => 'sidebar-1', 104 | 'description' => '', 105 | 'before_widget' => '', 107 | 'before_title' => '

', 108 | 'after_title' => '

', 109 | ) ); 110 | 111 | register_sidebar( array( 112 | 'name' => esc_html__( 'Footer 1', 'hooch' ), 113 | 'id' => 'footer-1', 114 | 'description' => '', 115 | 'before_widget' => '', 117 | 'before_title' => '', 119 | ) ); 120 | 121 | register_sidebar( array( 122 | 'name' => esc_html__( 'Footer 2', 'hooch' ), 123 | 'id' => 'footer-2', 124 | 'description' => '', 125 | 'before_widget' => '', 127 | 'before_title' => '', 129 | ) ); 130 | 131 | register_sidebar( array( 132 | 'name' => esc_html__( 'Footer 3', 'hooch' ), 133 | 'id' => 'footer-3', 134 | 'description' => '', 135 | 'before_widget' => '', 137 | 'before_title' => '', 139 | ) ); 140 | 141 | register_sidebar( array( 142 | 'name' => esc_html__( 'Footer 4', 'hooch' ), 143 | 'id' => 'footer-4', 144 | 'description' => '', 145 | 'before_widget' => '', 147 | 'before_title' => '', 149 | ) ); 150 | } 151 | add_action( 'widgets_init', 'hooch_widgets_init' ); 152 | 153 | /** 154 | * Custom template tags for this theme. 155 | */ 156 | require get_template_directory() . '/inc/template-tags.php'; 157 | 158 | /** 159 | * Custom template tags for this theme. 160 | */ 161 | require get_template_directory() . '/inc/scripts.php'; 162 | 163 | /** 164 | * Custom functions that act independently of the theme templates. 165 | */ 166 | require get_template_directory() . '/inc/extras.php'; 167 | 168 | /** 169 | * Customizer additions. 170 | */ 171 | require get_template_directory() . '/inc/customizer.php'; 172 | 173 | /** 174 | * Load Jetpack compatibility file. 175 | */ 176 | require get_template_directory() . '/inc/jetpack.php'; 177 | 178 | /** 179 | * Plugin Activation 180 | */ 181 | require get_template_directory() . '/inc/plugin-activation.php'; 182 | 183 | /** 184 | * ACF Settings 185 | */ 186 | require get_template_directory() . '/inc/afc-settings.php'; 187 | 188 | /** 189 | * ACF Settings 190 | */ 191 | require get_template_directory() . '/inc/comments-callback.php'; 192 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | // Load all the modules from package.json 2 | var gulp = require( 'gulp' ), 3 | plumber = require( 'gulp-plumber' ), 4 | autoprefixer = require('gulp-autoprefixer'), 5 | watch = require( 'gulp-watch' ), 6 | livereload = require( 'gulp-livereload' ), 7 | minifycss = require( 'gulp-minify-css' ), 8 | jshint = require( 'gulp-jshint' ), 9 | stylish = require( 'jshint-stylish' ), 10 | uglify = require( 'gulp-uglify' ), 11 | rename = require( 'gulp-rename' ), 12 | notify = require( 'gulp-notify' ), 13 | include = require( 'gulp-include' ), 14 | sass = require( 'gulp-sass' ); 15 | imagemin = require('gulp-imagemin'); 16 | bower = require('gulp-bower'); 17 | zip = require('gulp-zip'); 18 | 19 | var config = { 20 | 
 bowerDir: './bower_components'
 21 | } 22 | 23 | 24 | // Default error handler 25 | var onError = function( err ) { 26 | console.log( 'An error occured:', err.message ); 27 | this.emit('end'); 28 | } 29 | 30 | gulp.task('zip', function () { 31 | return gulp.src([ 32 | '*', 33 | './images/*', 34 | './inc/**/*', 35 | './js/**/*', 36 | './languages/*', 37 | './sass/**/*', 38 | './template-parts/*', 39 | './templates/*', 40 | '!bower_components', 41 | '!node_modules', 42 | ], {base: "."}) 43 | .pipe(zip('hooch.zip')) 44 | .pipe(gulp.dest('.')); 45 | }); 46 | 47 | // Install all Bower components 48 | gulp.task('bower', function() { 49 | return bower() 50 | .pipe(gulp.dest(config.bowerDir)) 51 | }); 52 | 53 | 54 | // Jshint outputs any kind of javascript problems you might have 55 | // Only checks javascript files inside /src directory 56 | gulp.task( 'jshint', function() { 57 | return gulp.src( './js/src/*.js' ) 58 | .pipe( jshint() ) 59 | .pipe( jshint.reporter( stylish ) ) 60 | .pipe( jshint.reporter( 'fail' ) ); 61 | }) 62 | 63 | 64 | // Concatenates all files that it finds in the manifest 65 | // and creates two versions: normal and minified. 66 | // It's dependent on the jshint task to succeed. 67 | gulp.task( 'scripts', ['jshint'], function() { 68 | return gulp.src( './js/manifest.js' ) 69 | .pipe( include() ) 70 | .pipe( rename( { basename: 'scripts' } ) ) 71 | .pipe( gulp.dest( './js/dist' ) ) 72 | // Normal done, time to create the minified javascript (scripts.min.js) 73 | // remove the following 3 lines if you don't want it 74 | .pipe( uglify() ) 75 | .pipe( rename( { suffix: '.min' } ) ) 76 | .pipe( gulp.dest( './js/dist' ) ) 77 | .pipe(notify({ message: 'scripts task complete' })) 78 | .pipe( livereload() ); 79 | } ); 80 | 81 | // Different options for the Sass tasks 82 | var options = {}; 83 | options.sass = { 84 | errLogToConsole: true, 85 | noCache: true, 86 | //imagePath: 'assets/img', 87 | includePaths: [ 88 | config.bowerDir + '/bourbon/app/assets/stylesheets', 89 | config.bowerDir + '/neat/app/assets/stylesheets', 90 | config.bowerDir + '/bitters/app/assets/stylesheets', 91 | ] 92 | }; 93 | 94 | options.sassmin = { 95 | errLogToConsole: true, 96 | noCache: true, 97 | outputStyle: 'compressed', 98 | //imagePath: 'assets/img', 99 | includePaths: [ 100 | config.bowerDir + '/bourbon/app/assets/stylesheets', 101 | config.bowerDir + '/neat/app/assets/stylesheets', 102 | config.bowerDir + '/bitters/app/assets/stylesheets', 103 | ] 104 | }; 105 | 106 | // Sass 107 | gulp.task('sass', function() { 108 | return gulp.src('./sass/style.scss') 109 | .pipe(plumber()) 110 | .pipe(sass(options.sass)) 111 | .pipe(autoprefixer()) 112 | .pipe(gulp.dest('.')) 113 | .pipe(notify({ title: 'Sass', message: 'sass task complete' })); 114 | }); 115 | 116 | // Sass-min - Release build minifies CSS after compiling Sass 117 | gulp.task('sass-min', function() { 118 | return gulp.src('./sass/style.scss') 119 | .pipe(plumber()) 120 | .pipe(sass(options.sassmin)) 121 | .pipe(autoprefixer()) 122 | .pipe( rename( { suffix: '.min' } ) ) 123 | .pipe(gulp.dest('.')) 124 | .pipe(notify({ title: 'Sass', message: 'sass-min task complete' })); 125 | }); 126 | 127 | // Optimize Images 128 | gulp.task('images', function() { 129 | return gulp.src('./images/**/*') 130 | .pipe(imagemin({ progressive: true, svgoPlugins: [{removeViewBox: false}]})) 131 | .pipe(gulp.dest('./images')) 132 | .pipe(notify({ message: 'Images task complete' })); 133 | }); 134 | 135 | 136 | // Start the livereload server and watch files for change 137 | gulp.task( 'watch', function() { 138 | livereload.listen(); 139 | 140 | // don't listen to whole js folder, it'll create an infinite loop 141 | gulp.watch( [ './js/**/*.js', '!./js/dist/*.js' ], [ 'scripts' ] ) 142 | 143 | gulp.watch( './sass/**/*.scss', ['sass'] ); 144 | 145 | gulp.watch('./images/**/*', ['images']); 146 | 147 | gulp.watch( './**/*.php' ).on( 'change', function( file ) { 148 | // reload browser whenever any PHP file changes 149 | livereload.changed( file ); 150 | } ); 151 | } ); 152 | 153 | 154 | gulp.task( 'default', ['watch'], function() { 155 | // Does nothing in this task, just triggers the dependent 'watch' 156 | } ); -------------------------------------------------------------------------------- /header.php: -------------------------------------------------------------------------------- 1 | section and everything up until
6 | * 7 | * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials 8 | * 9 | * @package Hooch 10 | */ 11 | 12 | ?> 13 | > 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | > 24 |
25 | 26 | 65 | 66 | 67 |
68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /images/bullet-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braginteractive/hooch/1c989cafb9aa232c33bd560acabfbac6b2e1cad7/images/bullet-1.png -------------------------------------------------------------------------------- /images/bullet-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braginteractive/hooch/1c989cafb9aa232c33bd560acabfbac6b2e1cad7/images/bullet-2.png -------------------------------------------------------------------------------- /images/bullet-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braginteractive/hooch/1c989cafb9aa232c33bd560acabfbac6b2e1cad7/images/bullet-3.png -------------------------------------------------------------------------------- /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braginteractive/hooch/1c989cafb9aa232c33bd560acabfbac6b2e1cad7/images/logo.png -------------------------------------------------------------------------------- /images/search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braginteractive/hooch/1c989cafb9aa232c33bd560acabfbac6b2e1cad7/images/search-icon.png -------------------------------------------------------------------------------- /inc/afc-settings.php: -------------------------------------------------------------------------------- 1 | 'acf_homepage-settings', 16 | 'title' => 'Homepage Settings', 17 | 'fields' => array ( 18 | array ( 19 | 'key' => 'field_55e0afe7401f6', 20 | 'label' => 'Background Image Message', 21 | 'name' => '', 22 | 'type' => 'message', 23 | 'message' => 'Use the featured image section in the right hand sidebar to upload the hero background image.', 24 | ), 25 | array ( 26 | 'key' => 'field_55e0ba6c727bc', 27 | 'label' => 'Hero Image', 28 | 'name' => 'hero_image', 29 | 'type' => 'image', 30 | 'instructions' => 'Upload an image to use in the homepage hero. This will appear above the hero content.', 31 | 'save_format' => 'url', 32 | 'preview_size' => 'full', 33 | 'library' => 'all', 34 | ), 35 | array ( 36 | 'key' => 'field_55e0aa4e27feb', 37 | 'label' => 'Hero Content', 38 | 'name' => 'hero_content', 39 | 'type' => 'wysiwyg', 40 | 'default_value' => '

Short description of Product

41 |

A few reasons why this product is worth using, who it\'s for and why they need it.

', 42 | 'toolbar' => 'full', 43 | 'media_upload' => 'no', 44 | ), 45 | array ( 46 | 'key' => 'field_55e0bbf47e47a', 47 | 'label' => 'Bullet 1', 48 | 'name' => '', 49 | 'type' => 'tab', 50 | ), 51 | array ( 52 | 'key' => 'field_55e0baf4727bd', 53 | 'label' => 'Bullet 1 Image', 54 | 'name' => 'bullet_1_image', 55 | 'type' => 'image', 56 | 'save_format' => 'url', 57 | 'preview_size' => 'full', 58 | 'library' => 'all', 59 | ), 60 | array ( 61 | 'key' => 'field_55e0bb32727be', 62 | 'label' => 'Bullet 1 Color', 63 | 'name' => 'bullet_1_color', 64 | 'type' => 'color_picker', 65 | 'instructions' => 'Background color for the bullet image', 66 | 'default_value' => '#477dca', 67 | ), 68 | array ( 69 | 'key' => 'field_55e0bb74ef120', 70 | 'label' => 'Bullet 1 Content', 71 | 'name' => 'bullet_1_content', 72 | 'type' => 'wysiwyg', 73 | 'instructions' => ' ', 74 | 'default_value' => '

This Bullet Title

75 |

Lorem dolor sit amet consectetur adipisicing elit. Doloremque, minus, blanditiis, voluptatibus nulla quia ipsam sequi quos iusto aliquam iste magnam accusamus molestias quo illum impedit. Odit officia autem.

', 76 | 'toolbar' => 'full', 77 | 'media_upload' => 'no', 78 | ), 79 | array ( 80 | 'key' => 'field_55e0bc3f4fccc', 81 | 'label' => 'Bullet 2', 82 | 'name' => '', 83 | 'type' => 'tab', 84 | ), 85 | array ( 86 | 'key' => 'field_55e0bc4b4fccd', 87 | 'label' => 'Bullet 2 Image', 88 | 'name' => 'bullet_2_image', 89 | 'type' => 'image', 90 | 'save_format' => 'url', 91 | 'preview_size' => 'full', 92 | 'library' => 'all', 93 | ), 94 | array ( 95 | 'key' => 'field_55e0bc604fcce', 96 | 'label' => 'Bullet 2 Color', 97 | 'name' => 'bullet_2_color', 98 | 'type' => 'color_picker', 99 | 'instructions' => 'Background color for the bullet image', 100 | 'default_value' => '#47caaa', 101 | ), 102 | array ( 103 | 'key' => 'field_55e0bc754fccf', 104 | 'label' => 'Bullet 2 Content', 105 | 'name' => 'bullet_2_content', 106 | 'type' => 'wysiwyg', 107 | 'instructions' => ' ', 108 | 'default_value' => '

This Bullet Title

109 |

Lorem dolor sit amet consectetur adipisicing elit. Doloremque, minus, blanditiis, voluptatibus nulla quia ipsam sequi quos iusto aliquam iste magnam accusamus molestias quo illum impedit. Odit officia autem.

', 110 | 'toolbar' => 'full', 111 | 'media_upload' => 'no', 112 | ), 113 | array ( 114 | 'key' => 'field_55e0c6930e2b2', 115 | 'label' => 'Bullet 3', 116 | 'name' => '', 117 | 'type' => 'tab', 118 | ), 119 | array ( 120 | 'key' => 'field_55e0c69e0e2b3', 121 | 'label' => 'Bullet 3 Image ', 122 | 'name' => 'bullet_3_image', 123 | 'type' => 'image', 124 | 'save_format' => 'url', 125 | 'preview_size' => 'full', 126 | 'library' => 'all', 127 | ), 128 | array ( 129 | 'key' => 'field_55e0c6b10e2b4', 130 | 'label' => 'Bullet 3 Color', 131 | 'name' => 'bullet_3_color', 132 | 'type' => 'color_picker', 133 | 'instructions' => 'Background color for the bullet image', 134 | 'default_value' => '#a9ca47', 135 | ), 136 | array ( 137 | 'key' => 'field_55e0c6c30e2b5', 138 | 'label' => 'Bullet 3 Content', 139 | 'name' => 'bullet_3_content', 140 | 'type' => 'wysiwyg', 141 | 'instructions' => ' ', 142 | 'default_value' => '

This Bullet Title

143 |

Lorem dolor sit amet consectetur adipisicing elit. Doloremque, minus, blanditiis, voluptatibus nulla quia ipsam sequi quos iusto aliquam iste magnam accusamus molestias quo illum impedit. Odit officia autem.

', 144 | 'toolbar' => 'full', 145 | 'media_upload' => 'no', 146 | ), 147 | ), 148 | 'location' => array ( 149 | array ( 150 | array ( 151 | 'param' => 'page_template', 152 | 'operator' => '==', 153 | 'value' => 'templates/template-homepage.php', 154 | 'order_no' => 0, 155 | 'group_no' => 0, 156 | ), 157 | ), 158 | ), 159 | 'options' => array ( 160 | 'position' => 'normal', 161 | 'layout' => 'default', 162 | 'hide_on_screen' => array ( 163 | ), 164 | ), 165 | 'menu_order' => 0, 166 | )); 167 | } 168 | -------------------------------------------------------------------------------- /inc/comments-callback.php: -------------------------------------------------------------------------------- 1 | comment_type ) : 18 | case 'pingback' : 19 | case 'trackback' : 20 | // Display trackbacks differently than normal comments. 21 | ?> 22 |
  • > 23 |

    ', '' ); ?>

    24 | 29 |
  • 30 |
    > 31 | 32 |
    33 | 34 |
    35 | 36 |
    37 | 38 |
    39 | 40 |
    41 |
    42 | ', 44 | esc_url( get_comment_link( $comment->comment_ID ) ), 45 | get_comment_time( 'c' ), 46 | sprintf( _x( '%1$s at %2$s', '1: date, 2: time', 'hooch' ), get_comment_date(), get_comment_time() ) 47 | ); 48 | edit_comment_link( __( 'Edit', 'hooch' ), ' ', '' ); ?> 49 |
    50 |
    51 | 52 | comment_approved ) : ?> 53 |

    54 | 55 | 56 |
    57 | 58 |
    59 | 60 |
    61 | __( 'reply to comment', 'hooch' ) . ' →', 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?> 62 |
    63 | 64 |
    65 | 66 |
    67 | get_setting( 'blogname' )->transport = 'postMessage'; 15 | $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; 16 | $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; 17 | 18 | $wp_customize->remove_control('blogdescription'); 19 | $wp_customize->remove_control("header_textcolor"); 20 | $wp_customize->remove_control("header_image"); 21 | 22 | 23 | /** 24 | * Add site logo to Site Identity 25 | * 26 | */ 27 | 28 | $wp_customize->add_setting( 29 | // $id 30 | 'site_logo', 31 | // $args 32 | array( 33 | 'default' => '', 34 | 'type' => 'theme_mod', 35 | 'capability' => 'edit_theme_options', 36 | 'sanitize_callback' => 'hooch_sanitize_image' 37 | ) 38 | ); 39 | 40 | 41 | $wp_customize->add_control( 42 | new WP_Customize_Image_Control( 43 | // $wp_customize object 44 | $wp_customize, 45 | // $id 46 | 'site_logo', 47 | // $args 48 | array( 49 | 'settings' => 'site_logo', 50 | 'section' => 'title_tagline', 51 | 'label' => __( 'Site Logo', 'hooch' ), 52 | 'description' => __( 'Select the image to be used for the site logo.', 'hooch' ) 53 | ) 54 | ) 55 | ); 56 | 57 | 58 | /** 59 | * Add footer section 60 | * 61 | */ 62 | 63 | $wp_customize->add_section( 64 | // $id 65 | 'hooch_section_footer', 66 | // $args 67 | array( 68 | 'title' => __( 'Footer Options', 'hooch' ), 69 | 'description' => __( 'Options for the Footer', 'hooch' ) 70 | ) 71 | ); 72 | 73 | $wp_customize->add_setting( 74 | // $id 75 | 'footer_copyright_text', 76 | // $args 77 | array( 78 | 'default' => sprintf( __( 'Theme: %1$s by %2$s.', 'hooch' ), 'Hooch', 'Brad Williams' ), 79 | 'type' => 'theme_mod', 80 | 'capability' => 'edit_theme_options', 81 | 'sanitize_callback' => 'hooch_sanitize_html' 82 | ) 83 | ); 84 | 85 | $wp_customize->add_control( 86 | // $id 87 | 'footer_copyright_text', 88 | // $args 89 | array( 90 | 'settings' => 'footer_copyright_text', 91 | 'section' => 'hooch_section_footer', 92 | 'type' => 'text', 93 | 'label' => __( 'Footer Copyright Text', 'hooch' ), 94 | 'description' => __( 'Copyright or other text to be displayed in the site footer. HTML allowed.', 'hooch' ) 95 | ) 96 | ); 97 | 98 | 99 | } 100 | 101 | 102 | 103 | 104 | add_action( 'customize_register', 'hooch_customize_register' ); 105 | 106 | 107 | /** 108 | * Customizer: Sanitization Callbacks 109 | * 110 | * This file demonstrates how to define sanitization callback functions for various data types. 111 | * 112 | * @package code-examples 113 | * @copyright Copyright (c) 2015, WordPress Theme Review Team 114 | * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU General Public License, v2 (or newer) 115 | */ 116 | 117 | /** 118 | * Checkbox sanitization callback example. 119 | * 120 | * Sanitization callback for 'checkbox' type controls. This callback sanitizes `$checked` 121 | * as a boolean value, either TRUE or FALSE. 122 | * 123 | * @param bool $checked Whether the checkbox is checked. 124 | * @return bool Whether the checkbox is checked. 125 | */ 126 | function hooch_sanitize_checkbox( $checked ) { 127 | // Boolean check. 128 | return ( ( isset( $checked ) && true == $checked ) ? true : false ); 129 | } 130 | 131 | /** 132 | * CSS sanitization callback example. 133 | * 134 | * - Sanitization: css 135 | * - Control: text, textarea 136 | * 137 | * Sanitization callback for 'css' type textarea inputs. This callback sanitizes 138 | * `$css` for valid CSS. 139 | * 140 | * NOTE: wp_strip_all_tags() can be passed directly as `$wp_customize->add_setting()` 141 | * 'sanitize_callback'. It is wrapped in a callback here merely for example purposes. 142 | * 143 | * @see wp_strip_all_tags() https://developer.wordpress.org/reference/functions/wp_strip_all_tags/ 144 | * 145 | * @param string $css CSS to sanitize. 146 | * @return string Sanitized CSS. 147 | */ 148 | function hooch_sanitize_css( $css ) { 149 | return wp_strip_all_tags( $css ); 150 | } 151 | 152 | /** 153 | * Drop-down Pages sanitization callback example. 154 | * 155 | * - Sanitization: dropdown-pages 156 | * - Control: dropdown-pages 157 | * 158 | * Sanitization callback for 'dropdown-pages' type controls. This callback sanitizes `$page_id` 159 | * as an absolute integer, and then validates that $input is the ID of a published page. 160 | * 161 | * @see absint() https://developer.wordpress.org/reference/functions/absint/ 162 | * @see get_post_status() https://developer.wordpress.org/reference/functions/get_post_status/ 163 | * 164 | * @param int $page Page ID. 165 | * @param WP_Customize_Setting $setting Setting instance. 166 | * @return int|string Page ID if the page is published; otherwise, the setting default. 167 | */ 168 | function hooch_sanitize_dropdown_pages( $page_id, $setting ) { 169 | // Ensure $input is an absolute integer. 170 | $page_id = absint( $page_id ); 171 | 172 | // If $page_id is an ID of a published page, return it; otherwise, return the default. 173 | return ( 'publish' == get_post_status( $page_id ) ? $page_id : $setting->default ); 174 | } 175 | 176 | /** 177 | * Email sanitization callback example. 178 | * 179 | * - Sanitization: email 180 | * - Control: text 181 | * 182 | * Sanitization callback for 'email' type text controls. This callback sanitizes `$email` 183 | * as a valid email address. 184 | * 185 | * @see sanitize_email() https://developer.wordpress.org/reference/functions/sanitize_key/ 186 | * @link sanitize_email() https://codex.wordpress.org/Function_Reference/sanitize_email 187 | * 188 | * @param string $email Email address to sanitize. 189 | * @param WP_Customize_Setting $setting Setting instance. 190 | * @return string The sanitized email if not null; otherwise, the setting default. 191 | */ 192 | function hooch_sanitize_email( $email, $setting ) { 193 | // Sanitize $input as a hex value without the hash prefix. 194 | $email = sanitize_email( $email ); 195 | 196 | // If $email is a valid email, return it; otherwise, return the default. 197 | return ( ! null( $email ) ? $email : $setting->default ); 198 | } 199 | 200 | /** 201 | * HEX Color sanitization callback example. 202 | * 203 | * - Sanitization: hex_color 204 | * - Control: text, WP_Customize_Color_Control 205 | * 206 | * Note: sanitize_hex_color_no_hash() can also be used here, depending on whether 207 | * or not the hash prefix should be stored/retrieved with the hex color value. 208 | * 209 | * @see sanitize_hex_color() https://developer.wordpress.org/reference/functions/sanitize_hex_color/ 210 | * @link sanitize_hex_color_no_hash() https://developer.wordpress.org/reference/functions/sanitize_hex_color_no_hash/ 211 | * 212 | * @param string $hex_color HEX color to sanitize. 213 | * @param WP_Customize_Setting $setting Setting instance. 214 | * @return string The sanitized hex color if not null; otherwise, the setting default. 215 | */ 216 | function hooch_sanitize_hex_color( $hex_color, $setting ) { 217 | // Sanitize $input as a hex value without the hash prefix. 218 | $hex_color = sanitize_hex_color( $hex_color ); 219 | 220 | // If $input is a valid hex value, return it; otherwise, return the default. 221 | return ( ! null( $hex_color ) ? $hex_color : $setting->default ); 222 | } 223 | 224 | /** 225 | * HTML sanitization callback example. 226 | * 227 | * - Sanitization: html 228 | * - Control: text, textarea 229 | * 230 | * Sanitization callback for 'html' type text inputs. This callback sanitizes `$html` 231 | * for HTML allowable in posts. 232 | * 233 | * NOTE: wp_filter_post_kses() can be passed directly as `$wp_customize->add_setting()` 234 | * 'sanitize_callback'. It is wrapped in a callback here merely for example purposes. 235 | * 236 | * @see wp_filter_post_kses() https://developer.wordpress.org/reference/functions/wp_filter_post_kses/ 237 | * 238 | * @param string $html HTML to sanitize. 239 | * @return string Sanitized HTML. 240 | */ 241 | function hooch_sanitize_html( $html ) { 242 | return wp_filter_post_kses( $html ); 243 | } 244 | 245 | /** 246 | * Image sanitization callback example. 247 | * 248 | * Checks the image's file extension and mime type against a whitelist. If they're allowed, 249 | * send back the filename, otherwise, return the setting default. 250 | * 251 | * - Sanitization: image file extension 252 | * - Control: text, WP_Customize_Image_Control 253 | * 254 | * @see wp_check_filetype() https://developer.wordpress.org/reference/functions/wp_check_filetype/ 255 | * 256 | * @param string $image Image filename. 257 | * @param WP_Customize_Setting $setting Setting instance. 258 | * @return string The image filename if the extension is allowed; otherwise, the setting default. 259 | */ 260 | function hooch_sanitize_image( $image, $setting ) { 261 | 262 | /* 263 | * Array of valid image file types. 264 | * 265 | * The array includes image mime types that are included in wp_get_mime_types() 266 | */ 267 | $mimes = array( 268 | 'jpg|jpeg|jpe' => 'image/jpeg', 269 | 'gif' => 'image/gif', 270 | 'png' => 'image/png', 271 | 'bmp' => 'image/bmp', 272 | 'tif|tiff' => 'image/tiff', 273 | 'ico' => 'image/x-icon' 274 | ); 275 | 276 | // Return an array with file extension and mime_type. 277 | $file = wp_check_filetype( $image, $mimes ); 278 | 279 | // If $image has a valid mime_type, return it; otherwise, return the default. 280 | return ( $file['ext'] ? $image : $setting->default ); 281 | } 282 | 283 | /** 284 | * No-HTML sanitization callback example. 285 | * 286 | * - Sanitization: nohtml 287 | * - Control: text, textarea, password 288 | * 289 | * Sanitization callback for 'nohtml' type text inputs. This callback sanitizes `$nohtml` 290 | * to remove all HTML. 291 | * 292 | * NOTE: wp_filter_nohtml_kses() can be passed directly as `$wp_customize->add_setting()` 293 | * 'sanitize_callback'. It is wrapped in a callback here merely for example purposes. 294 | * 295 | * @see wp_filter_nohtml_kses() https://developer.wordpress.org/reference/functions/wp_filter_nohtml_kses/ 296 | * 297 | * @param string $nohtml The no-HTML content to sanitize. 298 | * @return string Sanitized no-HTML content. 299 | */ 300 | function hooch_sanitize_nohtml( $nohtml ) { 301 | return wp_filter_nohtml_kses( $nohtml ); 302 | } 303 | 304 | /** 305 | * Number sanitization callback example. 306 | * 307 | * - Sanitization: number_absint 308 | * - Control: number 309 | * 310 | * Sanitization callback for 'number' type text inputs. This callback sanitizes `$number` 311 | * as an absolute integer (whole number, zero or greater). 312 | * 313 | * NOTE: absint() can be passed directly as `$wp_customize->add_setting()` 'sanitize_callback'. 314 | * It is wrapped in a callback here merely for example purposes. 315 | * 316 | * @see absint() https://developer.wordpress.org/reference/functions/absint/ 317 | * 318 | * @param int $number Number to sanitize. 319 | * @param WP_Customize_Setting $setting Setting instance. 320 | * @return int Sanitized number; otherwise, the setting default. 321 | */ 322 | function hooch_sanitize_number_absint( $number, $setting ) { 323 | // Ensure $number is an absolute integer (whole number, zero or greater). 324 | $number = absint( $number ); 325 | 326 | // If the input is an absolute integer, return it; otherwise, return the default 327 | return ( $number ? $number : $setting->default ); 328 | } 329 | 330 | /** 331 | * Number Range sanitization callback example. 332 | * 333 | * - Sanitization: number_range 334 | * - Control: number, tel 335 | * 336 | * Sanitization callback for 'number' or 'tel' type text inputs. This callback sanitizes 337 | * `$number` as an absolute integer within a defined min-max range. 338 | * 339 | * @see absint() https://developer.wordpress.org/reference/functions/absint/ 340 | * 341 | * @param int $number Number to check within the numeric range defined by the setting. 342 | * @param WP_Customize_Setting $setting Setting instance. 343 | * @return int|string The number, if it is zero or greater and falls within the defined range; otherwise, 344 | * the setting default. 345 | */ 346 | function hooch_sanitize_number_range( $number, $setting ) { 347 | 348 | // Ensure input is an absolute integer. 349 | $number = absint( $number ); 350 | 351 | // Get the input attributes associated with the setting. 352 | $atts = $setting->manager->get_control( $setting->id )->input_attrs; 353 | 354 | // Get minimum number in the range. 355 | $min = ( isset( $atts['min'] ) ? $atts['min'] : $number ); 356 | 357 | // Get maximum number in the range. 358 | $max = ( isset( $atts['max'] ) ? $atts['max'] : $number ); 359 | 360 | // Get step. 361 | $step = ( isset( $atts['step'] ) ? $atts['step'] : 1 ); 362 | 363 | // If the number is within the valid range, return it; otherwise, return the default 364 | return ( $min <= $number && $number <= $max && is_int( $number / $step ) ? $number : $setting->default ); 365 | } 366 | 367 | /** 368 | * Select sanitization callback example. 369 | * 370 | * - Sanitization: select 371 | * - Control: select, radio 372 | * 373 | * Sanitization callback for 'select' and 'radio' type controls. This callback sanitizes `$input` 374 | * as a slug, and then validates `$input` against the choices defined for the control. 375 | * 376 | * @see sanitize_key() https://developer.wordpress.org/reference/functions/sanitize_key/ 377 | * @see $wp_customize->get_control() https://developer.wordpress.org/reference/classes/wp_customize_manager/get_control/ 378 | * 379 | * @param string $input Slug to sanitize. 380 | * @param WP_Customize_Setting $setting Setting instance. 381 | * @return string Sanitized slug if it is a valid choice; otherwise, the setting default. 382 | */ 383 | function hooch_sanitize_select( $input, $setting ) { 384 | 385 | // Ensure input is a slug. 386 | $input = sanitize_key( $input ); 387 | 388 | // Get list of choices from the control associated with the setting. 389 | $choices = $setting->manager->get_control( $setting->id )->choices; 390 | 391 | // If the input is a valid key, return it; otherwise, return the default. 392 | return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); 393 | } 394 | 395 | /** 396 | * URL sanitization callback example. 397 | * 398 | * - Sanitization: url 399 | * - Control: text, url 400 | * 401 | * Sanitization callback for 'url' type text inputs. This callback sanitizes `$url` as a valid URL. 402 | * 403 | * NOTE: esc_url_raw() can be passed directly as `$wp_customize->add_setting()` 'sanitize_callback'. 404 | * It is wrapped in a callback here merely for example purposes. 405 | * 406 | * @see esc_url_raw() https://developer.wordpress.org/reference/functions/esc_url_raw/ 407 | * 408 | * @param string $url URL to sanitize. 409 | * @return string Sanitized URL. 410 | */ 411 | function hooch_sanitize_url( $url ) { 412 | return esc_url_raw( $url ); 413 | } -------------------------------------------------------------------------------- /inc/extras.php: -------------------------------------------------------------------------------- 1 | '. __( 'Read More ', 'hooch' ). ''; 32 | } 33 | add_filter( 'the_content_more_link', 'modify_read_more_link' ); 34 | -------------------------------------------------------------------------------- /inc/jetpack.php: -------------------------------------------------------------------------------- 1 | 'main', 17 | 'render' => 'hooch_infinite_scroll_render', 18 | 'footer' => 'page', 19 | ) ); 20 | } // end function hooch_jetpack_setup 21 | add_action( 'after_setup_theme', 'hooch_jetpack_setup' ); 22 | 23 | /** 24 | * Custom render function for Infinite Scroll. 25 | */ 26 | function hooch_infinite_scroll_render() { 27 | while ( have_posts() ) { 28 | the_post(); 29 | get_template_part( 'template-parts/content', get_post_format() ); 30 | } 31 | } // end function hooch_infinite_scroll_render 32 | -------------------------------------------------------------------------------- /inc/plugin-activation.php: -------------------------------------------------------------------------------- 1 | 'Advanced Custom Fields', 49 | 'slug' => 'advanced-custom-fields', 50 | 'required' => false, 51 | ), 52 | 53 | ); 54 | 55 | /* 56 | * Array of configuration settings. Amend each line as needed. 57 | * 58 | * TGMPA will start providing localized text strings soon. If you already have translations of our standard 59 | * strings available, please help us make TGMPA even better by giving us access to these translations or by 60 | * sending in a pull-request with .po file(s) with the translations. 61 | * 62 | * Only uncomment the strings in the config array if you want to customize the strings. 63 | */ 64 | $config = array( 65 | 'id' => 'tgmpa', // Unique ID for hashing notices for multiple instances of TGMPA. 66 | 'default_path' => '', // Default absolute path to bundled plugins. 67 | 'menu' => 'tgmpa-install-plugins', // Menu slug. 68 | 'parent_slug' => 'themes.php', // Parent menu slug. 69 | 'capability' => 'edit_theme_options', // Capability needed to view plugin install page, should be a capability associated with the parent menu used. 70 | 'has_notices' => true, // Show admin notices or not. 71 | 'dismissable' => true, // If false, a user cannot dismiss the nag message. 72 | 'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag. 73 | 'is_automatic' => false, // Automatically activate plugins after installation or not. 74 | 'message' => '', // Message to output right before the plugins table. 75 | 76 | /* 77 | 'strings' => array( 78 | 'page_title' => __( 'Install Required Plugins', 'theme-slug' ), 79 | 'menu_title' => __( 'Install Plugins', 'theme-slug' ), 80 | 'installing' => __( 'Installing Plugin: %s', 'theme-slug' ), // %s = plugin name. 81 | 'oops' => __( 'Something went wrong with the plugin API.', 'theme-slug' ), 82 | 'notice_can_install_required' => _n_noop( 83 | 'This theme requires the following plugin: %1$s.', 84 | 'This theme requires the following plugins: %1$s.', 85 | 'theme-slug' 86 | ), // %1$s = plugin name(s). 87 | 'notice_can_install_recommended' => _n_noop( 88 | 'This theme recommends the following plugin: %1$s.', 89 | 'This theme recommends the following plugins: %1$s.', 90 | 'theme-slug' 91 | ), // %1$s = plugin name(s). 92 | 'notice_cannot_install' => _n_noop( 93 | 'Sorry, but you do not have the correct permissions to install the %1$s plugin.', 94 | 'Sorry, but you do not have the correct permissions to install the %1$s plugins.', 95 | 'theme-slug' 96 | ), // %1$s = plugin name(s). 97 | 'notice_ask_to_update' => _n_noop( 98 | 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 99 | 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.', 100 | 'theme-slug' 101 | ), // %1$s = plugin name(s). 102 | 'notice_ask_to_update_maybe' => _n_noop( 103 | 'There is an update available for: %1$s.', 104 | 'There are updates available for the following plugins: %1$s.', 105 | 'theme-slug' 106 | ), // %1$s = plugin name(s). 107 | 'notice_cannot_update' => _n_noop( 108 | 'Sorry, but you do not have the correct permissions to update the %1$s plugin.', 109 | 'Sorry, but you do not have the correct permissions to update the %1$s plugins.', 110 | 'theme-slug' 111 | ), // %1$s = plugin name(s). 112 | 'notice_can_activate_required' => _n_noop( 113 | 'The following required plugin is currently inactive: %1$s.', 114 | 'The following required plugins are currently inactive: %1$s.', 115 | 'theme-slug' 116 | ), // %1$s = plugin name(s). 117 | 'notice_can_activate_recommended' => _n_noop( 118 | 'The following recommended plugin is currently inactive: %1$s.', 119 | 'The following recommended plugins are currently inactive: %1$s.', 120 | 'theme-slug' 121 | ), // %1$s = plugin name(s). 122 | 'notice_cannot_activate' => _n_noop( 123 | 'Sorry, but you do not have the correct permissions to activate the %1$s plugin.', 124 | 'Sorry, but you do not have the correct permissions to activate the %1$s plugins.', 125 | 'theme-slug' 126 | ), // %1$s = plugin name(s). 127 | 'install_link' => _n_noop( 128 | 'Begin installing plugin', 129 | 'Begin installing plugins', 130 | 'theme-slug' 131 | ), 132 | 'update_link' => _n_noop( 133 | 'Begin updating plugin', 134 | 'Begin updating plugins', 135 | 'theme-slug' 136 | ), 137 | 'activate_link' => _n_noop( 138 | 'Begin activating plugin', 139 | 'Begin activating plugins', 140 | 'theme-slug' 141 | ), 142 | 'return' => __( 'Return to Required Plugins Installer', 'theme-slug' ), 143 | 'plugin_activated' => __( 'Plugin activated successfully.', 'theme-slug' ), 144 | 'activated_successfully' => __( 'The following plugin was activated successfully:', 'theme-slug' ), 145 | 'plugin_already_active' => __( 'No action taken. Plugin %1$s was already active.', 'theme-slug' ), // %1$s = plugin name(s). 146 | 'plugin_needs_higher_version' => __( 'Plugin not activated. A higher version of %s is needed for this theme. Please update the plugin.', 'theme-slug' ), // %1$s = plugin name(s). 147 | 'complete' => __( 'All plugins installed and activated successfully. %1$s', 'theme-slug' ), // %s = dashboard link. 148 | 'contact_admin' => __( 'Please contact the administrator of this site for help.', 'tgmpa' ), 149 | 150 | 'nag_type' => 'updated', // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'. 151 | ), 152 | */ 153 | ); 154 | 155 | tgmpa( $plugins, $config ); 156 | } 157 | -------------------------------------------------------------------------------- /inc/scripts.php: -------------------------------------------------------------------------------- 1 | %2$s'; 16 | if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) { 17 | $time_string = ''; 18 | } 19 | 20 | $time_string = sprintf( $time_string, 21 | esc_attr( get_the_date( 'c' ) ), 22 | esc_html( get_the_date() ), 23 | esc_attr( get_the_modified_date( 'c' ) ), 24 | esc_html( get_the_modified_date() ) 25 | ); 26 | 27 | $posted_on = sprintf( 28 | esc_html_x( '%s', 'post date', 'hooch' ), 29 | '' . $time_string . '' 30 | ); 31 | 32 | $byline = sprintf( 33 | esc_html_x( 'by %s', 'post author', 'hooch' ), 34 | '' . esc_html( get_the_author() ) . '' 35 | ); 36 | 37 | echo '' . $posted_on . ''; // WPCS: XSS OK. 38 | 39 | } 40 | endif; 41 | 42 | if ( ! function_exists( 'hooch_entry_footer' ) ) : 43 | /** 44 | * Prints HTML with meta information for the categories, tags and comments. 45 | */ 46 | function hooch_entry_footer() { 47 | // Hide category and tag text for pages. 48 | if ( 'post' === get_post_type() ) { 49 | /* translators: used between list items, there is a space after the comma */ 50 | $categories_list = get_the_category_list( esc_html__( ', ', 'hooch' ) ); 51 | if ( $categories_list && hooch_categorized_blog() ) { 52 | printf( '' . esc_html__( 'Posted in %1$s', 'hooch' ) . '', $categories_list ); // WPCS: XSS OK. 53 | } 54 | 55 | /* translators: used between list items, there is a space after the comma */ 56 | $tags_list = get_the_tag_list( '', esc_html__( ', ', 'hooch' ) ); 57 | if ( $tags_list ) { 58 | printf( '' . esc_html__( 'Tagged %1$s', 'hooch' ) . '', $tags_list ); // WPCS: XSS OK. 59 | } 60 | } 61 | 62 | if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) { 63 | echo ''; 64 | comments_popup_link( esc_html__( 'Leave a comment', 'hooch' ), esc_html__( '1 Comment', 'hooch' ), esc_html__( '% Comments', 'hooch' ) ); 65 | echo ''; 66 | } 67 | 68 | edit_post_link( esc_html__( 'Edit', 'hooch' ), '', '' ); 69 | } 70 | endif; 71 | 72 | /** 73 | * Returns true if a blog has more than 1 category. 74 | * 75 | * @return bool 76 | */ 77 | function hooch_categorized_blog() { 78 | if ( false === ( $all_the_cool_cats = get_transient( 'hooch_categories' ) ) ) { 79 | // Create an array of all the categories that are attached to posts. 80 | $all_the_cool_cats = get_categories( array( 81 | 'fields' => 'ids', 82 | 'hide_empty' => 1, 83 | 84 | // We only need to know if there is more than one category. 85 | 'number' => 2, 86 | ) ); 87 | 88 | // Count the number of categories that are attached to the posts. 89 | $all_the_cool_cats = count( $all_the_cool_cats ); 90 | 91 | set_transient( 'hooch_categories', $all_the_cool_cats ); 92 | } 93 | 94 | if ( $all_the_cool_cats > 1 ) { 95 | // This blog has more than 1 category so hooch_categorized_blog should return true. 96 | return true; 97 | } else { 98 | // This blog has only 1 category so hooch_categorized_blog should return false. 99 | return false; 100 | } 101 | } 102 | 103 | /** 104 | * Flush out the transients used in hooch_categorized_blog. 105 | */ 106 | function hooch_category_transient_flusher() { 107 | if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { 108 | return; 109 | } 110 | // Like, beat it. Dig? 111 | delete_transient( 'hooch_categories' ); 112 | } 113 | add_action( 'edit_category', 'hooch_category_transient_flusher' ); 114 | add_action( 'save_post', 'hooch_category_transient_flusher' ); 115 | 116 | 117 | /** 118 | * Numbered pagination 119 | */ 120 | function hooch_numeric_posts_nav() { 121 | 122 | if( is_singular() ) 123 | return; 124 | 125 | global $wp_query; 126 | 127 | /** Stop execution if there's only 1 page */ 128 | if( $wp_query->max_num_pages <= 1 ) 129 | return; 130 | 131 | $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; 132 | $max = intval( $wp_query->max_num_pages ); 133 | 134 | /** Add current page to the array */ 135 | if ( $paged >= 1 ) 136 | $links[] = $paged; 137 | 138 | /** Add the pages around the current page to the array */ 139 | if ( $paged >= 3 ) { 140 | $links[] = $paged - 1; 141 | $links[] = $paged - 2; 142 | } 143 | 144 | if ( ( $paged + 2 ) <= $max ) { 145 | $links[] = $paged + 2; 146 | $links[] = $paged + 1; 147 | } 148 | 149 | echo '' . "\n"; 186 | 187 | } 188 | 189 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 16 | 17 |
    18 |
    19 |
    20 | 21 | 22 | 23 | 24 |
    25 |

    26 |
    27 | 28 | 29 | 30 | 31 | 32 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |
    53 |
    54 | 55 | 56 | 57 |
    58 | 59 | 60 | -------------------------------------------------------------------------------- /js/dist/scripts.js: -------------------------------------------------------------------------------- 1 | // Menu Toggle 2 | jQuery(document).ready(function($){ 3 | var menuToggle = $('#js-mobile-menu').unbind(); 4 | $('#js-navigation-menu').removeClass("show"); 5 | 6 | menuToggle.on('click', function(e) { 7 | e.preventDefault(); 8 | $('#js-navigation-menu').slideToggle(function(){ 9 | if($('#js-navigation-menu').is(':hidden')) { 10 | $('#js-navigation-menu').removeAttr('style'); 11 | } 12 | }); 13 | }); 14 | }); 15 | 16 | -------------------------------------------------------------------------------- /js/dist/scripts.min.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function(n){var e=n("#js-mobile-menu").unbind();n("#js-navigation-menu").removeClass("show"),e.on("click",function(e){e.preventDefault(),n("#js-navigation-menu").slideToggle(function(){n("#js-navigation-menu").is(":hidden")&&n("#js-navigation-menu").removeAttr("style")})})}); -------------------------------------------------------------------------------- /js/manifest.js: -------------------------------------------------------------------------------- 1 | // Menu Toggle 2 | //= include ../js/src/hooch-menu-toggle.js 3 | -------------------------------------------------------------------------------- /js/src/customizer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * customizer.js 3 | * 4 | * Theme Customizer enhancements for a better user experience. 5 | * 6 | * Contains handlers to make Theme Customizer preview reload changes asynchronously. 7 | */ 8 | 9 | ( function( $ ) { 10 | // Site title and description. 11 | wp.customize( 'blogname', function( value ) { 12 | value.bind( function( to ) { 13 | $( '.site-title a' ).text( to ); 14 | } ); 15 | } ); 16 | wp.customize( 'blogdescription', function( value ) { 17 | value.bind( function( to ) { 18 | $( '.site-description' ).text( to ); 19 | } ); 20 | } ); 21 | // Header text color. 22 | wp.customize( 'header_textcolor', function( value ) { 23 | value.bind( function( to ) { 24 | if ( 'blank' === to ) { 25 | $( '.site-title, .site-description' ).css( { 26 | 'clip': 'rect(1px, 1px, 1px, 1px)', 27 | 'position': 'absolute' 28 | } ); 29 | } else { 30 | $( '.site-title, .site-description' ).css( { 31 | 'clip': 'auto', 32 | 'color': to, 33 | 'position': 'relative' 34 | } ); 35 | } 36 | } ); 37 | } ); 38 | } )( jQuery ); 39 | -------------------------------------------------------------------------------- /js/src/hooch-menu-toggle.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function($){ 2 | var menuToggle = $('#js-mobile-menu').unbind(); 3 | $('#js-navigation-menu').removeClass("show"); 4 | 5 | menuToggle.on('click', function(e) { 6 | e.preventDefault(); 7 | $('#js-navigation-menu').slideToggle(function(){ 8 | if($('#js-navigation-menu').is(':hidden')) { 9 | $('#js-navigation-menu').removeAttr('style'); 10 | } 11 | }); 12 | }); 13 | }); -------------------------------------------------------------------------------- /languages/hooch.pot: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2015 Automattic 2 | # This file is distributed under the GNU General Public License v2 or later. 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: _s 1.0.0\n" 6 | "Report-Msgid-Bugs-To: http://wordpress.org/tags/_s\n" 7 | "POT-Creation-Date: 2015-06-12 21:51:31+0000\n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n" 12 | "Last-Translator: FULL NAME \n" 13 | "Language-Team: LANGUAGE \n" 14 | 15 | #: 404.php:15 16 | #@ _s 17 | msgid "Oops! That page can’t be found." 18 | msgstr "" 19 | 20 | #: 404.php:19 21 | #@ _s 22 | msgid "It looks like nothing was found at this location. Maybe try one of the links below or a search?" 23 | msgstr "" 24 | 25 | #: 404.php:27 26 | #@ _s 27 | msgid "Most Used Categories" 28 | msgstr "" 29 | 30 | #. translators: %1$s: smiley 31 | #: 404.php:44 32 | #, php-format 33 | #@ _s 34 | msgid "Try looking in the monthly archives. %1$s" 35 | msgstr "" 36 | 37 | #: comments.php:29 38 | #, php-format 39 | #@ _s 40 | msgctxt "comments title" 41 | msgid "One thought on “%2$s”" 42 | msgid_plural "%1$s thoughts on “%2$s”" 43 | msgstr[0] "" 44 | msgstr[1] "" 45 | 46 | #: comments.php:38 47 | #: comments.php:59 48 | #@ _s 49 | msgid "Comment navigation" 50 | msgstr "" 51 | 52 | #: comments.php:41 53 | #: comments.php:62 54 | #@ _s 55 | msgid "Older Comments" 56 | msgstr "" 57 | 58 | #: comments.php:42 59 | #: comments.php:63 60 | #@ _s 61 | msgid "Newer Comments" 62 | msgstr "" 63 | 64 | #: comments.php:75 65 | #@ _s 66 | msgid "Comments are closed." 67 | msgstr "" 68 | 69 | #: footer.php:16 70 | #@ _s 71 | msgid "http://wordpress.org/" 72 | msgstr "" 73 | 74 | #: footer.php:16 75 | #, php-format 76 | #@ _s 77 | msgid "Proudly powered by %s" 78 | msgstr "" 79 | 80 | #: footer.php:18 81 | #, php-format 82 | #@ _s 83 | msgid "Theme: %1$s by %2$s." 84 | msgstr "" 85 | 86 | #: functions.php:45 87 | #: header.php:32 88 | #@ _s 89 | msgid "Primary Menu" 90 | msgstr "" 91 | 92 | #: functions.php:100 93 | #@ _s 94 | msgid "Sidebar" 95 | msgstr "" 96 | 97 | #: header.php:23 98 | #@ _s 99 | msgid "Skip to content" 100 | msgstr "" 101 | 102 | #: inc/extras.php:52 103 | #, php-format 104 | #@ _s 105 | msgid "Page %s" 106 | msgstr "" 107 | 108 | #: inc/template-tags.php:23 109 | #@ _s 110 | msgid "Posts navigation" 111 | msgstr "" 112 | 113 | #: inc/template-tags.php:27 114 | #@ _s 115 | msgid "Older posts" 116 | msgstr "" 117 | 118 | #: inc/template-tags.php:31 119 | #@ _s 120 | msgid "Newer posts" 121 | msgstr "" 122 | 123 | #: inc/template-tags.php:56 124 | #@ _s 125 | msgid "Post navigation" 126 | msgstr "" 127 | 128 | #: inc/template-tags.php:86 129 | #, php-format 130 | #@ _s 131 | msgctxt "post date" 132 | msgid "Posted on %s" 133 | msgstr "" 134 | 135 | #: inc/template-tags.php:91 136 | #, php-format 137 | #@ _s 138 | msgctxt "post author" 139 | msgid "by %s" 140 | msgstr "" 141 | 142 | #. translators: used between list items, there is a space after the comma 143 | #: inc/template-tags.php:108 144 | #: inc/template-tags.php:114 145 | #@ _s 146 | msgid ", " 147 | msgstr "" 148 | 149 | #: inc/template-tags.php:110 150 | #, php-format 151 | #@ _s 152 | msgid "Posted in %1$s" 153 | msgstr "" 154 | 155 | #: inc/template-tags.php:116 156 | #, php-format 157 | #@ _s 158 | msgid "Tagged %1$s" 159 | msgstr "" 160 | 161 | #: inc/template-tags.php:122 162 | #@ _s 163 | msgid "Leave a comment" 164 | msgstr "" 165 | 166 | #: inc/template-tags.php:122 167 | #@ _s 168 | msgid "1 Comment" 169 | msgstr "" 170 | 171 | #: inc/template-tags.php:122 172 | #@ _s 173 | msgid "% Comments" 174 | msgstr "" 175 | 176 | #: inc/template-tags.php:126 177 | #: template-parts/content-page.php:26 178 | #@ _s 179 | msgid "Edit" 180 | msgstr "" 181 | 182 | #: inc/template-tags.php:143 183 | #, php-format 184 | #@ _s 185 | msgid "Category: %s" 186 | msgstr "" 187 | 188 | #: inc/template-tags.php:145 189 | #, php-format 190 | #@ _s 191 | msgid "Tag: %s" 192 | msgstr "" 193 | 194 | #: inc/template-tags.php:147 195 | #, php-format 196 | #@ _s 197 | msgid "Author: %s" 198 | msgstr "" 199 | 200 | #: inc/template-tags.php:149 201 | #, php-format 202 | #@ _s 203 | msgid "Year: %s" 204 | msgstr "" 205 | 206 | #: inc/template-tags.php:149 207 | #@ _s 208 | msgctxt "yearly archives date format" 209 | msgid "Y" 210 | msgstr "" 211 | 212 | #: inc/template-tags.php:151 213 | #, php-format 214 | #@ _s 215 | msgid "Month: %s" 216 | msgstr "" 217 | 218 | #: inc/template-tags.php:151 219 | #@ _s 220 | msgctxt "monthly archives date format" 221 | msgid "F Y" 222 | msgstr "" 223 | 224 | #: inc/template-tags.php:153 225 | #, php-format 226 | #@ _s 227 | msgid "Day: %s" 228 | msgstr "" 229 | 230 | #: inc/template-tags.php:153 231 | #@ _s 232 | msgctxt "daily archives date format" 233 | msgid "F j, Y" 234 | msgstr "" 235 | 236 | #: inc/template-tags.php:156 237 | #@ _s 238 | msgctxt "post format archive title" 239 | msgid "Asides" 240 | msgstr "" 241 | 242 | #: inc/template-tags.php:158 243 | #@ _s 244 | msgctxt "post format archive title" 245 | msgid "Galleries" 246 | msgstr "" 247 | 248 | #: inc/template-tags.php:160 249 | #@ _s 250 | msgctxt "post format archive title" 251 | msgid "Images" 252 | msgstr "" 253 | 254 | #: inc/template-tags.php:162 255 | #@ _s 256 | msgctxt "post format archive title" 257 | msgid "Videos" 258 | msgstr "" 259 | 260 | #: inc/template-tags.php:164 261 | #@ _s 262 | msgctxt "post format archive title" 263 | msgid "Quotes" 264 | msgstr "" 265 | 266 | #: inc/template-tags.php:166 267 | #@ _s 268 | msgctxt "post format archive title" 269 | msgid "Links" 270 | msgstr "" 271 | 272 | #: inc/template-tags.php:168 273 | #@ _s 274 | msgctxt "post format archive title" 275 | msgid "Statuses" 276 | msgstr "" 277 | 278 | #: inc/template-tags.php:170 279 | #@ _s 280 | msgctxt "post format archive title" 281 | msgid "Audio" 282 | msgstr "" 283 | 284 | #: inc/template-tags.php:172 285 | #@ _s 286 | msgctxt "post format archive title" 287 | msgid "Chats" 288 | msgstr "" 289 | 290 | #: inc/template-tags.php:175 291 | #, php-format 292 | #@ _s 293 | msgid "Archives: %s" 294 | msgstr "" 295 | 296 | #. translators: 1: Taxonomy singular name, 2: Current taxonomy term 297 | #: inc/template-tags.php:179 298 | #, php-format 299 | #@ _s 300 | msgid "%1$s: %2$s" 301 | msgstr "" 302 | 303 | #: inc/template-tags.php:181 304 | #@ _s 305 | msgid "Archives" 306 | msgstr "" 307 | 308 | #: search.php:16 309 | #, php-format 310 | #@ _s 311 | msgid "Search Results for: %s" 312 | msgstr "" 313 | 314 | #: template-parts/content-none.php:14 315 | #@ _s 316 | msgid "Nothing Found" 317 | msgstr "" 318 | 319 | #: template-parts/content-none.php:20 320 | #, php-format 321 | #@ _s 322 | msgid "Ready to publish your first post? Get started here." 323 | msgstr "" 324 | 325 | #: template-parts/content-none.php:24 326 | #@ _s 327 | msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords." 328 | msgstr "" 329 | 330 | #: template-parts/content-none.php:29 331 | #@ _s 332 | msgid "It seems we can’t find what you’re looking for. Perhaps searching can help." 333 | msgstr "" 334 | 335 | #: template-parts/content-page.php:19 336 | #: template-parts/content-single.php:23 337 | #: template-parts/content.php:32 338 | #@ _s 339 | msgid "Pages:" 340 | msgstr "" 341 | 342 | #. translators: %s: Name of current post 343 | #: template-parts/content.php:25 344 | #, php-format 345 | #@ _s 346 | msgid "Continue reading %s " 347 | msgstr "" 348 | -------------------------------------------------------------------------------- /languages/readme.txt: -------------------------------------------------------------------------------- 1 | Place your theme language files in this directory. 2 | 3 | Please visit the following links to learn more about translating WordPress themes: 4 | 5 | https://make.wordpress.org/polyglots/teams/ 6 | https://developer.wordpress.org/themes/functionality/localization/ 7 | https://developer.wordpress.org/reference/functions/load_theme_textdomain/ 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hooch", 3 | "version": "1.0.0", 4 | "main": "gulpfile.js", 5 | "author": "Brad Williams", 6 | "devDependencies": { 7 | "gulp": "^3.9.1", 8 | "gulp-autoprefixer": "^3.1.0", 9 | "gulp-bower": "0.0.13", 10 | "gulp-imagemin": "^3.0.1", 11 | "gulp-include": "^2.2.1", 12 | "gulp-jshint": "^2.0.1", 13 | "gulp-livereload": "^3.8.1", 14 | "gulp-minify-css": "^1.2.4", 15 | "gulp-notify": "^2.2.0", 16 | "gulp-plumber": "^1.1.0", 17 | "gulp-rename": "^1.2.2", 18 | "gulp-sass": "^2.3.1", 19 | "gulp-uglify": "^1.5.3", 20 | "gulp-watch": "^4.3.6", 21 | "gulp-zip": "^3.2.0", 22 | "jshint": "^2.9.2", 23 | "jshint-stylish": "^2.2.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /page.php: -------------------------------------------------------------------------------- 1 | 16 | 17 |
    18 |
    19 |
    20 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 |
    35 |
    36 | 37 | 38 | 39 |
    40 | 41 | 42 | -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | === Hooch === 2 | 3 | Contributors: automattic 4 | Tags: translation-ready, custom-background, theme-options, custom-menu, post-formats, threaded-comments 5 | 6 | Requires at least: 4.0 7 | Tested up to: 4.2.2 8 | Stable tag: 1.0.0 9 | License: GPLv2 or later 10 | License URI: http://www.gnu.org/licenses/gpl-2.0.html 11 | 12 | A starter theme called Hooch, or underscores. 13 | 14 | == Description == 15 | 16 | Hi. I'm a starter theme called Hooch, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for. 17 | 18 | == Installation == 19 | 20 | 1. In your admin panel, go to Appearance > Themes and click the Add New button. 21 | 2. Click Upload and Choose File, then select the theme's .zip file. Click Install Now. 22 | 3. Click Activate to use your new theme right away. 23 | 24 | == Frequently Asked Questions == 25 | 26 | = Does this theme support any plugins? = 27 | 28 | Hooch includes support for Infinite Scroll in Jetpack. 29 | 30 | == Changelog == 31 | 32 | = 1.0 - May 12 2015 = 33 | * Initial release 34 | 35 | == Credits == 36 | 37 | * Based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html) 38 | * normalize.css http://necolas.github.io/normalize.css/, (C) 2012-2015 Nicolas Gallagher and Jonathan Neal, [MIT](http://opensource.org/licenses/MIT) 39 | -------------------------------------------------------------------------------- /rtl.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: Hooch 3 | 4 | Adding support for language written in a Right To Left (RTL) direction is easy - 5 | it's just a matter of overwriting all the horizontal positioning attributes 6 | of your CSS stylesheet in a separate stylesheet file named rtl.css. 7 | 8 | http://codex.wordpress.org/Right_to_Left_Language_Support 9 | 10 | */ 11 | 12 | /* 13 | body { 14 | direction: rtl; 15 | unicode-bidi: embed; 16 | } 17 | */ -------------------------------------------------------------------------------- /sass/_normalize.scss: -------------------------------------------------------------------------------- 1 | html { 2 | font-family: sans-serif; 3 | -webkit-text-size-adjust: 100%; 4 | -ms-text-size-adjust: 100%; 5 | } 6 | 7 | body { 8 | margin: 0; 9 | } 10 | 11 | article, 12 | aside, 13 | details, 14 | figcaption, 15 | figure, 16 | footer, 17 | header, 18 | main, 19 | menu, 20 | nav, 21 | section, 22 | summary { 23 | display: block; 24 | } 25 | 26 | audio, 27 | canvas, 28 | progress, 29 | video { 30 | display: inline-block; 31 | vertical-align: baseline; 32 | } 33 | 34 | audio:not([controls]) { 35 | display: none; 36 | height: 0; 37 | } 38 | 39 | [hidden], 40 | template { 41 | display: none; 42 | } 43 | 44 | a { 45 | background-color: transparent; 46 | } 47 | 48 | a:active, 49 | a:hover { 50 | outline: 0; 51 | } 52 | 53 | abbr[title] { 54 | border-bottom: 1px dotted; 55 | } 56 | 57 | b, 58 | strong { 59 | font-weight: bold; 60 | } 61 | 62 | dfn { 63 | font-style: italic; 64 | } 65 | 66 | h1 { 67 | font-size: 2em; 68 | margin: 0.67em 0; 69 | } 70 | 71 | mark { 72 | background: #ff0; 73 | color: #000; 74 | } 75 | 76 | small { 77 | font-size: 80%; 78 | } 79 | 80 | sub, 81 | sup { 82 | font-size: 75%; 83 | line-height: 0; 84 | position: relative; 85 | vertical-align: baseline; 86 | } 87 | 88 | sup { 89 | top: -0.5em; 90 | } 91 | 92 | sub { 93 | bottom: -0.25em; 94 | } 95 | 96 | img { 97 | border: 0; 98 | } 99 | 100 | svg:not(:root) { 101 | overflow: hidden; 102 | } 103 | 104 | figure { 105 | margin: 1em 40px; 106 | } 107 | 108 | hr { 109 | box-sizing: content-box; 110 | height: 0; 111 | } 112 | 113 | pre { 114 | overflow: auto; 115 | } 116 | 117 | code, 118 | kbd, 119 | pre, 120 | samp { 121 | font-family: monospace, monospace; 122 | font-size: 1em; 123 | } 124 | 125 | button, 126 | input, 127 | optgroup, 128 | select, 129 | textarea { 130 | color: inherit; 131 | font: inherit; 132 | margin: 0; 133 | } 134 | 135 | button { 136 | overflow: visible; 137 | } 138 | 139 | button, 140 | select { 141 | text-transform: none; 142 | } 143 | 144 | button, 145 | html input[type="button"], 146 | input[type="reset"], 147 | input[type="submit"] { 148 | -webkit-appearance: button; 149 | cursor: pointer; 150 | } 151 | 152 | button[disabled], 153 | html input[disabled] { 154 | cursor: default; 155 | } 156 | 157 | button::-moz-focus-inner, 158 | input::-moz-focus-inner { 159 | border: 0; 160 | padding: 0; 161 | } 162 | 163 | input { 164 | line-height: normal; 165 | } 166 | 167 | input[type="checkbox"], 168 | input[type="radio"] { 169 | box-sizing: border-box; 170 | padding: 0; 171 | } 172 | 173 | input[type="number"]::-webkit-inner-spin-button, 174 | input[type="number"]::-webkit-outer-spin-button { 175 | height: auto; 176 | } 177 | 178 | input[type="search"] { 179 | -webkit-appearance: textfield; 180 | box-sizing: content-box; 181 | } 182 | 183 | input[type="search"]::-webkit-search-cancel-button, 184 | input[type="search"]::-webkit-search-decoration { 185 | -webkit-appearance: none; 186 | } 187 | 188 | fieldset { 189 | border: 1px solid #c0c0c0; 190 | margin: 0 2px; 191 | padding: 0.35em 0.625em 0.75em; 192 | } 193 | 194 | legend { 195 | border: 0; 196 | padding: 0; 197 | } 198 | 199 | textarea { 200 | overflow: auto; 201 | } 202 | 203 | optgroup { 204 | font-weight: bold; 205 | } 206 | 207 | table { 208 | border-collapse: collapse; 209 | border-spacing: 0; 210 | } 211 | 212 | td, 213 | th { 214 | padding: 0; 215 | } 216 | -------------------------------------------------------------------------------- /sass/layout/_content-sidebar.scss: -------------------------------------------------------------------------------- 1 | .wrap { 2 | @include outer-container; 3 | @include padding(40px null 40px null); 4 | 5 | .content-area { 6 | @include span-columns(9); 7 | 8 | @include media($largedesktop) { 9 | @include padding(null 20px); 10 | } 11 | 12 | @include media($tablet) { 13 | @include span-columns(6); 14 | } 15 | } 16 | 17 | .content-home { 18 | @include span-columns(12); 19 | 20 | @include media($largedesktop) { 21 | @include padding(null 20px); 22 | } 23 | } 24 | 25 | .widget-area { 26 | @include span-columns(3); 27 | 28 | @include media($largedesktop) { 29 | @include padding(null 20px); 30 | } 31 | 32 | @include media($tablet) { 33 | @include span-columns(6); 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /sass/media/_captions.scss: -------------------------------------------------------------------------------- 1 | .wp-caption { 2 | margin-bottom: 1.5em; 3 | max-width: 100%; 4 | 5 | img[class*="wp-image-"] { 6 | @include center-block; 7 | } 8 | 9 | .wp-caption-text { 10 | margin: 0.8075em 0; 11 | } 12 | } 13 | 14 | .wp-caption-text { 15 | text-align: center; 16 | } 17 | -------------------------------------------------------------------------------- /sass/media/_galleries.scss: -------------------------------------------------------------------------------- 1 | .gallery { 2 | margin-bottom: 1.5em; 3 | } 4 | 5 | .gallery-item { 6 | display: inline-block; 7 | text-align: center; 8 | vertical-align: top; 9 | width: 100%; 10 | 11 | .gallery-columns-2 & { 12 | max-width: 50%; 13 | } 14 | 15 | .gallery-columns-3 & { 16 | max-width: 33.33%; 17 | } 18 | 19 | .gallery-columns-4 & { 20 | max-width: 25%; 21 | } 22 | 23 | .gallery-columns-5 & { 24 | max-width: 20%; 25 | } 26 | 27 | .gallery-columns-6 & { 28 | max-width: 16.66%; 29 | } 30 | 31 | .gallery-columns-7 & { 32 | max-width: 14.28%; 33 | } 34 | 35 | .gallery-columns-8 & { 36 | max-width: 12.5%; 37 | } 38 | 39 | .gallery-columns-9 & { 40 | max-width: 11.11%; 41 | } 42 | } 43 | 44 | .gallery-caption { 45 | display: block; 46 | } -------------------------------------------------------------------------------- /sass/media/_media.scss: -------------------------------------------------------------------------------- 1 | .page-content .wp-smiley, 2 | .entry-content .wp-smiley, 3 | .comment-content .wp-smiley { 4 | border: none; 5 | margin-bottom: 0; 6 | margin-top: 0; 7 | padding: 0; 8 | } 9 | 10 | /* Make sure embeds and iframes fit their containers. */ 11 | embed, 12 | iframe, 13 | object { 14 | max-width: 100%; 15 | } 16 | 17 | /*-------------------------------------------------------------- 18 | ## Captions 19 | --------------------------------------------------------------*/ 20 | @import "captions"; 21 | 22 | /*-------------------------------------------------------------- 23 | ## Galleries 24 | --------------------------------------------------------------*/ 25 | @import "galleries"; -------------------------------------------------------------------------------- /sass/mixins/_mixins-master.scss: -------------------------------------------------------------------------------- 1 | // Rem output with px fallback 2 | @mixin font-size($sizeValue: 1) { 3 | font-size: ($sizeValue * 16) * 1px; 4 | font-size: $sizeValue * 1rem; 5 | } 6 | 7 | // Center block 8 | @mixin center-block { 9 | display: block; 10 | margin-left: auto; 11 | margin-right: auto; 12 | } 13 | 14 | // Clearfix 15 | @mixin clearfix() { 16 | content: ""; 17 | display: table; 18 | } 19 | 20 | // Clear after (not all clearfix need this also) 21 | @mixin clearfix-after() { 22 | clear: both; 23 | } 24 | -------------------------------------------------------------------------------- /sass/modules/_accessibility.scss: -------------------------------------------------------------------------------- 1 | /* Text meant only for screen readers. */ 2 | .screen-reader-text { 3 | clip: rect(1px, 1px, 1px, 1px); 4 | position: absolute !important; 5 | height: 1px; 6 | width: 1px; 7 | overflow: hidden; 8 | 9 | &:focus { 10 | background-color: $color__background-screen; 11 | border-radius: 3px; 12 | box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); 13 | clip: auto !important; 14 | color: $color__text-screen; 15 | display: block; 16 | @include font-size(0.875); 17 | font-weight: bold; 18 | height: auto; 19 | left: 5px; 20 | line-height: normal; 21 | padding: 15px 23px 14px; 22 | text-decoration: none; 23 | top: 5px; 24 | width: auto; 25 | z-index: 100000; /* Above WP toolbar. */ 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /sass/modules/_alignments.scss: -------------------------------------------------------------------------------- 1 | .alignleft { 2 | display: inline; 3 | float: left; 4 | margin-right: 1.5em; 5 | } 6 | 7 | .alignright { 8 | display: inline; 9 | float: right; 10 | margin-left: 1.5em; 11 | } 12 | 13 | .aligncenter { 14 | clear: both; 15 | @include center-block; 16 | } 17 | -------------------------------------------------------------------------------- /sass/modules/_clearings.scss: -------------------------------------------------------------------------------- 1 | .clear:before, 2 | .clear:after, 3 | .entry-content:before, 4 | .entry-content:after, 5 | .comment-content:before, 6 | .comment-content:after, 7 | .site-header:before, 8 | .site-header:after, 9 | .site-content:before, 10 | .site-content:after, 11 | .site-footer:before, 12 | .site-footer:after { 13 | @include clearfix; 14 | } 15 | 16 | .clear:after, 17 | .entry-content:after, 18 | .comment-content:after, 19 | .site-header:after, 20 | .site-content:after, 21 | .site-footer:after { 22 | @include clearfix-after; 23 | } -------------------------------------------------------------------------------- /sass/site/_site.scss: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | ## Navigation 3 | --------------------------------------------------------------*/ 4 | @import "partials/navigation"; 5 | 6 | /*-------------------------------------------------------------- 7 | ## Posts and pages 8 | --------------------------------------------------------------*/ 9 | @import "partials/posts-and-pages"; 10 | 11 | /*-------------------------------------------------------------- 12 | ## Asides 13 | --------------------------------------------------------------*/ 14 | @import "partials/asides"; 15 | 16 | /*-------------------------------------------------------------- 17 | ## Comments 18 | --------------------------------------------------------------*/ 19 | @import "partials/comments"; 20 | 21 | /*-------------------------------------------------------------- 22 | ## Pagination 23 | --------------------------------------------------------------*/ 24 | @import "partials/pagination"; 25 | 26 | /*-------------------------------------------------------------- 27 | ## Widgets 28 | --------------------------------------------------------------*/ 29 | @import "partials/widgets"; 30 | 31 | /*-------------------------------------------------------------- 32 | ## Footer 33 | --------------------------------------------------------------*/ 34 | @import "partials/footer"; 35 | 36 | /*-------------------------------------------------------------- 37 | ## Homepage 38 | --------------------------------------------------------------*/ 39 | @import "partials/homepage"; -------------------------------------------------------------------------------- /sass/site/partials/_asides.scss: -------------------------------------------------------------------------------- 1 | .blog .format-aside .entry-title, 2 | .archive .format-aside .entry-title { 3 | display: none; 4 | } -------------------------------------------------------------------------------- /sass/site/partials/_comments.scss: -------------------------------------------------------------------------------- 1 | .comments-area { 2 | -ms-word-wrap: break-word; 3 | word-wrap: break-word; 4 | } 5 | 6 | .comment-content a { 7 | word-wrap: break-word; 8 | } 9 | .bypostauthor { 10 | display: block; 11 | } 12 | 13 | .comment { 14 | $comment-gutter: 1.4em; 15 | $comment-image-padding: 0.7em; 16 | $comment-image-width: 4em; 17 | $comment-color: $base-font-color; 18 | $comment-detail-color: transparentize($comment-color, 0.5); 19 | $comment-image-vert-alignment: top; 20 | 21 | border-bottom: 1px solid transparentize($comment-color, 0.9); 22 | display: table; 23 | margin-bottom: $base-spacing; 24 | padding-bottom: 1em; 25 | width: 100%; 26 | 27 | .comment-author, 28 | .comment-details { 29 | display: table-cell; 30 | vertical-align: $comment-image-vert-alignment; 31 | } 32 | 33 | .comment-author { 34 | padding-right: $comment-gutter; 35 | width: 10%; 36 | 37 | > img { 38 | border-radius: $base-border-radius; 39 | display: block; 40 | height: auto; 41 | max-width: none; 42 | width: $comment-image-width; 43 | } 44 | 45 | .comment-reverse-order & { 46 | padding-right: 0; 47 | padding-left: 10px; 48 | } 49 | } 50 | 51 | .comment-content { 52 | width: 100%; 53 | 54 | h1 { 55 | font-size: 1em; 56 | margin: 0 0 0.5em 0; 57 | } 58 | 59 | p { 60 | line-height: 1.5em; 61 | margin-bottom: 0.5em; 62 | } 63 | 64 | p.comment-detail { 65 | color: $comment-detail-color; 66 | font-size: 0.9em; 67 | font-style: italic; 68 | } 69 | } 70 | } 71 | 72 | 73 | -------------------------------------------------------------------------------- /sass/site/partials/_footer.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | 3 | background: $footer-background; 4 | padding: ($base-spacing * 2) $gutter; 5 | width: 100%; 6 | @include margin(40px null null null); 7 | 8 | .footer-logo { 9 | margin-bottom: 2em; 10 | text-align: center; 11 | 12 | img { 13 | height: 3em; 14 | } 15 | } 16 | 17 | .footer-links { 18 | @include outer-container; 19 | 20 | .footer-widget { 21 | @include span-columns(3); 22 | 23 | @include media($tablet) { 24 | @include span-columns(6); 25 | } 26 | 27 | @include media($mobile) { 28 | @include span-columns(4); 29 | } 30 | } 31 | } 32 | 33 | h3 { 34 | color: $footer-color; 35 | } 36 | 37 | p, 38 | .textwidget, 39 | .tagcloud a { 40 | color: $footer-link-color; 41 | 42 | &:focus, 43 | &:hover { 44 | color: transparentize($footer-color, 0); 45 | } 46 | 47 | } 48 | 49 | ul { 50 | margin-bottom: $base-spacing * 2; 51 | padding: 0; 52 | } 53 | 54 | li { 55 | line-height: 1.5em; 56 | list-style: none; 57 | text-align: center; 58 | 59 | @include media($medium-screen) { 60 | text-align: left; 61 | } 62 | } 63 | 64 | li a { 65 | color: $footer-link-color; 66 | text-decoration: none; 67 | 68 | &:focus, 69 | &:hover { 70 | color: transparentize($footer-color, 0); 71 | } 72 | } 73 | 74 | li h3 { 75 | color: $footer-color; 76 | font-size: 1em; 77 | margin-bottom: 0.4em; 78 | } 79 | 80 | hr { 81 | border: 1px solid transparentize($footer-disclaimer-color, 0.3); 82 | margin: 0 auto $base-spacing; 83 | width: 12em; 84 | } 85 | 86 | p { 87 | color: $footer-disclaimer-color; 88 | font-size: 0.9em; 89 | line-height: 1.5em; 90 | margin: auto; 91 | max-width: 35em; 92 | text-align: center; 93 | 94 | a { 95 | color: $footer-disclaimer-color; 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /sass/site/partials/_homepage.scss: -------------------------------------------------------------------------------- 1 | .page-template-template-homepage { 2 | .wrap { 3 | padding-bottom: 0; 4 | } 5 | } 6 | 7 | .hero { 8 | background-color: #324766; 9 | background-position: center; 10 | background-repeat: no-repeat; 11 | background-size: cover; 12 | padding-bottom: 3em; 13 | 14 | .hero-logo img { 15 | height: 4em; 16 | margin-bottom: 1em; 17 | } 18 | 19 | .hero-inner { 20 | @include outer-container; 21 | @include clearfix; 22 | margin: auto; 23 | padding: 3.5em; 24 | text-align: center; 25 | 26 | .hero-copy { 27 | text-align: center; 28 | 29 | h1 { 30 | color: $hero-color; 31 | font-size: 1.6em; 32 | margin-bottom: 0.5em; 33 | 34 | @include media($large-screen) { 35 | font-size: 1.8em; 36 | } 37 | } 38 | 39 | p { 40 | color: $hero-color; 41 | line-height: 1.4em; 42 | margin: 0 auto 3em auto; 43 | 44 | @include media($large-screen) { 45 | font-size: 1.1em; 46 | max-width: 40%; 47 | } 48 | } 49 | } 50 | } 51 | } 52 | 53 | .bullets { 54 | 55 | @include display(flex); 56 | @include flex-wrap(wrap); 57 | margin-bottom: $base-line-height; 58 | margin: 1em; 59 | overflow: auto; 60 | padding: 0; 61 | font-family: $serif; 62 | 63 | .bullet { 64 | @include flex-basis(20em); 65 | @include flex-grow(1); 66 | } 67 | 68 | .bullet-icon { 69 | background: $action-color; 70 | border-radius: 50%; 71 | float: left; 72 | height: $icon-bullet-size; 73 | padding: $icon-bullet-size / 4; 74 | width: $icon-bullet-size; 75 | } 76 | 77 | .bullet-icon-1 { 78 | background: $action-color; 79 | } 80 | 81 | .bullet-icon-2 { 82 | background: adjust-hue($action-color, -50%); 83 | } 84 | 85 | .bullet-icon-3 { 86 | background: adjust-hue($action-color, -140%); 87 | } 88 | 89 | .bullet-content { 90 | margin-left: $icon-bullet-size * 1.4; 91 | margin-bottom: 2em; 92 | } 93 | 94 | h2 { 95 | border-bottom: 1px solid transparentize($base-font-color, 0.8); 96 | display: inline-block; 97 | font-size: $icon-bullet-size / 2.5; 98 | margin: 0 0 ($icon-bullet-size / 6) 0; 99 | padding-top: $icon-bullet-size / 7; 100 | font-family: $sans-serif; 101 | } 102 | 103 | li { 104 | list-style: none; 105 | } 106 | 107 | p { 108 | color: $base-font-color; 109 | line-height: $base-line-height; 110 | } 111 | 112 | img { 113 | max-width: 100%; 114 | } 115 | } 116 | 117 | -------------------------------------------------------------------------------- /sass/site/partials/_navigation.scss: -------------------------------------------------------------------------------- 1 | header.navigation { 2 | $base-border-color: gainsboro !default; 3 | $base-border-radius: 3px !default; 4 | $action-color: #477DCA !default; 5 | $dark-gray: #333 !default; 6 | $large-screen: em(860) !default; 7 | $navigation-padding: 1em; 8 | $navigation-background: $dark-gray; 9 | $navigation-color: transparentize(white, 0.3); 10 | $navigation-color-hover: white; 11 | $navigation-height: 60px; 12 | $navigation-nav-button-background: $action-color; 13 | $navigation-nav-button-background-hover: lighten($navigation-background, 10%); 14 | $navigation-nav-button-border: 1px solid lighten($navigation-nav-button-background, 20%); 15 | $navigation-search-background: lighten($navigation-background, 5); 16 | $navigation-search-border: 1px solid darken($navigation-background, 5); 17 | $navigation-active-link-color: transparentize(white, 0.5); 18 | $navigation-submenu-padding: 1em; 19 | $navigation-submenu-width: 12em; 20 | $horizontal-bar-mode: $large-screen; 21 | 22 | background-color: $navigation-background; 23 | border-bottom: 1px solid darken($navigation-background, 10); 24 | min-height: $navigation-height; 25 | width: 100%; 26 | z-index: 999; 27 | 28 | .navigation-wrapper { 29 | @include clearfix; 30 | @include outer-container; 31 | position: relative; 32 | z-index: 9999; 33 | } 34 | 35 | .logo { 36 | float: left; 37 | max-height: $navigation-height; 38 | padding-left: $navigation-padding; 39 | padding-right: 2em; 40 | 41 | img { 42 | max-height: $navigation-height; 43 | padding: 0.8em 0; 44 | } 45 | } 46 | 47 | // Mobile view 48 | 49 | .navigation-menu-button { 50 | color: $navigation-color; 51 | display: block; 52 | float: right; 53 | line-height: $navigation-height; 54 | margin: 0; 55 | padding-right: 1em; 56 | text-decoration: none; 57 | text-transform: uppercase; 58 | 59 | @include media ($horizontal-bar-mode) { 60 | display: none; 61 | } 62 | 63 | &:focus, 64 | &:hover { 65 | color: $navigation-color-hover; 66 | } 67 | } 68 | 69 | // Nav menu 70 | 71 | nav { 72 | float: none; 73 | min-height: $navigation-height; 74 | z-index: 9999999; 75 | 76 | @include media ($horizontal-bar-mode) { 77 | float: left; 78 | } 79 | } 80 | 81 | ul.navigation-menu { 82 | -webkit-transform-style: preserve-3d; // stop webkit flicker 83 | clear: both; 84 | display: none; 85 | margin: 0 auto; 86 | overflow: visible; 87 | padding: 0; 88 | width: 100%; 89 | z-index: 9999; 90 | 91 | &.show { 92 | display: block; 93 | } 94 | 95 | @include media ($horizontal-bar-mode) { 96 | display: inline; 97 | margin: 0; 98 | padding: 0; 99 | } 100 | } 101 | 102 | // The nav items 103 | 104 | ul li.menu-item { 105 | background: $navigation-background; 106 | display: block; 107 | line-height: $navigation-height; 108 | overflow: hidden; 109 | padding-right: 0.8em; 110 | text-align: right; 111 | width: 100%; 112 | z-index: 9999; 113 | 114 | @include media ($horizontal-bar-mode) { 115 | background: transparent; 116 | display: inline; 117 | line-height: $navigation-height; 118 | text-decoration: none; 119 | width: auto; 120 | } 121 | 122 | a { 123 | color: $navigation-color; 124 | display: inline-block; 125 | text-decoration: none; 126 | 127 | @include media ($horizontal-bar-mode) { 128 | padding-right: 1em; 129 | } 130 | 131 | &:focus, 132 | &:hover { 133 | color: $navigation-color-hover; 134 | } 135 | } 136 | 137 | &.current_page_item a { 138 | color: $navigation-color-hover; 139 | } 140 | } 141 | 142 | 143 | 144 | // Sub menus 145 | 146 | li.menu-item-has-children.menu-item { 147 | padding-right: 0; 148 | 149 | @include media($horizontal-bar-mode) { 150 | padding-right: $navigation-submenu-padding; 151 | } 152 | 153 | > ul > li:first-child a { 154 | padding-top: 1em; 155 | } 156 | 157 | a { 158 | margin-right: $navigation-submenu-padding; 159 | } 160 | 161 | > a { 162 | padding-right: 0.6em; 163 | } 164 | 165 | > a:after { 166 | @include position(absolute, auto -0.4em auto auto); 167 | content: '\25BE'; 168 | color: $navigation-color; 169 | } 170 | } 171 | 172 | li.menu-item-has-children.menu-item { 173 | .sub-menu { 174 | .menu-item-has-children { 175 | overflow: visible; 176 | padding-right: 0; 177 | 178 | a { 179 | padding-right: 0.8em; 180 | } 181 | 182 | > a { 183 | padding-right: 1.6em; 184 | position: relative; 185 | 186 | @include media($horizontal-bar-mode) { 187 | margin-right: $navigation-submenu-padding; 188 | } 189 | 190 | &:after { 191 | content: '›'; 192 | font-size: 1.2em; 193 | position: absolute; 194 | right: $navigation-submenu-padding / 2; 195 | } 196 | } 197 | } 198 | } 199 | } 200 | 201 | li.menu-item-has-children { 202 | overflow: visible; 203 | padding-right: 0; 204 | 205 | a { 206 | padding-right: 0.8em; 207 | } 208 | 209 | > a { 210 | padding-right: 1.6em; 211 | position: relative; 212 | 213 | @include media($horizontal-bar-mode) { 214 | margin-right: $navigation-submenu-padding; 215 | } 216 | 217 | &:after { 218 | content: '›'; 219 | font-size: 1.2em; 220 | position: absolute; 221 | right: $navigation-submenu-padding / 2; 222 | } 223 | } 224 | 225 | &:focus > .sub-menu, 226 | &:hover > .sub-menu { 227 | display: block; 228 | } 229 | 230 | @include media($horizontal-bar-mode) { 231 | padding-right: 0.8em; 232 | position: relative; 233 | } 234 | } 235 | 236 | ul.sub-menu { 237 | display: none; 238 | padding-left: 0; 239 | 240 | @include media($horizontal-bar-mode) { 241 | left: -$navigation-submenu-padding; 242 | position: absolute; 243 | top: 1.5em; 244 | } 245 | 246 | .sub-menu { 247 | @include media($horizontal-bar-mode) { 248 | left: $navigation-submenu-width - 0.2em; 249 | top: 0; 250 | } 251 | } 252 | 253 | li { 254 | display: block; 255 | padding-right: 0; 256 | 257 | @include media($horizontal-bar-mode) { 258 | line-height: $navigation-height / 1.3; 259 | 260 | &:first-child > a { 261 | border-top-left-radius: $base-border-radius; 262 | border-top-right-radius: $base-border-radius; 263 | } 264 | 265 | &:last-child > a { 266 | border-bottom-left-radius: $base-border-radius; 267 | border-bottom-right-radius: $base-border-radius; 268 | padding-bottom: 0.7em; 269 | } 270 | } 271 | 272 | a { 273 | background-color: darken($navigation-background, 3%); 274 | display: inline-block; 275 | text-align: right; 276 | width: 100%; 277 | 278 | @include media($horizontal-bar-mode) { 279 | background-color: $navigation-background; 280 | padding-left: $navigation-submenu-padding; 281 | text-align: left; 282 | width: $navigation-submenu-width; 283 | } 284 | } 285 | } 286 | } 287 | 288 | // Elements on the far right 289 | 290 | .navigation-tools { 291 | background: #505050; 292 | clear: both; 293 | display: block; 294 | height: $navigation-height; 295 | 296 | @include media($horizontal-bar-mode) { 297 | background: transparent; 298 | clear: none; 299 | float: right; 300 | } 301 | } 302 | 303 | // Search bar 304 | 305 | .search-bar { 306 | $search-bar-border-color: $base-border-color; 307 | $search-bar-border: 1px solid $search-bar-border-color; 308 | $search-bar-background: lighten($search-bar-border-color, 10%); 309 | 310 | float: left; 311 | padding: 0.85em 0.85em 0.7em 0.6em; 312 | width: 60%; 313 | 314 | form { 315 | position: relative; 316 | 317 | input[type=search] { 318 | box-sizing: border-box; 319 | background: $navigation-search-background; 320 | border-radius: $base-border-radius * 2; 321 | border: $navigation-search-border; 322 | color: $navigation-color; 323 | font-size: 0.9em; 324 | font-style: italic; 325 | margin: 0; 326 | padding: 0.5em 0.8em; 327 | width: 100%; 328 | 329 | @include media($horizontal-bar-mode) { 330 | width: 100%; 331 | } 332 | } 333 | 334 | button[type=submit] { 335 | background: $navigation-search-background; 336 | border: none; 337 | bottom: 0.3em; 338 | left: auto; 339 | outline: none; 340 | padding: 0 9px; 341 | position: absolute; 342 | right: 0.3em; 343 | top: 0.3em; 344 | 345 | img { 346 | height: 12px; 347 | opacity: 0.7; 348 | padding: 1px; 349 | } 350 | } 351 | } 352 | 353 | @include media($horizontal-bar-mode) { 354 | display: inline-block; 355 | position: relative; 356 | width: 16em; 357 | 358 | input { 359 | box-sizing: border-box; 360 | display: block; 361 | } 362 | } 363 | } 364 | } 365 | -------------------------------------------------------------------------------- /sass/site/partials/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | $base-border-color: gainsboro !default; 3 | $base-border-radius: 3px !default; 4 | $base-spacing: 1.5em !default; 5 | $action-color: #477DCA !default; 6 | $dark-gray: #333 !default; 7 | $large-screen: em(860) !default; 8 | $base-font-color: $dark-gray !default; 9 | $pagination-border-color: $base-border-color; 10 | $pagination-border: 1px solid $pagination-border-color; 11 | $pagination-background: lighten($pagination-border-color, 10); 12 | $pagination-hover-background: lighten($pagination-background, 5); 13 | $pagination-color: $base-font-color; 14 | @include margin(40px null null null); 15 | 16 | text-align: center; 17 | 18 | ul { 19 | display: inline; 20 | margin: 0; 21 | padding: 0; 22 | text-align: center; 23 | 24 | li { 25 | display: inline-block; 26 | list-style: none; 27 | padding-bottom: 20px; 28 | 29 | &.active { 30 | a { 31 | background: $pagination-hover-background; 32 | color: $action-color; 33 | } 34 | } 35 | } 36 | 37 | ul li { 38 | display: none; 39 | 40 | &:nth-child(1), 41 | &:nth-child(2), 42 | &:nth-child(3) { 43 | display: inline; 44 | } 45 | 46 | @include media($large-screen) { 47 | display: inline; 48 | } 49 | } 50 | 51 | li a { 52 | @include transition (all 0.2s ease-in-out); 53 | background: $pagination-background; 54 | border-radius: $base-border-radius; 55 | border: $pagination-border; 56 | color: $pagination-color; 57 | outline: none; 58 | padding: ($base-spacing / 4) ($gutter / 2); 59 | text-decoration: none; 60 | 61 | &:hover, 62 | &:focus { 63 | background: $pagination-hover-background; 64 | color: $action-color; 65 | } 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /sass/site/partials/_posts-and-pages.scss: -------------------------------------------------------------------------------- 1 | .sticky { 2 | display: block; 3 | } 4 | 5 | .hentry { 6 | margin: 0 0 1.5em; 7 | } 8 | 9 | .byline, 10 | .updated:not(.published){ 11 | display: none; 12 | } 13 | 14 | .single .byline, 15 | .group-blog .byline { 16 | display: inline; 17 | } 18 | 19 | .page-content, 20 | .entry-content, 21 | .entry-summary { 22 | margin: 1.5em 0 0; 23 | } 24 | 25 | .page-links { 26 | clear: both; 27 | margin: 0 0 1.5em; 28 | } 29 | 30 | article { 31 | -ms-word-wrap: break-word; 32 | word-wrap: break-word; 33 | 34 | .entry-content { 35 | margin-top: 0; 36 | 37 | figure { 38 | width: auto !important; 39 | } 40 | 41 | img { 42 | height: auto; 43 | } 44 | } 45 | 46 | @include clearfix; 47 | font-family: $sans-serif; 48 | text-align: left; 49 | 50 | h1, h2, h3, p { 51 | margin: 0; 52 | } 53 | 54 | hr { 55 | border-bottom: 1px solid $light-gray; 56 | border-left: none; 57 | border-right: none; 58 | border-top: none; 59 | margin: $base-spacing 0; 60 | } 61 | 62 | p { 63 | color: $base-font-color; 64 | line-height: $base-line-height; 65 | } 66 | 67 | a { 68 | color: $action-color; 69 | text-decoration: none; 70 | } 71 | 72 | .type { 73 | border-bottom: 1px solid; 74 | display: inline-block; 75 | font-family: $sans-serif; 76 | font-size: 0.7em; 77 | font-weight: 800; 78 | margin-bottom: 2em; 79 | padding: 0.3em 0; 80 | text-align: left; 81 | text-transform: uppercase; 82 | } 83 | 84 | h1 { 85 | font-family: $serif; 86 | font-size: 1.8em; 87 | font-weight: 700; 88 | margin-bottom: 0.5em; 89 | 90 | @include media($tablet-size) { 91 | font-size: 2.6em; 92 | } 93 | 94 | a { 95 | color: $base-font-color; 96 | } 97 | } 98 | 99 | h2 { 100 | font-family: $serif; 101 | font-size: 1.2em; 102 | font-style: italic; 103 | font-weight: 400; 104 | line-height: 1.4em; 105 | margin-bottom: 1.1em; 106 | 107 | @include media($tablet-size) { 108 | font-size: 1.3em; 109 | } 110 | } 111 | 112 | code { 113 | background: #F7F7F7; 114 | border-radius: $base-border-radius * 1.5; 115 | border: 1px solid #E0E0E0; 116 | font-size: 0.7em; 117 | font-style: normal; 118 | padding: 0.1em 0.4em; 119 | white-space: nowrap; 120 | } 121 | 122 | h3 { 123 | font-family: $serif; 124 | font-size: 1.4em; 125 | font-weight: 400; 126 | line-height: 1.3em; 127 | margin-bottom: 0.4em; 128 | } 129 | 130 | .entry-meta { 131 | color: transparentize($base-font-color, 0.6); 132 | font-family: $serif; 133 | font-size: 0.9em; 134 | font-style: italic; 135 | margin-bottom: 0.3em; 136 | 137 | a { 138 | @extend .entry-meta; 139 | } 140 | } 141 | 142 | p { 143 | font-family: $sans-serif; 144 | font-size: 1.05em; 145 | line-height: 1.5em; 146 | margin-bottom: 1.5em; 147 | } 148 | 149 | a.more-link { 150 | display: inline-block; 151 | font-family: $sans-serif; 152 | font-size: 0.8em; 153 | font-weight: 700; 154 | margin-left: 0.2em; 155 | position: relative; 156 | text-transform: uppercase; 157 | 158 | span { 159 | font-family: $sans-serif; 160 | font-size: 1.5em; 161 | font-style: normal; 162 | position: absolute; 163 | right: -12px; 164 | top: -1px; 165 | } 166 | } 167 | 168 | hr { 169 | width: 3em; 170 | } 171 | } 172 | -------------------------------------------------------------------------------- /sass/site/partials/_widgets.scss: -------------------------------------------------------------------------------- 1 | .widget { 2 | margin: 0 0 1.5em; 3 | 4 | /* Make sure select elements fit in widgets. */ 5 | select { 6 | max-width: 100%; 7 | } 8 | } 9 | 10 | /* Search widget. */ 11 | .widget_search .search-submit { 12 | display: none; 13 | } -------------------------------------------------------------------------------- /sass/style.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | Theme Name: Hooch 3 | Theme URI: http://underscores.me/ 4 | Author: Brad Williams 5 | Author URI: http://braginteractive.com 6 | Description: Underscores, Bourbon, and Neat 7 | Version: 1.0.1 8 | License: GNU General Public License v2 or later 9 | License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 | Text Domain: hooch 11 | Tags: 12 | 13 | This theme, like WordPress, is licensed under the GPL. 14 | Use it to make something cool, have fun, and share what you've learned with others. 15 | 16 | Hooch is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc. 17 | Underscores is distributed under the terms of the GNU GPL v2 or later. 18 | 19 | Normalizing styles have been helped along thanks to the fine work of 20 | Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/ 21 | */ 22 | 23 | @import "variables/variables"; 24 | @import "mixins/mixins-master"; 25 | 26 | /*-------------------------------------------------------------- 27 | # Normalize 28 | --------------------------------------------------------------*/ 29 | @import "normalize"; 30 | 31 | /*-------------------------------------------------------------- 32 | # Bourbon Settings 33 | --------------------------------------------------------------*/ 34 | @import "bourbon"; 35 | @import "grid-settings"; 36 | @import "variables/breakpoints"; 37 | @import "neat"; 38 | @import "base"; 39 | 40 | /*-------------------------------------------------------------- 41 | # Accessibility 42 | --------------------------------------------------------------*/ 43 | @import "modules/accessibility"; 44 | 45 | /*-------------------------------------------------------------- 46 | # Layout 47 | --------------------------------------------------------------*/ 48 | @import "layout/content-sidebar"; 49 | 50 | /*-------------------------------------------------------------- 51 | # Alignments 52 | --------------------------------------------------------------*/ 53 | @import "modules/alignments"; 54 | 55 | /*-------------------------------------------------------------- 56 | # Clearings 57 | --------------------------------------------------------------*/ 58 | @import "modules/clearings"; 59 | 60 | /*-------------------------------------------------------------- 61 | # Content 62 | --------------------------------------------------------------*/ 63 | @import "site/site"; 64 | 65 | /*-------------------------------------------------------------- 66 | # Media 67 | --------------------------------------------------------------*/ 68 | @import "media/media"; 69 | -------------------------------------------------------------------------------- /sass/variables/_breakpoints.scss: -------------------------------------------------------------------------------- 1 | $mobile-size:34rem; 2 | $tablet-size:45rem; 3 | $desktop-size:60rem; 4 | $largedesktop-size:72.25rem; 5 | 6 | $medium-screen: em(640) !default; 7 | $large-screen: em(860) !default; 8 | 9 | // Bourbon Neat Breakpoints 10 | $mobile: new-breakpoint(max-width $mobile-size 4); 11 | $tablet: new-breakpoint(max-width $tablet-size 6 ); 12 | $desktop: new-breakpoint(max-width $desktop-size 12 ); 13 | $largedesktop: new-breakpoint(max-width $largedesktop-size 12); -------------------------------------------------------------------------------- /sass/variables/_colors.scss: -------------------------------------------------------------------------------- 1 | $color__background-body: #fff; 2 | $color__background-screen: #f1f1f1; 3 | $color__background-hr: #ccc; 4 | $color__background-button: #e6e6e6; 5 | $color__background-pre: #eee; 6 | $color__background-ins: #fff9c0; 7 | 8 | $color__text-screen: #21759b; 9 | $color__text-input: #666; 10 | $color__text-input-focus: #111; 11 | $color__link: royalblue; 12 | $color__link-visited: purple; 13 | $color__link-hover: midnightblue; 14 | $color__text-main: #404040; 15 | 16 | $color__border-button: #ccc #ccc #bbb; 17 | $color__border-button-hover: #ccc #bbb #aaa; 18 | $color__border-button-focus: #aaa #bbb #bbb; 19 | $color__border-input: #ccc; 20 | $color__border-abbr: #666; 21 | 22 | $action-color: #477DCA !default; 23 | $dark-gray: #333 !default; 24 | $light-gray: #DDD !default; 25 | $base-font-color: $dark-gray !default; 26 | 27 | 28 | $footer-background: desaturate(darken($action-color, 20%), 30%); 29 | $footer-color: white; 30 | $footer-link-color: transparentize($footer-color, 0.6); 31 | $footer-disclaimer-color: transparentize($footer-color, 0.6); 32 | -------------------------------------------------------------------------------- /sass/variables/_homepage.scss: -------------------------------------------------------------------------------- 1 | $base-border-radius: 3px !default; 2 | $hero-background-top: #7F99BE; 3 | $hero-background-bottom: #20392B; 4 | $hero-color: white; 5 | $gradient-angle: 10deg; 6 | 7 | 8 | $dark-gray: #333 !default; 9 | $base-font-color: $dark-gray !default; 10 | $icon-bullet-size: 3.5em; -------------------------------------------------------------------------------- /sass/variables/_typography.scss: -------------------------------------------------------------------------------- 1 | $sans-serif: 'Questrial', sans-serif; 2 | $serif: 'Sanchez', serif; 3 | $base-border-radius: 3px !default; 4 | $base-line-height: 1.5em !default; 5 | $base-spacing: 1.5em !default; 6 | $font__code: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; 7 | $font__pre: "Courier 10 Pitch", Courier, monospace; -------------------------------------------------------------------------------- /sass/variables/_variables.scss: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "typography"; 3 | @import "homepage"; -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braginteractive/hooch/1c989cafb9aa232c33bd560acabfbac6b2e1cad7/screenshot.png -------------------------------------------------------------------------------- /search.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    13 |
    14 |
    15 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
    45 |
    46 | 47 | 48 | 49 |
    50 | 51 | 52 | -------------------------------------------------------------------------------- /sidebar.php: -------------------------------------------------------------------------------- 1 | 14 | 15 | 18 | -------------------------------------------------------------------------------- /single.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    13 |
    14 |
    15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 28 | 29 | 30 | 31 |
    32 |
    33 | 34 | 35 | 36 |
    37 | 38 | 39 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /*! 3 | Theme Name: Hooch 4 | Theme URI: http://underscores.me/ 5 | Author: Brad Williams 6 | Author URI: http://braginteractive.com 7 | Description: Underscores, Bourbon, and Neat 8 | Version: 1.0.1 9 | License: GNU General Public License v2 or later 10 | License URI: http://www.gnu.org/licenses/gpl-2.0.html 11 | Text Domain: hooch 12 | Tags: 13 | 14 | This theme, like WordPress, is licensed under the GPL. 15 | Use it to make something cool, have fun, and share what you've learned with others. 16 | 17 | Hooch is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc. 18 | Underscores is distributed under the terms of the GNU GPL v2 or later. 19 | 20 | Normalizing styles have been helped along thanks to the fine work of 21 | Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/ 22 | */ 23 | /*-------------------------------------------------------------- 24 | # Normalize 25 | --------------------------------------------------------------*/ 26 | html { 27 | font-family: sans-serif; 28 | -webkit-text-size-adjust: 100%; 29 | -ms-text-size-adjust: 100%; } 30 | 31 | body { 32 | margin: 0; } 33 | 34 | article, 35 | aside, 36 | details, 37 | figcaption, 38 | figure, 39 | footer, 40 | header, 41 | main, 42 | menu, 43 | nav, 44 | section, 45 | summary { 46 | display: block; } 47 | 48 | audio, 49 | canvas, 50 | progress, 51 | video { 52 | display: inline-block; 53 | vertical-align: baseline; } 54 | 55 | audio:not([controls]) { 56 | display: none; 57 | height: 0; } 58 | 59 | [hidden], 60 | template { 61 | display: none; } 62 | 63 | a { 64 | background-color: transparent; } 65 | 66 | a:active, 67 | a:hover { 68 | outline: 0; } 69 | 70 | abbr[title] { 71 | border-bottom: 1px dotted; } 72 | 73 | b, 74 | strong { 75 | font-weight: bold; } 76 | 77 | dfn { 78 | font-style: italic; } 79 | 80 | h1 { 81 | font-size: 2em; 82 | margin: 0.67em 0; } 83 | 84 | mark { 85 | background: #ff0; 86 | color: #000; } 87 | 88 | small { 89 | font-size: 80%; } 90 | 91 | sub, 92 | sup { 93 | font-size: 75%; 94 | line-height: 0; 95 | position: relative; 96 | vertical-align: baseline; } 97 | 98 | sup { 99 | top: -0.5em; } 100 | 101 | sub { 102 | bottom: -0.25em; } 103 | 104 | img { 105 | border: 0; } 106 | 107 | svg:not(:root) { 108 | overflow: hidden; } 109 | 110 | figure { 111 | margin: 1em 40px; } 112 | 113 | hr { 114 | box-sizing: content-box; 115 | height: 0; } 116 | 117 | pre { 118 | overflow: auto; } 119 | 120 | code, 121 | kbd, 122 | pre, 123 | samp { 124 | font-family: monospace, monospace; 125 | font-size: 1em; } 126 | 127 | button, 128 | input, 129 | optgroup, 130 | select, 131 | textarea { 132 | color: inherit; 133 | font: inherit; 134 | margin: 0; } 135 | 136 | button { 137 | overflow: visible; } 138 | 139 | button, 140 | select { 141 | text-transform: none; } 142 | 143 | button, 144 | html input[type="button"], 145 | input[type="reset"], 146 | input[type="submit"] { 147 | -webkit-appearance: button; 148 | cursor: pointer; } 149 | 150 | button[disabled], 151 | html input[disabled] { 152 | cursor: default; } 153 | 154 | button::-moz-focus-inner, 155 | input::-moz-focus-inner { 156 | border: 0; 157 | padding: 0; } 158 | 159 | input { 160 | line-height: normal; } 161 | 162 | input[type="checkbox"], 163 | input[type="radio"] { 164 | box-sizing: border-box; 165 | padding: 0; } 166 | 167 | input[type="number"]::-webkit-inner-spin-button, 168 | input[type="number"]::-webkit-outer-spin-button { 169 | height: auto; } 170 | 171 | input[type="search"] { 172 | -webkit-appearance: textfield; 173 | box-sizing: content-box; } 174 | 175 | input[type="search"]::-webkit-search-cancel-button, 176 | input[type="search"]::-webkit-search-decoration { 177 | -webkit-appearance: none; } 178 | 179 | fieldset { 180 | border: 1px solid #c0c0c0; 181 | margin: 0 2px; 182 | padding: 0.35em 0.625em 0.75em; } 183 | 184 | legend { 185 | border: 0; 186 | padding: 0; } 187 | 188 | textarea { 189 | overflow: auto; } 190 | 191 | optgroup { 192 | font-weight: bold; } 193 | 194 | table { 195 | border-collapse: collapse; 196 | border-spacing: 0; } 197 | 198 | td, 199 | th { 200 | padding: 0; } 201 | 202 | /*-------------------------------------------------------------- 203 | # Bourbon Settings 204 | --------------------------------------------------------------*/ 205 | html { 206 | box-sizing: border-box; } 207 | 208 | *, *::after, *::before { 209 | box-sizing: inherit; } 210 | 211 | button, input[type="button"], input[type="reset"], input[type="submit"], 212 | button { 213 | -webkit-appearance: none; 214 | -moz-appearance: none; 215 | -ms-appearance: none; 216 | -o-appearance: none; 217 | appearance: none; 218 | -webkit-font-smoothing: antialiased; 219 | background-color: #477dca; 220 | border-radius: 3px; 221 | border: none; 222 | color: #fff; 223 | cursor: pointer; 224 | display: inline-block; 225 | font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 226 | font-size: 1em; 227 | font-weight: 600; 228 | line-height: 1; 229 | padding: 0.75em 1em; 230 | text-decoration: none; 231 | -webkit-user-select: none; 232 | -moz-user-select: none; 233 | -ms-user-select: none; 234 | user-select: none; 235 | vertical-align: middle; 236 | white-space: nowrap; } 237 | button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:focus, 238 | button:hover, 239 | button:focus { 240 | background-color: #2c5999; 241 | color: #fff; } 242 | button:disabled, input[type="button"]:disabled, input[type="reset"]:disabled, input[type="submit"]:disabled, 243 | button:disabled { 244 | cursor: not-allowed; 245 | opacity: 0.5; } 246 | 247 | fieldset { 248 | background-color: #f7f7f7; 249 | border: 1px solid #ddd; 250 | margin: 0 0 0.75em; 251 | padding: 1.5em; } 252 | 253 | input, 254 | label, 255 | select { 256 | display: block; 257 | font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 258 | font-size: 1em; } 259 | 260 | label { 261 | font-weight: 600; 262 | margin-bottom: 0.375em; } 263 | label.required::after { 264 | content: "*"; } 265 | label abbr { 266 | display: none; } 267 | 268 | input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea, 269 | select[multiple=multiple], 270 | textarea { 271 | background-color: #fff; 272 | border: 1px solid #ddd; 273 | border-radius: 3px; 274 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); 275 | box-sizing: border-box; 276 | font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 277 | font-size: 1em; 278 | margin-bottom: 0.75em; 279 | padding: 0.5em; 280 | -webkit-transition: border-color; 281 | transition: border-color; 282 | width: 100%; } 283 | input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, input:not([type]):hover, textarea:hover, 284 | select[multiple=multiple]:hover, 285 | textarea:hover { 286 | border-color: #c4c4c4; } 287 | input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input:not([type]):focus, textarea:focus, 288 | select[multiple=multiple]:focus, 289 | textarea:focus { 290 | border-color: #477dca; 291 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(55, 112, 192, 0.7); 292 | outline: none; } 293 | 294 | textarea { 295 | resize: vertical; } 296 | 297 | input[type="search"] { 298 | -webkit-appearance: none; 299 | -moz-appearance: none; 300 | -ms-appearance: none; 301 | -o-appearance: none; 302 | appearance: none; } 303 | 304 | input[type="checkbox"], 305 | input[type="radio"] { 306 | display: inline; 307 | margin-right: 0.375em; } 308 | 309 | input[type="file"] { 310 | padding-bottom: 0.75em; 311 | width: 100%; } 312 | 313 | select { 314 | margin-bottom: 1.5em; 315 | max-width: 100%; 316 | width: auto; } 317 | 318 | ul, 319 | ol { 320 | list-style-type: none; 321 | margin: 0; 322 | padding: 0; } 323 | 324 | dl { 325 | margin-bottom: 0.75em; } 326 | dl dt { 327 | font-weight: bold; 328 | margin-top: 0.75em; } 329 | dl dd { 330 | margin: 0; } 331 | 332 | table { 333 | -webkit-font-feature-settings: "kern", "liga", "tnum"; 334 | -ms-font-feature-settings: "kern", "liga", "tnum"; 335 | font-feature-settings: "kern", "liga", "tnum"; 336 | border-collapse: collapse; 337 | margin: 0.75em 0; 338 | table-layout: fixed; 339 | width: 100%; } 340 | 341 | th { 342 | border-bottom: 1px solid #b7b7b7; 343 | font-weight: 600; 344 | padding: 0.75em 0; 345 | text-align: left; } 346 | 347 | td { 348 | border-bottom: 1px solid #ddd; 349 | padding: 0.75em 0; } 350 | 351 | tr, 352 | td, 353 | th { 354 | vertical-align: middle; } 355 | 356 | body { 357 | -webkit-font-feature-settings: "kern", "liga", "pnum"; 358 | -ms-font-feature-settings: "kern", "liga", "pnum"; 359 | font-feature-settings: "kern", "liga", "pnum"; 360 | -webkit-font-smoothing: antialiased; 361 | color: #333; 362 | font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 363 | font-size: 1em; 364 | line-height: 1.5; } 365 | 366 | h1, 367 | h2, 368 | h3, 369 | h4, 370 | h5, 371 | h6 { 372 | font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 373 | font-size: 1em; 374 | line-height: 1.2; 375 | margin: 0 0 0.75em; } 376 | 377 | p { 378 | margin: 0 0 0.75em; } 379 | 380 | a { 381 | color: #477dca; 382 | text-decoration: none; 383 | -webkit-transition: color 0.1s linear; 384 | transition: color 0.1s linear; } 385 | a:active, a:focus, a:hover { 386 | color: #2c5999; } 387 | a:active, a:focus { 388 | outline: none; } 389 | 390 | hr { 391 | border-bottom: 1px solid #ddd; 392 | border-left: none; 393 | border-right: none; 394 | border-top: none; 395 | margin: 1.5em 0; } 396 | 397 | img, 398 | picture { 399 | margin: 0; 400 | max-width: 100%; } 401 | 402 | /*-------------------------------------------------------------- 403 | # Accessibility 404 | --------------------------------------------------------------*/ 405 | /* Text meant only for screen readers. */ 406 | .screen-reader-text { 407 | clip: rect(1px, 1px, 1px, 1px); 408 | position: absolute !important; 409 | height: 1px; 410 | width: 1px; 411 | overflow: hidden; } 412 | .screen-reader-text:focus { 413 | background-color: #f1f1f1; 414 | border-radius: 3px; 415 | box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); 416 | clip: auto !important; 417 | color: #21759b; 418 | display: block; 419 | font-size: 14px; 420 | font-size: 0.875rem; 421 | font-weight: bold; 422 | height: auto; 423 | left: 5px; 424 | line-height: normal; 425 | padding: 15px 23px 14px; 426 | text-decoration: none; 427 | top: 5px; 428 | width: auto; 429 | z-index: 100000; 430 | /* Above WP toolbar. */ } 431 | 432 | /*-------------------------------------------------------------- 433 | # Layout 434 | --------------------------------------------------------------*/ 435 | .wrap { 436 | max-width: 68em; 437 | margin-left: auto; 438 | margin-right: auto; 439 | padding-top: 40px; 440 | padding-bottom: 40px; } 441 | .wrap::after { 442 | clear: both; 443 | content: ""; 444 | display: table; } 445 | .wrap .content-area { 446 | float: left; 447 | display: block; 448 | margin-right: 2.12766%; 449 | width: 74.46809%; } 450 | .wrap .content-area:last-child { 451 | margin-right: 0; } 452 | @media screen and (max-width: 72.25rem) { 453 | .wrap .content-area { 454 | padding-right: 20px; 455 | padding-left: 20px; } } 456 | @media screen and (max-width: 45rem) { 457 | .wrap .content-area { 458 | float: left; 459 | display: block; 460 | margin-right: 4.34783%; 461 | width: 100%; } 462 | .wrap .content-area:last-child { 463 | margin-right: 0; } } 464 | .wrap .content-home { 465 | float: left; 466 | display: block; 467 | margin-right: 2.12766%; 468 | width: 100%; } 469 | .wrap .content-home:last-child { 470 | margin-right: 0; } 471 | @media screen and (max-width: 72.25rem) { 472 | .wrap .content-home { 473 | padding-right: 20px; 474 | padding-left: 20px; } } 475 | .wrap .widget-area { 476 | float: left; 477 | display: block; 478 | margin-right: 2.12766%; 479 | width: 23.40426%; } 480 | .wrap .widget-area:last-child { 481 | margin-right: 0; } 482 | @media screen and (max-width: 72.25rem) { 483 | .wrap .widget-area { 484 | padding-right: 20px; 485 | padding-left: 20px; } } 486 | @media screen and (max-width: 45rem) { 487 | .wrap .widget-area { 488 | float: left; 489 | display: block; 490 | margin-right: 4.34783%; 491 | width: 100%; } 492 | .wrap .widget-area:last-child { 493 | margin-right: 0; } } 494 | 495 | /*-------------------------------------------------------------- 496 | # Alignments 497 | --------------------------------------------------------------*/ 498 | .alignleft { 499 | display: inline; 500 | float: left; 501 | margin-right: 1.5em; } 502 | 503 | .alignright { 504 | display: inline; 505 | float: right; 506 | margin-left: 1.5em; } 507 | 508 | .aligncenter { 509 | clear: both; 510 | display: block; 511 | margin-left: auto; 512 | margin-right: auto; } 513 | 514 | /*-------------------------------------------------------------- 515 | # Clearings 516 | --------------------------------------------------------------*/ 517 | .clear:before::after, 518 | .clear:after::after, 519 | .entry-content:before::after, 520 | .entry-content:after::after, 521 | .comment-content:before::after, 522 | .comment-content:after::after, 523 | .site-header:before::after, 524 | .site-header:after::after, 525 | .site-content:before::after, 526 | .site-content:after::after, 527 | .site-footer:before::after, 528 | .site-footer:after::after { 529 | clear: both; 530 | content: ""; 531 | display: table; } 532 | 533 | .clear:after, 534 | .entry-content:after, 535 | .comment-content:after, 536 | .site-header:after, 537 | .site-content:after, 538 | .site-footer:after { 539 | clear: both; } 540 | 541 | /*-------------------------------------------------------------- 542 | # Content 543 | --------------------------------------------------------------*/ 544 | /*-------------------------------------------------------------- 545 | ## Navigation 546 | --------------------------------------------------------------*/ 547 | header.navigation { 548 | background-color: #333; 549 | border-bottom: 1px solid #1a1a1a; 550 | min-height: 60px; 551 | width: 100%; 552 | z-index: 999; } 553 | header.navigation .navigation-wrapper { 554 | max-width: 68em; 555 | margin-left: auto; 556 | margin-right: auto; 557 | position: relative; 558 | z-index: 9999; } 559 | header.navigation .navigation-wrapper::after { 560 | clear: both; 561 | content: ""; 562 | display: table; } 563 | header.navigation .navigation-wrapper::after { 564 | clear: both; 565 | content: ""; 566 | display: table; } 567 | header.navigation .logo { 568 | float: left; 569 | max-height: 60px; 570 | padding-left: 1em; 571 | padding-right: 2em; } 572 | header.navigation .logo img { 573 | max-height: 60px; 574 | padding: 0.8em 0; } 575 | header.navigation .navigation-menu-button { 576 | color: rgba(255, 255, 255, 0.7); 577 | display: block; 578 | float: right; 579 | line-height: 60px; 580 | margin: 0; 581 | padding-right: 1em; 582 | text-decoration: none; 583 | text-transform: uppercase; } 584 | @media screen and (min-width: 900px) { 585 | header.navigation .navigation-menu-button { 586 | display: none; } } 587 | header.navigation .navigation-menu-button:focus, header.navigation .navigation-menu-button:hover { 588 | color: white; } 589 | header.navigation nav { 590 | float: none; 591 | min-height: 60px; 592 | z-index: 9999999; } 593 | @media screen and (min-width: 900px) { 594 | header.navigation nav { 595 | float: left; } } 596 | header.navigation ul.navigation-menu { 597 | -webkit-transform-style: preserve-3d; 598 | clear: both; 599 | display: none; 600 | margin: 0 auto; 601 | overflow: visible; 602 | padding: 0; 603 | width: 100%; 604 | z-index: 9999; } 605 | header.navigation ul.navigation-menu.show { 606 | display: block; } 607 | @media screen and (min-width: 900px) { 608 | header.navigation ul.navigation-menu { 609 | display: inline; 610 | margin: 0; 611 | padding: 0; } } 612 | header.navigation ul li.menu-item { 613 | background: #333; 614 | display: block; 615 | line-height: 60px; 616 | overflow: hidden; 617 | padding-right: 0.8em; 618 | text-align: right; 619 | width: 100%; 620 | z-index: 9999; } 621 | @media screen and (min-width: 900px) { 622 | header.navigation ul li.menu-item { 623 | background: transparent; 624 | display: inline; 625 | line-height: 60px; 626 | text-decoration: none; 627 | width: auto; } } 628 | header.navigation ul li.menu-item a { 629 | color: rgba(255, 255, 255, 0.7); 630 | display: inline-block; 631 | text-decoration: none; } 632 | @media screen and (min-width: 900px) { 633 | header.navigation ul li.menu-item a { 634 | padding-right: 1em; } } 635 | header.navigation ul li.menu-item a:focus, header.navigation ul li.menu-item a:hover { 636 | color: white; } 637 | header.navigation ul li.menu-item.current_page_item a { 638 | color: white; } 639 | header.navigation li.menu-item-has-children.menu-item { 640 | padding-right: 0; } 641 | @media screen and (min-width: 900px) { 642 | header.navigation li.menu-item-has-children.menu-item { 643 | padding-right: 1em; } } 644 | header.navigation li.menu-item-has-children.menu-item > ul > li:first-child a { 645 | padding-top: 1em; } 646 | header.navigation li.menu-item-has-children.menu-item a { 647 | margin-right: 1em; } 648 | header.navigation li.menu-item-has-children.menu-item > a { 649 | padding-right: 0.6em; } 650 | header.navigation li.menu-item-has-children.menu-item > a:after { 651 | position: absolute; 652 | top: auto; 653 | right: -0.4em; 654 | bottom: auto; 655 | left: auto; 656 | content: '\25BE'; 657 | color: rgba(255, 255, 255, 0.7); } 658 | header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children { 659 | overflow: visible; 660 | padding-right: 0; } 661 | header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children a { 662 | padding-right: 0.8em; } 663 | header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children > a { 664 | padding-right: 1.6em; 665 | position: relative; } 666 | @media screen and (min-width: 900px) { 667 | header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children > a { 668 | margin-right: 1em; } } 669 | header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children > a:after { 670 | content: '›'; 671 | font-size: 1.2em; 672 | position: absolute; 673 | right: 0.5em; } 674 | header.navigation li.menu-item-has-children { 675 | overflow: visible; 676 | padding-right: 0; } 677 | header.navigation li.menu-item-has-children a { 678 | padding-right: 0.8em; } 679 | header.navigation li.menu-item-has-children > a { 680 | padding-right: 1.6em; 681 | position: relative; } 682 | @media screen and (min-width: 900px) { 683 | header.navigation li.menu-item-has-children > a { 684 | margin-right: 1em; } } 685 | header.navigation li.menu-item-has-children > a:after { 686 | content: '›'; 687 | font-size: 1.2em; 688 | position: absolute; 689 | right: 0.5em; } 690 | header.navigation li.menu-item-has-children:focus > .sub-menu, 691 | header.navigation li.menu-item-has-children:hover > .sub-menu { 692 | display: block; } 693 | @media screen and (min-width: 900px) { 694 | header.navigation li.menu-item-has-children { 695 | padding-right: 0.8em; 696 | position: relative; } } 697 | header.navigation ul.sub-menu { 698 | display: none; 699 | padding-left: 0; } 700 | @media screen and (min-width: 900px) { 701 | header.navigation ul.sub-menu { 702 | left: -1em; 703 | position: absolute; 704 | top: 1.5em; } } 705 | @media screen and (min-width: 900px) { 706 | header.navigation ul.sub-menu .sub-menu { 707 | left: 11.8em; 708 | top: 0; } } 709 | header.navigation ul.sub-menu li { 710 | display: block; 711 | padding-right: 0; } 712 | @media screen and (min-width: 900px) { 713 | header.navigation ul.sub-menu li { 714 | line-height: 46.15385px; } 715 | header.navigation ul.sub-menu li:first-child > a { 716 | border-top-left-radius: 3px; 717 | border-top-right-radius: 3px; } 718 | header.navigation ul.sub-menu li:last-child > a { 719 | border-bottom-left-radius: 3px; 720 | border-bottom-right-radius: 3px; 721 | padding-bottom: 0.7em; } } 722 | header.navigation ul.sub-menu li a { 723 | background-color: #2b2b2b; 724 | display: inline-block; 725 | text-align: right; 726 | width: 100%; } 727 | @media screen and (min-width: 900px) { 728 | header.navigation ul.sub-menu li a { 729 | background-color: #333; 730 | padding-left: 1em; 731 | text-align: left; 732 | width: 12em; } } 733 | header.navigation .navigation-tools { 734 | background: #505050; 735 | clear: both; 736 | display: block; 737 | height: 60px; } 738 | @media screen and (min-width: 900px) { 739 | header.navigation .navigation-tools { 740 | background: transparent; 741 | clear: none; 742 | float: right; } } 743 | header.navigation .search-bar { 744 | float: left; 745 | padding: 0.85em 0.85em 0.7em 0.6em; 746 | width: 60%; } 747 | header.navigation .search-bar form { 748 | position: relative; } 749 | header.navigation .search-bar form input[type=search] { 750 | box-sizing: border-box; 751 | background: #404040; 752 | border-radius: 6px; 753 | border: 1px solid #262626; 754 | color: rgba(255, 255, 255, 0.7); 755 | font-size: 0.9em; 756 | font-style: italic; 757 | margin: 0; 758 | padding: 0.5em 0.8em; 759 | width: 100%; } 760 | @media screen and (min-width: 900px) { 761 | header.navigation .search-bar form input[type=search] { 762 | width: 100%; } } 763 | header.navigation .search-bar form button[type=submit] { 764 | background: #404040; 765 | border: none; 766 | bottom: 0.3em; 767 | left: auto; 768 | outline: none; 769 | padding: 0 9px; 770 | position: absolute; 771 | right: 0.3em; 772 | top: 0.3em; } 773 | header.navigation .search-bar form button[type=submit] img { 774 | height: 12px; 775 | opacity: 0.7; 776 | padding: 1px; } 777 | @media screen and (min-width: 900px) { 778 | header.navigation .search-bar { 779 | display: inline-block; 780 | position: relative; 781 | width: 16em; } 782 | header.navigation .search-bar input { 783 | box-sizing: border-box; 784 | display: block; } } 785 | 786 | /*-------------------------------------------------------------- 787 | ## Posts and pages 788 | --------------------------------------------------------------*/ 789 | .sticky { 790 | display: block; } 791 | 792 | .hentry { 793 | margin: 0 0 1.5em; } 794 | 795 | .byline, 796 | .updated:not(.published) { 797 | display: none; } 798 | 799 | .single .byline, 800 | .group-blog .byline { 801 | display: inline; } 802 | 803 | .page-content, 804 | .entry-content, 805 | .entry-summary { 806 | margin: 1.5em 0 0; } 807 | 808 | .page-links { 809 | clear: both; 810 | margin: 0 0 1.5em; } 811 | 812 | article { 813 | -ms-word-wrap: break-word; 814 | word-wrap: break-word; 815 | font-family: "Questrial", sans-serif; 816 | text-align: left; } 817 | article .entry-content { 818 | margin-top: 0; } 819 | article .entry-content figure { 820 | width: auto !important; } 821 | article .entry-content img { 822 | height: auto; } 823 | article::after { 824 | clear: both; 825 | content: ""; 826 | display: table; } 827 | article h1, article h2, article h3, article p { 828 | margin: 0; } 829 | article hr { 830 | border-bottom: 1px solid #ddd; 831 | border-left: none; 832 | border-right: none; 833 | border-top: none; 834 | margin: 1.5em 0; } 835 | article p { 836 | color: #333; 837 | line-height: 1.5; } 838 | article a { 839 | color: #477dca; 840 | text-decoration: none; } 841 | article .type { 842 | border-bottom: 1px solid; 843 | display: inline-block; 844 | font-family: "Questrial", sans-serif; 845 | font-size: 0.7em; 846 | font-weight: 800; 847 | margin-bottom: 2em; 848 | padding: 0.3em 0; 849 | text-align: left; 850 | text-transform: uppercase; } 851 | article h1 { 852 | font-family: "Sanchez", serif; 853 | font-size: 1.8em; 854 | font-weight: 700; 855 | margin-bottom: 0.5em; } 856 | @media screen and (min-width: 45rem) { 857 | article h1 { 858 | font-size: 2.6em; } } 859 | article h1 a { 860 | color: #333; } 861 | article h2 { 862 | font-family: "Sanchez", serif; 863 | font-size: 1.2em; 864 | font-style: italic; 865 | font-weight: 400; 866 | line-height: 1.4em; 867 | margin-bottom: 1.1em; } 868 | @media screen and (min-width: 45rem) { 869 | article h2 { 870 | font-size: 1.3em; } } 871 | article code { 872 | background: #F7F7F7; 873 | border-radius: 4.5px; 874 | border: 1px solid #E0E0E0; 875 | font-size: 0.7em; 876 | font-style: normal; 877 | padding: 0.1em 0.4em; 878 | white-space: nowrap; } 879 | article h3 { 880 | font-family: "Sanchez", serif; 881 | font-size: 1.4em; 882 | font-weight: 400; 883 | line-height: 1.3em; 884 | margin-bottom: 0.4em; } 885 | article .entry-meta, article .entry-meta a { 886 | color: rgba(51, 51, 51, 0.4); 887 | font-family: "Sanchez", serif; 888 | font-size: 0.9em; 889 | font-style: italic; 890 | margin-bottom: 0.3em; } 891 | article p { 892 | font-family: "Questrial", sans-serif; 893 | font-size: 1.05em; 894 | line-height: 1.5em; 895 | margin-bottom: 1.5em; } 896 | article a.more-link { 897 | display: inline-block; 898 | font-family: "Questrial", sans-serif; 899 | font-size: 0.8em; 900 | font-weight: 700; 901 | margin-left: 0.2em; 902 | position: relative; 903 | text-transform: uppercase; } 904 | article a.more-link span { 905 | font-family: "Questrial", sans-serif; 906 | font-size: 1.5em; 907 | font-style: normal; 908 | position: absolute; 909 | right: -12px; 910 | top: -1px; } 911 | article hr { 912 | width: 3em; } 913 | 914 | /*-------------------------------------------------------------- 915 | ## Asides 916 | --------------------------------------------------------------*/ 917 | .blog .format-aside .entry-title, 918 | .archive .format-aside .entry-title { 919 | display: none; } 920 | 921 | /*-------------------------------------------------------------- 922 | ## Comments 923 | --------------------------------------------------------------*/ 924 | .comments-area { 925 | -ms-word-wrap: break-word; 926 | word-wrap: break-word; } 927 | 928 | .comment-content a { 929 | word-wrap: break-word; } 930 | 931 | .bypostauthor { 932 | display: block; } 933 | 934 | .comment { 935 | border-bottom: 1px solid rgba(51, 51, 51, 0.1); 936 | display: table; 937 | margin-bottom: 1.5em; 938 | padding-bottom: 1em; 939 | width: 100%; } 940 | .comment .comment-author, 941 | .comment .comment-details { 942 | display: table-cell; 943 | vertical-align: top; } 944 | .comment .comment-author { 945 | padding-right: 1.4em; 946 | width: 10%; } 947 | .comment .comment-author > img { 948 | border-radius: 3px; 949 | display: block; 950 | height: auto; 951 | max-width: none; 952 | width: 4em; } 953 | .comment-reverse-order .comment .comment-author { 954 | padding-right: 0; 955 | padding-left: 10px; } 956 | .comment .comment-content { 957 | width: 100%; } 958 | .comment .comment-content h1 { 959 | font-size: 1em; 960 | margin: 0 0 0.5em 0; } 961 | .comment .comment-content p { 962 | line-height: 1.5em; 963 | margin-bottom: 0.5em; } 964 | .comment .comment-content p.comment-detail { 965 | color: rgba(51, 51, 51, 0.5); 966 | font-size: 0.9em; 967 | font-style: italic; } 968 | 969 | /*-------------------------------------------------------------- 970 | ## Pagination 971 | --------------------------------------------------------------*/ 972 | .pagination { 973 | margin-top: 40px; 974 | text-align: center; } 975 | .pagination ul { 976 | display: inline; 977 | margin: 0; 978 | padding: 0; 979 | text-align: center; } 980 | .pagination ul li { 981 | display: inline-block; 982 | list-style: none; 983 | padding-bottom: 20px; } 984 | .pagination ul li.active a { 985 | background: white; 986 | color: #477dca; } 987 | .pagination ul ul li { 988 | display: none; } 989 | .pagination ul ul li:nth-child(1), .pagination ul ul li:nth-child(2), .pagination ul ul li:nth-child(3) { 990 | display: inline; } 991 | @media screen and (min-width: 900px) { 992 | .pagination ul ul li { 993 | display: inline; } } 994 | .pagination ul li a { 995 | -webkit-transition: all 0.2s ease-in-out; 996 | transition: all 0.2s ease-in-out; 997 | background: #f7f7f7; 998 | border-radius: 3px; 999 | border: 1px solid #ddd; 1000 | color: #333; 1001 | outline: none; 1002 | padding: 0.375em 15px; 1003 | text-decoration: none; } 1004 | .pagination ul li a:hover, .pagination ul li a:focus { 1005 | background: white; 1006 | color: #477dca; } 1007 | 1008 | /*-------------------------------------------------------------- 1009 | ## Widgets 1010 | --------------------------------------------------------------*/ 1011 | .widget { 1012 | margin: 0 0 1.5em; 1013 | /* Make sure select elements fit in widgets. */ } 1014 | .widget select { 1015 | max-width: 100%; } 1016 | 1017 | /* Search widget. */ 1018 | .widget_search .search-submit { 1019 | display: none; } 1020 | 1021 | /*-------------------------------------------------------------- 1022 | ## Footer 1023 | --------------------------------------------------------------*/ 1024 | .footer { 1025 | background: #40526b; 1026 | padding: 3em 30px; 1027 | width: 100%; 1028 | margin-top: 40px; } 1029 | .footer .footer-logo { 1030 | margin-bottom: 2em; 1031 | text-align: center; } 1032 | .footer .footer-logo img { 1033 | height: 3em; } 1034 | .footer .footer-links { 1035 | max-width: 68em; 1036 | margin-left: auto; 1037 | margin-right: auto; } 1038 | .footer .footer-links::after { 1039 | clear: both; 1040 | content: ""; 1041 | display: table; } 1042 | .footer .footer-links .footer-widget { 1043 | float: left; 1044 | display: block; 1045 | margin-right: 2.12766%; 1046 | width: 23.40426%; } 1047 | .footer .footer-links .footer-widget:last-child { 1048 | margin-right: 0; } 1049 | @media screen and (max-width: 45rem) { 1050 | .footer .footer-links .footer-widget { 1051 | float: left; 1052 | display: block; 1053 | margin-right: 4.34783%; 1054 | width: 100%; } 1055 | .footer .footer-links .footer-widget:last-child { 1056 | margin-right: 0; } } 1057 | @media screen and (max-width: 34rem) { 1058 | .footer .footer-links .footer-widget { 1059 | float: left; 1060 | display: block; 1061 | margin-right: 6.66667%; 1062 | width: 100%; } 1063 | .footer .footer-links .footer-widget:last-child { 1064 | margin-right: 0; } } 1065 | .footer h3 { 1066 | color: white; } 1067 | .footer p, 1068 | .footer .textwidget, 1069 | .footer .tagcloud a { 1070 | color: rgba(255, 255, 255, 0.4); } 1071 | .footer p:focus, .footer p:hover, 1072 | .footer .textwidget:focus, 1073 | .footer .textwidget:hover, 1074 | .footer .tagcloud a:focus, 1075 | .footer .tagcloud a:hover { 1076 | color: white; } 1077 | .footer ul { 1078 | margin-bottom: 3em; 1079 | padding: 0; } 1080 | .footer li { 1081 | line-height: 1.5em; 1082 | list-style: none; 1083 | text-align: center; } 1084 | @media screen and (min-width: 600px) { 1085 | .footer li { 1086 | text-align: left; } } 1087 | .footer li a { 1088 | color: rgba(255, 255, 255, 0.4); 1089 | text-decoration: none; } 1090 | .footer li a:focus, .footer li a:hover { 1091 | color: white; } 1092 | .footer li h3 { 1093 | color: white; 1094 | font-size: 1em; 1095 | margin-bottom: 0.4em; } 1096 | .footer hr { 1097 | border: 1px solid rgba(255, 255, 255, 0.1); 1098 | margin: 0 auto 1.5em; 1099 | width: 12em; } 1100 | .footer p { 1101 | color: rgba(255, 255, 255, 0.4); 1102 | font-size: 0.9em; 1103 | line-height: 1.5em; 1104 | margin: auto; 1105 | max-width: 35em; 1106 | text-align: center; } 1107 | .footer p a { 1108 | color: rgba(255, 255, 255, 0.4); } 1109 | 1110 | /*-------------------------------------------------------------- 1111 | ## Homepage 1112 | --------------------------------------------------------------*/ 1113 | .page-template-template-homepage .wrap { 1114 | padding-bottom: 0; } 1115 | 1116 | .hero { 1117 | background-color: #324766; 1118 | background-position: center; 1119 | background-repeat: no-repeat; 1120 | background-size: cover; 1121 | padding-bottom: 3em; } 1122 | .hero .hero-logo img { 1123 | height: 4em; 1124 | margin-bottom: 1em; } 1125 | .hero .hero-inner { 1126 | max-width: 68em; 1127 | margin-left: auto; 1128 | margin-right: auto; 1129 | margin: auto; 1130 | padding: 3.5em; 1131 | text-align: center; } 1132 | .hero .hero-inner::after { 1133 | clear: both; 1134 | content: ""; 1135 | display: table; } 1136 | .hero .hero-inner::after { 1137 | clear: both; 1138 | content: ""; 1139 | display: table; } 1140 | .hero .hero-inner .hero-copy { 1141 | text-align: center; } 1142 | .hero .hero-inner .hero-copy h1 { 1143 | color: white; 1144 | font-size: 1.6em; 1145 | margin-bottom: 0.5em; } 1146 | @media screen and (min-width: 900px) { 1147 | .hero .hero-inner .hero-copy h1 { 1148 | font-size: 1.8em; } } 1149 | .hero .hero-inner .hero-copy p { 1150 | color: white; 1151 | line-height: 1.4em; 1152 | margin: 0 auto 3em auto; } 1153 | @media screen and (min-width: 900px) { 1154 | .hero .hero-inner .hero-copy p { 1155 | font-size: 1.1em; 1156 | max-width: 40%; } } 1157 | 1158 | .bullets { 1159 | display: -webkit-box; 1160 | display: -moz-box; 1161 | display: box; 1162 | display: -moz-flex; 1163 | display: -ms-flexbox; 1164 | display: flex; 1165 | -webkit-box-lines: multiple; 1166 | -moz-box-lines: multiple; 1167 | box-lines: multiple; 1168 | -ms-flex-wrap: wrap; 1169 | flex-wrap: wrap; 1170 | margin-bottom: 1.5; 1171 | margin: 1em; 1172 | overflow: auto; 1173 | padding: 0; 1174 | font-family: "Sanchez", serif; } 1175 | .bullets .bullet { 1176 | flex-basis: 20em; 1177 | -ms-flex-preferred-size: 20em; 1178 | -moz-flex-grow: 1; 1179 | -webkit-box-flex: 1; 1180 | flex-grow: 1; 1181 | -ms-flex-positive: 1; } 1182 | .bullets .bullet-icon { 1183 | background: #477dca; 1184 | border-radius: 50%; 1185 | float: left; 1186 | height: 3.5em; 1187 | padding: 0.875em; 1188 | width: 3.5em; } 1189 | .bullets .bullet-icon-1 { 1190 | background: #477dca; } 1191 | .bullets .bullet-icon-2 { 1192 | background: #47caaa; } 1193 | .bullets .bullet-icon-3 { 1194 | background: #a9ca47; } 1195 | .bullets .bullet-content { 1196 | margin-left: 4.9em; 1197 | margin-bottom: 2em; } 1198 | .bullets h2 { 1199 | border-bottom: 1px solid rgba(51, 51, 51, 0.2); 1200 | display: inline-block; 1201 | font-size: 1.4em; 1202 | margin: 0 0 0.58333em 0; 1203 | padding-top: 0.5em; 1204 | font-family: "Questrial", sans-serif; } 1205 | .bullets li { 1206 | list-style: none; } 1207 | .bullets p { 1208 | color: #333; 1209 | line-height: 1.5; } 1210 | .bullets img { 1211 | max-width: 100%; } 1212 | 1213 | /*-------------------------------------------------------------- 1214 | # Media 1215 | --------------------------------------------------------------*/ 1216 | .page-content .wp-smiley, 1217 | .entry-content .wp-smiley, 1218 | .comment-content .wp-smiley { 1219 | border: none; 1220 | margin-bottom: 0; 1221 | margin-top: 0; 1222 | padding: 0; } 1223 | 1224 | /* Make sure embeds and iframes fit their containers. */ 1225 | embed, 1226 | iframe, 1227 | object { 1228 | max-width: 100%; } 1229 | 1230 | /*-------------------------------------------------------------- 1231 | ## Captions 1232 | --------------------------------------------------------------*/ 1233 | .wp-caption { 1234 | margin-bottom: 1.5em; 1235 | max-width: 100%; } 1236 | .wp-caption img[class*="wp-image-"] { 1237 | display: block; 1238 | margin-left: auto; 1239 | margin-right: auto; } 1240 | .wp-caption .wp-caption-text { 1241 | margin: 0.8075em 0; } 1242 | 1243 | .wp-caption-text { 1244 | text-align: center; } 1245 | 1246 | /*-------------------------------------------------------------- 1247 | ## Galleries 1248 | --------------------------------------------------------------*/ 1249 | .gallery { 1250 | margin-bottom: 1.5em; } 1251 | 1252 | .gallery-item { 1253 | display: inline-block; 1254 | text-align: center; 1255 | vertical-align: top; 1256 | width: 100%; } 1257 | .gallery-columns-2 .gallery-item { 1258 | max-width: 50%; } 1259 | .gallery-columns-3 .gallery-item { 1260 | max-width: 33.33%; } 1261 | .gallery-columns-4 .gallery-item { 1262 | max-width: 25%; } 1263 | .gallery-columns-5 .gallery-item { 1264 | max-width: 20%; } 1265 | .gallery-columns-6 .gallery-item { 1266 | max-width: 16.66%; } 1267 | .gallery-columns-7 .gallery-item { 1268 | max-width: 14.28%; } 1269 | .gallery-columns-8 .gallery-item { 1270 | max-width: 12.5%; } 1271 | .gallery-columns-9 .gallery-item { 1272 | max-width: 11.11%; } 1273 | 1274 | .gallery-caption { 1275 | display: block; } 1276 | -------------------------------------------------------------------------------- /style.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | Theme Name: Hooch 3 | Theme URI: http://underscores.me/ 4 | Author: Brad Williams 5 | Author URI: http://braginteractive.com 6 | Description: Underscores, Bourbon, and Neat 7 | Version: 1.0.1 8 | License: GNU General Public License v2 or later 9 | License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 | Text Domain: hooch 11 | Tags: 12 | 13 | This theme, like WordPress, is licensed under the GPL. 14 | Use it to make something cool, have fun, and share what you've learned with others. 15 | 16 | Hooch is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc. 17 | Underscores is distributed under the terms of the GNU GPL v2 or later. 18 | 19 | Normalizing styles have been helped along thanks to the fine work of 20 | Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/ 21 | */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}button,input[type="button"],input[type="reset"],input[type="submit"],button{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;-webkit-font-smoothing:antialiased;background-color:#477dca;border-radius:3px;border:none;color:#fff;cursor:pointer;display:inline-block;font-family:"Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;font-size:1em;font-weight:600;line-height:1;padding:0.75em 1em;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}button:hover,button:focus,input[type="button"]:hover,input[type="button"]:focus,input[type="reset"]:hover,input[type="reset"]:focus,input[type="submit"]:hover,input[type="submit"]:focus,button:hover,button:focus{background-color:#2c5999;color:#fff}button:disabled,input[type="button"]:disabled,input[type="reset"]:disabled,input[type="submit"]:disabled,button:disabled{cursor:not-allowed;opacity:0.5}fieldset{background-color:#f7f7f7;border:1px solid #ddd;margin:0 0 .75em;padding:1.5em}input,label,select{display:block;font-family:"Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;font-size:1em}label{font-weight:600;margin-bottom:.375em}label.required::after{content:"*"}label abbr{display:none}input[type="color"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="email"],input[type="month"],input[type="number"],input[type="password"],input[type="search"],input[type="tel"],input[type="text"],input[type="time"],input[type="url"],input[type="week"],input:not([type]),textarea,select[multiple=multiple],textarea{background-color:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06);box-sizing:border-box;font-family:"Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;font-size:1em;margin-bottom:.75em;padding:.5em;-webkit-transition:border-color;transition:border-color;width:100%}input[type="color"]:hover,input[type="date"]:hover,input[type="datetime"]:hover,input[type="datetime-local"]:hover,input[type="email"]:hover,input[type="month"]:hover,input[type="number"]:hover,input[type="password"]:hover,input[type="search"]:hover,input[type="tel"]:hover,input[type="text"]:hover,input[type="time"]:hover,input[type="url"]:hover,input[type="week"]:hover,input:not([type]):hover,textarea:hover,select[multiple=multiple]:hover,textarea:hover{border-color:#c4c4c4}input[type="color"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="email"]:focus,input[type="month"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="text"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="week"]:focus,input:not([type]):focus,textarea:focus,select[multiple=multiple]:focus,textarea:focus{border-color:#477dca;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06),0 0 5px rgba(55,112,192,0.7);outline:none}textarea{resize:vertical}input[type="search"]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}input[type="checkbox"],input[type="radio"]{display:inline;margin-right:.375em}input[type="file"]{padding-bottom:.75em;width:100%}select{margin-bottom:1.5em;max-width:100%;width:auto}ul,ol{list-style-type:none;margin:0;padding:0}dl{margin-bottom:.75em}dl dt{font-weight:bold;margin-top:.75em}dl dd{margin:0}table{-webkit-font-feature-settings:"kern","liga","tnum";-ms-font-feature-settings:"kern","liga","tnum";font-feature-settings:"kern","liga","tnum";border-collapse:collapse;margin:.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #b7b7b7;font-weight:600;padding:.75em 0;text-align:left}td{border-bottom:1px solid #ddd;padding:.75em 0}tr,td,th{vertical-align:middle}body{-webkit-font-feature-settings:"kern","liga","pnum";-ms-font-feature-settings:"kern","liga","pnum";font-feature-settings:"kern","liga","pnum";-webkit-font-smoothing:antialiased;color:#333;font-family:"Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;font-size:1em;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;font-size:1em;line-height:1.2;margin:0 0 .75em}p{margin:0 0 .75em}a{color:#477dca;text-decoration:none;-webkit-transition:color 0.1s linear;transition:color 0.1s linear}a:active,a:focus,a:hover{color:#2c5999}a:active,a:focus{outline:none}hr{border-bottom:1px solid #ddd;border-left:none;border-right:none;border-top:none;margin:1.5em 0}img,picture{margin:0;max-width:100%}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important;height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,0.6);clip:auto !important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:bold;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.wrap{max-width:68em;margin-left:auto;margin-right:auto;padding-top:40px;padding-bottom:40px}.wrap::after{clear:both;content:"";display:table}.wrap .content-area{float:left;display:block;margin-right:2.12766%;width:74.46809%}.wrap .content-area:last-child{margin-right:0}@media screen and (max-width: 72.25rem){.wrap .content-area{padding-right:20px;padding-left:20px}}@media screen and (max-width: 45rem){.wrap .content-area{float:left;display:block;margin-right:4.34783%;width:100%}.wrap .content-area:last-child{margin-right:0}}.wrap .content-home{float:left;display:block;margin-right:2.12766%;width:100%}.wrap .content-home:last-child{margin-right:0}@media screen and (max-width: 72.25rem){.wrap .content-home{padding-right:20px;padding-left:20px}}.wrap .widget-area{float:left;display:block;margin-right:2.12766%;width:23.40426%}.wrap .widget-area:last-child{margin-right:0}@media screen and (max-width: 72.25rem){.wrap .widget-area{padding-right:20px;padding-left:20px}}@media screen and (max-width: 45rem){.wrap .widget-area{float:left;display:block;margin-right:4.34783%;width:100%}.wrap .widget-area:last-child{margin-right:0}}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}.clear:before::after,.clear:after::after,.entry-content:before::after,.entry-content:after::after,.comment-content:before::after,.comment-content:after::after,.site-header:before::after,.site-header:after::after,.site-content:before::after,.site-content:after::after,.site-footer:before::after,.site-footer:after::after{clear:both;content:"";display:table}.clear:after,.entry-content:after,.comment-content:after,.site-header:after,.site-content:after,.site-footer:after{clear:both}header.navigation{background-color:#333;border-bottom:1px solid #1a1a1a;min-height:60px;width:100%;z-index:999}header.navigation .navigation-wrapper{max-width:68em;margin-left:auto;margin-right:auto;position:relative;z-index:9999}header.navigation .navigation-wrapper::after{clear:both;content:"";display:table}header.navigation .navigation-wrapper::after{clear:both;content:"";display:table}header.navigation .logo{float:left;max-height:60px;padding-left:1em;padding-right:2em}header.navigation .logo img{max-height:60px;padding:0.8em 0}header.navigation .navigation-menu-button{color:rgba(255,255,255,0.7);display:block;float:right;line-height:60px;margin:0;padding-right:1em;text-decoration:none;text-transform:uppercase}@media screen and (min-width: 900px){header.navigation .navigation-menu-button{display:none}}header.navigation .navigation-menu-button:focus,header.navigation .navigation-menu-button:hover{color:#fff}header.navigation nav{float:none;min-height:60px;z-index:9999999}@media screen and (min-width: 900px){header.navigation nav{float:left}}header.navigation ul.navigation-menu{-webkit-transform-style:preserve-3d;clear:both;display:none;margin:0 auto;overflow:visible;padding:0;width:100%;z-index:9999}header.navigation ul.navigation-menu.show{display:block}@media screen and (min-width: 900px){header.navigation ul.navigation-menu{display:inline;margin:0;padding:0}}header.navigation ul li.menu-item{background:#333;display:block;line-height:60px;overflow:hidden;padding-right:0.8em;text-align:right;width:100%;z-index:9999}@media screen and (min-width: 900px){header.navigation ul li.menu-item{background:transparent;display:inline;line-height:60px;text-decoration:none;width:auto}}header.navigation ul li.menu-item a{color:rgba(255,255,255,0.7);display:inline-block;text-decoration:none}@media screen and (min-width: 900px){header.navigation ul li.menu-item a{padding-right:1em}}header.navigation ul li.menu-item a:focus,header.navigation ul li.menu-item a:hover{color:#fff}header.navigation ul li.menu-item.current_page_item a{color:#fff}header.navigation li.menu-item-has-children.menu-item{padding-right:0}@media screen and (min-width: 900px){header.navigation li.menu-item-has-children.menu-item{padding-right:1em}}header.navigation li.menu-item-has-children.menu-item>ul>li:first-child a{padding-top:1em}header.navigation li.menu-item-has-children.menu-item a{margin-right:1em}header.navigation li.menu-item-has-children.menu-item>a{padding-right:0.6em}header.navigation li.menu-item-has-children.menu-item>a:after{position:absolute;top:auto;right:-.4em;bottom:auto;left:auto;content:'\25BE';color:rgba(255,255,255,0.7)}header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children{overflow:visible;padding-right:0}header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children a{padding-right:0.8em}header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children>a{padding-right:1.6em;position:relative}@media screen and (min-width: 900px){header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children>a{margin-right:1em}}header.navigation li.menu-item-has-children.menu-item .sub-menu .menu-item-has-children>a:after{content:'›';font-size:1.2em;position:absolute;right:.5em}header.navigation li.menu-item-has-children{overflow:visible;padding-right:0}header.navigation li.menu-item-has-children a{padding-right:0.8em}header.navigation li.menu-item-has-children>a{padding-right:1.6em;position:relative}@media screen and (min-width: 900px){header.navigation li.menu-item-has-children>a{margin-right:1em}}header.navigation li.menu-item-has-children>a:after{content:'›';font-size:1.2em;position:absolute;right:.5em}header.navigation li.menu-item-has-children:focus>.sub-menu,header.navigation li.menu-item-has-children:hover>.sub-menu{display:block}@media screen and (min-width: 900px){header.navigation li.menu-item-has-children{padding-right:0.8em;position:relative}}header.navigation ul.sub-menu{display:none;padding-left:0}@media screen and (min-width: 900px){header.navigation ul.sub-menu{left:-1em;position:absolute;top:1.5em}}@media screen and (min-width: 900px){header.navigation ul.sub-menu .sub-menu{left:11.8em;top:0}}header.navigation ul.sub-menu li{display:block;padding-right:0}@media screen and (min-width: 900px){header.navigation ul.sub-menu li{line-height:46.15385px}header.navigation ul.sub-menu li:first-child>a{border-top-left-radius:3px;border-top-right-radius:3px}header.navigation ul.sub-menu li:last-child>a{border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding-bottom:0.7em}}header.navigation ul.sub-menu li a{background-color:#2b2b2b;display:inline-block;text-align:right;width:100%}@media screen and (min-width: 900px){header.navigation ul.sub-menu li a{background-color:#333;padding-left:1em;text-align:left;width:12em}}header.navigation .navigation-tools{background:#505050;clear:both;display:block;height:60px}@media screen and (min-width: 900px){header.navigation .navigation-tools{background:transparent;clear:none;float:right}}header.navigation .search-bar{float:left;padding:0.85em 0.85em 0.7em 0.6em;width:60%}header.navigation .search-bar form{position:relative}header.navigation .search-bar form input[type=search]{box-sizing:border-box;background:#404040;border-radius:6px;border:1px solid #262626;color:rgba(255,255,255,0.7);font-size:0.9em;font-style:italic;margin:0;padding:0.5em 0.8em;width:100%}@media screen and (min-width: 900px){header.navigation .search-bar form input[type=search]{width:100%}}header.navigation .search-bar form button[type=submit]{background:#404040;border:none;bottom:0.3em;left:auto;outline:none;padding:0 9px;position:absolute;right:0.3em;top:0.3em}header.navigation .search-bar form button[type=submit] img{height:12px;opacity:0.7;padding:1px}@media screen and (min-width: 900px){header.navigation .search-bar{display:inline-block;position:relative;width:16em}header.navigation .search-bar input{box-sizing:border-box;display:block}}.sticky{display:block}.hentry{margin:0 0 1.5em}.byline,.updated:not(.published){display:none}.single .byline,.group-blog .byline{display:inline}.page-content,.entry-content,.entry-summary{margin:1.5em 0 0}.page-links{clear:both;margin:0 0 1.5em}article{-ms-word-wrap:break-word;word-wrap:break-word;font-family:"Questrial",sans-serif;text-align:left}article .entry-content{margin-top:0}article .entry-content figure{width:auto !important}article .entry-content img{height:auto}article::after{clear:both;content:"";display:table}article h1,article h2,article h3,article p{margin:0}article hr{border-bottom:1px solid #ddd;border-left:none;border-right:none;border-top:none;margin:1.5em 0}article p{color:#333;line-height:1.5}article a{color:#477dca;text-decoration:none}article .type{border-bottom:1px solid;display:inline-block;font-family:"Questrial",sans-serif;font-size:0.7em;font-weight:800;margin-bottom:2em;padding:0.3em 0;text-align:left;text-transform:uppercase}article h1{font-family:"Sanchez",serif;font-size:1.8em;font-weight:700;margin-bottom:0.5em}@media screen and (min-width: 45rem){article h1{font-size:2.6em}}article h1 a{color:#333}article h2{font-family:"Sanchez",serif;font-size:1.2em;font-style:italic;font-weight:400;line-height:1.4em;margin-bottom:1.1em}@media screen and (min-width: 45rem){article h2{font-size:1.3em}}article code{background:#F7F7F7;border-radius:4.5px;border:1px solid #E0E0E0;font-size:0.7em;font-style:normal;padding:0.1em 0.4em;white-space:nowrap}article h3{font-family:"Sanchez",serif;font-size:1.4em;font-weight:400;line-height:1.3em;margin-bottom:0.4em}article .entry-meta,article .entry-meta a{color:rgba(51,51,51,0.4);font-family:"Sanchez",serif;font-size:0.9em;font-style:italic;margin-bottom:0.3em}article p{font-family:"Questrial",sans-serif;font-size:1.05em;line-height:1.5em;margin-bottom:1.5em}article a.more-link{display:inline-block;font-family:"Questrial",sans-serif;font-size:0.8em;font-weight:700;margin-left:0.2em;position:relative;text-transform:uppercase}article a.more-link span{font-family:"Questrial",sans-serif;font-size:1.5em;font-style:normal;position:absolute;right:-12px;top:-1px}article hr{width:3em}.blog .format-aside .entry-title,.archive .format-aside .entry-title{display:none}.comments-area{-ms-word-wrap:break-word;word-wrap:break-word}.comment-content a{word-wrap:break-word}.bypostauthor{display:block}.comment{border-bottom:1px solid rgba(51,51,51,0.1);display:table;margin-bottom:1.5em;padding-bottom:1em;width:100%}.comment .comment-author,.comment .comment-details{display:table-cell;vertical-align:top}.comment .comment-author{padding-right:1.4em;width:10%}.comment .comment-author>img{border-radius:3px;display:block;height:auto;max-width:none;width:4em}.comment-reverse-order .comment .comment-author{padding-right:0;padding-left:10px}.comment .comment-content{width:100%}.comment .comment-content h1{font-size:1em;margin:0 0 0.5em 0}.comment .comment-content p{line-height:1.5em;margin-bottom:0.5em}.comment .comment-content p.comment-detail{color:rgba(51,51,51,0.5);font-size:0.9em;font-style:italic}.pagination{margin-top:40px;text-align:center}.pagination ul{display:inline;margin:0;padding:0;text-align:center}.pagination ul li{display:inline-block;list-style:none;padding-bottom:20px}.pagination ul li.active a{background:#fff;color:#477dca}.pagination ul ul li{display:none}.pagination ul ul li:nth-child(1),.pagination ul ul li:nth-child(2),.pagination ul ul li:nth-child(3){display:inline}@media screen and (min-width: 900px){.pagination ul ul li{display:inline}}.pagination ul li a{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;background:#f7f7f7;border-radius:3px;border:1px solid #ddd;color:#333;outline:none;padding:.375em 15px;text-decoration:none}.pagination ul li a:hover,.pagination ul li a:focus{background:#fff;color:#477dca}.widget{margin:0 0 1.5em}.widget select{max-width:100%}.widget_search .search-submit{display:none}.footer{background:#40526b;padding:3em 30px;width:100%;margin-top:40px}.footer .footer-logo{margin-bottom:2em;text-align:center}.footer .footer-logo img{height:3em}.footer .footer-links{max-width:68em;margin-left:auto;margin-right:auto}.footer .footer-links::after{clear:both;content:"";display:table}.footer .footer-links .footer-widget{float:left;display:block;margin-right:2.12766%;width:23.40426%}.footer .footer-links .footer-widget:last-child{margin-right:0}@media screen and (max-width: 45rem){.footer .footer-links .footer-widget{float:left;display:block;margin-right:4.34783%;width:100%}.footer .footer-links .footer-widget:last-child{margin-right:0}}@media screen and (max-width: 34rem){.footer .footer-links .footer-widget{float:left;display:block;margin-right:6.66667%;width:100%}.footer .footer-links .footer-widget:last-child{margin-right:0}}.footer h3{color:#fff}.footer p,.footer .textwidget,.footer .tagcloud a{color:rgba(255,255,255,0.4)}.footer p:focus,.footer p:hover,.footer .textwidget:focus,.footer .textwidget:hover,.footer .tagcloud a:focus,.footer .tagcloud a:hover{color:#fff}.footer ul{margin-bottom:3em;padding:0}.footer li{line-height:1.5em;list-style:none;text-align:center}@media screen and (min-width: 600px){.footer li{text-align:left}}.footer li a{color:rgba(255,255,255,0.4);text-decoration:none}.footer li a:focus,.footer li a:hover{color:#fff}.footer li h3{color:#fff;font-size:1em;margin-bottom:0.4em}.footer hr{border:1px solid rgba(255,255,255,0.1);margin:0 auto 1.5em;width:12em}.footer p{color:rgba(255,255,255,0.4);font-size:0.9em;line-height:1.5em;margin:auto;max-width:35em;text-align:center}.footer p a{color:rgba(255,255,255,0.4)}.page-template-template-homepage .wrap{padding-bottom:0}.hero{background-color:#324766;background-position:center;background-repeat:no-repeat;background-size:cover;padding-bottom:3em}.hero .hero-logo img{height:4em;margin-bottom:1em}.hero .hero-inner{max-width:68em;margin-left:auto;margin-right:auto;margin:auto;padding:3.5em;text-align:center}.hero .hero-inner::after{clear:both;content:"";display:table}.hero .hero-inner::after{clear:both;content:"";display:table}.hero .hero-inner .hero-copy{text-align:center}.hero .hero-inner .hero-copy h1{color:#fff;font-size:1.6em;margin-bottom:0.5em}@media screen and (min-width: 900px){.hero .hero-inner .hero-copy h1{font-size:1.8em}}.hero .hero-inner .hero-copy p{color:#fff;line-height:1.4em;margin:0 auto 3em auto}@media screen and (min-width: 900px){.hero .hero-inner .hero-copy p{font-size:1.1em;max-width:40%}}.bullets{display:-webkit-box;display:-moz-box;display:box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;box-lines:multiple;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:1.5;margin:1em;overflow:auto;padding:0;font-family:"Sanchez",serif}.bullets .bullet{flex-basis:20em;-ms-flex-preferred-size:20em;-moz-flex-grow:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-positive:1}.bullets .bullet-icon{background:#477dca;border-radius:50%;float:left;height:3.5em;padding:.875em;width:3.5em}.bullets .bullet-icon-1{background:#477dca}.bullets .bullet-icon-2{background:#47caaa}.bullets .bullet-icon-3{background:#a9ca47}.bullets .bullet-content{margin-left:4.9em;margin-bottom:2em}.bullets h2{border-bottom:1px solid rgba(51,51,51,0.2);display:inline-block;font-size:1.4em;margin:0 0 .58333em 0;padding-top:.5em;font-family:"Questrial",sans-serif}.bullets li{list-style:none}.bullets p{color:#333;line-height:1.5}.bullets img{max-width:100%}.page-content .wp-smiley,.entry-content .wp-smiley,.comment-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*="wp-image-"]{display:block;margin-left:auto;margin-right:auto}.wp-caption .wp-caption-text{margin:0.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block} 22 | -------------------------------------------------------------------------------- /template-parts/content-home.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    13 |
    > 14 | 15 |
    16 | 17 | '', 21 | ) ); 22 | ?> 23 |
    24 | 25 |
    26 | ', '' ); ?> 27 |
    28 |
    29 | 30 | -------------------------------------------------------------------------------- /template-parts/content-none.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    13 | 16 | 17 |
    18 | 19 | 20 |

    Get started here.', 'hooch' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( admin_url( 'post-new.php' ) ) ); ?>

    21 | 22 | 23 | 24 |

    25 | 26 | 27 | 28 | 29 |

    30 | 31 | 32 | 33 |
    34 |
    35 | -------------------------------------------------------------------------------- /template-parts/content-page.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    > 13 |
    14 | ', '' ); ?> 15 |
    16 | 17 |
    18 | 19 | '', 23 | ) ); 24 | ?> 25 |
    26 | 27 |
    28 | ', '' ); ?> 29 |
    30 |
    31 | 32 | -------------------------------------------------------------------------------- /template-parts/content-search.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 28 | 29 | -------------------------------------------------------------------------------- /template-parts/content-single.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    > 13 |
    14 | ', '' ); ?> 15 | 16 | 19 |
    20 | 21 | 28 | 29 |
    30 | 31 | '', 35 | ) ); 36 | ?> 37 |
    38 | 39 |
    40 | 41 | -------------------------------------------------------------------------------- /template-parts/content.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    > 13 |
    14 | ', esc_url( get_permalink() ) ), '' ); ?> 15 | 16 | 17 | 20 | 21 |
    22 | 23 | 30 | 31 |
    32 | →', 'hooch' ), array( 'span' => array( 'class' => array() ) ) ), 36 | the_title( '"', '"', false ) 37 | ) ); 38 | ?> 39 | 40 | '', 44 | ) ); 45 | ?> 46 |
    47 | 48 |
    49 | 50 |
    51 | -------------------------------------------------------------------------------- /templates/template-homepage.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | ID ), 'full' ); 14 | // Checks and returns the featured image 15 | $bg = (!empty( $featured_img ) ? "background-image: url('". $featured_img[0] ."');" : ''); 16 | ?> 17 | 18 |
    19 |
    20 | 28 |
    29 | 30 |
    31 |
    32 |
    33 | 34 |
    35 |
    36 |
    37 | 38 | 39 | 40 | 46 | 47 |
      48 |
    • 49 |
      50 | '; 52 | } else { ?> 53 | 54 | 55 |
      56 |
      57 | 58 |
      59 |
    • 60 |
    • 61 |
      62 | '; 64 | } else { ?> 65 | 66 | 67 |
      68 |
      69 | 70 |
      71 |
    • 72 |
    • 73 |
      74 | '; 76 | } else { ?> 77 | 78 | 79 |
      80 |
      81 | 82 |
      83 |
    • 84 |
    85 | 86 | 87 | 88 | 89 | 95 | 96 | 97 | 98 |
    99 |
    100 | 101 |
    102 | 103 | 104 | --------------------------------------------------------------------------------