@charset "utf-8";
/*
Theme Name: BirdFLAT
Theme URI: http://www.sysbird.jp/birdflat/
Description: BirdFLAT is a flexible flat design blog theme. Features the grid layout by a jQuery Masonry. and uses responsive layout and is therefore optimized for tablet pcs and smart phones. Features include the Theme Customize. You can choose the text color, link color, article footer color and header background color.
Author: Sysbird
Author URI: http://www.sysbird.jp/wptips/
Version: 1.0
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: yellow, two-columns, right-sidebar, flexible-width, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

*/

@import "normalize";
@import "mixin";

// variable
$text-color: #544021;
$link-color: #00A;
$menu-color: #FFF;
$border-color: #DDD;
$background-color: #EFEFEF;
$header-color: #FC7E74;
$meta-color: #9CB2C4;

/* Index
--------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	margin:0;
	line-height:1em;
}

h1 {font-size:2em;margin-bottom:.5em;}	
h2 {font-size:1.75em;margin-bottom:.5142em;padding-top:.2em;}	
h3 {font-size:1.5em;margin-bottom:.7em;padding-top:.3em;}
h4 {font-size:1.25em;margin-bottom:.6em;}
h5 {font-size:1.1em;margin-bottom:.5em;font-weight:bold;}
h6 {font-size:1em;margin-bottom:.5em;font-weight:bold;}

/* Link
--------------------------------------------- */
a {
	color: $link-color;
	text-decoration: none;

	&:hover {
		text-decoration: underline;
	}
}

/* Structure
--------------------------------------------- */
body {
    margin:0;
    padding:0;
    border:0;
    width:100%;
}

.container {
	width: 930px;
	margin: 0 auto;
}

#header {
	width: 100%;
	*z-index: 9999;  /* IE7 and below */
}

#main {
	clear: both;
	width: 100%;
	padding-top: 15px;
}

#content {
	float: left;
	margin: 0 -310px 2em 0;
	width: 615px;
}

.home #content{
	width: 100%;
}

#sidebar {
	float: right;
	width: 300px;
}

#footer {
	overflow: hidden;
	clear: both;
	width: 100%;
	margin: 0 auto;
}

/* Body
-------------------------------------------------------------- */
body {
	background: $background-color;
}

/* Wrapper
-------------------------------------------------------------- */
#wrapper {
	font-family: Verdana,Arial,"CI",Meiryo,"qMmpSPro W3","Hiragino Kaku Gothic Pro","lr oSVbN",sans-serif;
	font-size:0.9em;
	color: $text-color;
	overflow: hidden;
}

/* Header
-------------------------------------------------------------- */
#header {
	position: relative;
	background: $header-color;
	color: #FFF;

	#branding {
		padding: 2em 0 1em;

		#site-title {
			margin: 0;
			padding: 0;
			font-size: 2.2em;
			line-height: 1;

			a {
				color: #FFF;
		    	font-weight: bold;
			}
		}

		p#site-description {
			margin: 0.5em 0;
			color: #FFF;
		}
	}

	img {
		max-width: 100%;
		vertical-align:bottom;
		margin-bottom: 0.5em;
	}
}

/* Menu
-------------------------------------------------------------- */
#menu-wrapper {
	z-index: 9999;
	padding: 1px 0;

	.menu {

		#small-menu {
			display: none; /* hide small menu initially */
		}

		ul { 
			margin: 0;
			padding-left: 0;
			@include clear-fix();

			li {
				margin: 0;
				padding: 0;
				list-style: none;
				float: left;
				position: relative;

				&:hover > ul {
					display: block; /* show dropdown on hover */
				}

				a {
					padding: 0.8em 1.6em 0.8em 0;
					display: block;
					color: $menu-color;
					text-decoration: none;
					line-height: 1.2;
					*white-space: nowrap; /* IE7 and below */

					&:hover {
						text-decoration: underline;
					}
				}

				ul {
					background: #fff;
					margin: 0;
					border: solid 1px $border-color;
					display: none; /* hide dropdown */
					width: 200px;
					position: absolute;
					top: 2.8em;
					left: 0;
					z-index: 9999;

					li {
						float: none;
						margin: -1px 0 0 0;
						padding: 0;

						a {
							background: #F8F8F8;
							color: #666;
							padding: 0.8em;
							border-right: none;
							border-top: solid 1px $border-color;
							white-space: normal;

							&:hover {
								background: #EEE;
								text-decoration: none;
							}
						}

						ul {
							top: 0;
							left: 100%;
						}
					}
				}
			}
		}

		.current_page_item > a,
		.current_page_ancestor > a {
			font-weight: bold;
		}
	}
}

