/*
	Theme Name: Joe Mande V3
	Theme URI: joemande.com
	Description: WP Theme for Joe Mande
	Version: 3
	Author: Squatch Creative
	Author URI: https://squatch.us

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

@import url('https://fonts.googleapis.com/css?family=VT323');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap');

/*WP CORE
=========================*/

*,:after,:before{-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeLegibility}.alignnone{margin:5px 20px 20px 0}.aligncenter,div.aligncenter{display:block;margin:5px auto}.alignright{float:right;margin:5px 0 20px 20px}.alignleft{float:left;margin:5px 20px 20px 0}a img.alignright{float:right;margin:5px 0 20px 20px}a img.alignleft,a img.alignnone{margin:5px 20px 20px 0}a img.alignleft{float:left}a img.aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-caption{background:#FFF;border:1px solid #F0F0F0;max-width:96%;padding:5px 3px 10px;text-align:center}.wp-caption.alignleft,.wp-caption.alignnone{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{border:0;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}.gallery-caption,.wp-caption .wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px}

/* SPAN SIMPLE by Squatch
==========================*/
body {
	margin:0px; padding:0px;
	font-family: 'VT323', monospace;
	background:#fff;
	font-size:18px; line-height:26px; 
	color:#000;
} 
div { 
	display:block; 
	position:relative; 
	margin:0px; 
	padding:0px; 
}
.body-wrapper {
	max-width:100%;
	width:100%; 
	overflow:hidden; 
}
.container {
	float:none; clear:both; margin:0px auto; padding:0px;
	width:100%; height:auto; 	
	z-index:5;
}
.padded-container {
	padding:64px 0px;
}
.row {
	float:none; clear:both; margin:0px auto; padding:0px; 
	width:100%; height:auto; 
	max-width:1080px; 
}

div[class*='span'] {
	float:left; margin:0px auto; padding:28px 28px; height:auto;
   	-moz-box-sizing: border-box;
   	-webkit-box-sizing: border-box;
   	-ms-box-sizing: border-box;
   	box-sizing: border-box;
}
.span5 { width:5%; }
.span10 { width:10%; }
.span15 { width:15%; }
.span20 { width:20%; }
.span25 { width:25%; }
.span30 { width:30%; }
.span33 { width:33%; }
.span35 { width:35%; }
.span40 { width:40%; }
.span45 { width:45%; }
.span50 { width:50%; }
.span55 { width:55%; }
.span60 { width:60%; }
.span65 { width:65%; }
.span66 { width:66%; }
.span70 { width:70%; }
.span75 { width:75%; }
.span80 { width:80%; }
.span85 { width:85%; }
.span90 { width:90%; }
.span100 { width:100%; }


.flex-container {
	display:-webkit-flex;
	display:flex;
}

h1, h2, h3, h4, h5, h6 {
	font-weight:400;
}

p {
	font-size:18px;
	line-height:26px;
	margin:18px auto;
	padding:0;
}
a {
	transition: 120ms; 
	text-decoration:none;
	color:#454545;
}
a:hover {
	color:#383838;
}
img, a img {
	display:inline-block; 
	max-width:100%; 
	height:auto; 
	border:0px;
	padding:0px;
	margin:0px auto;
}
small {font-size:70%;}
.bold, strong {font-weight:bold;}
.italic, em { font-style:italic;}
.hidden { display:none; }
.clear {	clear:both; float:none; display:block; position:relative; }
.text-center { text-align:center; }
.text-right { text-align:right; } 
.no-gap { margin:0px auto !important; padding:0px !important; } 
hr {
	display:block; 
	clear:both; 
	position:relative;
	max-width:640px;
	border:0px;
	border-bottom:2px #efefef solid;
	height:1px;
	margin:48px auto;
}















/* HEADER
================================*/

div#sticky-wrapper {
    z-index: 1000;
}

.container.desk-nav-container {
    background: white;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    padding: 24px;
    overflow: visible;
    z-index: 500;
    transition: 140ms ease all;
}

.is-sticky .header.container.desk-nav-container {
    padding: 12px 24px;
    box-shadow: 0px 0px 10px 5px rgb(0,0,0,0.2);
}

.desk-nav-container a.logo img {
    display: block;
}

