/*
 * Theme Name: Infinte Cult
 * Theme URI: http://www.cultofmac.com/
 * Author: PressLabs
 * Author URI: http://www.presslabs.com/
 * Description: CultofMac.com new simplified WordPress theme.
 * Version: f7a3e13
 * License: Apache License 2.0
 * License URI: http://www.apache.org/licenses/LICENSE-2.0
 * Tags: simple, cultofmac, mobile, responsive, cult, infinite cult
 * Text Domain: cultofmac2013
 *
 */

/*

Because of WP query optimisation I change the `subs-nav` to `menu-item-has-children`
which is the default class in WP for submenus

*/


/* scheme  st  | +50 bl

Green:	63bc48 | 315e24
Yellow:	feb825 | 7f5c12
Orange:	f6821f | 7b410f
Red:	7b410f | 701d1f
Purple:	953f98 | 4b204c
Blue:  	149cd8 | 0a4e6c

*/

/* -- DEFAULTS -- */

* {
	padding: 0;
	margin: 0;
	border: 0;
	outline: 0;
}

.al {
	text-align: left;
}
.ac {
	text-align: center;
}
.ar {
	text-align: right;
}
.fl {
	float: left;
}
.fn {
	float: none;
}
.fr {
	float: right;
}
.cb {
	clear: both;
}

body {
    	background-color: #f7f7f7;
	font: 20px/30px "Helvetica Neue", Tahoma, Helvetica, Arial, sans-serif;
	padding: 0 40px 20px 20px;
}

/* -- PAGE STRUCTURE -- */

#wrapper {
	margin: 0 auto;
	max-width: 1280px;
}

/* masthead and nav */

#masthead {
	background: #fff;
	margin-left: 340px;
	margin-bottom: 0px;
	padding: 0 20px 20px;
	position: relative;
}
#logo {
	width: 400px;	
	height: auto;
	margin: 0 auto;
	padding: 20px;
}
#logo img {
	display: block;
}
.advert .lead-ad {
	width: 728px;
	height: 90px;
	background: #bbb;
	margin: 0 auto;
	text-align: center;
	line-height: 90px;
	color: #999;
}
#masthead nav {
	height: 40px;
	overflow: visible;
}
#masthead nav ul {/* mag/podcast, etc. */
	list-style: none;	
	text-align: center;
	background: #63bc48;
	margin: 0 -20px;
	line-height: 38px;
	height: 40px;
}
#masthead nav ul ul {
	height: auto;
}
#masthead #sidebar-toggle-c {
	position: absolute;
	left: 0;
	top: 0;
	display: none;
	padding-left: 5px;
	padding-right: 5px;
	height: 40px;
	line-height: 47px;
}
#masthead nav li:first-of-type {
	margin-left: 0;
}
#masthead nav li {
	display: inline-block;
	margin-left: 30px;
}

#masthead ul li.menu-item-has-children ul {
	display: none;
}
#masthead ul li.menu-item-has-children:hover ul {
	display: block;
	position: absolute;
	z-index: 22;
}

#masthead ul ul li {
	display: block;
	margin: 0;
	text-align: left;
	padding: 10px 30px;
}
#masthead nav a {
	border: 0;
	font-weight: normal;
	color: #fff;
	text-transform: uppercase;
	font-size: 15px;
	padding: 0;
	line-height: 30px;
}
/* sidebar */
#sidebar, #sidebar-footer, #search-panel {
	background: #f0f0f0;
}
#sidebar {/* container, -webkit required for inertia scrolling on iOS */
	width: 320px;
	position: fixed;
	top: 0;
	bottom: 0;
	overflow-y: auto;
	padding-bottom: 71px;
	padding-left: 20px;
	-webkit-overflow-scrolling: touch;
}
#sidebar-content {/* scrolling content area (stories) */
	position: fixed;
	top: 87px;
	bottom: 70px;
	height: auto;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	margin-left: 20px;
}

/* sidebar content */
#search-panel {
	height: 47px;
	padding-top: 20px;
	padding-bottom: 19px;
	position: absolute;
	width: 300px;
	z-index: 3;
	border-bottom: 1px solid #ddd;
}
#search-container {
	height: 45px;
	border: 1px solid #ccc;
	background: #fafafa;
	width: 298px;
}
#search-form {
	margin: 0;
	padding: 0;
	width: 300px;
	height: 45px;
}
#search-form input {
	border: 0;
	background: none;
	color: #666;
	font: 20px/43px "Helvetica Neue", Tahoma, Helvetica, Arial, sans-serif;
	padding: 0 30px;
	width: 238px;
	height: 45px;
}
#search-form input:focus {
	background: #fff;
	outline: none;
}

