/*
* 1/ Target all mobile devices
* 2/ Group equal behaviors between tablet-like resolution and mobile-like resolution
* 3/ Target each specific resolution
* 4/ Use orientations for extrem specific cases ONLY (I'm fucking serious)
* 5/ Spread love and happiness. Love <3
*/


/* All Mobiles */
@media only screen and (max-width : 1023px) {
	body { min-width: inherit; }
	.mobile:not(body),
	.mobile:not(html) { visibility: visible !important; display: block; }
	.desktop:not(body),
	.desktop:not(html) { visibility: hidden !important; display: none; }
	html.mobile,
	html.desktop,
	body.mobile,
	body.desktop  { visibility: inherit !important; display: initial !important; }
	.container,
	.comment-form > p input[type="text"],
	.comment-form > p textarea {
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}


	#page { margin-top: 62px; }
	#main { padding-bottom: 20px; }
	#primary, #secondary {
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
		padding-top: 20px;
	}

	#language-selector {
		margin-top: 0;
		line-height: 3;
	}

	#branding {
		min-height: inherit;
	}
		#branding #searchform {
			float: none;
			margin: 0 -20px;
		}

		#branding #searchform .field { width: calc(100% - 50px); }

	#row-menu { display: none; }
	#sticky-nav {
		display: block;
		visibility: visible;
		opacity: 1;

		width: 100%;
		float: none;
		margin-top: 0 !important;
		padding-left: 0;
		padding-right: 0;
	}

	#sticky-menu {
		display: none;
		width: auto;
		clear: both;
		float: none;
		margin: 0 -20px;
		padding-top: 20px;
		position: static;
	}

		#sticky-menu-bg {
			display: none;
			width: 100%;
			position: static;
			width: 0;
			height: 0;
		}

		#sticky-menu li {
			float: none;
			margin: 0;
			display: block;
			padding: 5px 0;
		}
			#sticky-menu a {
				display: block;
				background: url('../images/striped-menu-bg.gif') repeat 0 15px;
				padding: 0 20px;
			}

			#sticky-menu.header-menu > ul > li.has-submenu > a{
				margin-left: 0;
			}

			#sticky-menu li.current-menu-item a { background: url('../images/striped-menu-bg.gif') repeat 0 15px; }

			#sticky-menu li:hover .sub-menu { display: none; }
			#sticky-menu li > a { border: none; }

		#sticky-nav .col { float: none !important; }

		#sticky-bg { display: none; visibility: hidden; }

		#mobile-link {
			display: inline-block;
			float: right;
		}
	#main-menu {
		display: none;
		visibility: hidden;
		opacity: 0;
		position: static;
		width: auto;
	}
		#main-menu .col {
			float: none;
			margin-left: 0;
		}

		.header-menu li.has-submenu > a {
			padding: 0;
			margin-left: 0;
			border: none;
			position: static;
		}
		.header-menu li.has-submenu:hover a {
			border-color: #e5e5e5;
			border-bottom-color: #fff;
			background: #fff;
		}

	#breadcrumb { display: none; }

	#featured-header {
		
		text-align: center;
		padding: 20px;
	}
			.featured-header-map .container { padding: 0; } 

			#featured-header.featured-header-map .entry-title {
				background: none;
				font-weight: 700;
				color: inherit;
				font-size: 48px;
				display: block;
				padding: 0;
				text-transform: none;
				line-height: 1.3;
				text-align: left;
			}

	#featured-header .centered-title {
		top: inherit;
		display: inline-block;
	}
	#featured-header .entry-category { font-size: 16px; }
	#featured-header .entry-title { font-size: 24px; }
	#featured-header .entry-meta { font-size: 20px; }
	#featured-header .entry-image {
		left: 0; right: 0; bottom: 0;
		height: auto;
		background-attachment: scroll;
	}
		#featured-header.featured-front img { width: auto; height: 100%; }

	.single-post #nav-single { margin-bottom: 20px; }
	.single-post #nav-single .prev-post, .single-post #nav-single .next-post { width: calc(50% - 20px); }
		.single-post #nav-single .next-post { float: left; }
		.single-post #nav-single .next-post { margin-left: 20px; float: right; }

	.nav-internal-pages { margin-bottom: 20px; }

	#refer .col,
	#networking .col {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 15px;
	}
		#networking #facebook-page { margin-left: 0; margin-right: 0; }
	.refer-title {
		text-align: center;
		margin-bottom: 15px;
	}
	
	#footer-menu { padding: 0; }
	#footer-nav li {
		display: block;
		text-align: left;
		position: relative;
	}
		
		#footer-nav li:before { position: absolute; }
		#footer-nav li:first-child:before { content: "♦ "; margin: 0 13px; }
		#footer-nav a {
			display: block;
			padding: 0 20px 0 36px;
		}
		#footer-nav li.current-menu-item a { background: #1a1a4d; }
		

	#networking { padding: 20px 0; }
		#networking #newsletter-signup input[type="text"] {
			width: 100%;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			height: 50px;
		}
		#networking #register-mailing {
			width: 100%;
			margin: 5px 0 0;
		}

	#terms { text-align: center; }
	#terms .createdby { display: block; }

	#latest-news-front .selecter { display: block; }

	#featured-header.featured-front { padding-top: 0; padding-bottom: 0; }
}

