.index-container {
	display: inline-block;
	width: calc(100% + 50px);
	margin: -25px 0 0 -25px;
}


/* ALL BANNERS. */
.main-banner, .secondary-banner, .third-banner {
	width: 100%;
	display: inline-block;
	float: left;
}
.main-banner-sponsors, .secondary-banner-sponsors {
	float: left;
	width: 350px;
	height: auto;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-flow: row wrap;
			flex-flow: row wrap;
}
.main-banner-sponsors div, .secondary-banner-sponsors div {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}
.main-banner-sponsors a, .secondary-banner-sponsors a {
	display: block;
	height: 150px;
	-webkit-box-flex: 1;
			-ms-flex: 1;
					flex: 1;
	margin: 10px 10px 0 0;
	-ms-flex-preferred-size: calc(50% - 10px);
			flex-basis: calc(50% - 10px);
	max-width: calc(50% - 10px);
}
.main-banner-sponsors a div, .secondary-banner-sponsors a div {
	width: 100%;
	height: 100%;
}


/* MAIN BANNER. */
.main-banner {
	background-color: #202329;
	height: 330px;
}

.main-banner-slider-container {
	width: calc(100% - 370px);
  height: 310px;
  float: left;
	overflow: hidden;
	margin: 10px;
	position: relative;
}