.is-sticky .desk-nav-container a.logo {
    width: 84px;
}
.desk-nav-container a.logo {
    display: block;
    width: 148px;
    height: auto;
    transition: 140ms ease all;
}

ul.menu {
	list-style:none; margin:0px; padding:0px;
	display:inline-block;
	position:relative;
}

ul.menu li {
	list-style:none; margin:0px; padding:0px;
	display:inline-block;
	position:relative;
}

ul.menu li a {
    display: block;
    height: auto;
    width: auto;
    margin: 0px;
    padding: 18px 16px 18px 16px;
    font-family: 'Montserrat';
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    color: #213a72;
    text-decoration: none;
}

ul.menu li a:hover {
	color:#da1333;
	text-decoration:underline;
}

.mobile-menu {
	display:none;
}

.header.container.clear {
    display: none;
}

ul.menu li.button a:hover {
    background: #213a72;
    text-decoration: none;
    border-color: #213a72;
}

ul.menu li.button a {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: #da1333;
    border: 2px solid #da1333;
    color: white;
    padding: 14px 25px;
    transition: 300ms ease all;
}














/* HERO
================================= */

.container.hero-container {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    height: auto;
}

.container.hero-container.interior-hero {
	min-height:40vh;	
}

.video-background {
	position:absolute;
	top:0; left:0;
	z-index:1;
	width:100%;
	height:100%;
}

video.background-video {
    display: block;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%,0);
}

.logo {
	display:block;
	position:relative;
	z-index:2;
}













/* SHOWS
========================================== */

.calendar-container {
	padding:96px 0px;
	background:#fec961 url('images/mande-back.jpg') right bottom no-repeat fixed;
	background-size:auto 95%;
}

.calendar-container .row {
	margin:0;
}

@media all and (min-width:1480px) {
	.calendar-container .row {
		margin:0 auto;
	}
}


.shows {
	padding-top:6px;
}