#sidebar-content .story {
	width: 280px;
	padding: 20px 20px 20px 0;
	position: relative;
	border-bottom: 1px solid #ddd;
	min-height: 80px;
}
#sidebar-content h2:first-of-type {}
#sidebar-content .mpu {
	margin: 20px 0 0;
	width: 300px;
	height: 250px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 20px;
}
#sidebar-content .mpu img {
	width: 300px;
	height: 250px;
}
#sidebar-content .story img {
	width: 80px;
	height: auto;
	position: absolute;
}
#sidebar-content h2 {/* section header */
	font-size: 18px;
	font-weight: normal;
	margin-top: 24px;
	color: #888;
}
#sidebar-content h3 {/* article title */
	padding-left: 100px;	
	font-size: 18px;
	line-height: 24px;
}

#sidebar-footer {/* about, ads, privacy */
	position: absolute;
	bottom: 0;
	height: 30px;
	padding: 19px 0 20px;
	width: 300px;
	border-top: 1px solid #ddd;
}
#sidebar-footer ul {
	list-style: none;
	padding: 0;
	font-size: 16px;
}
#sidebar-footer li {
	display: block;
	float: left;
}
#sidebar-footer li.ac {
	width: 150px;
}
#sidebar-footer li.al, #sidebar-footer li.ar {
	width: 75px;
}
#sidebar-content a, #sidebar a {
	font-weight: normal;
	text-decoration: none;
	border: none;
}

/* -- CONTENT WRAPPER -- */
#content-wrapper {
	margin-left: 400px;
	margin-right: 60px;
}
#content-wrapper .mpu {
	padding: 40px;
	margin: 60px 0 0;
	border-top: 1px dashed #bbb;	
}
#content-wrapper .mpu img {
	margin: 0 auto;
	display: block;
}

.post {
	border-top: 10px solid #63bc48;
	margin: 0 -60px;
	padding: 40px 60px 0;
	position: relative;
}
.archive .main-header h2, .search .main-header h2, .author .main-header h2 {
	background: #fff;
	margin: 0 -60px;
	padding: 20px 60px 20px;
	border-top: 2px solid #f7f7f7;
	font-size: 20px;
	color: #666;
}

/* article header block */
#content-wrapper .header h2 {
	font-size: 40px;
	line-height: 60px;
	font-weight: normal;
	text-align: center;
}

#subtitle {}

#content-wrapper .author h3 {
	font-size: 20px;
	line-height: 60px;
	font-weight: bold;
	margin-top: 0;
	color: #f6821f;
	text-align: center;
	margin-bottom: -15px;
}

#content-wrapper .edit h3 {
	font-size: 20px;
	line-height: 60px;
	font-weight: bold;
	margin-top: 0;
	color: #f6821f;
	text-align: center;
	margin-bottom: -15px;
}

/* base typography */
#content-wrapper h1 {
	margin-top: 60px;
	font-weight: bold;
	font-size: 40px;
	line-height: 45px;
	margin-bottom: 45px;

}
.post h3 {/* crosshead */
	margin-top: 60px;
	font-size: 35px;
	line-height: 45px;
	margin-bottom: 45px;
	font-weight: normal;
}
.post h4 {/* nested crosshead */
	font-size: 25px;
	line-height: 45px;
	margin-bottom: 0;
	padding-top: 44px;
	font-weight: normal;
}
.post h5 {/* crosshead section */
	margin-top: 60px;
	font-size: 35px;
	line-height: 45px;
	margin-bottom: 45px;
	border-top: 1px dashed #ccc;
	padding-top: 44px;
	font-weight: normal;
}
	
p {
	color: #222222;
	margin: 30px 0;
}
.meta, .comments p:first-of-type {
	font-size: 80%;
}

.meta p {
        margin: 0;
}

a {
	text-decoration: none;
	color: #149cd8;
	border-bottom: 1px dashed #159dd9;
}
.wp-caption a {
	border-bottom: 0 !important;
}

