/*!
Theme Name: SoundCloud Blog 2019
Version: 1.0.3
Text Domain: soundcloud-blog-2019
Author: Márton Salomváry <marton@salomvary.com>
Author URI: https://salomvary.com

SoundCloud Blog 2019 is based on Underscores https://underscores.me/.
*/

/*--------------------------------------------------------------
# Basics
--------------------------------------------------------------*/

body {
	background: #f2f2f2;
}

@font-face {
	font-family: "InterstateBlack";
	src: url("//v.fastcdn.co/a/1539897772_7cbd811e-1e68-4c83-bf8a-33209ac1fcc4-2.eot?")
		format("embedded-opentype"),
	  url("https://v.fastcdn.co/a/1539897773_7cbd811e-1e68-4c83-bf8a-33209ac1fcc4-5.woff2")
		format("woff2"),
	  url("https://v.fastcdn.co/a/1539897772_7cbd811e-1e68-4c83-bf8a-33209ac1fcc4-3.woff")
		format("woff"),
	  url("https://v.fastcdn.co/a/1539897772_7cbd811e-1e68-4c83-bf8a-33209ac1fcc4-1.ttf")
		format("truetype"),
	  url("https://v.fastcdn.co/a/1539897773_7cbd811e-1e68-4c83-bf8a-33209ac1fcc4-4.svg")
		format("svg");
	font-style: normal;
	font-weight: normal;
}

input[type=search] {
	border-radius: 0;
}

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/

.site,
.site-header {
	min-width: 320px;
}

.site,
.site-header-content {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1280px;
}

