/*
######## 0. Hide small screen stuff
*/
#tap-menu {
	display: none;
}
#main-menu-small-screens {
	display: none;
}
/*
######## 1. Fonts
*/
@font-face {
    font-family: 'Baskerville';
    src: url('../fonts/librebaskerville-regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunitosans-regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/*
######## 2. Body of screen
*/
body {
	font-family: "Baskerville", serif;
	color: #fff;
	background-color: #000;
	font-size: 1.3em;
}
/*
######## 3. Header
*/
header{
	background-color: #000;
	height: auto;
	padding: 0em;
	top: 0;
	width: 100%;
	z-index: 20;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}
header div.strapline {
	font-family: "Nunito", sans-serif;
	font-size: 1.8rem;
	font-style: italic;
}
header div.strapline p {
	margin-bottom: 0;
}
header #branding-section {
	display: flex;
  	align-items: center;
}
/*
######## 4. All Navigation elements
*/
nav#menu {
	margin-top: 2rem;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
nav#menu #main-menu {
	align-items: center;
    justify-content: center;
    display: flex;
	background-color: #18181a;
  	padding: 1rem 1rem 0.4rem 1rem;
  	border-radius: 4px;
}
nav#menu #main-menu ul {
	list-style-type: none;
	margin-bottom: 0;
}
nav#menu #main-menu ul li {
	margin-bottom: 0;
	float: left;
	margin-right: 1.2em;
}
nav#menu #main-menu ul li a {
	font-family: "Baskerville",'Times New Roman', Times, serif;
	font-size: 1.2 rem;
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
}
nav#menu #main-menu ul li a:hover {
	color: #666;
}
/*
######## 5. 'main-container'
*/
#main-container {
	font-size: 1.2em;
	margin-top: 3rem;
}
#main-container p {
	line-height: 3rem;
}
#main-container h1 {
	font-family: "Nunito", sans-serif;
	font-size: 3.4rem;
}
#main-container h2 {
	font-family: "Baskerville", serif;
	color: #8c00ff;
	font-size: 2.6rem;
	text-transform: uppercase;
}
#main-container a,
footer a {
	color: #8c00ff;
}
#main-container a:hover,
footer a:hover  {
	color: #666;
}
#main-container .page-content {
	margin-bottom: 2em;
}
/*
######## 6. Pages
*/
#page-content-section h2 {
	text-align: center;
}
#page-content-section h2.the-title {
	background-color: #1b0035;
  	padding: 2rem;
  	border-radius: 6px;
}
#page-content-section h2.the-title span {
	color: #fff;
  	font-size: 1.3rem;
  	text-transform: capitalize;
}
#page-content-section #page-cats {
	margin-bottom: 6rem;
}
#page-content-section #page-cats ul {
	list-style-type: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