/* blockquotes */
blockquote.pullquote {
	border-top: 3px solid #e1e1e1;
	border-bottom: 3px solid #e1e1e1;
	text-align: center;
}
blockquote.pullquote p {
	color: #63bc48 /*#61bb46*/;
	font-size: 25px;
	line-height: 30px;
	background: #ffffff;
	padding: 15px 30px;
	margin: 0;
}
blockquote.pullquote.alignright {
	border-top: 0;
	border-bottom: 0;
	border-left: 3px solid #e1e1e1;
	text-align: right;
	max-width: 40%;
	float: right;
	margin: 5px 0 30px 10%;
}

/* share hover */
.share {
	color: #666;
	font-weight: normal;
	font-size: 20px;
	line-height: 60px;
	margin-top: 2px;
	margin-bottom: -15px;
	position: absolute;
	right: 0;
}
.share-container {
	position: absolute;
	width: 120px;
	background: #ffffff;
	border: 1px solid #aaa;
	padding: 20px;
	right: 10000px;
	z-index: 2;
	box-shadow: 0 0 10px 5px rgba(0,0,0,0.1);
}
.share:hover .share-container {
	right: 0 !important;
}
.share a {
	color: #999;
	border-bottom: none;
}
.share img {
	box-shadow: none;
	border: 0;
	display: block;
	margin: 0 auto;
}

/* images */
img {
	max-width: 100%;
/*	box-shadow: 0 0 10px 3px rgba(0,0,0,0.1);*/
}
p img, #content h3 img {
	height: auto;
	margin: 45px auto 45px;
	display: block;
}
#content h3 img {
	margin-top: -30px;
}
.wp-caption {
	background: #ffffff;
	padding: 0 0 20px;
	margin: 45px 0 45px;
/*	box-shadow: 0 0 10px 3px rgba(0,0,0,0.1);*/
	max-width: 960px;
}
.wp-caption img {
	height: auto;
/* box-shadow: none;*/
}
.wp-caption-text {
	font-weight: bold;
	font-size: 15px;
	line-height: 20px;
	color: #777;
	text-align: center;
	margin: 10px 0 0;
}
.wp-caption.alignright, img.alignright {
	max-width: 40%;
	float: right;
	margin: 40px 0 30px 10%;
}
.wp-caption.alignleft, img.alignleft {
        max-width: 40%;
        float: left;
        margin: 40px 10% 30px 0;
}
.wp-caption.alignright p, .wp-caption.alignleft p {
	padding: 0 20px;
}
.w250 {/* small boxout */
	float: right;
	width: 250px;
	margin: 0 30px 10%;
}
#content h3 + .wp-caption.alignright, #content h3 + .wp-caption.alignleft {
	margin-top: 5px;
}

/* source credits */
ul.credits a {
	border: 0;
}
ul.credits {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
	overflow: auto;
	border: 1px dashed #ccc;
	font-size: 80%;
}
ul.credits li {
	overflow: auto;
	float: left;
	color: #666;
}
ul.credits li a {
	color: #666;
	text-decoration: none;
}
ul.credits span {
	padding: 5px 15px; 
	float: left;
}
.clCat {
	/*background: #e6e6e6;*/
	color: #999;
}
.clCite {
	/*background: #e1e1e1;*/
}

/* tables */
.scroll { 
	overflow: auto; 
}
table.alignright {
	float: right;
	margin: 0 0 20px 20px;
}
table.alignleft {
	float: left;
	margin: 0 20px 20px 0;
}
table.fullwidth {
	width: 100%;
}
table.styled { font-size: 16px; border-collapse: collapse; }
table.styled caption { font-size: 16px; padding: 10px; font-weight: bold; text-transform: uppercase; }

table.styled th, table.styled td { padding: 10px 20px; min-width: 50px; }