/* Posts
--------------------------------------------- */
#content{
	p {
		line-height: 1.6;
		margin: 0 0 1.6em;
	}

	blockquote {
		margin-left: 1em;
		padding-left: 1em;
		border-left: 5px solid $border-color;

		small {
			display: block;
			line-height: 20px;
			color: #999999;
		}

		small:before {
			content: '\2014 \00A0';
		}

		cite:before {
			content: "-";
		}

		cite {
			color: #999999;
			display: block;
		}

	}

	table {
		max-width: 100%;
		width: 100%;
		border-collapse: collapse;
		border-spacing: 0;

		th,
		td {
			border-bottom: 1px solid $border-color;
			line-height: 20px;
			padding: 8px;
			text-align: left;
			vertical-align: top;
		}
	}

	pre {
		border: dashed 1px $border-color;
		padding: 10px;
	}

	ul,
	ol {
		margin: 0 0 0 1em;
		padding: 0 0 0 1em;
		line-height: 1.6;
	}

	ol {
		list-style: decimal;

		ol {
			list-style:upper-alpha;

			ol {
				list-style:lower-roman;

				ol {
					list-style:lower-alpha;
				}
			}
		}
	}

	dl {
		margin:0 0 1em 0;
		line-height: 1.6;

		dt {
			font-weight: bold;
		}

		dd {
			margin-bottom: 1em;
			padding: 0;
		}
	}

	del {
		color: #C00;
	}

	ins {
		background: #ffc;
		text-decoration: none;
	}

	.hentry {
		width: 615px;
		margin: 0 15px 15px 0;
		padding: 15px 0 0 0;
		background: #FFF;
		border-radius: 4px;
		word-wrap: break-word;

		.entry-inner {
		    padding: 0 15px 15px;
		}

		a.more-link {
			font-size: 0.8em;
		}

		p {
		    line-height: 1.6;
			margin: 0 0 1.6em;
		}

		.entry-header {
			margin-bottom: 0.8em;

			.postdate {
				color: #999;
				font-size: 0.9em;
			}

			.author {
				font-size: 0.9em;
			}

			.entry-title {
				font-size: 1.6em;
				font-weight: normal;
				margin: 0 0 15px 0;
				line-height: 1;
				padding: 0;

				a {
					color: $text-color;
				}
			}
		}

		.entry-content {
			@include clear-fix();
		}

		.entry-meta {
			clear: both;
			font-size: 0.8em;
			line-height: 1.4;
			display: block;
			padding: 5px 0;
			background: $meta-color;
			color: #FFF;
			padding: 5px 10px;
			border-radius: 0 0 4px 4px;

			a {
				color: #FFF;
			}

			span {
				background: url(images/icon_link.png) no-repeat left center;
				padding-left: 8px;
				display: block;
			}
		}

		&.sticky .entry-meta {
				background: $header-color;
		}

		.page-link {
			clear: both;
			margin: 1em 0;
			font-weight: bold;
			color: $link-color;

			a {
				color: $link-color;
				padding: 4px 7px;
				text-decoration:none;
				border: solid 1px $link-color;
				font-weight: normal;

				&:hover {
					background: #F5F5F5;
				}
			}
		}
	}
}

ul#masonry-wrapper {
	list-style: none;
	margin: 0 0 0 -15px;
	padding: 0;
	overflow: hidden;

	.hentry {
		width: 300px;
		margin: 0 0 15px 15px;

		.entry-eyecatch {
			margin-bottom: 0.5em;

			text-align: center;
			img.wp-post-image {
				margin: 0;
				max-width: 100%;
				float: none;
			}
		}
	}
}

ul#archive-wrapper {
	list-style: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.single {
	#content .hentry .entry-meta {
		margin: 1em 0;
		border-radius: 4px;
	}

	#content #nav-below {
		margin: 2em 0 1em;
		line-height: 1.2;
		@include clear-fix();

		.nav-previous {
			display: block;
			float: right;
		}
	}
}

.attachment.single {

	#content {
		width:100%;
		float: none;

		.hentry {
			width: 100%;
		}

		.entry-content .attachment {
			text-align: center;
			padding-bottom: 2em;
		}
	}
}

