.top_banner{
	position:relative;
	background-image:url('../img/banner.jpg');	
	max-height:100vh;
	overflow:hidden;
	background-size:cover;
}

.top_banner.page{
	height:250px;
	background-position-y: 55%;
}

.curve{
	width:100%;	
	background-image:url('../img/curve.png');	
	background-position:50% 0%;
	background-repeat:no-repeat;
	background-size:cover;
    margin-top: -150px;	
	width:100.1%;
	height:600px;
	position:absolute;
	z-index:1;
	display:none;
	
}

.header{
	/*padding:10px;
	position:absolute;
	top:0px;
	width:100%;
    box-sizing: border-box;	
	background-image:url('../img/header_bg.png');	
	background-size: contain;	
	background-repeat:repeat-x;	*/
	
	position:relative;
	width:100%;
	margin-left:auto;
	margin-right:auto;
}

.header_container{
	background-color:transparent;
	position:absolute;
	z-index:5;
	box-sizing:border-box;
	width: 100%;
	z-index:100;
}


.page .header_container{
	position:static;
}

.logo{
	display:inline-block;
	max-width:300px;
	z-index:2;
	padding: 10px 40px 10px 20px;
	background-color:#fff;
	border-radius:0 0 20px 0;
}

.logo img{
	max-width: 250px;
}

.logo a{
	line-height:0em;
}

.logo .logo_slogan{
	color:#777;
	font-size:18px;
	margin-left:5px;
	margin-top:-14px;
}



.owl-theme .owl-nav.disabled+.owl-dots{
    position: absolute;
    z-index: 5;
    bottom: 20px;
    right: 0px;
	
}

.header_right{
	float:right;
	width:100%;
	
}

.funct_list{
	display:inline-block;
	margin-right: 75px;
    margin-top: 18px;	
}

.funct_item{
	display:inline-block;
	margin:0 10px;
	
}

.funct_item img{
	width:auto;
	vertical-align:middle;
	
}

.menu_btn{
	display:inline-block;
	position: absolute;
    right: 10px;		
    z-index: 90;	
	cursor:pointer;
	z-index:99;
}


.header_right.fixed{
	position: fixed;
    right: 12px;	
	top:10px;
	cursor:pointer;
	z-index:199;
	opacity:0;
	margin-top:20px;
	pointer-events: none;
	transition:all 0.3s;
	display: inline-block;	
}



.header_right.hide{
	opacity:0;
	pointer-events: none;
	transition:all 0.3s;
	margin-top:-30px;
}


.header_right.fixed.show{
	display:inline-block;
	opacity:1;
	pointer-events: auto;
	transition:all 0.3s;
	margin-top:0px;

}

.header_right.fixed .funct_list {
    margin-right: 85px;
    margin-top: 6px;	
	float:right;
}

.header_right.fixed .funct_item {
	background-color: #000;
    border-radius: 50px;
    padding: 8px;
    width: 56px;
    height: 56px;
    box-sizing: border-box;
    text-align: center;
}

.menu_btn_bg{
	background-color:#fff;
	display:inline-block;
	padding:15px;
	border-radius:50px;
	width:65px;
	height:65px;
	box-sizing:border-box;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;	
	
}

.bar1, .bar2, .bar3 {
  width: 35px;
  height: 5px;
  background-color: var(--main-blue);
  margin: 5px 0;
  transition: 0.4s;
}

.active .bar1 {
  -webkit-transform: rotate(-45deg) translate(-7px, 6px);
  transform: rotate(-45deg) translate(-7px, 6px);
}

.active .bar2 {opacity: 0;}

.active .bar3 {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
  transform: rotate(45deg) translate(-8px, -8px);
}

/*--menu--*/
.menu{
	background-color:transparent;
	width:100%;
	height:75vh;
	min-height:600px;
	position:fixed;
	top:-100vh;
	left:0;
	padding:10px 150px;
	padding-top:140px;
	box-sizing:border-box;
	transition:all 0.8s;	
	z-index:90;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;	
}