.show {
    margin: 48px 24px;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.show a {
    color: #000;
}



.show .date {
    margin-right: 32px;
}

.show .date p {
    display: block;
    font-size: 38px;
    line-height: 42px;
    text-align: center;
    text-transform: uppercase;
    color: black;
    margin: 0;
}

.show .date p span.date-numbers {
    display: block;
    text-align: center;
    font-size: 56px;
}

.location {
    flex: 0 0 55%;
    text-transform: uppercase;
    font-size: 26px;
    line-height: 100%;
    transform: translateY(-2px);
}

.show .location h3 {
    margin: 0px;
    font-size: 54px;
    line-height: 100%;
}

.black-box {
    display: block;
	float:left;
    background: #000;
    color: #fec961;
    padding: 1px 12px;
    font-size: 20px;
    text-transform: uppercase;
    margin: 0 12px 0 0;
}


p.venue {
    display:block;
	float:left;
    font-size: 32px;
    line-height: 85%;
    margin: 0;
}

.black-box.big-text {
	font-size:28px;
	line-height:28px;
	padding:2px 24px;
}

.more-link .black-box {
	font-size:28px;
	line-height:28px;
	padding:2px 24px;
}

a.black-box:hover, a.black-box.yellow-text:hover {
	color:#fff;
}

a.black-box.yellow-text.tiny-text {
    font-size: 16px;
    line-height: 16px;
}

a.black-box.get-tickets {
    font-family: var(--Futura);
    color: #fff;
    padding-left: 20px;
    padding-right: 20px;
}

a.black-box.get-tickets span {
    font-family: var(--FuturaCondensed);
    margin-left: 6px;
}

a.black-box.get-tickets:hover {
    background: var(--babyblue);
}

a.map-link {
	text-align: center;
    background: #000;
    display: flex;
    flex-flow: column wrap;
    box-sizing: border-box;
    align-self: stretch;
    padding: 12px 18px;
    align-items: center;
    justify-content: center;
    font-family: var(--FuturaCondensed);
    font-size: 42px;
    line-height: 36px;
    margin: 0 12px;
    padding: 4px 18px;
}

a.map-link:hover {
	background:var(--babyblue); 
}

.pagination a {
	display: inline-block;
    background: #000;
    padding: 1px 8px;
    font-size: 20px;
    text-transform: uppercase;
    font-family: var(--SourceCode);
	color:var(--yellow);
}

.desk-container .pagination {
	margin: 6rem 0 1rem 0;
}

.desk-container .pagination a {
    color: white;
    font-family: 'Montserrat';
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    padding: 12px 24px;
    background: #213875;
}

.desk-container .pagination a:hover {
    background: #696969;
}


a.ticket-link-button {
    display: block;
    width: 123px;
    height: 86px;
    background: url(images/ticket-sprite.png) top left no-repeat;
    overflow: hidden;
    transition: 10ms;
	color:transparent;
}

a.ticket-link-button:hover {
    background-position: bottom left;
}


.container.padded-container.merch-container.interior-container, .white-back {
    background: white;
}

h2 {
    font-size: 72px;
    line-height: 120%;
    margin: 0;
}

.merch-title-container, .news-announcement-container {
    background: #ffcb67;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    padding: 12px 24px;
    text-align: center;
}

.merch-title-container a,
.news-announcement-container a {
    color: black;
}

.container.padded-container.interior-container.blog-roll-container {
    background: white;
    padding: 24px 0;
}

.container.padded-container.interior-container.blog-roll-container a {
    color: #ffcb67;
    text-decoration: underline;
}






.embedwrapper {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

.embedwrapper iframe, .embedwrapper object, .embedwrapper embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}






















/* BLOG UPDATE 2021
============================= */

.container.desk-container {
    background: white;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 48px 0;
}



img.ftd-header {
    display: block;
    width: 572px;
    height: auto;
    padding: 0;
    margin: 32px 0 58px 0;
}

.row.ftd-post {
    font-family: 'Montserrat';
    margin-bottom: 56px;
    border-top: 4px solid #e5e3e3;
    padding-right: 84px;
}

.ftd-title {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 24px 0 22px 0;
    width: 100%;
}

.ftd-title h2 a {
    color: #213875;
}
.ftd-title h2 {
    color: #213875;
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    margin-right: 24px;
}

.ftd-title date {
    display: block;
    font-weight: 300;
    font-size: 16px;
    line-height: 16px;
    color: #c7c7c7;
    letter-spacing: 0;
    margin-top: 4px;
}

.ftd-title ul.social-share {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    right: -84px;
}

.ftd-title .social-share li a {
    width: 50px;
    height: 50px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    color: #213875;
    font-size: 22px;
    line-height: 100%;
    background: #e5e3e3;
    transition: 240ms ease all;
}

.ftd-title .social-share li a:hover {
	background-color:#eee;
}

.ftd-title .social-share li a.heart-this.liked {
	color:#da1333;
}

.ftd-excerpt {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #202020;
    letter-spacing: 0;
}

.ftd-post p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #202020;
    letter-spacing: 0;
}

.ftd-post p a {
    color: #da1333;
}

.ftd-excerpt p:first-of-type {
    margin-top: 0;
}

.ftd-thumb img {
    display: block;
    margin: 24px 0;
    border-radius: 8px;
}

.span20.ftd-side {
    padding: 232px 0px 28px 28px;
	order:2;
}

.span20.ftd-side.desk-page {
    padding-top: 0;
}

.span20.ftd-side.desk-page {
    position: sticky;
    padding-top: 0;
    top: 124px;
} 

img.ftd-banner-image {
    display: block;
    position: relative;
    z-index: 2;
}

div.ftd-banner-pic:after {
    display: block;
    content: "";
    width: 100%;
    height: 50%;
    background-color: #e5e3e3;
    position: absolute;
    top: 50%;
    left: 0;
}

.sidebar-link {
    text-decoration: none;
    background-color: #e5e3e3;
    display: block;
    text-align: center;
    color: #213875;
    font-weight: 700;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0em;
    font-family: 'Montserrat';
    padding: 16px 0 0 0;
    margin-bottom: 16px;
}

.sidebar-link span.text {
    display: block;
    width: 100%;
    padding: 0 12px;
}

.sidebar-link a.button {
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0.1em;
    text-decoration: none;
    display: block;
    width: 100%;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    padding: 12px;
    -webkit-transition: 300ms ease all;
    -o-transition: 300ms ease all;
    transition: 300ms ease all;
}

.sidebar-link a.button.merch-scroll {
    background:#213875;
}

.sidebar-link a.button.sign-up-tag {
	background:#da1333;
}