.site-content {
	background: #fff;
	padding: 50px 60px 30px;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.site {
		padding: 0;
	}

	.site-content {
		padding-left: 40px;
		padding-right: 40px;
	}
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 50px 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

.sc-tag {
	text-transform: capitalize;
	overflow: hidden;
	text-overflow: ellipsis;
}

.button-icon {
	width: 25px;
	height: 25px;
	border-style: none;
	background: transparent;
	text-align: left;
	text-indent: -100000px;
	background-size: 25px;
	background-repeat: no-repeat;
	background-position: 50%;
}

.button-icon:focus {
	outline: thin dotted;
}

.button-search {
	background-image: url(img/search.svg);
}

.button-close {
	background-image: url(img/close.svg);
}

.button-menu {
	background-image: url(img/menu.svg);
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Search form
--------------------------------------------------------------*/

.search-form {
	display: flex;
	max-width: 450px;
}

.search-form input {
	min-width: 50px;
	margin-right: 10px;
	flex: 1 1 auto;
}

/*--------------------------------------------------------------
## Pagination
--------------------------------------------------------------*/

.posts-navigation {
	margin: 40px 0;
	font-size: 16px;
}

.nav-links,
.nav-previous,
.nav-next {
	display: inline;
}

.archive .nav-links,
.search .nav-links {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
}

.archive .nav-next,
.search .nav-next {
	padding-right: 30px;
}

.archive .nav-next a:before,
.search .nav-next a:before {
	content: '< ';
}

.archive .nav-previous a:after,
.search .nav-previous a:after {
	content: ' >';
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/

a:hover, a:active {
	text-decoration: underline;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited,
.block-link, .block-link:visited {
	color: inherit;
}

/*--------------------------------------------------------------
## Tabs
--------------------------------------------------------------*/

/* Copypasted from soundcloud.com */

.g-tabs {
	border-bottom: 2px solid #f2f2f2;
	list-style: none;
	margin: 0;
	font-family: "Interstate", "Lucida Grande", "Lucida Sans Unicode",
	"Lucida Sans", Garuda, Verdana, Tahoma, sans-serif;
	font-size: 14px;
	line-height: 2;
}
.g-tabs-medium {
	font-size: 18px;
	line-height: 1.8;
}
.g-tabs-large {
	font-size: 24px;
	line-height: 1.6;
}
.g-tabs:before,
.g-tabs:after {
	content: "";
	display: table;
}
.g-tabs:after {
	clear: both;
}
.g-tabs-item {
	float: left;
	margin: 0 12px -2px;
}
.g-tabs-item:first-child {
	margin-left: 0;
}
.g-tabs-item:last-child {
	margin-right: 0;
}
.g-tabs-link,
.g-tabs-link:visited {
	cursor: pointer;
	color: #333;
	border-bottom: 2px solid transparent;
	display: block;
}
.g-tabs-link:hover,
.g-tabs-link:focus {
	color: #333;
	border-color: #333;
	outline: 0;
	text-decoration: none;
}
.g-tabs-link.active {
	border-color: #f50;
	color: #f50;
	cursor: default;
}

/*--------------------------------------------------------------
## Tabs-select: a select that looks like the tabs
--------------------------------------------------------------*/

.tabs-select {
	display: block;
	position: relative;
}

.tabs-select:after {
	content: ' ';
	border-right: 2px solid #f50;
	border-bottom: 2px solid #f50;
	height: 5px;
	width: 5px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 3px;
	top: 13px;
}

.tabs-select select {
	-webkit-appearance: none; 
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	color: #f50;
	line-height: 1.8;
	font-weight: 400;
	padding: 0;
	width: 100%;
}

.tabs-select,
.tabs-select:focus {
	border-bottom: 2px solid #f50;
}

.tabs-select:focus {
	outline: thin dotted;
}

.tabs-select option {
	color: #000;
	padding: 0;
}

/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

.site-header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 50px;
	background: #333;
}

.site-header-content {
	height: 50px;
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.site-header-logo {
	flex: none;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	width: 190px;
}

.site-header-logo img {
	flex: 1;
}

.site-header-logo-desktop {
	object-fit: cover;
}

.site-header-logo-mobile {
	display: none;
}

.site-header-item {
	color: #ccc;
	border-right: 1px solid #111;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.site-header-menu {
	margin: 0;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex: 1 1 auto;
}

.site-header-menu-item {
	flex: 1 1 auto;
	max-width: 150px;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: flex;
	align-items: stretch;
}

.site-header-menu-item a {
	padding: 0 30px;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-header-item-selected,
.site-header-item.current-menu-item {
	background: #111;
	color: #fff;
}

.site-header-item :link,
.site-header-item :visited,
.site-header-item :active  {
	color: #ccc;
}

.site-header-item :hover {
	color: #fff;
}

.site-header-item.button-icon {
	height: auto;
	width: 60px;
	opacity: 0.7;
}

.site-header-buttons {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

#site-header-menu-button {
	display: none;
}

@media (max-width: 1023px) {
	.site-header-content {
		padding: 0 20px 0 40px;
		justify-content: space-between;
	}

	.site-header-logo {
		width: 150px;
	}

	.site-header-logo-desktop {
		display: none;
	}

	.site-header-logo-mobile {
		display: inline;
	}

	#site-header-menu-button {
		display: block;
	}

	.site-header-item {
		border-right: 0;
	}

	.site-header-menu {
		font-size: 18px;
		background: #111;
		display: none;
		position: absolute;
		top: 50px;
		left: 0;
		right: 0;
		padding: 15px 40px;
	}

	.site-header-menu.active {
		display: block;
	}

	.site-header-menu-item {
		max-width: 100%;
		padding: 15px 0;
	}

	.site-header-menu-item a {
		justify-content: flex-start;
	}

	.site-header-item :link,
	.site-header-item :visited,
	.site-header-item :active  {
		color: #fff;
	}

	.site-header-spacer {
		display: none;
	}
}

.admin-bar .site-header {
	top: 32px;
}

/*--------------------------------------------------------------
## Header Searchbar
--------------------------------------------------------------*/
.site-header-searchbar {
	background: #111;
	height: 75px;
	padding: 0 40px;
	position: absolute;
	bottom: -75px;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.site-header-search-control {
	max-width: 900px;
	flex: 1 1 auto;
	position: relative;
}

.site-header-searchbar input {
	padding: 9px 30px 9px 0;
	box-sizing: border-box;
	width: 100%;
	font-size: 24px;
	color: #fff;
	background: transparent;
	border: 0;
	border-bottom: 2px solid #e5e5e5;
}

.site-header-searchbar input:focus {
	border-bottom-color: #fff;
}

.site-header-searchbar button {
	position: absolute;
	right: 0;
	top: 12px;
}
/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

.site-footer {
	background: #E5E5E5;
	text-align: center;
}

.site-footer ul {
	margin: 0 0 10px 0;
}

.site-footer li {
	display: inline;
}

.site-footer li:after {
	content: ' ⁃'
}

.site-footer li:last-child:after {
	content: none;
}

.site-footer p:last-child,
.site-footer ul:last-child {
	margin-bottom: 0;
}

.footer-archives {
	padding: 15px 40px;
	margin: 0;
}

.footer-links {
	background: #333;
	padding: 50px 40px;
	color: #fff;
}

.footer-links a:hover {
	color: #fff;
}

.footer-impressum a:link,
.footer-impressum a:hover,
.footer-impressum a:visited {
	color: #fff;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.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;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.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;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# 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;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

.page-title {
	font-family: "InterstateBlack", "Arial Black", "Helvetica Neue Condensed Black", sans-serif;
	font-size: 36px;
	font-weight: 900;
	text-transform: uppercase;
}

.page-header {
	margin-top: 100px;
}

@media (max-width: 768px) {
	.page-title {
		margin-top: 40px;
		font-size: 24px;
	}

	.page-header {
		margin-top: 40px;
	}
}

.section-title {
	font-size: 24px;
	line-height: 29px;
	margin: 15px 0 25px 0;
	padding-bottom: 20px;
	position: relative;
}

.section-title:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 35px;
	height: 4px;
	background: #F50;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/

/* Featured image */

.post .post-thumbnail {
	margin: 0 -40px;
}

.post .post-thumbnail img {
	width: 100%;
	height: 300px;
	object-fit: cover;
}

/* Large header on desktop */
@media (min-width: 768px) {
	.post .post-thumbnail {
		margin: 0 -60px;
	}

	.post .post-thumbnail img {
		height: 480px;
	}
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content {
	line-height: 30px;
}

.page-content p,
.entry-content p,
.entry-content ul,
.page-content ul,
.entry-content ol,
.page-content ol {
	margin-top: 30px;
}

/* For some reason posts are littered with online <span style="font-weight: 400"> */
.page-content [style],
.entry-content [style] {
	font-weight: inherit !important;
}

.entry-content table {
	border-bottom: 1px solid #ededed;
	margin: 0 0 18px;
	width: 100%;
}

.entry-content td {
	border-top: 1px solid #ededed;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/** Post shown in columns (sidebar, content) */

.entry-columns {
	margin-top: 50px;
	display: flex;
	flex-direction: row;
}

.entry-header {
	width: 200px;
	margin-right: 60px;
	flex: 0 1 auto;
}

.entry-header .g-tabs {
	border-bottom-color: transparent;
}

.entry-header .page-title {
	display: none;
}

.entry-columns .page-content,
.entry-columns .entry-content,
.entry-columns .entry-summary {
	min-width: 0;
	max-width: 720px;
	flex: auto;
}

/* Post on small screens */

@media (max-width: 768px) {
	.entry-header {
		width: auto;
		margin-right: 0;
	}
	
	.entry-header .g-tabs {
		border-bottom-color: #f50;
	}

	.entry-columns {
		margin-top: 40px;
		display: block;
	}

	.entry-header .page-title {
		display: block;
	}

	.entry-content .page-title {
		display: none;
	}
}

.entry-header .g-tabs-link.active {
	cursor: pointer;
}

.entry-header .byline {
	display: block;
	margin-top: 30px;
	font-size: 16px;
}

.entry-header .byline a {
	color: inherit;
}

.entry-header .posted-on {
	display: block;
	color: #999999;
	margin-top: 5px;
	font-size: 16px;
}

.entry-header .tags-links {
	margin-top: 30px;
}

.entry-header .byline,
.entry-header .posted-on {
	white-space: nowrap;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

.wp-video,
.wp-block-embed {
	margin: 50px 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.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;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.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;
}

/*--------------------------------------------------------------
## Home
--------------------------------------------------------------*/

/* Header */

.home-header-img-wrap {
	margin: 0 -40px;
}

.home-header img {
	height: 300px;
	object-fit: cover;
}

.home-header h1 {
	text-transform: uppercase;
	font-family: "InterstateBlack", "Arial Black", "Helvetica Neue Condensed Black", sans-serif;
	font-weight: 100;
}

/* Ignore custom color on small screens */
@media (max-width: 768px) {
	.site-title {
		color: inherit !important;
	}
}

/* Large header on desktop */
@media (min-width: 768px) {
	.home-header h1 {
		font-size: 85px;
	}

	.home-header.has-header-image {
		margin: 0 -60px;
		height: 480px;
		position: relative;
	}

	.home-header img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.home-header.has-header-image h1 {
		position: absolute;
		bottom: 30px;
		left: 60px;
	}
}

/* Tabs */

.home-tabs {
	margin: 30px 0;
}

.home-tabs.tabs-select {
	display: none;
}

@media (max-width: 768px) {
	.home-tabs.g-tabs {
		display: none;
	}
	
	.home-tabs.tabs-select {
		display: block;
	}
}

/* Sections */

.home-section {
	margin-top: 50px;
}

/* Card grid */

.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, 310px);
	grid-row-gap: 30px;
	justify-content: space-between;
}

.card-grid-wide {
	grid-template-columns: repeat(auto-fill, 45%);
}

@media (max-width: 1210px) {
	.card-grid {
		grid-template-columns: repeat(auto-fill, 45%);
	}
}

@media (max-width: 768px) {
	.card-grid {
		display: block;
	}

	.card-grid .card {
		margin-bottom: 40px;
	}
}

/* Cards */
.card {
	margin-bottom: 0;
}

.card .block-link:hover {
	text-decoration: none;
}

.card .block-link:hover .card-title {
	text-decoration: underline;
}

.card .card-media,
.card .card-no-media {
	width: 100%;
	height: 245px;
	object-fit: cover;
}

.card .card-no-media {
	background: #aaa;
}

h1.card-title {
	margin-top: 15px;
	font-size: 20px;
}

.card-summary {
	margin-top: 10px;
}

.card-excerpt {
	margin-bottom: 10px;
}

.card-excerpt > p {
	/* Display the admin [Edit] link in line with the text */
	display: inline;
}

/* Huge card for featured content */

@media (min-width: 768px) {
	.card-huge {
		border-radius: 4px;
		position: relative;
		margin-bottom: 40px;
	}

	.card-huge .card-media,
	.card-huge .card-no-media {
		border-radius: 4px;
		width: 100%;
		height: 540px;
	}

	.card-huge .card-body {
		position: absolute;
		width: 50%;
		bottom: 30px;
		left: 40px;
		background: hsl(0, 0%, 20%, 0.4);
		color: #fff;
		padding: 0 20px;
	}

	.card-huge .card-body a:hover {
		color: inherit;
	}

	.card-huge .card-title {
		font-size: 34px;
	}

}

/* Larger card for videos */

.videos-section .card-media,
.videos-section .card-no-media {
	height: 280px;
}

@media (min-width: 768px) {
	.card-body {
		max-width: 430px;
	}

	.videos-section .card {
		max-width: 499px;
	}
}

/* Fake play button for the videos section and all categories named Videos */

.card-video .card-media-wrapper,
.videos-section .card-media-wrapper {
	position: relative;
	display: block;
}

.card-video .card-media-wrapper:after,
.videos-section .card-media-wrapper:after {
	content: '▶︎';
	color: #fff;
	display: block;
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: hsl(0, 0%, 20%, 0.4);
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -37px;
	margin-top: -37px;
	line-height: 74px;
	text-align: center;
	font-size: 24px;
	text-indent: 6px;
}