.main-banner-slider-previous, .main-banner-slider-next {
	width: 54px;
	height: 54px;
	background-color: rgba(0,0,0,0.2);
	position: absolute;
	top: calc(50% - 27px);
	z-index: 8;
	background-size: 48px;
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
	border-radius: 100%;
	-webkit-transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.main-banner-slider-previous:hover, .main-banner-slider-next:hover {
	background-color: rgba(255,255,255,0.3);
}

.main-banner-slider-next {
	background-image: url('/img/banner_left.svg');
	right: 0;
	-webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.main-banner-slider-previous {
	left: 0;
	background-image: url('/img/banner_left.svg');
}

.main-banner-slider-container-overflow {
	height: 100%;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	-webkit-transition: all 0.8s cubic-bezier(.25,.8,.25,1);
	transition: all 0.8s cubic-bezier(.25,.8,.25,1);
}

.main-banner-slider-container-overflow > a {
	display: inline-block;
	width: calc(100% / 3);
	height: 100%;
}

.main-banner-slider {
	height: 100%;
  width: calc(300% / 3);
	float: left;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	float: left;
	position: relative;
}
.main-banner-slider-title {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.7);
	color: white;
	padding: 0;
}

.main-banner-slider-title h2 strong {
	font-size: 1.2em !important;
	text-align: center;
}

.main-banner-sponsors {
	height: 320px;
}


/* INDEX CONTAINER. */
.index-content-container {
	padding: 0 20px;
	width: calc(100% - 40px);
	float: left;
	display: inline-block;
}

/* SECONDARY BANNER. */
.secondary-banner-sponsors, .third-banner-sponsors {
	float: right;
}
.secondary-banner-sponsors a {
	height: 120px !important;
	-ms-flex-preferred-size: calc(50% - 40px);
			flex-basis: calc(50% - 40px);
	max-width: calc(50% - 40px);
	margin: 10px 0 10px 40px;
}
.secondary-banner-sponsors > a div {
	height: 100%;
	width: 100%;
	margin: 0 auto;
}
.secondary-banner-news {
	width: calc(100% - 350px);
	display: inline-block;
	float: left;
}
.secondary-banner-news > a {
	display: inline-block;
	color: inherit;
}


/* THIRD BANNER. */
.third-banner {
	display: inline-block;
}
.third-banner-press-releases {
	width: 380px;
	float: left;
}
.third-banner-press-releases .press-announcements {
	width: 300px;
}
.third-banner-press-releases .press-announcements-link {
	max-width: 100%;
	flex-basis: auto;
	flex: 0;
	-webkit-box-flex: 0;
	float: left;
	margin: 0;
	position: relative;
}
.third-banner-press-releases .press-announcements-picture {
	height: 150px;
}
.third-banner-sub-festivals {
	float: left;
	display: inline-block;
	width: calc(100% - 380px);
}
.sub-title {
	display: block;
	width: 100%;
	float: left;
}
.sub-title-thanks {
	padding-left: 30px;
	width: calc(100% - 30px);
}
.sub-festivals-banner {
	width: calc(100% - 4px);
	float: left;
	display: inline-block;
	text-align: center;
	margin-left: -10px;
}
.sub-festivals-banner > a {
	width: 150px;
	background-position: center;
	display: inline-block;
	margin: 0 10px;
	-webkit-transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	float: left;
}
.sub-festivals-banner > a div {
	height: 150px;
	width: 100%;
	background-position: center;
	background-size: 150px auto;
	max-width: 150px;
	margin: 10px auto;
}



/* SOCIAL. */

/* FLICKR. */
.flicker_box {
	width: calc(100% - 20px);
	padding: 0 10px;
	float: left;
	margin-top: 30px;
}
.flickr_badge_wrapper a, .flickr_badge_wrapper_2 a {
	display: inline-block;
	margin-right: 10px;
}
.flickr_badge_wrapper a img, .flickr_badge_wrapper_2 a img {
	margin: 0;
	height: 75px;
	width: 75px;
	max-width: 75px;
	max-height: 75px;
}

/* SOCIAL PLUGINS. */
.soc_container {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: calc(100% - 10px);
	margin: 0 5px 20px 5px;
	-ms-flex-flow: row wrap;
			flex-flow: row wrap;
	text-align: center;
}
.soc_container strong {
	display: block;
	width: calc(100% + 30px);
	color: white;
	text-align: center;
	padding: 10px 0;
	margin-left: -15px;
	text-shadow: 0 0 3px black;
}
.soc_container > div {
	-webkit-box-flex: 1;
			-ms-flex: 1;
					flex: 1;
	padding: 15px;
	max-width: 260px;
	min-width: 260px;
	margin: 10px auto;
}
.soc_container > div, .subbox {
	border: 1px solid rgba(0,0,0,0.5);
}
.subbox {
	background-color: white;
	display: inline-block;
	width: calc(100% - 10px);
	padding: 5px;
	text-align: left;
	overflow: hidden;
}


/* FACEBOOK, TWITTER */
.fb-fan-box {
	background-color: #35619e;
	text-align: center;
}
.tw-box {
	background-color: #1ab2e8;
}
.tw_top {
	display: inline-block;
	width: 100%;
}
.tw_top .th {
	height: 50px;
	width: 50px;
	margin: 5px;
}
.tw_top .th img {
	margin: 0;
	max-width: 100%;
	max-height: 100%;
}
.tw_top h3, .tw_top p {
	width: calc(100% - 108px);
	padding: 10px 10px 0 10px;
	margin: 0;
}
.tw_top p {
	padding: 0 10px;
}
.tw_top * {
	float: left;
}
.tw_content {
	float: left;
	padding: 5px;
}
.tw_content a {
	color: #1ab2e8;
}


/* NEWSLETTER */
.newsletter-box {
	background-color: #F39133;
}
.newsletter-box input {
	border: 1px solid #d4d4d4;
	border-radius: 4px;
	box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
	color: #767676;
	padding: 7px;
	font-size: 13px;
}
.newsletter-box .btn {
	cursor: pointer;
}

.third-banner-press-releases-mobile {
	display: none;
}





@media (max-width: 699px) {

	.sub-title-thanks {
		width: 100%;
		padding: 0;
	}

	.secondary-banner-news {
		width: 100% !important;
	}

	.third-banner > div, .third-banner .third-banner-press-releases > a {
		width: 100%;
	}

	.flicker_box h2 {
		text-align: center;
	}

	.ths_box {
		margin-top: 10px;
	}

	.third-banner-press-releases, .third-banner-sub-festivals {
		text-align: center;
	}

	.press-announcements {
		float: none !important;
	}

	.press-announcements-link {
		width: 100% !important;
		/*margin: 0 !important;*/
		float: none !important;
	}

	.sub-festivals-banner {
		height: auto !important;
		width: auto;
		float: none !important;
	}

	.secondary-banner-sponsors {
		width: 100% !important;
	}

	.secondary-banner-sponsors > a {
		height: auto !important;
		display: inline-block;
		margin: 10px !important;
		max-width: 100% !important;
	}

	.secondary-banner-sponsors > a div {
		height: 150px !important;
		width: 165px !important;
		-webkit-box-flex: 1;
				-ms-flex: 1;
						flex: 1;
	}

	.secondary-banner-sponsors > a:nth-child(odd) div {
		float: left;
	}

	.secondary-banner-sponsors > a:nth-child(even) div {
		float: right;
	}

	.third-banner-press-releases-mobile {
		display: inline-block;
		width: 100%;
	}

	.third-banner-press-releases-desktop {
		display: none;
	}

	.secondary-banner-sponsors, .third-banner, .flicker_box {
		margin-top: 30px;
	}

	.main-banner-slider-title h2 strong {
    font-size: 1.1em !important;
	}

}

@media (max-width: 570px) {
	.secondary-banner-sponsors > a {
		height: auto !important;
		display: inline-block;
		margin: 10px !important;
		max-width: 100% !important;
		-webkit-box-flex: 1 !important;
				-ms-flex: 1 !important;
						flex: 1 !important;
	}

	.sub-festivals-banner > a {
		float: none !important;
	}

	.main-banner-slider-title {
		width: calc(100% - 20px);
		padding: 0 10px;
	}

	.main-banner-slider-title h2 strong {
    font-size: 1.0em !important;
	}
}

@media(max-width: 424px) {
	.secondary-banner-sponsors > a div {
		float: none !important;
	}
}

@media(max-width: 420px) {
	.third-banner-press-releases .press-announcements {
		width: calc(100% - 20px) !important;
	}
}

@media (max-width: 360px) {
	.main-banner-sponsors {
		height: auto;
		width: calc(100% - 10px);
		padding: 0 5px !important;
	}

	.main-banner-sponsors a {
		-ms-flex-preferred-size: calc(100% - 10px);
				flex-basis: calc(100% - 10px);
		max-width: 165px;
		margin: 5px auto;
	}

	.soc_container {
		margin: 0;
		width: 100%;
	}

	.soc_container > div {
		max-width: calc(100% - 32px);
		width: 100%;
		min-width: auto;
	}

	.index-content-container {
		padding: 0 10px;
		width: calc(100% - 20px);
	}
}
