/*
Theme Name: Johannsson
Author: polynr.
Description: responsive custom theme for Johann Johannson
Version: 2.0
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
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:700;
}

dfn {
	font-style:italic;
}

h1 {
	font-size:2em;
	margin:.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:-.5em;
}

sub {
	bottom:-.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-search-cancel-button,input[type="search"]::-webkit-search-decoration {
	-webkit-appearance:none;
}

fieldset {
	border:1px solid silver;
	margin:0 2px;
	padding:.35em .625em .75em;
}

legend {
	border:0;
	padding:0;
}

textarea {
	overflow:auto;
}

optgroup {
	font-weight:700;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

td,th {
	padding:0;
}

html {
	box-sizing:border-box;
}

*,:before,:after {
	box-sizing:inherit;
}



/* =Typography
-------------------------------------------------------------- */

body,button,input,select,textarea {
	color:#000;
	font-family: 'Open Sans', sans-serif;
	font-size:14px;
/* 	font-size:1rem; */
	line-height:1.5;
	letter-spacing: 0.01em;
}

h1,h2,h3,h4,h5,h6 {
	clear:both;
	font-weight: 400;
	margin: 0;
}


p {
	margin: 0 0 1.5em 0;
}

strong, bold {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

a:link, a:visited, a:focus {
	color:#000;
	text-decoration:none;
	-webkit-transition:all .3s ease-in-out;
	-moz-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out;
}

a:hover {
	color:#666;
	text-decoration:none;
}


/* =Structure
-------------------------------------------------------------- */

.site{
	margin: 0 auto;
	width: 100%;
	max-width: 90em;
	padding: 0;
	position: relative;
}

.site-header,
.site-content,
.site-footer{
	margin: 0 auto;
	width: 100%;
	max-width: 90em;
	position: relative;
}


.site-header{
	position: absolute;
	padding: 1em 0.5em;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	text-align: center;
}

.new-img img{
	display: block;
	max-width: 100%;
	height: auto;
}

.site-content{
	width: auto;
	padding: 6em 1em 0 1em;
	margin-left: 0;
}

.site-footer{
	height: 3.4em;
	padding: .5em;
	background-color: #fff;
	position: fixed;
	bottom: 0;
	width: 100%;
	-webkit-box-shadow: 0px -1px 2px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px -1px 2px 0px rgba(0,0,0,0.2);
	box-shadow: 0px -1px 2px 0px rgba(0,0,0,0.2);
}


h1.site-title {
	font-size: 1.7em;
	line-height: 1em;
}



h1.site-title a{
	text-transform: uppercase;
	font-size: .58em;
	line-height: 0.9em;
	letter-spacing: 0.15em;
	text-align: right;
}


footer.entry-footer{
	margin-top: 2em;
}

.blog .post,
.single .post,
.page .page,
.single .post-navigation{
	max-width: 45.5em;
}


.entry-content p,
.entry-content h{
	padding-right: 1.5em;
}

.edit-link a{
	display: inline-block;
	color:#fff;
	background-color:#ff0000;
	text-transform:uppercase;
	letter-spacing:0.1em;
	padding: 3px 5px;
}

.edit-link a:hover{
	background-color: #9d0000;
}


#newsletter{
	position: fixed;
	bottom: 0;
	width: 50%;
	right: 0;
	padding-bottom: 5px;
	background-color: #fff;
	height: 32px;
}

#newsletter label{
	text-transform: uppercase;
	font-size: .7em;
	letter-spacing: .1em;
	display:block;
	color: #808080;
	text-align: right;
	display: none;
}

#newsletter input{
	border: none;
	border-bottom: 1px solid #999999;
	padding: 1px 3px;
	font-size: small;
	text-align: right;
	width: 100%;
}

#newsletter input:focus {
    background-color: #999999;
}

#newsletter input:focus{
	width: 80%;
}


#newsletter input[type=submit]{
	background-color: #fff;
	border: none;
	text-transform: uppercase;
	font-size: .7em;
	letter-spacing: .1em;
	color: #999999;
	visibility: hidden;
}


#newsletter p.email{
	margin: 0;
}


::-webkit-input-placeholder {
   color: #fff;
}

:-moz-placeholder { /* Firefox 18- */
   color: #fff;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #fff;
}

:-ms-input-placeholder {
   color: #fff;
}



/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear:both;
	display:block;
	width:100%;
	margin-top: 0;
}

.main-navigation ul {
	display:none;
	list-style:none;
	margin:0;
	padding-left:0;
}

