@charset "utf-8";
/*
Theme Name: base
Author: Sean Massa
Author URI: https://www.linkweb.ca/
Description: Custom theme developed as a framework
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: base
*/


/* general */
#wrapper { position: relative; width: 100%; }
.container { width: 100%; max-width: 880px; }

/* fixed header anchor offset */
/*
:target { scroll-margin-top: 68px; scroll-snap-margin-top: 68px; }
.admin-bar :target { scroll-margin-top: 100px; scroll-snap-margin-top: 100px; }
*/
.general-text-mod .anchor-link { position: absolute; height: 0; overflow: hidden; margin-top: -118px; }
.work-feed-mod .anchor-link { position: absolute; height: 0; overflow: hidden; margin-top: -128px; }
.inspirational-posts-mod .anchor-link { position: absolute; height: 0; overflow: hidden; margin-top: -128px; }

/* header */
#main-header { width: 100%; z-index: 1039; transition: top 0.5s ease; position: fixed; top: 0; left: 0; background-color: #FFF; padding: 13px 0 8px 0; border-bottom: solid 1px #e6e6e6; }
.admin-bar #main-header { top: 32px; }
#header .logo-wrapper { display: flex; justify-content: flex-start; align-items: center; padding-right: 15px; padding-left: 30px; }
#header #logo { display: block; padding: 0; transition: padding 0.5s ease; }
#header #logo > img { width: 30px; }
#header .nav-wrapper { flex: 1 0 auto; }
#header > .container-fluid > .row { align-items: center; }

#main-nav { padding: 0; }
#main-nav .nav-link { padding: .5rem; color: #000; }

#rightMenu .nav-link, #main-nav .nav-link { display: flex; align-items: center; color: #000; }
#rightMenu .nav-icon, #main-nav .nav-icon { width: 12px; margin-left: 12px; height: 16px; line-height: 0; }


/* footer */
#site-footer { padding: 30px 0; }
#site-footer a { color: inherit; }
.single-work #site-footer { background-color: #f2f2f2; }


h3 {margin-bottom: 10px !important; }




/* author-info */
.author-info { position: relative; padding: 65px 0 0 0; }
.author-info .media { align-items: center; }
.author-info .media-img { margin-right: 40px; flex: 0 0 225px; max-width: 225px; }
.author-info .media-body { display: flex; justify-content: space-between; align-items: center; }
.author-info .media-body .content { border-left: solid 1px #ebebeb; padding: 10px 25px; }
.author-info .media-body .content .name { margin-bottom: 20px; }
.author-info .media-body .content .name span { display: block; margin-bottom: 10px; }
.author-info .media-body .content .name:after { content: ""; display: inline-block; width: 185px; height: 1px; background-color: #ebebeb; }
.author-info .media-body .content p:last-child { margin-bottom: 0; }
.author-info .media-body .social-links { list-style: none; margin: 0; padding: 0; }
.author-info .media-body .social-links > li { font-size: 20px; margin-bottom: 15px; }
.author-info .media-body .social-links > li:last-child { margin-bottom: 0; }


/* flexible template modules */
/* general text module */
.general-text-mod { position: relative; padding: 50px 0; }
.general-text-mod + .general-text-mod { padding-top: 0; margin-top: -36px; }
.general-text-mod .intro { margin-bottom: 30px; }
.general-text-mod .title { letter-spacing: 7px; text-transform: uppercase; border-bottom: solid 1px #ebebeb; }
.general-text-mod .title h2 { margin-bottom: 15px; }
.general-text-mod .title + .text, .general-text-mod .subtitle + .text { margin-top: 15px; }

/* work feed mod */
.work-feed-mod { position: relative; padding: 60px 0px 40px 0px; }
.work-feed-mod + .work-feed-mod { padding-top: 0; }
.work-feed-mod .intro .text { border-bottom: solid 1px #cccccc; margin-bottom: 40px; }
.work-feed-mod + .work-feed-mod .intro .title { border-top: solid 1px #cccccc; padding-top: 40px; }
.work-feed { list-style: none; padding: 0; margin: 0; }
.work-feed > li { margin-bottom: 40px; }
.work-feed > li:last-child { margin-bottom: 0; }
.work-feed .pretitle { font-weight: 600; }
.work-feed .title a { font-weight: 600; text-decoration: underline; }
.work-feed .text p:last-child { margin-bottom: 0; }
.work-feed .date { font-weight: 600; }

/* inspirational posts mod */
.inspirational-posts-mod { position: relative; padding: 60px 0 0 0; }
.inspirational-posts-mod .intro { margin-bottom: 10px; }
.inspirational-posts-feed { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: space-between; }
.inspirational-posts-feed > li { margin-bottom: 50px; flex: 1 0 48%; max-width: 48%; }
.inspirational-posts-feed .cat-icon { margin-bottom: 5px; }
.inspirational-posts-feed .cat-icon .icon { margin-bottom: 8px; }
.inspirational-posts-feed .cat-icon .icon img { width: 44px; }
.inspirational-posts-feed .cat-icon .title { text-transform: uppercase; font-weight: 600; letter-spacing: 1px; }
.inspirational-posts-feed .title a { font-weight: 600; text-decoration: underline; }
.inspirational-posts-feed .date { font-weight: 600; }

/* cta bar mod */
.cta-bar-mod { background-position: center; background-repeat: no-repeat; background-size: cover; }
.cta-bar-mod .container .row { min-height: 500px; position: relative; padding: 50px 0; align-items: center; }
.cta-bar-mod .title { font-size: 30px; color: #FFF; line-height: 1; letter-spacing: 2px; font-weight: 600; }



/* work */
#post-details { background-color: #f2f2f2; }
#post-info .back-link { font-size: 12px; text-align: right; letter-spacing: 3px; margin-top: 30px; margin-bottom: 10px; }
#post-info .content-wrapper { background-color: #FFF; padding: 30px; }
#post-info .content-wrapper .pretitle { font-weight: 600; }
#post-info .content-wrapper h1 { margin-bottom: 5px; }
#post-info .content-wrapper .excerpt p { margin-bottom: 5px; }
#post-info .content-wrapper .date { font-weight: 600; }
#post-info .content-wrapper .media { margin-top: 30px; margin-bottom: 45px; align-items: center; }
#post-info .content-wrapper .media .image { flex: 0 0 269px; max-width: 269px; }
#post-info .content-wrapper .media .download { margin-left: 30px; }
#post-info .content-wrapper .text h2 { letter-spacing: 5px; text-transform: uppercase; border-bottom: solid 1px #ebebeb; padding-bottom: 15px; margin-bottom: 15px; }
#post-info .content-wrapper .text p + h2 { margin-top: 30px; }
#post-info .content-wrapper .author-info { padding-top: 15px; }
#post-info .content-wrapper .author-info .media-body { flex-direction: column; align-items: flex-start; }
#post-info .content-wrapper .author-info .social-links { display: flex; padding-left: 27px; margin-top: 15px; }
#post-info .content-wrapper .author-info .social-links > li { margin-bottom: 0; margin-right: 15px; }
#post-info .content-wrapper .posts-nav { border-top: solid 1px #ebebeb; padding-top: 15px; margin-top: 15px; }

.btn { font-size: 14px; }
.btn-light { color: #333; }

#error-404 { position: relative; padding: 50px 0; }