/* Smartphone */
@media only screen and (max-width: 640px) {

	#latest-news-front .post-small,
	#related-posts .post-small,
	.blog .masonry-brick,
	.archive .masonry-brick {
		width: 100%;
		margin-right: 0;
		margin-bottom: 15px;
	}

	.blog .masonry-brick {
		border-bottom: 1px dashed #E6E6E6;
		padding-bottom: 15px;
	}

	.post-small .entry-title { font-size: 20px; }
	.post-small .entry-image {
		position: relative;
		width: 100%;
		overflow: hidden;
		line-height: 150px;
	}
		.post-small .entry-image img { width: 100%; height: auto; }

	.single-post .entry-tag { overflow: hidden; }
	.single-post .entry-tag a { float: left; margin-top: 5px; }

	.single-post .hentry .entry-title { line-height: 1.3; }
	.single-post .entry-content,
	.page-template-default .entry-content { width: 100%; }

	.comment-form > p { width: 100%; padding-left: 0; margin-left: 0; }
	.comment-form > p textarea { max-width: 100%; }


	.archive-discography .col,
	.archive-artist .col {
		float: none;
		width: 100%;
		margin-right: 0;
		border-bottom: 1px dashed #C3C3C3;
		margin-bottom: 25px;
		padding-bottom: 25px;
	}
		.archive-discography .col.col-title,
		.archive-artist .col.col-title {
			border-bottom: none;
			margin-bottom: 30px;
			padding-bottom: 0;
		}

		.archive-discography .col:before,
		.archive-discography .col.cleared:before { display: none; }

	.archive-artist .artist { margin: 0 auto; }

	.disc-small {
		margin: 0 auto;
		width: 209px;
	}

	.single-album .col-txt,
	.single-album .col-music,
	#lineups .col {
		float: none;
		width: 100%;
		margin: 0;	
	}
	#lineups .col { margin-bottom: 20px; }
	.single-discography #lineups { margin-bottom: 25px; }
	.single-album #featured-header { display: none; }

	.jp-playlist .play-track { display: none; }
	.jp-playlist li a {
		display: inline-block;
		width: 80%;
	}

	.single-discography .mobile-featured-image {
		display: block;
		margin: 0 auto;
		-moz-box-shadow: 0 1px 1px rgba(0,0,0,.4), inset 0 0 0 rgba(255,255,255,.5); /* drop shadow and inner shadow */
		-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.4), inset 0 0 0 rgba(255,255,255,.5); /* drop shadow and inner shadow */
		box-shadow: 0 1px 1px rgba(0,0,0,.4), inset 0 0 0 rgba(255,255,255,.5); /* drop shadow and inner shadow */
		padding: 3px; /* stroke */
		background: #DFDFDF;
		margin-bottom: 15px;
	}

	.single-discography .sub-title.mobile { font-size: 20px; }

	.event-item td.schedule { display: none; }
	.event-item .title { font-size: 22px; }
	.event-item .description {
		padding-left: 0;
		max-width: 100%;
		width: 100%;
	}
	.event-item .tagline { margin-top: 10px; }

	.sidebar-agenda #filters .filters-date input {
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		height: 40px;
	}

	#featured-header.featured-header-agenda { padding: 0; }
		#featured-header.featured-header-agenda .container { padding: 0; width: 100%;}
	.featured-header-agenda .featured-event { display: none; }
		.featured-header-agenda .featured-event:first-child {
			display: block;
			float: none;
			width: 100%;
			height: 410px;
			position: relative;
		}

		#featured-header .featured-event .entry-image {
			height: 410px;
			overflow: hidden;
			position: absolute !important;
			z-index: 1;
		}
			#featured-header .featured-event .entry-image img { width: auto; height: 100%; }
			.featured-event .call-button { z-index: 2; }

	.single-agenda .event .entry-details .col,
	.single-agenda #related-event .event-small,
	.single-agenda .header-left,
	.single-agenda .header-right {
		width: 100%;
		margin: 0;
		float: none;
	} 

	.event .page-header { width: 100%; }

	.event-share { margin-top: 30px; }

	.event-item .secondary-schedule {
		border-top: 1px dashed #C3C3C3;
		padding-top: 15px;
		margin-top: 15px;
	}

	.event-small .secondary-schedule {
		border-top: none;
		padding-top: 0;
		margin-top: 5px;
	}

	.featured-header-single-agenda { height: 200px !important; }
	.view-map {
		text-align: center;
		margin-bottom: 20px;
	}
	#google-map {
		margin-top: 10px;
		visibility: visible !important;
	}


	.featured-front-slider.container { width: 100%; }
	#featured-header.featured-front-slider .centered-title {
		position: absolute;
		bottom: 30px;
		left: 20px;
		right: 20px;
	}
	#featured-header .flex-direction-nav { display: none; }

	#director-switch .picture-dumay,
	#director-switch .picture-braley { display: none; }

	#director-switch > div { padding: 20px 10px; }
	.director-switch-text {
		position: relative;
		left: inherit;
		position: static;
		text-align: center;
		padding: 0 30px;
	}

	.director-switch-dumay { text-align: left; }
	.director-switch-dumay .director-switch-nick { margin-left: 25px; }
	.director-switch-separator {width: 100%; margin: 15px 0; }
		.director-switch-separator:before { text-align: center; left: 50%; margin-left: -8px; }

	#featured-header .featured-front-article { padding: 0 20px; }
	#featured-header.featured-front-slider { padding: 0; }

	#latest-news-front .selecter { clear: left; margin-top: 20px; }
	#latest-events-front { padding-bottom: 20px; }
	#latest-events-front .events-mask { display: none; }
	#latest-events-front .section-header,
	#latest-events-front .section-content {
		width: 100%;
		float: none;
		margin: 0;
	}
	
	#latest-events-front .section-header { margin-bottom: 20px; }
	#latest-events-front .section-content { height: auto; }

	#latest-events-front .flexslider .slides > li .event-small { width: calc(100% - 35px); margin-bottom: 35px; }

	#latest-events-front .flex-direction-nav { bottom: -20px; }

	#latest-events-front .secondary-schedule { display: none; }

	#latest-news-front .section-title { float: none; }
	#latest-news-front .selecter { display: block; }

	#latest-news-front .section-heading,
	#latest-news-front .month-nav { float: none; }

	.entry-share {
		width: auto;
		clear: both !important;
		float: none !important;
		margin-left: 0 !important;
	}
		.entry-share-content { overflow: hidden; }
		.entry-share .share { width: 49%; float: left; margin-top: 0; }
		.entry-share .counter { padding: 12px 10px 10px; }
		.entry-share .button { padding: 10px;}
		.entry-share .share.twitter { margin-left: 1%; }


	#featured-header.featured-header-map #google-map-placeholder { display: none; }
	.featured-header-map #contact-address {
		position: static;
		text-align: left;
		padding: 0;
		background: none;
		color: inherit;
	}

	.contact .col {
		float: none;
		width: 100%;
		margin: 0 !important;
	}

	#contact-form input[type="text"],
	#contact-form textarea {
		width: 100%;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
				box-sizing: border-box;
	}

	.search #searchform { width: calc(100% - 20px); }
	.search #searchform .field,
	.error404 #searchform .field { width: calc(100% - 20px); }
	.search .hentry .entry-title { font-size: 20px; }

	.error404 #featured-header { text-align: center; }
	.error404 #featured-header .error-subtitle { margin-left: 0; font-size: 18px; }

	#side-filters .filter-calendars .picker-label { width: auto; }

	.page-template-templatescontact-php #featured-header { height: auto; }

	.event-share { position: static; }

	div.embed-video.jp-video-270p,
	.embed-video .jp-type-single { width: 100%; }

	.embed-video div.jp-jplayer,
	.embed-video div.jp-jplayer video,
	.mobile video.wp-video-shortcode {
		width: 100% !important;
		height: auto !important;
	}
}