.main-navigation li {
	font-family:  Georgia, serif;
	position:relative;
	margin-bottom: .5em;
}

.main-navigation a {
	display: inline-block;
	text-decoration:none;
	letter-spacing: 0.02em;
	margin-bottom: 1px;
	border-bottom: 1px solid transparent;
}

.main-navigation a:hover {
	color: #000;
	border-bottom-color: #000;
}

.main-navigation ul ul {
	box-shadow:0 3px 3px rgba(0,0,0,0.2);
	float:left;
	position:absolute;
	top:1.5em;
	left:-999em;
	z-index:99999;
}

.main-navigation ul ul ul {
	left:-999em;
	top:0;
}

.main-navigation ul ul a {
	width:200px;
}

.main-navigation ul li:hover > ul,.main-navigation ul li.focus > ul {
	left:auto;
}

.main-navigation ul ul li:hover > ul,.main-navigation ul ul li.focus > ul {
	left:100%;
}

.main-navigation .current_page_item > a,.main-navigation .current-menu-item > a,.main-navigation .current_page_ancestor > a,.main-navigation .current-menu-ancestor > a {
	color: #000;
	border-bottom-color: #000;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display:block;
}


#social-navigation{
	position: fixed;
	bottom: 0.3em;
	left: 0.3em;
	z-index: 999;
}

.social-navigation ul{
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
	text-align: right;
}
.social-navigation ul li{
	display: inline-block;
	opacity: .8;
}

.social-navigation a{
	display: block;
	text-indent: -9999px;
	text-align: left;
	width: 30px;
	height: 30px;
}


.social-navigation li:hover{
	opacity: .7;
}


.social-navigation .tw{
	background: url(images/btn-tw.svg) center center no-repeat;
}

.social-navigation .inst{
	background: url(images/btn-inst.svg) center center no-repeat;
	margin-right: 0;
}

.social-navigation .fb{
	background: url(images/btn-fb.svg) center center no-repeat;
}

.site-main .posts-navigation,
.site-main .post-navigation {
	margin:0 0 1.5em;
	overflow:hidden;
}


.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float:left;
	width:50%;
	max-width: 10em;
	font-size: 0.85em;
	max-width: 300px;

}

.posts-navigation .nav-previous a:before,
.post-navigation .nav-previous a:before {
	content: '←';
	padding-right: .5em;
}

.posts-navigation .nav-next,
.post-navigation .nav-next {
	float:right;
	text-align:right;
	width:50%;
	max-width: 300px;
	font-size: 0.85em;
}

.posts-navigation .nav-next a:after,
.post-navigation .nav-next a:after {
	content: '→';
	padding-left: .5em;
}



/* =Content
-------------------------------------------------------------- */

#content h1,
h2.entry-title {
	font-family: Bell, Georgia, serif;
	font-size: 1.5em;
	line-height: 1.3em;
	font-weight:normal;
}

.site-content article.post{
	margin-bottom: 3em;
}

.entry-date {
	font-size: .7em;
	letter-spacing:0.2em;
	color:#999;
}

.site-content .post .entry-header .entry-meta{
	margin-bottom: .85em;
}

/*
.site-content .post .entry-header .entry-meta{
	border-bottom:1px solid #e5e5e5;
	padding-bottom: .4em;
}
*/

.site-content article.post .entry-content{
	margin-top: 1em;
}

.entry-content blockquote{
	font-size: 0.85em;
	margin: 2em 0 2.5em 0;
}

#feature-slider{
	padding: 0;
}

.slick-slide img{
	width: 100%;
	height: auto;
}


/* =Discography
-------------------------------------------------------------- */


.page-template-page-discography .site-content .page{
max-width: 100%
}

.discography .entry-header,
.discography .entry-content{
	float: left;
}

.discography .entry-header{
	width: 100%;
	padding-right: 2em;
	margin-bottom: 2em;
}

.discography .entry-header p{
	font-size: .8em;
	margin-bottom: .5em;
}

.discography .entry-header p span{
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
	padding-right: 4px;
}

.discography .entry-header img{
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 2em;
}

.discography .entry-content{
	width: 100%;
}

.discography .entry-content:after{
	clear: both;
	content: "";
	display: table;
}


.discography h1.entry-title{
	border-bottom: 1px solid #e5e5e5;
	padding-bottom: .5em;
	margin-bottom: 1em;
}


.discography h1.entry-title.large{
	display: none;
}

.discography h1.entry-title.small{
	display: block;
}