.sidebar-link a.button:hover,
.sidebar-link a.button.merch-scroll:hover,
.sidebar-link a.button.sign-up-tag:hover {
	background:#383838;
}

























/* CONTACT
======================= */

.container.calendar-container.contact-container {
    min-height: calc(100vh - 100px);
}

.contact-container h1 {
    font-size: 3rem;
}

.contact-container p {
    font-size: 1.5rem;
    line-height: 145%;
    margin: 0 0 1rem 0;
}

.contact-container p strong {
    font-family: 'Montserrat';
}











/* FORMS
============================== */

input, textarea {
	-moz-box-sizing: border-box;
   	-webkit-box-sizing: border-box;
   	-ms-box-sizing: border-box;
   	box-sizing: border-box;
	display:block;
	max-width:100%;
	width:100%;
	height:auto;
	padding:12px 24px;
	margin:8px auto; 
	
	font-size:14px;
	line-height:18px;
	
	border:1px #ccc solid; 
}

.button, input[type="submit"] {
	display:inline-block; position:relative;
	margin:10px auto; 
	padding:10px 34px;
	width:auto; 
	height:auto;
	
	font-size:18px; line-height:18px;
	text-transform:uppercase;
	border:0px;
	
	background:#a3a3a3;
	color:#000;
	
	-webkit-transition:200ms;
	transition:200ms;
}

.button:hover, input[type="submit"]:hover {
	background:#383838;
	color:#fff;
}

div.wpcf7-response-output {
    margin: 0px auto;
    box-sizing: border-box;
    padding: 18px;
    text-align: center;
}

div.wpcf7-mail-sent-ok {
    border: 2px solid #99c387;
    background: #d4fbb2;
    color: #000;
}

div.wpcf7-validation-errors {
    border: 2px solid #d0c419;
    background: #dcdc9b;
    color: #000;
}

div.wpcf7-spam-blocked {
    border: 2px solid #d49d3a;
    background: #dcc497;
    color: #000;
}

div.wpcf7-mail-sent-ng {
    border: 2px solid #f35656;
    background: #e4b2b2;
    color: black;
}






































/* FOOTER 
================================*/

.footer {
	min-height:1px;
	background:#1a1a1a;
}

.footer div[class*='span'] {
	padding:0px; 
}

.footer p {
    font-size: 18px;
    line-height: 21px;
    color: #696969;
    padding: 12px 0px;
}

.footer p.copyright {
	padding-top:20px; 
}

.builtby {
	max-width:75px; padding:0px;
	margin:0px auto; 
	display:inline-block; 
	z-index:100; 
	
	opacity:0.45; 
}

.builtby:hover {
	-webkit-animation:shake .2s 1;
	animation: shake .2s 1;
	opacity:1.0; 
}

h3 {
    margin-top: 24px;
    margin-bottom: 0;
    color: #fec961;
}

.footer .row {
	display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-end;
}

.footer form p {	
	margin-top: 0;padding: 0;width: 240px;margin-left:0;
}









/* ANIMATIONS
========================*/
@supports (-webkit-animation:test) or (animation:test) {

.animate {
	opacity:0.0; 
}		
.animation {
	-webkit-animation:slideIn 1s forwards;
	animation:slideIn 1s forwards;
}

@-webkit-keyframes slideIn {
	from 	{ opacity:0.0; -webkit-transform: translate(0px,0px); }
	to		{ opacity:1.0; -webkit-transform: translate(0,0); }
	}

@-keyframes slideIn {
	from 	{ opacity:0.0; transform: translate(0px,0px); }
	to		{ opacity:1.0; transform: translate(0,0); }
}


@-webkit-keyframes shake {
	0% { -webkit-transform: translate(2px, 1px) rotate(0deg); }
	10% { -webkit-transform: translate(-1px, -2px) rotate(-1deg); }
	20% { -webkit-transform: translate(-3px, 0px) rotate(1deg); }
	30% { -webkit-transform: translate(0px, 2px) rotate(0deg); }
	40% { -webkit-transform: translate(1px, -1px) rotate(1deg); }
	50% { -webkit-transform: translate(-1px, 2px) rotate(-1deg); }
	60% { -webkit-transform: translate(-3px, 1px) rotate(0deg); }
	70% { -webkit-transform: translate(2px, 1px) rotate(-1deg); }
	80% { -webkit-transform: translate(-1px, -1px) rotate(1deg); }
	90% { -webkit-transform: translate(2px, 2px) rotate(0deg); }
	100% { -webkit-transform: translate(1px, -2px) rotate(-1deg); }
}

@keyframes shake {
	0% { transform: translate(2px, 1px) rotate(0deg); }
	10% { transform: translate(-1px, -2px) rotate(-1deg); }
	20% { transform: translate(-3px, 0px) rotate(1deg); }
	30% { transform: translate(0px, 2px) rotate(0deg); }
	40% { transform: translate(1px, -1px) rotate(1deg); }
	50% { transform: translate(-1px, 2px) rotate(-1deg); }
	60% { transform: translate(-3px, 1px) rotate(0deg); }
	70% { transform: translate(2px, 1px) rotate(-1deg); }
	80% { transform: translate(-1px, -1px) rotate(1deg); }
	90% { transform: translate(2px, 2px) rotate(0deg); }
	100% { transform: translate(1px, -2px) rotate(-1deg); }
}






}