/* Link Style */
#content .hentry .entry-meta a,
.single #content #nav-below a,
#content #comments  a.comment-reply-link,
#content #comments .navigation a {
	border: none;

	&:hover {
		text-decoration: underline;
	}
}

/* Pagenation
-------------------------------------------------------------------- */
#content .tablenav {
	clear: both;
	padding: 2em 0 1em;
	color: $link-color;

	a.page-numbers,
	.current {
		color: $link-color;
		padding: 4px 7px;
		border:solid 1px $link-color;
		text-decoration:none;
		font-weight: bold;
		background: #FFF;
	}

	a.page-numbers:hover {
		background: #F5F5F5;
	}

	.current {
		color: #FFF;
		background: $link-color;
	}

	a.next,
	a.prev {
		border: none;
		background: none;
		font-weight: normal;
	}

	a.next:hover,
	a.prev:hover {
		text-decoration: underline;
		background: none;
	}

	span.total {
		color: #AAA;
		display: block;
		margin-top: 0.5em;
		font-size: 0.9em;
	}
}

/* Images
-------------------------------------------------------------- */
#content .hentry img.wp-post-image {
	margin: 0 0 0.5em 1em;
	float: right;
	max-width: 300px;
}

#content .hentry img,
.widget img {
	max-width: 100%; /* Fluid images for posts, comments, and widgets */
	height: auto;
}

img[class*="align"],
img[class*="wp-image-"] {
	height: auto; /* Make sure images with WordPress-added height and width attributes are scaled correctly */
}

.aligncenter {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.alignleft {
	float: left;
	margin-right: 0.5em;
}

.alignright {
	float: right;
	margin-left: 0.5em;
}

img.alignleft,
img.alignright,
img.aligncenter {
	margin-bottom: 0.75em;
}

a:focus img[class*="attachment"],
a:hover img[class*="attachment"],
a:focus img[class*="align"],
a:hover img[class*="align"],
a:active img[class*="align"],
a:focus img[class*="wp-image-"],
a:hover img[class*="wp-image-"],
a:active img[class*="wp-image-"],
#content .gallery .gallery-icon a:focus img,
#content .gallery .gallery-icon a:hover img,
#content .gallery .gallery-icon a:active img,
#content .hentry a:hover img {
	border-color: #bbb;
}

#content .hentry .wp-caption {
	background: #F5F5F5;
	text-align: center;
	padding-top: 5px;
	font-size: 0.8em;
	color: #999;
	max-width: 100%;
}

#content .hentry .gallery-item a,
#content .hentry .entry-attachment a,
#content .hentry .entry-attachment a:hover,
#content .hentry .wp-caption a,
#content .hentry .wp-caption a:hover,
#content .hentry .gallery a:hover {
	border: none ;
}

#content .hentry .gallery-thumb {
	float: right;
	display: block;
	margin: 0 0 10px 10px;
}

#content .hentry .gallery {
	margin: 0 auto;
	clear: both;

	.gallery-item {
		float: left;
		text-align: center;
		margin: 0 0 10px 0;
		width: 33%;
	}

	.wp-caption,
	.gallery-caption {
		font-size: 12px;
		line-height: 1.2;
	    color: #AAA;
		max-width: 97.5%;
		text-align: center;
	}
}

/*  Make sure videos and embeds fit their containers
-------------------------------------------------------------- */
embed,
iframe,
object,
video {
	max-width: 100%;
}

.entry-content .twitter-tweet-rendered {
	max-width: 100% !important; /* Override the Twitter embed fixed width */
}

/* Comments
-------------------------------------------------------------- */
#content #comments {
	margin-top: 20px;
	display: block;

	#comments-title {
		font-size: 130%;
		font-weight: bold;
		margin: 1em 0;
	}

	#reply-title {
		font-size: 110%;
		font-weight: bold;
		margin: 1em 0;
	}

	.navigation {
		position: relative;
		height: 1em;
		padding-bottom: 10px;
		margin-bottom: 1em;

		.nav-previous a {
			position: absolute;
			top: 0;
			right: 0;
			padding-left: 1em;
		}

		.nav-next a {
			position: absolute;
			top: 0;
			left: 0;
			padding-right: 1em;
		}
	}

	ol.commentlist {
		list-style: none;
		margin: 0;
		padding-left: 0;

		li.pingback,
		li.comment {
			border-left: 2px solid $border-color;
			clear: both;
			margin-bottom: 1em;
			padding: 0 0 0 10px;
			position: relative;
			list-style: none;
			@include clear-fix();
		}
	}

	li {
		.comment_meta {
			.author {
				font-weight: bold;
				margin: 0 0 5px 5px;
				color: #000;
			}

			.time {
				font-size: 85%;
				margin: 0 0 5px 5px;
			}

			img {
				border: none;
				margin: 0 5px 5px 0;
				float: left;
			}
		}

		.comment_text {
			clear: both;
			margin: 0 0 0.7em 50px;

			p {
				line-height: 1.4;
			}
		}

		em {
			font-size: 80%;
			color: #999;
		}

		a.comment-reply-link {
			padding-left: 16px;
			background: url(images/icon_reply.png) no-repeat left center;
		}

		&.bypostauthor .comment_meta .author {
			color: #dd6633;
		}
	}
}