.menu.active{
	top:0;
	transition:all 0.8s;	
}

.full_header {
	width:76%;
    top: 0;
    right: 0;
    z-index: 10;		
	display:inline-block;
	padding-top: 30px;
}


.full_menu .item {
    display: inline-block;
    vertical-align: top;
    padding: 0px 10px;
    width: 13%;
    box-sizing: border-box;
    float: left;
}

.full_menu .item.search {
    width: 25%;
    padding-right: 30px;	
}

.full_menu .item.lang {
    width: 8%;
}


.full_menu .item .parent {
    padding: 0px 0;
    font-size: 24px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    width: fit-content;
}

.page .full_menu .item .parent{
	color:#fff;
	
}

.full_menu .item .link {
    padding: 0px 0;
    font-size: 24px;
    color: #000;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    width: fit-content;
}

.full_menu .item .link a {
    font-size: 24px;
    color: #fff;
}

.page .full_menu .item .link a {
    font-size: 24px;
    color: #fff;
}




.full_menu .child {
    background-color:#fff;
}


.full_menu .submenu_item {
    padding: 10px 10px;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    width: fit-content;
}


.full_menu .submenu_item a{
	padding: 20px 0;
    font-size: 16px;
    color: #000;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    width: fit-content;
	line-height: 1em;	
}



.full_header .menu_btn {
   display:none;
}

.full_header .menu_btn.active{
   display:inline-block;	
	
}

.full_header .funct_list {
   display:none;
}



.full_header .search_box {
	position:relative;
}

.full_header .search_box input{
  font-size: 18px;
    height: 45px;
    border: 0px;
    border-radius: 3px;
    padding-left: 50px;
	border:1px solid #ddd;
}


.full_header .search_box input::placeholder {
  font-size: 18px;
}

.full_header .search_box img{
	position:absolute;
	top:5px;
	left:5px;
}


.full_menu .item {
	height:65px;
	overflow:hidden;
	
}


.full_menu .item:hover  {
	height:auto;
	
}

.full_menu .item .child {
	opacity:0;
	transition:0.5s all;
	margin-top:30px;
	pointer-events:none;
	position:absolute;
	z-index:99;
	
}

.full_menu .item:hover .child {
	opacity:1;
	transition:0.5s all;	
	margin-top:5px;	
	pointer-events:auto;	
}


.full_menu .item .child:hover{
	opacity:1;
	transition:0.5s all;	
	margin-top:5px;	
	pointer-events:auto;	
}


.mainmenu a{
	padding:20px 0;
	font-size:24px;
	color:#000;
	font-weight:700;
	cursor:pointer;
	position:relative;
    width: fit-content;
	display:inline-block;
}

.mainmenu_item{
	padding:20px 0;
	font-size:24px;
	color:#000;
	font-weight:700;
	cursor:pointer;
	position:relative;
    width: fit-content;
}


.mainmenu_item::after{
	content:url('../img/menu_arrow.png');
	width:60px;
	display:block;
	position:absolute;
	bottom:10px;
	right:30px;
	opacity:0;
	transition:all 0.5s;
}

.mainmenu_item:hover::after{
	right:5px;
	opacity:1;	
	transition:all 0.5s;	
	
}

.menu .left{
	width:25%;
	border-right:2px solid #ddd;
	
}


.menu .right{
	position:relative;
	overflow:hidden;
	
}


.submenu_item{
	padding:20px 0;
	font-size:24px;
	font-weight:700;
	cursor:pointer;
	position:relative;
    width: fit-content;	
	
}


.submenu_item a{
	padding:20px 0;
	font-size:20px;
	color:#000;
	font-weight:700;
	cursor:pointer;
	position:relative;
    width: fit-content;	
	
}

.tab-content{
	display:none;
	
}

.tab-content.current{
	display:block;
	
}