/* Tablet */
@media only screen and (min-width : 641px) and (max-width : 1023px) {
	.fb_iframe_widget,
	.fb_iframe_widget span,
	.fb_iframe_widget span iframe[style] { width: 100% !important; }

	#latest-events-front .section-content {
		width: calc( 100% - 260px);
		margin-left: 15px;
		z-index: 1;
	}
	#latest-events-front .flexslider .slides > li .event-small { width: calc(50% - 55px); margin-right: 35px; margin-bottom: 35px; }

	.mc_merge_var, .mc_signup_submit {
		display: block;
		width: 100%;
	}
	#networking #newsletter-signup input[type="text"], .mc_input { border-right: 1px solid #ececec; width: 100%; }
	#mc_signup_submit { width: 100%; }

	.post-type-archive-album #primary {
		width: 100%;
		float: none;
		margin-left: 0;
	}

	#featured-header.single-discography .disc-small .disc-jacket { width: 202px; height: 202px; }
		#featured-header.single-discography { height: 364px; }

	.archive-discography .col { width: calc(50% - 47px); }
	.archive-discography .col.col-title { text-align: center; }
	.archive-discography .col.even { margin-right: 0; }
	.archive-discography .col.odd,
	.archive-discography .col.cleared.odd { clear: left; }
	.archive-discography .col.cleared { clear: none; }
	.archive-discography .col:before {
		border-bottom: 1px dashed #C3C3C3;
		margin-top: -34px;
		display: block;
		content: " ";
		left: 0;
		position: absolute;
		right: 0;
	}
	.archive-discography .col.no-sep:before { display: none; }
	.disc-small { width: 258px; }
		.disc-small .disc-jacket { width: 252px; height: 252px; }

	.single-album #no-available-album.disc-small { width: 208px; }
		.single-album #no-available-album.disc-small .disc-jacket { width: 202px; height: 202px; }

	.single-discography .col-txt { width: 55%; }
	.single-discography .col-music { width: calc(45% - 50px); }


	.archive-artist .col.col-title { float: none; width: 100%; margin-right: 0; }
	.archive-artist .col.last-of-line.last-of-line-3,
	.archive-artist .col.cleared { clear: none; }
	.archive-artist .col.last-of-line { clear: left; margin-right: 47px; }
	.archive-artist .col.first-of-line-3 {clear: left; }
	.archive-artist .col.last-of-line-3 { margin-right: 0; }

	.archive-artist .col { width: calc((100% / 3) - 47px); }
		.archive-artist .artist { width: 200px; }


	#latest-news-front .post-small,
	.archive .post-small,
	.blog .post-small {
		width: calc((100% / 3) - 25px);
		margin-right: 25px;
		margin-bottom: 10px;
		padding-bottom: 10px;
		border-bottom: 1px dashed #C3C3C3;
	}
	.js #latest-news-front .post-small {
		width: calc((100% / 3) - 25px);
		margin-right: 0;
	}

		#latest-news-front .post-small .entry-image,
		.archive .post-small .entry-image,
		.blog .post-small .entry-image,
		.single-post .post-small .entry-image {
			max-height: 240px;
			overflow: hidden;
		}
		
		#latest-news-front .post-small .entry-image img,
		.archive .post-small .entry-image img,
		.blog .post-small .entry-image img,
		.single-post .post-small .entry-image img {
			max-width: 100%;
			width: 100%;
			height: auto;
		}

	.single-post .entry-content,
	.page-template-default .entry-content { width: calc(100% - 119px); }
	.js .single-post .post-small { width: calc((100% / 3) - 25px); }
	.comment-form > p { width: calc( (100% - 40px) / 3 ); margin-left: 0; padding-left: 20px; }
		.comment-form > p.comment-form-comment { width: 100%; }
		.comment-form > p.comment-form-author,
		.comment-form > p.comment-form-comment,
		.comment-form > p.form-submit { padding-left: 0; }
		.comment-form > p textarea { max-width: 100%; }

	html #jump-to-event.mobile { display: block !important; visibility: visible !important;}

	.single-agenda .header-left { width: calc(100% - 119px); }
	.view-map { display: none; }
	.event-map-wrap,
	.single-agenda .header-right { display: block; visibility: visible !important; }

	.featured-front-slider.container { width: 100%; }


	.page-template-templatescontact-php .entry-header.page-header.mobile { display: none; }
	.page-template-templatescontact-php #featured-header { padding: 0;}
	#contact-address.vcard { right: 20px; text-align: left; }


	.contact .col { width: calc(50% - 14px); }
	#contact-subject, #contact-message,
	#contact-name, #contact-email {
		width: 100%;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
				box-sizing: border-box;
	}
}