.gallery{
	width: 100%;
}

.gallery-caption{
	font-size: .7em;
	text-transform: uppercase;
	padding: .5em .1em;
	letter-spacing: .05em;


}

.gallery-item{
	float: left;
	margin: 0 2% 2% 0;
	padding: 0;
	position: relative;
	width: 48%;
	overflow: hidden;
}

.gallery-icon{
	overflow: hidden;
}

.gallery-item img,
.gallery-icon img{
	-webkit-transition: all .4s ease; /* Safari and Chrome */
    -moz-transition: all .4s ease; /* Firefox */
    transition: all .4s ease;
}

.gallery-item:hover img,
.gallery-icon:hover img{
		   -webkit-transform:scale(1.02); /* Safari and Chrome */
    -moz-transform:scale(1.02); /* Firefox */
     transform:scale(1.02);

}

.gallery-item.gallery-columns-2{
	float: left;
	width: 47%;
}
.gallery-item.gallery-columns-3{
	float: left;
	width: 30.33%;
}

.gallery-item.gallery-columns-4{
	float: left;
	width: 22%;
}

/*
.gallery-item a{
	border: 5px solid #f2f2f2;
}

.gallery-item a:hover{
	border-color: #cfcfcf;
}
*/


.gallery-item img,
.gallery-item a{
	display: block;
	width: 100%;
	height: auto;
}

.gallery:after{
	clear: both;
	content: "";
	display: table;
}


.gallery-caption{
	text-align: center;
}



.album-overview /* (left column) */ {
	width:200px;
	float:left;
	margin:0 auto;
	font-size:12px;
	line-height:16px;
}

.album-overview strong {
	text-transform:uppercase;
	letter-spacing:0.1em;
	font-weight:700;
}



.tracklist {
	border-top:1px solid #e5e5e5;
	border-bottom:1px solid #e5e5e5;
	margin:12px 0 21px 0;
	padding:21px 0 21px 0;
	font-size:12px;
	line-height:16px;
}

.tracklist-header {
	text-transform:uppercase;
	letter-spacing:0.1em;

}


/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.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;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,.clear:after,.entry-content:before,.entry-content:after,.comment-content:before,.comment-content:after,.site-header:before,.site-header:after,.site-content:before,.site-content:after,.site-footer:before,.site-footer:after {
	content:"";
	display:table;
	table-layout:fixed;
}

.clear:after,.entry-content:after,.comment-content:after,.site-header:after,.site-content:after,.site-footer:after {
	clear:both;
}

.site-content:after,
.site-footer:before{
	clear: both;
	content: "";
	display: table;
}



/* =Footer
-------------------------------------------------------------- */

#colophon {
	padding: 1em 0 0;
}


/* =Meta
-------------------------------------------------------------- */




footer.entry-meta {
	border-bottom:0px solid #e5e5e5;
}

.entry-meta .byline {
	display: none;
}

span.byline {
	display:none;
}

#content nav {
	display: block;
	overflow: hidden;
}
#content nav .nav-previous {
	float: left;
	width: 50%;
}
#content nav .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}
#content #nav-above {
	display: none;
}

.paged #content #nav-above,
.single #content #nav-above {
	display: none;
}

#nav-below {
	margin: 1em 0 0;
}
.page-link {
	clear: both;
	margin: 0 0 1em;
}







/* =Topspin
-------------------------------------------------------------- */
.topspin-store .entry-header, .topspin-store .entry-meta {
	display:none;
}

table.topspin-table {
	background:#efefef;
}

tr.topspin-item-row {
	background:#fff;
}

div.topspin-item-inner {
	padding-top:10px;
	padding-bottom:15px;
}

div.topspin-item-name {
	font-family: Bell, Georgia, serif;
	margin-bottom:5px;
	font-size:15px;
	line-height:1.5em;
}

.topspin-item-name a:link {
	color:#666;
}

.topspin-item-name a:hover {
	color:#999;
}

div.topspin-item-purchase {
	background-color:#eee;
}

.topspin-item-purchase-anchor {
	text-transform:uppercase;
	letter-spacing:0.2em;
	font-size:11px;
}

.topspin-item-purchase-anchor a:link, .topspin-item-purchase-anchor a:visited, {
	color:#666;
}

/* = Bandsintown
-------------------------------------------------------------- */
#bit-events {
	font-family: Bell;
}

.bit-events {
	margin-top:10px;
}

.bit-invert {
	font-family:ProximaNova, Helvetica, Arial, sans-serif;
	text-transform:uppercase;
	letter-spacing:0.2em;
}