.submenu .tab-content{
	position:relative;
	
}

.submenu .tab-content{
	display:block;
	opacity:0;
	pointer-events:none;
	position:absolute;
	top:0;
	transition:all 0.8s;
	padding-top:80px;
	
}

.submenu .tab-content.current{
	opacity:1;
	pointer-events:auto;
	transition:all 0.5s;
	padding-top:30px;		
}


.submenu .tab-content{
	display:block;
	opacity:0;
	pointer-events:none;
	position:absolute;
	top:0;
	padding-top:30px;		
	transition:all 0.6s;
	margin-left:-30px;
	
}

.submenu .tab-content.current{
	opacity:1;
	pointer-events:auto;
	transition:all 0.6s;	
	margin-left:50px;	
}

.subsubmenu_child{
	max-height:0px;
	opacity:0;
	overflow:hidden;
	transition:all 0.3s;
	padding-left:15px;	
}

.subsubmenu_child.active{
	max-height:380px;
	opacity:1;	
	transition:all 0.8s
}

.subsubmenu_child a{
	display:block;
	font-size:16px;
	padding:5px 0;
	font-weight:500;
	
}

.responsive_menu .item .parent{
	padding:20px 0;
	font-size:24px;
	color:#000;
	font-weight:700;
	cursor:pointer;
	position:relative;
    width: fit-content;
}

.responsive_menu .item .link{
	padding:20px 0;	
	font-size:24px;
	color:#000;
	font-weight:700;
	cursor:pointer;
	position:relative;
    width: fit-content;
}

.responsive_menu .item{
    display: inline-block;
    vertical-align: top;
    padding: 20px 30px;
    width: 20%;
    box-sizing: border-box;
    float: left;
}
.responsive_menu .item .parent a{
	font-size:24px;
	color:#000;
}
.responsive_menu .item .link a{
	font-size:24px;
	color:#000;

}

.responsive_menu .item{
	position:relative;


}

.responsive_menu .item .child{
	max-height:350px;
	transition:all 0.3s	;
	overflow:hidden;	
	background-image:url('img/menu_arrow_v.png');


}

.responsive_menu .item .child .submenu_list{
	transition:all 0.3s	;

}

.responsive_menu .item:hover .child .submenu_list{
	transition:all 0.3s	;

}

.responsive_menu .item .child::before{
    content:"";
	background-image:url('../img/menu_arrow_v.png');
	height: calc(100% - 100px);
	width:15px;
	position:absolute;
	background-position:100% 100%;
	background-repeat:no-repeat;
	top:50px;
	left:5px;
	transition:all 0.3s	;
	opacity:0;
}

.responsive_menu .item:hover .child::before{
	top:100px;	
	transition:all 0.3s	;
	opacity:1;
}


.responsive_menu .item .child a{
	font-size:16px;
    line-height: 1.5;
    display: block;	
    padding: 15px 0;	
}

.responsive_menu .item.active .child{
	max-height:350px;	
	transition:all 0.9s
}


.responsive_menu .submenu_item{
	padding-top:0px;
	padding-bottom:0px;
}


.mainmenu_item::after{
	content:url('../img/menu_arrow.png');
	width:60px;
	display:block;
	position:absolute;
	bottom:10px;
	right:30px;
	opacity:0;
	transition:all 0.5s;
}


/*--banner--*/
.banner{
	height:100vh;
	min-height:600px;
	background-color:#00000080;
	background-size: cover;
}


.page .banner{
	min-height:0px;
	background-color:transparent;	
	height:auto;
}


.banner_content{
	width:100%;
	text-align:center;
	padding-top:450px;
}

.page .banner_content{
	padding-top:20px;
}

.slogan{
	font-size:55px;
	font-weight:900;
	color:#fff;
	line-height: 50px;	
}

.page .slogan{
	font-size:45px;
}

