@font-face {
	font-family: 'Circe';
	src: url('../fonts/circe.eot'); /* IE 9 Compatibility Mode */
	src: url('../fonts/circe.eot?#iefix') format('embedded-opentype'), /* IE < 9 */
		url('../fonts/circe.woff2') format('woff2'), /* Super Modern Browsers */
		url('../fonts/circe.woff') format('woff'), /* Firefox >= 3.6, any other modern browser */
		url('../fonts/circe.ttf') format('truetype'), /* Safari, Android, iOS */
		url('../fonts/circe.svg#circe') format('svg'); /* Chrome < 4, Legacy iOS */
}

@font-face {
	font-family: 'Circe Thin';
	src: url('../fonts/circe_thin.eot'); /* IE 9 Compatibility Mode */
	src: url('../fonts/circe_thin.eot?#iefix') format('embedded-opentype'), /* IE < 9 */
		url('../fonts/circe_thin.woff2') format('woff2'), /* Super Modern Browsers */
		url('../fonts/circe_thin.woff') format('woff'), /* Firefox >= 3.6, any other modern browser */
		url('../fonts/circe_thin.ttf') format('truetype'), /* Safari, Android, iOS */
		url('../fonts/circe_thin.svg#circe_thin') format('svg'); /* Chrome < 4, Legacy iOS */
}