tr.bit-bottom {
	display:none;
}

th.bit-date, th.bit-venue, th.bit-location, th.bit-tickets {
	font-family:ProximaNova, Helvetica, Arial, sans-serif;
	text-transform:uppercase;
	letter-spacing:0.2em;
	font-weight:normal;
	color:#333;
	font-size:11px;
}

.bit-header{
	display:none;
}

.bit-header-links {
	font-weight:normal;
}

.bit-event-data {
	font-weight:normal;
}

a.bit-track-artist-header {
	margin-top:10px;
}


/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

.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:700;
	height:auto;
	left:5px;
	line-height:normal;
	padding:15px 23px 14px;
	text-decoration:none;
	top:5px;
	width:auto;
	z-index:100000;
}

#content[tabindex="-1"]:focus {
	outline:0;
}



#frontpageimage img{
	display: block;
	max-width: 100%;
	height: auto;
}


.menu-toggle{
	position: absolute !important;
	left: 0;
	top: 0;
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
	width: 50px;
	height: 50px;
	font-size: 0;
	text-indent: -9999px;
	appearance: none;
	box-shadow: none;
	border-radius: none;
	border: none;
	cursor: pointer;
	transition: background 0.3s;
	background-color: #fff;
	z-index: 9999;
}


.menu-toggle span {
	display: block;
	position: absolute;
	top: 25px;
	left: 14px;
	right: 14px;
	height: 3px;
	background: #000;
	transition: background 0s 0.3s;
}

.menu-toggle span::before,
.menu-toggle span::after {
	position: absolute;
	display: block;
	left: 0;
	width: 100%;
	height: 3px;
	background: #000;
	content: "";
	transition-duration: 0.3s, 0.3s;
	transition-delay: 0.1s, 0s;
}

.menu-toggle span::before {
  top: -8px;
  transition-property: top, transform;
}

.menu-toggle span::after {
  bottom: -8px;
  transition-property: bottom, transform;
}


.toggled .menu-toggle span {
  background: none;
}

.toggled .menu-toggle span::before {
  top: 0;
  transform: rotate(45deg);
}

.toggled .menu-toggle span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

.toggled .menu-toggle span::before,
.toggled .menu-toggle span::after {
  transition-delay: 0s, 0.3s;
}


.toggled .menu-main-container ul{
	padding: 10em 0 2em 0;
	width: 100%;
	text-align: center;
}

.main-navigation.toggled ul{
	margin-left: 0;
}

.main-navigation.toggled li {
	display: block;
	width: 100%;
	float: none;
	padding: .5em 0;
}

.main-navigation.toggled li a{
	display: inline-block;
}

.menu-toggle,.main-navigation.toggled ul{
	display:block;
}




.main-navigation.toggled .bg{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	display: block;
}



@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display:none;
	}

	.main-navigation ul {
		display:block;
	}

	.main-navigation.toggled .bg{
		display: none;
	}

	.site{
		padding: 0 2em;
	}

	.site-header{
		width: 22em;
		padding: 2.5em 1em 3em 1em;
		text-align: right;
	}

	h1.site-title{
		margin-bottom: 2em;
		font-size: 2em;
	}


	.site-title a{
		max-width: auto;
	}


	.site-content{
		margin-left: 22em;
		padding: 8.6em 1em 0 1em;
	}

	#social-navigation{
		position: relative;
		margin-top: 1.5em;
		text-align: right;
	}

	#feature-slider{
		padding-right: 1em;
	}

	.social-navigation .inst{
		margin-right: -3px;
	}

	#newsletter{
		margin-top: 1.5em;
		margin-right: -3px;
		padding: 0;
		width: auto;
		position: relative;
		background: transparent;
		height: auto;
	}

	#newsletter input{
		width: 84px;
	}

	#newsletter label{
		display: block;
	}

	.site-footer{
		position: relative;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;

	}


}


@media screen and (min-width: 52.5em) {
	body,button,input,select,textarea {
		font-size: 16px;
	}
	.gallery-item{
		width: 22%;
		margin: 0 1.5% 1.5% 0;
	}

}




@media screen and (min-width: 52.5em){

		.discography h1.entry-title.large{
		display: block;
	}
	.discography h1.entry-title.small{
		display: none;
	}


	.discography .entry-header {
    	width: 20%;
	}

	.discography .entry-content{
		width: 70%;
	}

	.discography .entry-header p span{
		display: block;
	}


}