.banner_text{
	font-size:35px;
	font-weight:700;
	color:var(--yellow);
	margin-top:30px; 
	line-height:1.5em;
}

.page .banner_text{
	font-size:20px;
	color:#fff;
}

.search_bar{
	background-color:#dde0e8;
	width:100%;
	position:fixed;
	top:-220px;
	left:0;
	z-index:100;
	box-sizing:border-box;
	transition:all 0.5s;
}

.search_bar.active{
	top:0px;
	transition:all 0.5s;
}


.search_bar .container{
	padding:50px 20px;	
}


.search_bar .close{
	position:absolute;
	right:5px;
	top:10px;
}


.search_bar input{
	height:45px;
	border:0px;
	border-radius:3px;
	padding-left:50px;
	
}

.search_box {
	position:relative;
}

.search_box input{
  font-size: 18px;

}


.search_box input::placeholder {
  font-size: 18px;
}

.search_box img{
	position:absolute;
	top:5px;
	left:5px;
}


.search_container{
	background:#fff;
	padding:20px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
	border-radius: 3px;	
}

.search_container .title{
	font-size:24px;
	font-weight:700;
	margin-bottom:15px;
}

.search_inputbox{
	position:relative;
	
}

.search_btn_full{
	background-color:var(--dark-blue);
	color:#fff;
	font-weight:700;
	padding:8px;
	display:inline-block;
	width: fit-content;
	position:absolute;
	right:0px;
	
}



.search_container input{
	height:53px;
	padding-right:100px;
	font-size:18px;
	
	
}


.quote_btn{
	background-color:var(--main-blue);
	color:#fff;
	font-weight:700;
	padding:8px;	
	display:inline-block;
	width: fit-content;
	margin-top:15px;
	border-radius: 3px;
	cursor:pointer
	
}

.search_container input::placeholder{
	font-size:18px;
	
	
}

.search_btn_full img{
	width:auto!important;
	display:inline-block!important;
	vertical-align:middle;
	
	
}

.mobile_search{
	position:relative;
	display:none;
    width: 85%;	
}

.mobile_search input{
	background-color:#fff;
	height:45px;
	border-radius:3px;
	border:0px;
	padding-right:50px;
	height:65px;	
	font-size:20px;

}

.mobile_search input::placeholder{	
	font-size:20px;
}

.mobile_search .search_btn{
	position:absolute;
	right:23px;
	top:15px;
	cursor:pointer;
	
}

.lang_modal .modal-content{
	width:200px;
	padding:0px;
	
}

.lang_modal a{
	display:block;
	border-bottom:1px solid #eee;
	padding:5px 20px;
	
}

.lang_modal img{
	vertical-align: middle;
	
}

.lang_modal a:last-child{
	border-bottom:0px solid #eee;
	
}


.lang_modal .close{
    float: none;
    text-align: right;
	border-bottom:1px solid #eee;	
	padding-right:10px;
	
}

	
.menu_container{
	display:none;
	
}	

@media (max-width: 1499px) {
	.responsive_menu{
		display:none;
		
	}
	
		
	.menu_container{
		display:table;
		
	}	
	
	.responsive_menu .item .child{
		max-height:0px;
	}



	.full_header {
		position:static;
		width: auto;
		display: inline;	
	}

	.full_header .full_menu{
		display:none;	
	}


	.full_header .menu_btn {
	   display:inline-block;
	   margin:10px;
	}


	.full_header .funct_list {
	   display:inline-block;
	   float: right;
	   margin-right: 90px;
		margin-top: 24px;
	}

	.header_container	{
		background-color:transparent;
		
	}
	
	.header_right{
		width:auto;
		
	}
	
	.menu{
	background-color:#fff;
	padding-top:140px;
	}

}

