@charset "utf-8";
/**********************
Announcement
***********************/
#announcement{
	margin:-22px 0 0;
	width:100%;
}
#announcement > .cont{
	
}
#announcement._1,
#announcement._1 > .cont{
	background:var(--warning-color);	
	color:white;
}
#announcement._2,
#announcement._2 > .cont{
	background:var(--main-color-light);
	color:var(--font-color);
}
#announcement._3,
#announcement._3 > .cont{
	background:var(--sub-color);	
	color:var(--warning-color);	
}
#announcement > .cont{
	padding:20px 0;
	position:relative;	
}
#announcement > .cont .text{
	float:left;
	width:73%;
	padding-left:2%;
	padding-right:5%;
}
#announcement > .cont .text.fullwidth{
	width:60%;	
}
#announcement > .cont .text .title{
	font-size:60px;
	line-height:60px;
	font-weight:800;	
	font-family:var(--font-family-alt);
	margin-bottom:0;
}
#announcement._1 > .cont .text .title{
	color:white;	
}
#announcement._2 > .cont .text .title{
	color:var(--font-color);	
}
#announcement._3 > .cont .text .title{
	
}
#announcement > .cont .text .subtitle{
	font-size:22px;
	line-height:25px;
	font-weight:400;
	font-family:var(--font-family-main);
}
#announcement._1 > .cont .text .subtitle{
	color:var(--sub-color-light);
}
#announcement._2 > .cont .text .subtitle{
	color:var(--main-color-medium);		
}
#announcement._3 > .cont .text .subtitle{
	color:var(--font-color);
}
#announcement > .cont .link{
	width:20%;
	display:table;
	position:absolute;
	top:0;
	right:0;
	height:100%;	
	text-align:center;
}
#announcement > .cont .link:before{
	content:'';
	position:absolute;
	top:20%;
	bottom:20%;
	left:0;
	width:1px;
	background:rgba(255,255,255,.2);	
}
#announcement > .cont .link .cell{
	display:table-cell;
	vertical-align:middle;
}
#announcement > .cont .link a{
	display:inline-block;
	background:var(--main-color);
	padding:25px 10%;
	border:0;
	color:white;
	font-size:25px;
	line-height: 25px;
	font-weight:600;
	font-family:var(--font-family-alt);
	width:60%;
	border-radius:15px;
}
#announcement._1 > .cont .link a{
	background:var(--dark-bg);
	color:white;
}
#announcement._2 > .cont .link a{
	background:var(--main-color-dark);
}
#announcement._3 > .cont .link a{
	background:var(--dark-bg);
}
#announcement > .cont .link a:hover{
	background:var(--sub-color);
	color:var(--font-color);
}
#announcement._2 > .cont .link a:hover{
	background:var(--sub-color);	
	color:var(--dark-bg);
}
#announcement._3 > .cont .link a:hover{
	background:var(--warning-color);
	color:white;
}
/**********************
SLIDESHOW
***********************/
#banner{
	min-height:100px;	
	position:relative;
	height:780px;
	padding-bottom:25px;
}
#banner:before{
	content: '';
    position: absolute;
    height: 6px;
    background: var(--light-bg);
    left: 3px;
    width: calc(100% - 6px);
    bottom: 13px;
    border-radius: 10px;
    z-index: 2;
    opacity: 0.5;
}
#banner:after{
	content:'';
	position:absolute;
	height:6px;
	border-radius:10px;
	background:var(--lighter-bg);
	left:3px;
	width:0;
	bottom:13px;
	z-index: 1;
}
#banner.trans:after{
	-webkit-animation: bprogress 8s ease-out 1;
	-moz-animation:    bprogress 8s ease-out 1;
	-o-animation:      bprogress 8s ease-out 1;
	animation:         bprogress 8s ease-out 1;	
	animation-fill-mode: forwards;		
}
@keyframes bprogress {
    0% {
        width:0;
    }
    100% {
        width:calc(100% - 6px);
    }
}
#banner .slideshow{
	width:100%;	
	position:absolute;
	overflow:hidden;
	top:0;
	left:0;
	height:100%;
}
#banner a.blockedit{
	position:absolute;
	bottom:20px;
	right:20px;	
	z-index:9;
	background:rgba(255,255,255,.5);
}
#banner a.blockedit:hover{
	background:var(--sub-color-light);	
}
#banner .slideshow .slide{
	height:783px;
	max-height:inherit;
	width:100%;
	overflow:hidden;
	position:relative;	
	background:white;
}
#banner .slideshow .slide .slideimg{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-position:center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
#banner > .cont{	
	position:relative;
	height:calc(100% + 25px);
	width:calc(100% - 20px);
	padding:0 10px;
	display:flex;
	max-width:1380px;
}
#banner .slide .captioncont{
	max-width:100%;
	margin:auto;
	position:relative;
	height:100%;	
	z-index:1;
}
#banner .captionwrapbg{
	position:relative;
	margin-top:170px;
	left:0;
	width:410px;
	display:flex;
	flex-direction:column;
	align-items: center;
  	justify-content: center;
	z-index:3;
	align-self: end;
}
#banner .captionwrapbg > .cont{
	width:calc(100% - 60px);
	background:var(--main-color);
	border-radius:20px;
	padding:30px 50px 30px 30px;
	opacity:0;
}
#banner .captionwrapbg > .cont.hidden{
	opacity:0;	
}
#banner .captionwrapbg > .cont.anim{
	-webkit-animation: bgcap .6s ease-out 1;
	-moz-animation:    bgcap .6s ease-out 1;
	-o-animation:      bgcap .6s ease-out 1;
	animation:         bgcap .6s ease-out 1;	
	animation-fill-mode: forwards;		
}
@keyframes bgcap {
    0% {
        opacity:0;
		transform:translateX(40px);
    }
    100% {
        opacity:1;
		transform:translateX(0);
    }
}
#banner .captionwrap{
	display:none;
}
#banner .captionwrapbg .textcont{
	
}
#banner .captionwrapbg .caption span.text{
	font-size:32px;	
	line-height:42px;
	font-weight:700;
	opacity:0;
	transform:translateX(-40px);
	display:block;
	margin-bottom:25px;
	position:relative;
	z-index:1;
	color:white;
	font-family:var(--font-family-alt);
}
#banner .captionwrapbg .subcaption span.text{
	font-size:18px;	
	line-height:25px;
	color:var(--main-color-light);
	font-family:var(--font-family-main);
	font-weight:300;
	opacity:0;
	transform:translateX(40px);
	display:block;
	margin-bottom:40px;
}
#banner .captionwrapbg .subcaption{
	line-height:30px;	
}
#banner .captionwrapbg .caption,
#banner .captionwrapbg .subcaption{
	position:relative;	
}
#banner .captionwrapbg .subcaption{
	margin-bottom:50px;	
}
#banner .captionwrapbg .caption{
	margin:0 auto 40px;	
}
#banner .captionwrapbg .caption.show span.text,
#banner .captionwrapbg .subcaption.show span.text{
	-webkit-animation: slideanim .6s ease-out 1;
	-moz-animation:    slideanim .6s ease-out 1;
	-o-animation:      slideanim .6s ease-out 1;
	animation:         slideanim .6s ease-out 1;	
	animation-fill-mode: forwards;		
}
#banner .captionwrapbg .subcaption.show span.text{
	animation-delay:.2s;	
}
@keyframes slideanim {
    0% {
        opacity:0;
		transform:translateX(40px);
    }
    100% {
        opacity:1;
		transform:translateX(0);
    }
}
#banner .captionwrapbg > .cont .buttonwrap{
	padding:0;
}
#banner .captionwrapbg > .cont .buttonwrap a.button{
	display:table;
	background:var(--sub-color);
	color:var(--main-color);
	border:0;
	height:78px;
	line-height:78px;
	font-size:30px;
	font-family:var(--font-family-alt);
	padding:0 35px;
	font-weight:700;
	opacity:0;
	border-radius:15px;
	white-space:nowrap;
	position:relative;
}
#banner .captionwrapbg > .cont .buttonwrap a.button:hover{
	background:var(--main-color-light);	
}
#banner .captionwrapbg > .cont .buttonwrap.show a.button{
	-webkit-animation: slidebuttonanim .6s ease-out 1;
	-moz-animation:    slidebuttonanim .6s ease-out 1;
	-o-animation:      slidebuttonanim .6s ease-out 1;
	animation:         slidebuttonanim .6s ease-out 1;	
	animation-fill-mode: forwards;	
	animation-delay:.6s;
}
@keyframes slidebuttonanim {
    0% {
        opacity:0;
		transform:translateX(-40px);
    }
	80%{
		opacity:1;
		transform:translateX(10px);	
	}
    100% {
        opacity:1;
		transform:translateX(0);
    }
}
#banner > .cont .owl-controls{
	position:absolute;
	margin-left:auto;
	right:10px;
	width:410px;
	z-index:4;
	bottom:45px;
	font-size:0;
	text-align: right;
}
#banner .owl-theme .owl-nav{
	display:none;
}
#banner > .cont .owl-controls .owl-dots .owl-dot{
	display: inline-block;
    zoom: 1;
	cursor:pointer;
	transform:scale(0);
	opacity:0;
	-webkit-animation: popOwlDot .4s ease-out 1;
	-moz-animation:    popOwlDot .4s ease-out 1;
	-o-animation:      popOwlDot .4s ease-out 1;
	animation:         popOwlDot .4s ease-out 1;	
	animation-fill-mode: forwards;		
}
#banner > .cont .owl-controls .owl-dots .owl-dot:first-child{
	animation-delay:1.4s;
}
#banner > .cont .owl-controls .owl-dots .owl-dot:nth-child(2){
	animation-delay:1.6s;
}
#banner > .cont .owl-controls .owl-dots .owl-dot:nth-child(3){
	animation-delay:1.8s;
}
#banner > .cont .owl-controls .owl-dots .owl-dot:nth-child(4){
	animation-delay:2s;
}
#banner > .cont .owl-controls .owl-dots .owl-dot:nth-child(5){
	animation-delay:2.2s;
}
@keyframes popOwlDot {
    0% {
        opacity:0;
		transform:scale(0);
    }
	80%{
		opacity:1;
		transform:scale(1.2);	
	}
    100% {
        opacity:1;
		transform:scale(1);
    }
}
#banner > .cont .owl-controls .owl-dots .owl-dot span{
	height:8px;
	width:75px;
	border-radius:4px;
	margin:0 5px;
	background:white;
	display: block;
    -webkit-backface-visibility: visible;
    transition: opacity .2s ease;
}
#banner > .cont .owl-controls .owl-dots .owl-dot.active span{
	background:var(--main-color-medium);
}
#banner > .cont .owl-controls .owl-dots .owl-dot span:hover{
	background:var(--sub-color);
}
#main{
	position:relative;
}
#main > .cont{
	padding:100px 0;
}
@keyframes showBreakLabel {
	0{
		opacity:0;
		transform:translateX(-20px);
	}
	20%{
		opacity:1;
	}
  	100% {
		opacity:1;
		transform:translateX(0);
  	}
}
#main .cont .breakline.anim .link{
	animation: showBreakLink 0.2s linear forwards;	
	animation-delay:0.5s;
}
@keyframes showBreakLink {
	0{
		transform:scale(0);		
	}
	80%{
		transform:scale(1.2);	
	}
  	100% {
		transform:scale(1);	
  	}
}
@media only screen and (max-width: 767px) {
	/**********************
		Announcement
	***********************/
	#announcement{
		margin: -20px 0 15px;	
	}
	#announcement > .cont{
		padding:20px 0;
	}
	#announcement > .cont .text{
		float:none;
		width:90%;
		padding-left:5%;
		padding-right:5%;
		margin-left:0;
		text-align:center;
		padding-top:0;
	}
	#announcement > .cont .text.fullwidth{
		width:90%;
	}
	#announcement > .cont .text .title{
		font-size:35px;
		line-height:35px;
	}
	#announcement > .cont .text .subtitle{
		font-size:16px;
		line-height:24px;
	}
	#announcement > .cont .link{
		width:90%;
		display:table;
		position:relative;
		height:auto;	
		text-align:center;
		margin:auto;
	}
	#announcement > .cont .link:before{
		display:none;	
	}
	#announcement > .cont .link .cell{
		display:block;
		padding-top:20px;
	}
	#announcement > .cont .link a{
		padding: 10px 5%;
		width: 50%;
		font-size: 17px;
	}
	#banner > .cont{
		align-items: center;
		width: 100%;
		padding: 0;
	}
	#banner .captionwrapbg{
		width:90%;
		margin: auto;
		text-align: center;
	}
	#banner .captionwrapbg > .cont{
		background:transparent;
		position: relative;
	}
	#banner .captionwrapbg > .cont:before{
		content:'';
		position: absolute;
		left: 0;
		top: 0;
		width:100%;
		height: 100%;
		background:var(--main-color);
		opacity: .9;
		border-radius: inherit;
	}
	#banner .captionwrapbg .caption span.text{
		font-size:26px;
		line-height: 36px;
	}
	#banner .captionwrapbg .subcaption span.text{
		font-size:18px;
		line-height: 24px;
	}
	#banner .captionwrapbg > .cont .buttonwrap a.button{
		margin: auto;
	}
	#main{
		padding-top:50px;
	}
	#main > .cont{
		flex-direction:column;	
		gap:50px;
		padding-top:30px;
	}
	#main > .cont .videowrap{
		width:90%;
		max-width:600px;
		height:250px;
	}
	#main > .cont .text{
		width:90%;
		font-size:20px;
	}
}
@media only screen and (min-width: 481px) and (max-width: 767px) {
	#main > .cont .videowrap{
		width:90%;
		max-width:600px;
		height:350px;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1000px) {
	#announcement > .cont .text{
		width:60%;
	}
	#announcement > .cont .text .title{
		font-size:44px;
		line-height:50px;
	}
	#announcement > .cont .text .subtitle{
		font-size:18px;
		line-height:22px;
	}
	#announcement > .cont .link{
		display: flex; 
		align-items: center; 
		justify-content: center; 
		flex-direction: column;	
		white-space:nowrap;
		width: 30%;
	}	
	#announcement > .cont .link .cell{
		width:90%;	
	}
	#announcement > .cont .link a{
		font-size:20px;
		white-space: normal;
	}
	#main{
		padding-top:50px;
	}
	#main > .cont{
		flex-direction:column;	
		gap:50px;
		padding-top:30px;
	}
	#main > .cont .videowrap{
		width:90%;
		max-width:600px;
		height:400px;
	}
	#main > .cont .text{
		width:90%;
		font-size:20px;
	}
	#banner .captionwrapbg{
		margin-left:10px;
	}
}
@media only screen and (min-width: 1001px) and (max-width: 1240px) {
	#announcement > .cont .text{
		width:60%;
	}
	#announcement > .cont .text .title{
		font-size:44px;
		line-height:50px;
	}
	#announcement > .cont .text .subtitle{
		font-size:18px;
		line-height:22px;
	}
	#announcement > .cont .link{
		display: flex; 
		align-items: center; 
		justify-content: center; 
		flex-direction: column;	
		white-space:nowrap;
		width: 30%;
	}	
	#announcement > .cont .link .cell{
		width:90%;	
	}
	#announcement > .cont .link a{
		font-size:20px;
		white-space: normal;
	}
	#main{
		padding-top:50px;
	}
	#main > .cont{
		padding:50px 20px;
	}
	#main > .cont .text{
		font-size:20px;
	}
	#main > .cont .videowrap{
		height:340px;
	}
	#banner .captionwrapbg{
		margin-left:10px;
	}
}
@media only screen and (min-width: 1241px) and (max-width: 1400px) {
	#banner .captionwrapbg{
		margin-left:10px;
	}
	#announcement > .cont .text{
		width:60%;
	}
	#announcement > .cont .text .title{
		font-size:44px;
		line-height:50px;
	}
	#announcement > .cont .text .subtitle{
		font-size:18px;
		line-height:22px;
	}
	#announcement > .cont .link{
		display: flex; 
		align-items: center; 
		justify-content: center; 
		flex-direction: column;	
		white-space:nowrap;
		width: 30%;
	}	
	#announcement > .cont .link .cell{
		width:90%;	
	}
	#announcement > .cont .link a{
		font-size:20px;
		white-space: normal;
	}
	#main{
		padding-top:50px;
	}
	#main > .cont{
		padding:80px 20px;
	}
	#main > .cont .text{
		font-size:22px;
	}
	#main > .cont .videowrap{
		height:340px;
	}
}