/* Contest 2016 */
.main_banner_wrap {
	width: 100%;
	height: 966px;
    /*padding-bottom: 50.313%;*/
    position: relative;
    display: block;  
}

.main_banner {
	background-image: url('/static/images/contest/main_bckg.jpg');
	background-size: cover;
	background-position: center;
	position: absolute;
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0;
    text-align: center;
}

.main_banner > h1 > span { color: #fd4703; }

.mouse_box {
	width: 100px;
	height: 100px;
	background-color: #fd4703;
	position: absolute;
	bottom: -50px;
	display: none;
	-ms-transform: rotate(45deg); 
    -webkit-transform: rotate(45deg); 
    transform: rotate(45deg);
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	z-index: 3;	    
}

.mouse_box > .mouse {
	width: 100%;
	height: 100%;
	background-image: url('/static/images/contest/ico_mouse.png');	
    background-repeat: no-repeat;
    background-position: center center;
	-ms-transform: rotate(-45deg); 
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);    
}

.pbckg {
	max-width: 1920px;
	/*height: 878px;*/
	/*padding-bottom: 40.2342%;*/
	margin: 0 auto;
	padding: 100px 0 120px 0;
	position: relative;
	background-size: cover;
	background-position: center bottom;
	background-image: url('/static/images/contest/prizes_bckg.jpg');		
	display: block;
}

.prizes { text-align: center; }

.prizes_wrap,
.plogos {
	max-width: 1100px;
	padding: 0 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0 auto;
}

.prizes_wrap a {
	text-decoration: none;
}

.prizes > h1 {}
.partners h1 { padding: 70px 0; }

.prize_block {
	width: 262px;
	height: 485px;
	background-color: #fff;
	position: relative;
	border-bottom: 3px solid #e3e4e4;
	transition: border-bottom 0.5s ease;
	margin-top: 100px;
}

.prize_block > h3 {
	color: #4d5960;
	padding: 0 30px;
	transition: color 0.5s ease;
	font-size: 1.17em;
}

.prize_block > p {
	color: #7b858a;
	padding: 0 30px;
	text-align: left;
	line-height: 1.3;
	font-weight: 300;
}

.first,
.second,
.third,
.young {

	position: absolute;
	top: -25px;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
}