@font-face {
	font-family: 'Circe Bold';
	src: url('../fonts/circe_bold.eot'); /* IE 9 Compatibility Mode */
	src: url('../fonts/circe_bold.eot?#iefix') format('embedded-opentype'), /* IE < 9 */
		url('../fonts/circe_bold.woff2') format('woff2'), /* Super Modern Browsers */
		url('../fonts/circe_bold.woff') format('woff'), /* Firefox >= 3.6, any other modern browser */
		url('../fonts/circe_bold.ttf') format('truetype'), /* Safari, Android, iOS */
		url('../fonts/circe_bold.svg#circe_bold') format('svg'); /* Chrome < 4, Legacy iOS */
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Bold.eot');
    src: local('Roboto Bold'), local('../fonts/Roboto-Bold'),
        url('../fonts/Roboto-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Roboto-Bold.woff') format('woff'),
        url('../fonts/Roboto-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.eot');
    src: local('Roboto'), local('../fonts/Roboto-Regular'),
        url('../fonts/Roboto-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Roboto-Regular.woff') format('woff'),
        url('../fonts/Roboto-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Italic.eot');
    src: local('Roboto Italic'), local('../fonts/Roboto-Italic'),
        url('../fonts/Roboto-Italic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Roboto-Italic.woff') format('woff'),
        url('../fonts/Roboto-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

* {
	padding: 0px;
	margin: 0px;
	color: #444;
	font-family: 'Circe', 'Roboto', Arial, sans-serif;
	font-style: normal;
	font-size: 15px;
}

.clear {
	float: none;
	clear: both;
}

body {
	background-color: #f7f7f7;
}

.button {
	display: block;
	max-width: 130px;
	padding: 13px 20px;
	border-radius: 24px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background-color: #111;
	transition: background 0.3s, box-shadow 0.3s;
}

.button:hover {
	background-color: #c31213!important;
	box-shadow: 1px 2px 5px #444;
}


.header {
	width: 100%;
	display: table;
}

.header > div {
	display: table-cell;
	vertical-align: middle;
}

.header .logo {
	width: 200px;
	padding: 35px;
}

.header .logo a {
	display: block;
}

.header .logo a img {
	width: 100%;
}


.header .top_soc {
	width: 120px;
	padding: 35px;
}

.header .top_soc a {
	width: 30px;
	height: 30px;
	display: inline-block;
	float: left;
	margin: 0px 5px;
	border-radius: 6px;
	background-size: cover;
	background-position: top left;
}

.header .top_soc a.vk {
	background-image: url(../images/vk.png);
}

.header .top_soc a.fb {
	background-image: url(../images/fb.png);
}

.header .top_soc a.in {
	background-image: url(../images/in.png);
}

.header .top_soc a:hover {
	background-position: bottom left;
}


.header .top_menu ul {
	text-align: right;
}

.header .top_menu ul li {
	display: inline-block;
	padding: 0px 15px;
}

.header .top_menu ul li a {
	display: block;
	text-decoration: none;
	transition: color 0.3s;
	font-size: 16px;
}

.header .top_menu ul li.active a {
	/*font-weight: bold;*/
}

.header .top_menu ul li a:hover {
	color: #999;
}


.mobile_menu {
	position: relative;
	display: none;
}

.mobile_header {
	width: calc(100% - 40px);
	background: #333333;
	padding: 20px;
	position: relative;
}

.mobile_header .logo {
	display: inline-block;
	vertical-align: middle;
}

.mobile_header .logo img {
	display: block;
	height: 40px;
}

.mobile_header .open_menu {
	width: 40px;
	vertical-align: middle;
	cursor: pointer;
	float: right;
}

.mobile_header .bar1, .mobile_header .bar2, .mobile_header .bar3 {
	width: 35px;
	height: 5px;
	background-color: #bababa;
	margin: 6px 0;
	transition: 0.4s;
}

.mobile_header .change .bar1 {
	-webkit-transform: rotate(-45deg) translate(-9px, 6px);
	transform: rotate(-45deg) translate(-9px, 6px);
}

.mobile_header .change .bar2 {opacity: 0;}

.mobile_header .change .bar3 {
	-webkit-transform: rotate(45deg) translate(-8px, -8px);
	transform: rotate(45deg) translate(-8px, -8px);
}

.mobile_menu_content {
	display: none;
	width: calc(100% - 40px);
	padding: 20px;
	background: #f0f0f0;
	opacity: 0.95;
	box-shadow: 1px 2px 6px #999;
	position: absolute;
	top: 80px;
	z-index: 2;
}

.mobile_menu_content .top_menu ul {
	width: 100%;
	text-align: center;
}

.mobile_menu_content .top_menu ul li {
	display: block;
}

.mobile_menu_content .top_menu ul li a {
	display: block;
    text-decoration: none;
    transition: color 0.3s;
	font-size: 20px;
    padding: 15px 15px;
}

.mobile_menu_content .top_menu ul li.active a {
	font-weight: bold;
}

.mobile_menu_content .top_menu ul li a:hover {
	color: #999;
}

.mobile_menu_content .top_soc {
	text-align: center;
	margin-top: 10px;
}

.mobile_menu_content .top_soc a {
	width: 50px;
	height: 50px;
	display: inline-block;
	margin: 10px 10px;
	border-radius: 6px;
	background-size: cover;
	background-position: top left;
}

.mobile_menu_content .top_soc a.vk {
	background-image: url(../images/vk.png);
}

.mobile_menu_content .top_soc a.fb {
	background-image: url(../images/fb.png);
}

.mobile_menu_content .top_soc a.in {
	background-image: url(../images/in.png);
}

.mobile_menu_content .top_soc a:hover {
	background-position: bottom left;
}


.content {
	width: 100%;
    padding-bottom: 30px;
}

.content h1, .content h2 {
	display: block;
	font-size: 54px;
    font-weight: bold;
    line-height: 64px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.content .item-page {
	padding: 0px 35px;
	background: #f7f7f7;
}

.content .componentheading {
	margin: 0px 35px;
}

.content p {
	margin: 12px 0px;
}

.djc_item_row {
	padding-top: 30px;
}

.concert {
	margin: 10px 35px;
	border-radius: 10px;
	background-color: #f9f9f9;
	background-position: left top;
	background-size: cover;
	box-shadow: 1px 1px 3px #999;
	transition: box-shadow 0.3s;
	position: relative;
	z-index: 2;
	overflow: hidden;
	min-height: 380px
}

.concert:hover {
	box-shadow: 1px 4px 10px #999;
}

.concert .concert_info {
	width: calc(56% - 50px);
	float: right;
	padding: 30px 25px;
	padding-bottom: 10px;
	background-size: 0 0;
	background-position: center;
}

.concert .title {
	font-size: 54px;
	font-weight: normal;
	line-height: 64px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.concert .short_desc p {
	margin-bottom: 30px;
	line-height: 20px;
	color: #222;
	font-size: 16px;
}

.concert .dates .date {
	display: table;
	width: 100%;
	padding-bottom: 20px;
	padding-top: 20px;
	cursor: default;
	border-top: 1px solid #999;
}

.concert .dates .date:first-child {
	padding-top: 0px;
	border-top: none;
}

.concert .dates .date > div {
	display: table-cell;
	vertical-align: middle;
}

.concert .dates .date .day {
	width: 80px;
	min-width: 80px;
	position: relative;
	padding-bottom: 34px;
	text-align: center;
	font-size: 32px;
	font-weight: bold;
	border-radius: 6px;
	border: 1px solid #222;
	background-color: rgba(255,255,255,0.4);
	transition: background 0.3s;
}

.concert .dates .date .day:hover {
	background-color: rgba(255,255,255,0.8);
}

.concert .dates .date .day span {
	display: block;
	position: absolute;
	width: 70px;
	bottom: 0px;
	padding: 4px 5px;
	font-weight: normal;
	font-size: 13px;
	color: #fff;
	background: #222;
	border-radius: 0 0 5px 5px;
}

.concert .dates .date .day span i {
	display: block;
    color: #b7b7b7;
    font-size: 12px;
    margin-top: -2px;
}

.concert .dates .date .local {
	padding: 15px;
	padding-left: 25px;
}

.concert .dates .date .local > span {
	display: block;
	width: 100%;
	padding-left: 30px;
	text-decoration: none;
	color: #222;
	background-repeat: no-repeat;
	background-size: contain;
}

.concert .dates .date .local > span:first-child {
	margin-bottom: 10px;
}

.concert .dates .date .local .city {
	background-image: url('../images/map.png');
	background-position: 2px;
}

.concert .dates .date .local .place {
	background-image: url('../images/place.png');
	background-size: 18px;
}

.concert .dates .date .socials {
	text-align: right;
	padding-right: 20px;
}

.concert .dates .date .socials a {
	width: 30px;
	display: inline-block;
	padding: 0px 4px;
}

.concert .dates .date .socials a img {
	width: 100%;
	border-radius: 6px;
	filter: grayscale(100%);
	transition: filter 0.3s;
}

.concert .dates .date .socials a:hover img {
	filter: grayscale(0%);
}

.concert .dates .date .ticket {
	width: 170px;
}

.concert .dates .date .sertificate {
	width: 146px;
	max-width: 146px;
	margin-top: 10px;
	padding: 10px 12px;
	font-size: 13px;
	font-weight: normal;
	background-color: #777;
}


/*black background*/
.concert .white .title, .concert .white .short_desc p, .concert .white .dates .date .day, .concert .white .dates .date .local > span {
	color: #f9f9f9;
}

.concert .white .dates .date .ticket .button {
	background-color: #333;
}

.concert .white .dates .date .ticket .sertificate {
	background-color: #777;
}

.concert .white .dates .date .local .city {
	background-image: url('../images/map_white.png');
}

.concert .white .dates .date .local .place {
	background-image: url('../images/place_white.png');
}

.concert .white .dates .date .day {
	border: 1px solid #bfbfbf;
}


.gallery {
	width: calc(100% - 115px);
	display: none;
	margin: 30px 40px;
	margin-top: -25px;
	padding: 0px 35px;
	padding-top: 15px;
	padding-bottom: 30px;
	padding-left: 0px;
	z-index: 1;
	background: #f0f0f0;
	border-radius: 10px;
	box-shadow: 1px 2px 6px #999;
}

.gallery .djc_thumbnail {
	width: calc(100%/3 - 30.5px);
	height: 200px!important;
	margin-left: 30px;
	margin-top: 30px;
	overflow: hidden;
	border-radius: 6px;
	transition: box-shadow, 0.3s;
}

.gallery .djc_thumbnail:hover {
	box-shadow: 1px 2px 6px #666;
}



.footer {
	display: table;
	width: calc(100% - 70px);
	padding: 20px 35px;
	background: #ebebeb;
}

.footer > div {
	display: table-cell;
	vertical-align: middle;
	font-size: 14px;
}

.footer .logo {
	width: 160px;
}

.footer .logo a {
	display: block;
}

.footer .logo a img {
	width: 100%;
	filter: grayscale(50%);
	transition: filter 0.3s;
}

.footer .logo a:hover img {
	filter: grayscale(0%);
}

.footer .footer_content {
	padding: 0px 40px;
}

.footer .footer_soc {
	width: 151px;
	padding: 5px 0px;
	padding-left: 15px;
}

.footer .footer_soc a {
	width: 40px;
	height: 40px;
	display: inline-block;
	float: left;
	margin: 0px 5px;
	border-radius: 6px;
	background-size: cover;
	background-position: top left;
}

.footer .footer_soc a.vk {
	background-image: url(../images/vk.png);
}

.footer .footer_soc a.fb {
	background-image: url(../images/fb.png);
}

.footer .footer_soc a.in {
	background-image: url(../images/in.png);
}

.footer .footer_soc a:hover {
	background-position: bottom left;
}

.aft_footer {
	padding: 5px 10px;
	text-align: center;
	background: #d1d1d1;
}

.aft_footer a {
	font-size: 13px;
	text-decoration: none;
}


.hidden{
	opacity:0;
}
.visible{
	opacity:1;
}

@media (max-width: 900px) {
	
	.header, .footer .footer_soc {
		display: none;
	}
	
	.mobile_menu {
		display: block;
	}
	
	.content .item-page {
		padding: 20px;
	}
	
	.content .componentheading {
		margin: 25px 20px;
		margin-bottom: 0px;
	}
	
	.concert {
		margin: 10px 20px;
	}
	
	.djc_item_row {
		padding-top: 20px;
	}
	
	.concert .concert_info {
		width: calc(60% - 36px);
		float: right;
		padding: 20px 18px;
		padding-bottom: 0px;
	}
	
	.concert .title {
		font-size: 32px;
		line-height: 36px;
		margin-bottom: 8px;
	}
	
	.concert .short_desc p {
		margin-bottom: 15px;
	}
	
	.gallery {
		width: calc(100% - 70px);
		margin: 30px 25px;
		margin-top: -35px;
		padding: 0px 20px;
		padding-top: 30px;
		padding-bottom: 20px;
		padding-left: 0px;
	}
	
	.gallery .djc_thumbnail {
		width: calc(100%/3 - 15.3px);
		margin-top: 15px;
		margin-left: 15px;
		height: 150px!important;
	}
	
	.footer {
		width: calc(100% - 40px);
		padding: 20px 20px;
	}
	
	.footer .footer_content {
		text-align: right;
	}
	
}

@media (max-width: 800px) {
	
	.concert {
		background: none!important;
	}
	
	.concert .concert_info {
		width: calc(100% - 36px);
		float: none;
		padding-top: 240px;
		background-size: cover;
	}
	
}

@media (max-width: 600px) {
	
	.concert .dates .date > div {
		display: inline-block;
	}
	
	.concert .dates .date .day {
		line-height: 50px;
	}
	
	.concert .dates .date .day span {
		line-height: initial;
	}
	
	.concert .dates .date .local {
		width: calc(100% - 236px);
		padding: 15px;
	}
	
	.concert .dates .date .socials {
		padding-right: 0px;
		width: 123px;
	}
	
	.concert .dates .date .ticket {
		width: 100%;
	}
	
	.concert .dates .date .ticket a {
		margin: 15px auto;
		margin-bottom: 0px;
	}
	
}

@media (max-width: 500px) {
	
	.gallery .djc_thumbnail {
		width: calc(100%/2 - 15.3px);
		height: 100px!important;
	}
	
}

@media (max-width: 450px) {
	
	.concert .dates .date .local {
		width: calc(100% - 113px);
	}
	
	.concert .dates .date .socials {
		width: initial;
		margin-top: 20px;
	}
	
	.concert .dates .date .ticket {
		width: initial;
		float: right;
	}
	
}

@media (max-width: 410px) {
	
	.gallery .djc_thumbnail {
		width: calc(100% - 15.3px);
		height: 180px!important;
	}
	
}

@media (max-width: 450px) {
	
	.content h1, .content h2 {
		font-size: 32px;
		line-height: 36px;
	}
	
	.footer .logo {
		display: none;
	}
	
	.footer .footer_content {
		padding: 0px;
		text-align: left;
	}
	
}



