/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/
@media all and (max-width:1081px) {


	div[class*='span'] {
		float:none; 
		clear:both; 
		width:100%; 
	}
	
	.calendar-container {
		padding:48px 0;
		background-size:auto 75%;
	}
	
	.black-box {
		font-size: 14px;
		line-height: 18px;
	}
	
	.show {
		margin: 24px 0px;
	}
	
	.location {
		flex: 0 0 45%;
	}
	
	.show .location h3 {
		font-size: 32px;
		line-height: 38px;
		text-align:left;
	}
	
	.show .date p {
		font-size: 24px;
		line-height: 34px;
	}
	
	.show .date p span.date-numbers {
		font-size: 38px;
		line-height: 24px;
	}
	
	p.venue {
		font-size: 24px;
	}
	
	a.ticket-link-button {
		width: 81px;
		height: 58px;
		background-size: 100%;
	}
	
	.desk-container .row {
		display: flex;
		flex-flow: column;
		justify-content: flex-start;
		align-items: flex-start;
		max-width: 720px;
	}

	.span20.ftd-side {
		padding: 28px;
	}
	
	.footer p {
		margin: 0;
		text-align: center;
	}
	
	.footer p.copyright {
		padding-top: 20px;
		margin: 0;
		text-align: center;
	}
	
	h3 {
		text-align:center;
	}
	
	.footer form p {
		margin-left: auto;
		margin-right: auto;
	}



}
@media all and (max-width:721px) {
	
	nav.nav {
		display:none;
	}

	.mobile-menu {
		display: block;
		position: absolute;
		top: 50%;
		margin-top: -24px;
		right: 24px;
		z-index: 1000;
		color: #213a72;
		width: 48px;
		height: 48px;
		text-align: center;
		font-size: 24px;
		line-height: 48px;
		cursor: pointer;
	}
	
	.header.opened .mobile-menu {
		color:#fff;
	}

	.header.opened nav.nav {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		align-items: center;
		justify-content: center;
		background: #213a72;
		z-index: 900;
		flex-flow: column wrap;
	}

	ul.menu {
		display:block;
		position:relative;
	}

	ul.menu li {
		display: block;
		float: none;
		border:0px;
	}

	ul.menu li a {
		text-align: center;
		color:#fff;
	}
	
	ul.menu li a:hover {
		color:#fff;
	}
	
	.calendar-container {
		background-image:none;
	}
	
	.location {
		flex: 1;
		transform: translateY(0);
	}
	
	.show .date {
		margin-right: 18px;
	}
	
	.show .date p {
		font-size: 14px;
		line-height: 20px;
	}
	
	.show .date p span.date-numbers {
		font-size: 24px;
		line-height: 12px;
	}
	
	.show .location h3 {
		font-size: 24px;
		line-height: 28px;
	}
	
	p.venue {
		font-size: 15px;
		line-height: 18px;
		display: block;
		float: none;
		clear: both;
	}
		
	a.ticket-link-button {
		width: 64px;
		height: 45px;
	}
	
	.more-link .black-box {
		max-width: 320px;
		margin: 0 auto;
	}
	
	
	
}

/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/