/* Forms
-------------------------------------------------------------- */
#content #comments #commentform {
	border: dashed 1px $border-color;
	padding: 10px 15px 0 15px;
	margin: 15px 0;
	max-width: 650px;

	label {
		padding: 3px 0 5px 0;
	}

	em {
		font-size: 85%;
		display: block;
		padding: 5px 0;
	}

	label input {
		width: 95%;
		max-width: 300px;
	  	padding: 5px;
		background: #FFF;
		border: solid 1px $border-color;
	}

	textarea {
		width: 95%;
		height: 100px;
	  	padding:5px;
		background: #FFF;
		border: solid 1px $border-color;
		}

	input#submit {
		padding: 5px 10px;
		}

	.form-allowed-tags {
		font-size: 90%;
	}

	.form-allowed-tags code {
		display: block;
	}
}

/* Archive
-------------------------------------------------------------------- */
ul#archive-list {
	list-style: none;
	margin: 0;
	padding: 0;


	.hentry {

		.entry-eyecatch {
			margin-bottom: 1em;
			float: right;
		}

		.entry-inner {
			@include clear-fix();
		}
	}
}

/* Sidebars
--------------------------------------------- */
.widget {
	margin-bottom: 2em;

	a {
		text-decoration: none;

		&:hover {
			text-decoration: underline;
		}
	}

	.widget_image img {
		height: auto;
		max-width: 100%;
	}

	h3 {
		font-size: 1.4em;
		font-weight: normal;
		margin: 0 0 10px 0;
		padding: 0 0 5px 0;
		border-bottom: solid 3px $meta-color;
		color: $meta-color;
	}

	ul {
		list-style: none;
		padding: 0;
		margin-left: 0;
		overflow: hidden;

		li {
			margin-top: -1px;
			border-top: dashed 1px $border-color;
			padding: 0.3em 0;
			background: url(images/icon_link.png) no-repeat left 0.8em;
			padding-left: 14px;

			ul {
				padding-top: 0.5em;
			}
		}
	}

	table {
		width: 100%;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.textwidget {
		line-height: 1.4;

		a {
			text-decoration: underline;
		}
	}

	#wp-calendar {
		/* Calendar Widget */
		border: 1px solid $border-color;
		border-collapse: collapse;
		border-spacing: 0;

		th,
		td {
			text-align: center;
			border: 1px dashed $border-color;
			background: #FFF;
			padding: 8px;

			color: $text-color;

			a {
				color: $link-color;
				font-weight: bold;
			}
	    }
	}

	form#searchform {
		/* Search Widget */
		@include clear-fix();

		#qsearch {
			padding: 0;
			margin: 0;
			border: none;
			width: 300px;
			height: 31px;
			margin: 0 0 25px 0;
			background: #FFF;
			border-radius: 4px;
		}

		#qsearch input {
			float: left;
			border: none;
			background: transparent;
			margin: 0;
		}

		#qsearch input#s {
			width: 220px;
			padding: 5px 0 5px 5px;
			font-size: 14px;
		}

		#qsearch .btn{
			float: right;
			height: 31px;
			margin: 0;
			padding-left: 60px;
			background: $meta-color url(images/icon_search.png) no-repeat 22px center;
			border-radius: 0 4px 4px 0;
			@include text-hide();
		}
	}
}