@media (max-width: 1199px) {
	.menu .left{
		width:40%;
		
	}
	
	.menu{
	    padding: 10px 100px;	
		padding-top:140px;
	}

	
	.page_content{
		padding-top: 80px;
		
	}		
	.page .curve{
		margin-top: -250px;
		position: absolute;
		bottom: -580px;		
	}
	
	.page.top_banner{
		min-height: 100px;
		height: auto;
		
	}
	
	.page .banner{
		min-height: 100px;
		height: auto;
		padding-bottom: 50px;
		
	}
	
	.page_content{
		padding-top: 80px;
		
	}	
}


@media (max-width: 996px) {
	.menu{
	    padding: 10px 50px;	
		height:100vh;
		padding-top:140px;
	}
	
	.banner{
		background-image:none !important;
		background-color:transparent !important;
		}
}


@media (max-width: 767px) {
	.logo{
	    max-width: 300px;	
		
	}

	.header{
	padding-top:0px;	
		
	}
	
	.full_header{
		padding-top: 0;
	}
	
	.search_ico{
		display:none;
		
	}
	.page .search_ico{
		display:inline-block;
		
	}
	
	.banner_content .slogan{
		display:none;
		
	}
	.page .banner_content .slogan{
		display:block;
		padding: 15px;
		padding-right: 66px;
			
	}
	.banner_content .banner_text{
		display:none;
		
	}
	
	.mobile_search{
		display:inline-block;
		
	}
	
	
	.menu_container{
		display:none;
		
	}	
	
	.banner_content{
		padding-top: 150px;
		
	}
	
	.responsive_menu{
		display:inline-block;
		
	}
	
	
	.responsive_menu .submenu_item{
		padding-left:15px;
	}
	

	.responsive_menu .item{
		display: block;
		width: 100%;
		padding:0px;
	}


	.responsive_menu .item .parent a{
		font-size:24px;
	}

	.responsive_menu .item .child a{
		font-size:20px;
	}

	.responsive_menu .item .child .subsubmenu_child a {
		font-size: 16px;
		font-weight:700;
	}

	.responsive_menu .submenu_item{
		padding-top:0px;
	}

	.responsive_menu .item.active{
		padding-bottom: 40px;
	}
	
	.responsive_menu .item.active .child{
		max-height:350px;	
	}
	

	
	.responsive_menu .item .child::before{
		display:none;
	}
	
	.responsive_menu .item::before{
		content:"";
		background-image:url('../img/menu_arrow_v.png');
		height: calc(100% - 100px);
		width:15px;
		position:absolute;
		background-position:100% 100%;
		background-repeat:no-repeat;
		top:0px;
		left:-10px;
		transition:all 0.3s	;
		opacity:0;
	}


	.responsive_menu .item.active::before{
		top:90px;	
		transition:all 0.5s	;
		transition-delay: 250ms;
		opacity:1;
	}
	
	.page .banner_content{
		padding-top: 120px;
		
	}
	
	.page .banner_content{
		text-align:left;
		
	}
	
	.funct_list{
		position: absolute;
		top: 60px;
		right: 8px;
		margin-right:0px;
		
	}
	
	.funct_item{
		margin: 0 5px;
		
	}
	
	.full_header .menu_btn{
		display:none;
		
	}
	
	.header_right.fixed{
		opacity:1;
		margin-top: 0px;
		pointer-events: auto;
	}
	
	.header_right.fixed .funct_list{
		margin-right: 0px;
		margin-top:15px;
		
	}
	
	.full_header .funct_list{
		display:none;
		
	}
	
	.header_right.fixed .funct_item{
		margin-bottom:5px;
		
	}
	
	.curve{
		margin-top: -250px;
		position: absolute;
		bottom: -580px;		
	}
	
	.top_banner{
		min-height: 100px;
		height: auto;
		
	}
	
	.banner{
		min-height: 100px;
		height: auto;
		padding-bottom: 50px;
		
	}
	
	.search_container{
		display:none;
		
	}

	.owl-theme .owl-nav.disabled+.owl-dots{
		display:none;
		
	}
	
	.banner_content {
		padding-top: 230px;
	}

}