table.styled thead { }
table.styled thead th { background: #666; color: #fff; font-weight: n; }
table.styled thead tr { }
table.styled thead td { }

table.styled tbody { }
table.styled tbody th { background: rgba(56,130,190,0.2); border-right: 1px solid rgba(56,130,190,0.5)}
table.styled tbody tr { border-bottom: 1px solid rgba(0,0,0,0.1); background: #eaeaea;
}
table.styled tbody tr:nth-of-type(odd) { background-color: #eee; }
table.styled tbody td { text-align: left; }

table.styled tfoot { background: rgba(0,0,0,0.1); font-size: 12px; font-style: italic; text-align: center; }

table.styled ul { text-align: left; margin-top: 10px; }
table.styled p+p { margin-top: 10px; }

table.styled ul { margin-left: 1.1em; }


/* -- RESPONSIVE OVERRIDES -- */

@media only screen and (max-width: 1024px) {
/* start: 1024 */

body {
	padding: 0 0 20px 0;
}

#masthead {
	padding: 0;
	margin-left: 298px;
	overflow: hidden;
}
.advert .lead-ad {
	margin-left: -1px;
}
#sidebar, #sidebar-content {
	display: block;
}

#sidebar {
	width: 298px;
	padding: 0;
}
#search-panel {
	width: 258px;
	margin-left: 20px;
}
#search-container {
	width: 256px;
}
#search-form {
	width: 256px;
}
#search-form input {
	width: 196px;
}
#sidebar-content {
	width: 298px;
	margin-left: 0;
}
#sidebar-content .story, #sidebar-content h2 {
	width: 260px;
	padding-right: 0;
	margin-left: 20px;
}
#sidebar-content .mpu {
	width: 260px !important;
	padding: 0px 0 20px 0;
	margin-left: 20px;
}
#sidebar-content .mpu .ad {
	width: 300px !important;
	margin-left: -21px;
}

#sidebar-footer {
	width: 258px;
	margin-left: 20px;
}
#sidebar-footer li.ac {
	width: 130px;
}
#sidebar-footer li.al, #sidebar-footer li.ar {
	width: 64px;
}
#content-wrapper {
	margin-left: 298px;
	margin-right: 0;
}
.post {
	margin: 0;
}
.share {
	right:30px;
}

.archive .main-header h2, .search .main-header h2, .author .main-header h2 {
	margin: 0;
}
.post-footer {
	padding: 0 60px;
}
/* end: 1024 */
}

@media only screen and (max-width: 900px) {
/* start: single-col */

#sidebar, #sidebar-content {
	display: none;
	z-index: 22;
	}
#sidebar {	
	top: 40px;
	box-shadow: 10px 0px 20px rgba(0, 0, 0, 0.3);
	}
#sidebar-content {
	top: 127px;
}
#masthead, #content-wrapper {
	margin-left: 0;
}
#masthead {
	overflow: visible;
}
.advert .lead-ad {
	margin: 0 auto 20px;
}
#masthead #sidebar-toggle-c {
	display: block;
}

/* end: single-col */
}

@media only screen and (max-width: 728px) {
.lead-ad {
	display: none;
}

}

@media only screen and (max-width: 600px) {
/* start: single-col narrow */

#logo {
	max-width: 100%;
	padding: 20px 0;
}
#logo img {
	max-width: 80%;
	margin: auto;
}

#masthead #sidebar-toggle-c {
	top: 0px;
	left: -30px;
}

#masthead nav, #masthead nav ul {
	height: auto;
}
#masthead nav ul {
	margin: 0;
	height: auto;
	overflow: auto;
	padding-left: 50px;
}

#masthead nav ul ul {
	padding-left: 0;
	margin-left: -20px;
}

#masthead nav li {
}

#content-wrapper .wp-caption {
	margin: 30px -30px;
} 
.wp-caption-text {
	padding: 0 30px;
}
.post {
	padding: 30px;
	margin: 0px;
}

.post, .post h2 {
	font-size: 85%;
}

.archive .main-header h2, .search .main-header h2, .author .main-header h2 {
	padding: 20px;
	font-size: 85%;
}
.share span {
	display: none;
}
#sidebar-content {
	bottom: 50px;
}
#sidebar-content h3 {
	font-size: 16px;
	padding-left: 80px;
}
#sidebar-content .story img {
	width: 60px;
}
#sidebar-footer {
	padding: 9px 9 10px;
	height: 20px;
}

#content-wrapper .header h2 {
	font-size: 27px;
	line-height: 40px;
}
#content-wrapper .author h3 {
	font-size: 18px;
}

#content-wrapper table {
/* bugfix required */
	display: none;
}

/* end: single-col narrow */
}

/* Hipmill - style wrapper of oEmbed iframe, to allow
 * full-width iframes, maintaining proportions. */
.oembed-wrapper {
    display: block;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
    width: 100%;
}

.oembed-wrapper iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
/* END - Hipmill - style wrapper of oEmbed iframe */

/* JN: hack to fix cross-post "featured pic" proportions */
/* v2: we now set "large" pic size in content.php to fix default "full" prob so this is not req (and didn't work reliably) */
/* img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image.permalink-added { max-width: 100% !important; max-height: 100% !important; } */