/* Footer
--------------------------------------------- */
#footer {
	background: $header-color;
	color: #FFF;
	padding: 1em 0 4em;

	.widget-wrapper {
		margin-left: -15px;
		overflow: hidden;

		.widget {
			width: 300px;
			margin: 0 0 15px 15px;
			float: left;


			h3 {
				color: #FFF;
				border-color: #FFF;
			}
		}
	}

	.site-title {
		clear: both;
		border-top: solid 3px #FFF;
		padding-top: 1em;
	}

	p {
		line-height: 1.5;
	}

	a {
		color: #FFF;
	}

	.home {
		font-weight: bold;
		padding-right: 5px;
	}

	.generator {
		background: url(images/wordpress.png) no-repeat center left;
		padding-left: 20px;
	}

}

/* Media queries for responsive design
--------------------------------------------- */
/* --- iPad Landscape --- */
@media screen and (max-width: 930px) {
	/* --- General --- */
	.container {
	    width: 615px;
		margin: 0 auto;
	}

	#content {
		float: none;
		margin: 0 0 25px 0;
		width: 100%;

		.hentry {
			width: 100%;
		}
	}

	#sidebar {
		clear: both;
		float: none;
		width: 100%;
		margin: 0 auto;
	}

	.widget {
		ul {
			li {
				border-top: none;
				display: inline;

				a {
					text-decoration: underline;
					padding: 0.5em 0.5em 0.5em 0;
					display: inline-block;

					&:hover {
						text-decoration: none;
					}
				}

				ul {
					margin-left: 2em;
					padding-top: 0;

					li{
						a {
							padding: 0.2em 0.2em 0.2em 0;
						}
					}
				}
			}

			@include clear-fix();
		}
	}
}

/* --- Smartphones and small Tablet PCs --- */
@media screen and (max-width: 615px) {

	.container {
		width: 90%;
	}

	#header {

		.container {
			width: 100%;
		}

		#site-title {
			font-size: 2em;
			margin-bottom: 0.5em;
			text-align: center;
		}

		p#site-description {
			display: none;
		}

	}

	#footer {
		.widget-wrapper {
			margin-left: 0;

			.widget {
				width: 100%;
				margin: 0 0 15px 0;
			}
		}

		.site-title {
			text-align: center;
		}
	}

	/* small menu */
	#menu-wrapper {
		position: relative;
		@include clear-fix();

		.menu {
			border: none;

			#small-menu {
				cursor: pointer;
				display: block;
				width: 2em;
				margin: 0 5px 5px 0;
				padding: 5px 10px 10px;
				border: solid 1px $menu-color;
				border-radius: 4px;
				float: right;

				.icon-bar {
					  display: block;
					  margin-top: 5px;
					  height: 3px;
					  background-color: $menu-color;
				}
			}


			ul#menu-primary-items {

				clear: both;
				position: absolute;
				top: 45px;
				background: #f8f8f8;
				width: 100%;
				display: none; /* visibility will be toggled with jquery */
				z-index: 9999;

				margin: 0;
				padding-left: 0;

				li {
					clear: both;
					float: none;
					border-bottom: solid 1px $border-color;

					a {
						padding: 0.8em 0 0.8em 1em;
						white-space: normal;

						&:hover {
							background: #EEE;
							text-decoration: none;
						}
					}

					ul {
						width: auto;
						margin-left: 0;
						padding-left: 1em;
						position: static;
						display: block;
						border: none;
						background: #f8f8f8;

						li {
							border-bottom: none;

							a {
								border-top: none;

								&:hover {
									background: none;
									text-decoration: underline;
								}
							}
						}
					}
				}
			}
		}
	}

	ul#masonry-wrapper {

		margin-left: 0;

		.hentry,
		.hentry.sticky {
			width: 100%;
			margin: 0 0 15px 0;
		}
	}

	#content .hentry {
		.entry-header {
			position: static;

			.postdate {
				position: static;
				color: #000 !important;
				background: none;
				padding: 0 0 1em 0;
				width: 100%;
				text-align: left;
				background: none !important;
				display: block;

				span {
					display: inline;
					padding-right: 5px;
				}
			}

			a:hover .postdate {
				text-decoration: underline;
			}
		}

		.gallery {
			margin: 0 10%;

			.gallery-item {
				width: 31%;
				padding-right: 2%;
				margin: 0;

				img {
					width: 100%;
					height: auto;
				}
			}

			.wp-caption .wp-caption-text,
			.gallery-caption {
				font-size: 10px;
				line-height: 1;
			}
		}
	}
}

@media screen and (min-width: 650px) {

	ul#menu-primary-items {
		/* ensure .menu is visible on desktop version */
		display: block !important;
	}
}