/* Tablet and desktop portrait */
@media only screen and (min-width : 641px) and (max-width : 768px)  {

	#latest-news-front .section-heading { display: block; float: none; }
	#latest-news-front .post-small {
		width: calc( 49% - 25px );
	}
	#latest-news-front .post-small img { max-width: 100%; height: auto; }

	#networking .col { width: 50% !important;}
		#networking #twitter-newsletter.col { width: 100% !important; }
			#networking #twitter-newsletter.col > div { width: 50%; float: left; }

			#networking #facebook-page,
			#networking #twitter-follow { float: right !important; }
			#networking #newsletter-signup { margin-top: 0; }

		.mc_merge_var,
		.mc_signup_submit,
		#mc_signup_submit { display: block; }
		.mc_merge_var,
		.mc_signup_submit { width: 85%; }

	#sponsors .col { float: none; width: 100%; }
	#terms .createdby { display: inline; }

	#latest-events-front .section-content {
		width: calc( 100% - 260px);
		margin-left: 15px;
		z-index: 1;
	}

	#latest-events-front { padding-bottom: 20px; }
	#latest-events-front .events-mask { display: none; }
	#latest-events-front .section-header,
	#latest-events-front .section-content {
		width: 100%;
		float: none;
		margin: 0;
	}
	
	#latest-events-front .section-header { margin-bottom: 20px; }
	#latest-events-front .section-content { height: auto; }

	#latest-events-front .flexslider .slides > li .event-small { width: calc(100% - 55px) !important; margin-right: 35px !important; margin-bottom: 35px !important; }
	#latest-events-front .flex-direction-nav { bottom: -20px; }

	.featured-front-slider.container { width: 100%;}

	#director-switch { height: 271px; }
	#director-switch .picture-dumay,
	#director-switch .picture-braley { display: none; }

	#director-switch .picture-dumay {
		float: left;
		margin-left: -85px;
	}
	#director-switch .picture-braley {
		float: right;
		margin-right: -170px;
	}

	#director-switch > div { padding: 20px 10px; }
	.director-switch-text {
		position: relative;
		left: inherit;
		position: static;
		text-align: center;
		padding: 0 80px;
	}

	.director-switch-dumay { text-align: left; }
	.director-switch-dumay .director-switch-nick { margin-left: 25px; }
	.director-switch-separator {width: 100%; margin: 15px 0; }
		.director-switch-separator:before { text-align: center; left: 50%; margin-left: -8px; }

	.sidebar-agenda #filters .filters-date input {
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		height: 40px;
	}

	.single-album .col-txt, .single-album .col-music, #lineups .col {
		float: none;
		width: 100%;
		margin: 0;
	}

	.single-album #no-available-album.disc-small { width: 258px; }
		.single-album #no-available-album.disc-small .disc-jacket { width: 252px; height: 252px; }
}

/* Tablet landscape */
@media only screen and (min-device-width : 767px) and (max-device-width : 1023px) and (orientation: landscape) {

	#latest-news-front .post-small { width: calc( 24% - 25px ); }
	#latest-news-front .post-small img { max-width: 100%; height: auto; }

	#latest-events-front .section-content { width: calc( 100% - 300px ); }
	.home .event-small { width: calc(50% - 53px ); }

	.single-post #featured-header .entry-image {
		background-attachment: scroll;
		left: 0;
		right: 0;
	}

	html #jump-to-event.mobile { display: block !important; visibility: visible !important;}
}

/*
* Fix some alignements in the menu on iDevices
*/ 
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px), only screen and (max-device-width : 640px) {
	#main-menu li.current-menu-item a:after,
	#main-menu li.current-menu-ancestor > a:after { top: -2px; }

	.header-menu > ul > li.current-menu-item > a:after,
	.header-menu > ul > li.current-menu-ancestor > a:after { top: -3px; }

	#sticky-nav { line-height: 31px; }
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
	.header-menu > ul > li.current-menu-item > a:after,
	.header-menu > ul > li.current-menu-ancestor > a:after { top: -2px; }
}