.first { background-color: #fd4703; }
.second { background-color: #76b900; }
.third { background-color: #b04283; }
.young { background-color: #43236f; }

.number {
	color: #fff;
	font-size: 1.1em;
	font-weight: bold;	
    display: block;
    padding: 10px 0;
}

.plus {
	width: 40px;
	height: 40px;
	position: absolute;
	bottom: -24px;
	-ms-transform: rotate(45deg); 
    -webkit-transform: rotate(45deg); 
    transform: rotate(45deg);
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	background-color: #fff;	
	border: 3px solid #e3e4e4;
	transition: border 0.5s ease;
}

.plus > .cross {
	width: 35px;
	height: 45px;
	background-image: url('/static/images/contest/cross.png');
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 	
	-ms-transform: rotate(-45deg); 
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;	
}

.splus {
	width: 26px;
	height: 26px;
	-ms-transform: rotate(45deg); 
    -webkit-transform: rotate(45deg); 
    transform: rotate(45deg);
	background-color: #fff;	
	border: 1px solid #e3e4e4;
	transition: border 0.5s ease;
	margin: 30px auto 0 auto;
}

.splus > .cross {
	background-image: url('/static/images/contest/sm_cross.png');
	background-position: center center;
	background-repeat: no-repeat;
	-ms-transform: rotate(-45deg); 
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);
    position: absolute;
    top: 0; bottom: 0; right: 0; left: 0;	
}

.prize_block:hover { border-bottom: 3px solid #76b900; cursor: pointer; }
.prize_block:hover > .plus { border: 3px solid #76b900; }
.prize_block:hover > h3 { color: #76b900; }
.prize_block:hover > .plus > .cross { background-position: -40px 0; }

span.more {  
	position: absolute;
	color: #76b900;
	opacity: 0;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	bottom: -60px;	
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;	
}

.prize_block:hover span.more { opacity: 1; }

.partners,
.register_area {
	max-width: 1920px;
	display: block;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 70px;
	background-color: #fff;
}

.register_area { padding-top: 70px; }

.plogo {	
	display: block;	
	position: relative;
	margin: 10px;
}

.plogo > a { text-decoration: none; }

.plogo > a > .pimg_wrap {
	width: 150px;
	height: 100px;
	line-height: 151px; 
}

.plogo > a > .url {
	color: #7b858a;
	opacity: 0;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;	
	display: block;
	margin-top: 10px;
	text-decoration: none; 	
}

.plogo:hover > a > .url { opacity: 1; }
.plogo:hover > a > .splus { border-color: #7b858a; }
.logo img { vertical-align: middle;	}

.rules {
	max-width: 1920px;
	padding: 100px 0;
	display: block;
	margin: 0 auto;
	text-align: center;	
	background-image: url('/static/images/contest/rules_bckg.jpg');
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}

.rules > p {
	max-width: 1040px;
	color: #fff;
	margin: 0 auto;	
	padding: 80px 10px;
}

.rules a.rules_link {
	margin-top: 30px;
	padding: 10px 20px;
	background-color: #28c6c4;
	color: #fff;
	border-radius: 3px;
	text-decoration: none;
	display: inline-block;
	font-size: 1.5em;
}

.rules a.rules_link:hover {
	background-color: #fff;
	color: #28c6c4;
}

.steps {
	max-width: 1140px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0 auto;	
}

.step {
	width: 256px;
	height: 310px;
	display: block;
	border: 3px solid #fff; 
	position: relative;
	margin-top: 50px;
}

.step > h3 {
	margin-top: 65px;
	color: #fff;
	font-size: 1.17em;
}

.step > p {
	color: #fff;
	padding: 0 30px;
	text-align: left;
	line-height: 1.3;
	font-weight: 300;
}

.rfirst {
	background-color: #28c6c4;
	color: #fff;
	border-color: #28c6c4;
}

.pfirst,
.psec,
.pthird,
.pfour {
	-ms-transform: rotate(45deg); 
	display: block;
	height: 50px;
	left: 0;
	margin-right: auto;
	position: absolute;
	right: 0;
	top: -25px;
	width: 50px;
    -webkit-transform: rotate(45deg); 
    margin-left: auto;
    transform: rotate(45deg);
    z-index: 1;	
    background-repeat: no-repeat;
}

.pfirst { background-color: #fff; }
.psec { background-color: #43a6c0; }
.pthird { background-color: #6d76b9; }
.pfour { background-color: #825db6; }

.pfirst > span { 
	width:50px; 
	height: 50px; 
	display: block; 
	background: url('/static/images/contest/r01.png') center no-repeat; 
	-ms-transform: rotate(-45deg); 
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);
}

.psec > span { 
	width:50px; 
	height: 50px; 
	display: block; 
	background: url('/static/images/contest/r02.png') center no-repeat; 
	-ms-transform: rotate(-45deg); 
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);
}

.pthird > span { 
	width:50px; 
	height: 50px; 
	display: block; 
	background: url('/static/images/contest/r03.png') center no-repeat; 
	-ms-transform: rotate(-45deg); 
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);	
}

.pfour > span { 
	width:50px; 
	height: 50px; 
	display: block; 
	background: url('/static/images/contest/r04.png') center no-repeat; 
	-ms-transform: rotate(-45deg); 
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);	
}

.register_area p { color: #7b858a; padding: 10px; max-width: 1280px; margin: 0 auto; }
.required { font-style: italic; font-size: .7em; color: #fd4703; padding-bottom: 15px; }

.reg_form {
	max-width: 360px;
	padding: 0 20px;
	margin: 0 auto;
}

.field_group { padding-bottom: 10px }

.field_group > label { display: block; color: #a1a0a4; text-align: left; padding-bottom: 6px; }
.field_group > input[type="text"],
.field_group > input[type="email"] {
	width: calc(100% - 20px);
	border: 1px solid #d1d1d3;
	padding: 10px;
	border-radius: 3px;
}

.reg_button {
	width: 111px;
	height: 111px;
	display: block;
	background: url('/static/images/contest/btn_reg.png');
	background-position: 0 0;
	border: 0;
	margin: 0 auto;
}

.reg_button:hover {
	background-position: -111px 0;
}

.judges {
	max-width: 1920px;
	padding: 100px 0;
	display: block;
	margin: 0 auto;
	text-align: center;	
}

.judge_area {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	max-width: 1280px;
	padding-top: 30px;
	margin: 0 auto;
	justify-content: center;
}

.judge {
	padding-top: 10px;
	width: 150px;
	text-align: center;
}

.judge_area h4 { margin: 10px 0; }
.judge_area p { margin: 0; font-size: 11px; }

#young h4,
#image h4,
#splash h4 {  
	margin: 0 0 10px 0;
	color: #7b858a;
    font-weight: 300;
    margin: 0 auto;
    font-size: 2em;	
}

#young p,
#image p,
#splash p {
	line-height: 1.5em;
}

a.down {
	margin-top: 10px;
	display: inline-block;
	padding: 10px 20px;
	background-color: #fd4703;
	color: #fff;
	border-radius: 3px;
	border: 1px solid #fd4703;
	text-decoration: none;
	font-size: 1.5em;
}

a.down:hover {
	background-color: #fff;
	border: 1px solid #fd4703;
	color: #fd4703;
}

@media screen and (max-width: 400px) { 

	.img_wrap {
		width: calc(100% - 30px);
		padding: 75px 0 0 0;
		display: block;
		position: relative;
		margin: 0 auto;
		z-index: 3;
	}	

	.main_banner > h1 {
		position: absolute;
		top: 65px;	
		color: #fff;
		display: block;
		font-size: .8em;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;		
	}	

	.main_banner > p {
		max-width: 1200px;
		padding: 20px 20px 0 20px;
		margin: 0 auto;
		color: #fff;
		font-size: 1em;
		line-height: 1em;
		font-weight: 300;
		display: block;
	}	

	.main_banner > .img_wrap > .title {
		width: 100%;
		max-width: 1122px;
		padding: 0;	
	}	

	.three_boxes {
		max-width: 350px;
		display: flex;
		justify-content: space-around;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: column;
		margin: 0 auto;
	}	

	.three_boxes > .item {
		width: 100px; 
	  	height: 100px; 
	}

	.three_boxes > .itemb {
		width: 200px; 
	  	height: 200px; 
	}

	.register,
	.submit,
	.date { width: 100%; height: 100%; }	

	.credit {  
		color: #fff;
		font-size: .7em;
		position: absolute;
		bottom: 100px;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;
		font-style: italic;
	}

	.prizes > h1,
	.partners h1 { 
		color: #7b858a;
		font-weight: 300;
		margin: 0 auto;	
		font-size: 2em;
	}

	.rules h1 { 
		color: #fff;
		font-weight: 300;
		margin: 0 auto;	
		font-size: 2em;
	}			

	.register_area h1 { 
		color: #fd4703;
		font-weight: 300;
		margin: 0 auto;
		padding: 60px 0 0 0;	
		font-size: 2em;
	}

}

@media screen and (min-width: 400px) { 	

	.img_wrap {
		width: calc(100% - 30px);
		padding: 50px 0 0 0;
		display: block;
		position: relative;
		margin: 0 auto;
		z-index: 3;
	}	

	.main_banner > h1 {
		position: absolute;
		top: 75px;	
		margin: 0 0 10px 0;
		color: #fff;
		font-size: 1.1em;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;		
	}

	.main_banner > p {
		max-width: 1200px;
		padding: 20px 20px 0 20px;
		margin: 0 auto;
		color: #fff;
		font-size: 1em;
		line-height: 1em;
		font-weight: 300;
		display: block;
	}	

	.main_banner > .img_wrap > .title {
		width: 100%;
		max-width: 1122px;
		padding: 30px 0 0 0;	
	}

	.three_boxes {
		max-width: 350px;
		display: flex;
		justify-content: space-around;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: column;
		margin: 0 auto;
	}	

	.three_boxes > .item {
		width: 100px; 
	  	height: 100px; 
	}

	.three_boxes > .itemb {
		width: 200px; 
	  	height: 200px; 
	}

	.register,
	.submit,
	.date { width: 100%; height: 100%; }	

	.credit {  
		color: #fff;
		font-size: .7em;
		position: absolute;
		bottom: 100px;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;
		font-style: italic;
	}

	.prizes > h1,
	.partners h1 { 
		color: #7b858a;
		font-weight: 300;
		margin: 0 auto;	
		font-size: 2em;
	}	

	.rules h1 { 
		color: #fff;
		font-weight: 300;
		margin: 0 auto;	
		font-size: 2em;
	}

	.register_area h1 { 
		color: #fd4703;
		font-weight: 300;
		margin: 0 auto;
		padding: 60px 0;	
		font-size: 2em;
	}						

}

@media screen and (min-width: 600px) { 	

	.img_wrap {
		width: calc(100% - 30px);
		padding: 50px 0 0 0;
		display: block;
		position: relative;
		margin: 0 auto;
		z-index: 3;
	}	

	.main_banner > h1 {
		position: absolute;
		top: 75px;		
		margin: 0 0 10px 0;
		color: #fff;
		font-size: 1.1em;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;			
	}	

	.main_banner > p {
		max-width: 1200px;
		padding: 20px 100px 0 100px;
		margin: 0 auto;
		color: #fff;
		font-size: 1.1em;
		line-height: 1.3em;
		font-weight: 300;
		display: block;
	}	

	.main_banner > .img_wrap > .title {
		width: 100%;
		max-width: 1122px;
		padding: 0;	
	}

	.three_boxes {
		max-width: 640px;
		display: flex;
		justify-content: space-around;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: row;
		margin: 0 auto;
	}

	.three_boxes > .item {
		width: 150px; 
	  	height: 150px; 
	}

	.three_boxes > .itemb {
		width: 245px; 
	  	height: 245px; 
	}

	.register,
	.submit,
	.date { width: 100%; height: 100%; }

	.prizes > h1,
	.partners h1,
	.judges h1 { 
		color: #7b858a;
		font-weight: 300;
		margin: 0 auto;	
		font-size: 2.5em;
	}

	.rules h1 { 
		color: #fff;
		font-weight: 300;
		margin: 0 auto;	
		font-size: 2.5em;
	}

	.register_area h1 { 
		color: #fd4703;
		font-weight: 300;
		margin: 0 auto;
		padding: 30px 0 30px 0;	
		font-size: 2.5em;
	}			

	.credit {  
		color: #fff;
		font-size: .7em;
		position: absolute;
		bottom: 20px;
		right: 20px;
		font-style: italic;
		margin-left: initial;
		margin-right: initial;
		left: initial;		
	}

}

@media screen and (min-width: 1000px) { 

	.img_wrap {
		width: calc(100% - 60px);
		padding: 50px 0 0 0;
		display: block;
		position: relative;
		margin: 0 auto;
		z-index: 3;
	}


	.main_banner > h1 {
		position: absolute;
		top: 100px;
		color: #fff;
		font-size: 1.5em;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;		
	}

	.main_banner > p {
		max-width: 1200px;
		padding: 20px 100px 0 100px;
		margin: 0 auto;
		color: #fff;
		font-size: 1.3em;
		line-height: 1.3em;
		font-weight: 300;
		display: block;
	}


}