#page-content-section #page-cats ul li {
	margin-right: 1rem;
	background-color: #18181a;
	padding: 0.8rem 1rem 0.5rem;;
	border-radius: 5px;
	border: 1px solid #232327;
}
#page-content-section #page-cats ul li a {
	display: block;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 0.95rem;
	padding: 0;
	color: #999;
	font-weight: bold;
}
#page-content-section #page-cats ul li:hover {
	opacity: 80%;
}
/* home page */
#intro-section div:first-child {
	text-align: center;
}
/* contact page */
#cfsub {
	background-color: #8c00ff;
  	border: 0;
  	color: #fff;
}
#cfsub:hover {
	opacity: 80%;
}
.page-id-4139 #main-container p {
	margin-bottom: 1rem;
}
#contact-socials {
	margin-top: 2rem;
}
#contact-socials li img {
	width: 24px!important;
	height: 22px!important;
}
.page-id-4139 input[type=text],
.page-id-4139 input[type=email],
.page-id-4139 textarea {
	max-width: 400px;
}
/*
######### Blog Home Page
*/
html.blog h1 {
	text-align: center;
}
html.blog .blog-home {
	margin-bottom: 4rem;
}
html.blog .blog-content {
	background-color: #0f0f10;
    padding: 2rem;
	padding-bottom: 0;
    border-radius: 4px;
	border: 1px solid #232327;
}
html.blog h2 {
	text-align: center;
}
html.blog h2 a {
	text-decoration: none;
}
html.blog h2.the-title {
	background-color: #1b0035;
  	padding: 2rem;
  	border-radius: 6px;
}
html.blog h2.the-title span {
	color: #fff;
  	font-size: 1.3rem;
  	text-transform: capitalize;
}
html.blog .thumbnail {
	text-align: center;
}
html.blog .excerpt {
	margin-top: 2rem;
}
html.blog #page-cats ul {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.7rem;
}
html.blog #page-cats ul li {
	margin-right: 1rem;
	background-color: #18181a;
	padding: 0.8rem 1rem 0.5rem;;
	border-radius: 5px;
	border: 1px solid #232327;
}
html.blog #page-cats ul li a {
	display: block;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 0.95rem;
	padding: 0;
	color: #999;
	font-weight: bold;
}
html.blog #page-cats ul li:hover {
	opacity: 80%;
}
html.blog #pagination-blog-home ul {
	list-style-type: none;
  	display: flex;
  	align-content: center;
  	justify-content: center;
}
html.blog #pagination-blog-home ul li {
	background-color: #1b0035;
  	margin-right: 3rem;
}
html.blog #pagination-blog-home ul li a {
	padding: 1rem 2rem 0.5rem;
	display: block;
	font-size: 1rem;
	text-transform: uppercase;
	font-family: "Baskerville", serif;
	color: #ba75ff;
	text-decoration: none;
}
html.blog #pagination-blog-home ul li:hover {
	opacity: 80%;
}
/* 
######### FAQ Page
*/
html.page-faq ul#jump-to-links {
	list-style-image: url('../img/favicon-32.png');
	margin-top: 5rem;
}
html.page-faq ul#jump-to-links li {
	margin-bottom: 1rem;
	margin-top: -3rem;
}
html.page-faq ul#jump-to-links li a {
	top: -3.7rem;
  	position: relative;
  	margin-left: 4.5rem;
  	display: block;
}
html.page-faq p.backtop {
	display: flex;
	align-items: center;
	justify-content: center;
}
html.page-faq p.backtop span {
	transform: rotate(-90deg);
	width: 20px;
  	height: 20px;
	margin-right: 1rem;
  	margin-top: -0.4rem;
}
/*
######### Media Page
*/
html.page-media .media-item {
	background-color: #0f0f10;
    padding: 2rem;
	padding-bottom: 0;
    border-radius: 4px;
	border: 1px solid #232327;
	margin-bottom: 3rem;
}
html.page-media .video-wrapper {
	position: relative;
	padding: 0;
  	padding-bottom: 56.25%; /* 16:9 */
  	height: 0;
}
html.page-media .video-wrapper iframe {
	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
	border: 1px solid #201e1e;
}
html.page-media .nonvideo-wrapper {
	text-align:center;
}
html.page-media .nonvideo-wrapper img:hover {
	opacity: 80%;
}
/*
######### Zine Page
*/
#fancybox-wrap,
#fancybox-content,
.zine-item {
	height: 800px!important;
	background-color: #1f1f1f!important;
	color: #fff!important;
}
.zine-item {
	text-align: center;
	padding: 2rem;
}
.zine-item h3 {
	font-size: 1.6rem;
	text-transform: capitalize;
}
.zine-item iframe {
	border: 1px solid #666;
}
#fancybox-outer {
  background: transparent!important;
  box-shadow: none!important;
  -moz-box-shadow: none!important;
  -webkit-box-shadow: none!important;
}
#fancybox-content {
	border: 0!important;;
}
.zine-container {
  display: grid;
  column-gap: 2rem;
  grid-template-columns: auto auto auto;
}
.zine-container > div.zine-grid-item {
  text-align: center;
}
.zine-container > div.zine-grid-item img {
	max-height: 280px;
}
.zine-display p {
	font-size: 1.3rem;
}
/*
######### Individual Post
*/
html.single .blog-home {
	margin-bottom: 4rem;
}
html.single h2 {
	text-align: center;
}
html.single h2 a {
	text-decoration: none;
}
html.single h2.the-title {
	background-color: #1b0035;
  	padding: 2rem;
  	border-radius: 6px;
}
html.single h2.the-title span {
	color: #fff;
  	font-size: 1.3rem;
  	text-transform: capitalize;
}
html.single .content {
	margin-top: 2rem;
}
html.single #page-cats ul {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.7rem;
}
html.single #page-cats ul li {
	margin-right: 1rem;
	background-color: #18181a;
	padding: 0.8rem 1rem 0.5rem;;
	border-radius: 5px;
	border: 1px solid #232327;
}
html.single #page-cats ul li a {
	display: block;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 0.95rem;
	padding: 0;
	color: #999;
	font-weight: bold;
}
html.single #page-cats ul li:hover {
	opacity: 80%;
}
html.single #pagination-blog-post ul {
	list-style-type: none;
  	display: flex;
  	align-content: center;
  	justify-content: center;
}
html.single #pagination-blog-post ul li {
	background-color: #1b0035;
  	margin-right: 3rem;
}
html.single #pagination-blog-post ul li a {
	padding: 1rem 1rem 0.6rem;
	display: block;
	font-size: 1rem;
	text-transform: uppercase;
	font-family: "Baskerville", serif;
	color: #ba75ff;
	text-decoration: none;
}
html.single #pagination-blog-post ul li:hover {
	opacity: 80%;
}
html.single #pagination-blog-post ul li a span {
	font-size: 2rem;
}
html.single .post-content .internal-pagination {
	border-top: 1px solid #18181a;
	border-bottom: 1px solid #18181a;
  	margin-bottom: 2rem;
  	text-align: center;
}
html.single .post-content .internal-pagination .post-nav-links {
	padding: 1rem;
  	margin: 0;
}
html.single .post-content .internal-pagination .post-nav-links span,
html.single .post-content .internal-pagination .post-nav-links a {
	margin-left: 1rem;
}
/*
######## 7. Misc styles
*/
img {
	height: auto;
	max-width: 100%;
}
img.media-thumb {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
	padding:1px;
	border: 1px solid #201e1e;
}
time {
	display: block;
	font-size: 0.8em;
	color: #f02b28;
	padding-bottom: 1em;
}
em.statement {
	text-align: center;
	font-size: 2.4rem;
	display: block;
}
strong,
b {
	font-weight: bold;
	font-family: "Baskerville",'Times New Roman', Times, serif;
}
.socials {
	display: flex !important;
	align-items: center;
	justify-content: center;
	list-style-type: none;
	margin-bottom: 0;
}
.socials li {
	margin-right: 1rem;
	margin-bottom: 0;
}
.socials li img {
	height:16px;
	width: 16px;
}
.toggle-switch {
	display: none;
}
blockquote {
	position: relative;
	padding: 2rem 8rem 1rem 8rem;
	margin: 4rem 2rem;
	font-size: 2rem;
	color: #fff;
	background-color:#18181a;
	border: 4px solid #fff;
}
blockquote:before, 
blockquote:after {
	content: "";
	position: absolute;
	width: 3.5rem;
	height: 4.5rem;
	top: 3rem;
	left: 0.5rem;
	transform: rotate(5deg) scale(1);
	background: radial-gradient(circle at 1.75rem 3rem, #fff 1.5rem, #fff0 calc(1.5rem + 1px)), radial-gradient(circle at 3.5rem 1.5rem, #fff0 2rem, #fff calc(2rem + 1px) calc(4rem + 1px), #fff0 calc(4rem + 2px));
	filter: drop-shadow(3.5rem -0.5rem 0px #fff);
	border-radius: 100%;
}
blockquote:after {
	top: inherit;
	bottom: 3rem;
	transform: rotate(195deg) scale(1.15);
	right: 1rem;
	left: inherit;
}
blockquote br {
	margin-bottom: 1em;
}
/*
######## 10. Footer and nested elements
*/
footer {
	background-color: #000;
	height: auto;
	padding: 0.8em 0em 0.8em 0em;
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	color: #fff;
	margin-bottom: 2rem;
}
footer section {
	margin-top: 1em !important;
	padding: 0 !important;
}
footer h2 {
	font-family: "Nunito", sans-serif;
	font-size: 3.4rem;
	color: #8c00ff;
}
footer p {
	margin-bottom: 0;
	padding: 0;
}
footer div.copyright {
	text-align: center;
}
footer div.copyright p.copyright-txt {
	margin-top: 2rem;
}
footer div.copyright img {
	object-fit: cover;
	width: 175px;
	height: 175px;
	border-radius: 50%;
	margin-top: 2rem;
	margin-bottom: 2rem;
}
footer div#footer-heading p {
	text-transform: uppercase;
}
footer ul {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}
footer div#footer-heading ul li {
	margin-right: 1em;
	background-color: #8c00ff;
	border-radius: 4px;
}
footer div#footer-heading ul li a {
	display: block;
	color: #fff;
	padding: 1em 2em;
	text-decoration: none;
	text-transform: uppercase;
}
footer div#footer-heading ul li:hover {
	opacity: 80%;
}
/*
######## 14. Small screens
*/
@media (max-width: 1200px) { /* When screen size is below 1200px wide... */

	nav#menu #main-menu ul li a {
		font-size: 1.5em;
	}

}
@media (max-width: 1010px) { /* When screen size is below 1010px wide... */

	#tap-menu {
		display: block;
		position: fixed;
		top: 10px;
		right: 10px;
		padding:0;
		margin:0;
		z-index:999;
		background-color: #000;
	}
	#tap-menu a {
		float: right;
	}
	#tap-menu a img {
		border: 1px solid #fff;
		border-radius: 4px;
	}
	#main-menu {
		display: none !important;
	}
	header #branding-section {
		display: block !important;
	}
	header #branding-section .one-third {
		margin-bottom:2rem;
	}
	#main-menu-small-screens {
		display: none; /* controlled by jquery */
		background-color: #000;
		height: auto;
		padding: 1.2em 0em 0.8em 0em;
		margin-top: -3.1em;
		margin-bottom: 2em;
		border: 1px solid #201e1e;
		border-top: 0;
	}
	#main-menu-small-screens ul {
		list-style-type: none;
	}
	#main-menu-small-screens ul li {
		float: none;
		text-align: center;
	}
	#main-menu-small-screens ul li a {
		font-family: "MartelBold";
		font-size: 1.2em;
		color: #fff;
		text-transform: uppercase;
		text-decoration: none;
	}
	#main-menu-small-screens ul li a:hover {
		color: #9c1d1a;
	}
	img.media-thumb {
		float: none;
	}
}