/* ========================= ========================= ========================= ========================= ========================= =========================
***
* please make sure all media_query css inside @layer media_query 
***
* please make sure all media_query css inside @layer media_query 
* please make sure all media_query css inside @layer media_query 
* Use CSS @layer
* Use CSS @layer
* Use CSS @layer
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
@layer media_query {
	@media (max-width: 1920px) {

		.subMenuFlex .container,
		.breadcrumb_bigwrap .container {
			/*max-width: 72.3%;*/
		}
	}

	@media (max-width: 1330px) {


		.subMenuVersion .content_area {
			width: 100%;
		}

		.body_area {
			padding-top: 2rem;
		}

		.container {}


		.mobile {
			display: inherit;
		}


		.subMenuVersion .content_area {
			padding-left: 0;
			width: 100%;
		}

	}

	@media all and (max-width: 992px) {

		.subMenuVersion .subMenuFlex .container,
		.breadcrumb_bigwrap .container {
			max-width: 100%;
		}
	}
}

@layer media_query {
	@media(min-width: 1530px) {
		.englishVersion .nav_menu .nav_link_lv0 br  {
			display: none;
		}
	}
}

@layer media_query {
	@media(max-width: 1700px) {
		.nav_menu .nav_item_lv0:not(:has(+.disable), .link_btn_wrap) {
			padding-right: clamp(2rem, 2vw, 5rem);
		}
	}
}

@layer media_query {
	@media (max-width: 1330px) {
		.scroll_table {
			position: relative;
		}

		.scroll_table .table_wrapper1,
		.scroll_table table {
			min-width: 33rem;
		}

		.scroll_table_inside_wrapper {}

		.need_to_scroll:before {
			content: "";
			position: absolute;
			z-index: 25;
			top: 5rem;
			right: .9375rem;
			width: 3rem;
			height: 2rem;
			transition: width .3s ease-in-out, height .3s ease-in-out,
				opacity .3s ease-in-out;
			-webkit-animation: passing 1.3s linear infinite;
			animation: passing 1.3s linear infinite;
			background: url(../images/icon/icon_next.svg) no-repeat center center;
			background-size: contain;
		}

		.need_to_scroll:after {
			content: "";
			position: absolute;
			z-index: 22;
			top: 0;
			right: 0;
			display: block;
			width: 3.75rem;
			height: 100%;
			transition: width .3s ease-in-out, height .3s ease-in-out,
				opacity .3s ease-in-out;
			pointer-events: none;
			background-image: -webkit-gradient(linear,
					left top,
					right top,
					from(rgba(255, 255, 255, 0)),
					color-stop(30%, rgba(255, 255, 255, .5)),
					to(#fff));
			background-image: -o-linear-gradient(left,
					rgba(255, 255, 255, 0) 0,
					rgba(255, 255, 255, .5) 30%,
					#fff 100%);
			background-image: linear-gradient(to right,
					rgba(255, 255, 255, 0) 0,
					rgba(255, 255, 255, .5) 30%,
					#fff 100%);
		}

		.need_to_scroll.reachend:before {
			width: 0;
			height: 0;
			opacity: 0;
			overflow: hidden;
		}

		.need_to_scroll.reachend:after {
			width: 0;
			height: 0;
			opacity: 0;
			overflow: hidden;
		}
	}
}

@layer media_query {
	@media (max-width: 1330px) {
		.mobile_left_menu {
			display: block;
		}

		.mobile_left_menu_nav {
			display: block;
		}

		body:has(.mobile_left_menu.active) .js_scroll_blanket {
			display: block;
		}

		.body_area .left_menu {
			display: none;
		}
	}

}

@layer media_query {

	@media (max-width: 1330px) {
		.top_btn .textTop {}

		.top_btn {
			background-image: none;
			margin: 0;
		}

		.footer_area .footer_right {
			display: block;
		}

		.footer_area .footer_right * {
			text-align: right;
		}

		.footer_area .fTool {
			margin-right: 0;
		}

		.footer_area .fTool>li:last-child::after {
			width: 0;
			height: 0;
		}

		.footer_area .fTool>li:last-child a {
			padding-right: 0;
		}

		.footer_area .footer_right .updateDate {
			display: block;
			margin-bottom: 0;
		}

		.footer_row>.info,
		.footer_row>.updateDate {
			display: none;
		}

		.footer_menu {
			max-width: none;
		}

		.footer_menu {
			padding: .5rem 0;
			float: left;
			margin: 0;
		}

		.footerMenuArea {
			flex-wrap: wrap;
		}
	}

	@media all and (max-width: 1330px) {

		.header_right {
			display: flex;
			align-items: center;
			padding-right: 1rem;
		}

		.menu_btn {
			display: block;
		}


		.mobile_menu_active,
		.search_menu_active,
		.lang_menu_active {
			overflow: hidden;
		}

		.headerMenu {}

		.headerTool .header_inner {
			display: flex;
			padding: 0;
			-webkit-justify-content: space-between;
			-ms-flex-pack: justify;
			justify-content: space-between;

		}


		.clientTool .tool_item_btn:not(.tool_item_btn2) {
			width: 30px;
			height: 30px;
			padding-left: 0;
			padding-right: 0;
		}

		.lang_menu ul {
			font-size: 1.3rem;
		}

		.lang_menu ul>li a {
			font-size: initial;
		}

		.lang_menu li {
			display: block;
			margin-bottom: .625rem;
		}





		.search_menu .mobSearch {
			display: none;
		}

		.lang_menu .moblang {
			display: none;
		}

		.header_area .shareTool {
			display: none;
		}





		.header_area .headerTop {
			display: none;
		}

		.header_area {}



		.mobile_menu .moblang {
			display: none;
		}

		.mobile_menu .langTool {
			display: block;
			position: static;
		}

		.mobile_menu .menu_lv0 {
			border-top: 0;
		}


		.headerTool .search_btn {
			display: inline-block;
		}

		.myLogo {

			padding-left: 1.2rem;
			padding-bottom: 1rem;
		}

		.headerTool .myLogo img {
			width: auto;
		}

		.big_clientTool {
			background: transparent;
			margin-top: 0;
			display: flex;
			margin-bottom: 0;
			padding-right: 1rem;
		}

		.print.tool_item {
			display: none;
		}

		.tool_item img {}

		.clientTool>.tool_item {}

		.tool_item::after {
			width: 0;
			height: 0;
		}

		.clientTool .AStyleArea {
			display: none;
		}

		.tool_item .moblang {
			display: block;
		}

		.tool_item .langTool {
			display: none;
		}

		.searchTool {}

		.searchTool input {}

		.search_btn {
			display: inline-block;
			background-image: url("../images/icon/icon_search.svg");
			background-repeat: no-repeat;
			background-position: center;
			background-size: contain;
			width: 1.25rem;
			height: 1.25rem;
			font-size: 0;
			vertical-align: middle;
		}

		.headerTool .search_btn img {
			margin-left: 0;
		}

		.searchTool form {
			display: block;
		}
	}

	@media(max-width: 992px) {
		.headerTool .header_inner {
			flex-wrap: wrap;
		}

		.headerTool .myLogo {
			height: auto;
			width: 40%;
		}

		.big_clientTool {
			padding-bottom: .5rem;
			width: 100%;
			justify-content: flex-end;
		}
	}

	@media(max-width: 767px) {
		.headerTool .myLogo {
			padding-top: 1rem;
			padding-bottom: 1rem;
			padding-right: 1rem;
			width: 100%;
		}

		.header_right {
			width: 100%;
			justify-content: flex-end;
			padding-bottom: .5rem;
			margin-top: 0;
		}
	}


	@media all and (max-width: 992px) {




		.top_btn .textTop {
			font-size: 0;
		}

		.footer_area .info {
			padding-top: 0;
			padding-left: 0;
			/* margin-top: 1.25rem;
			  */
		}

		.footer_area .footer_row {
			grid-auto-flow: unset;
			justify-content: center;
			row-gap: .5rem;
		}

		.footer_area .footer_icon {
			text-align: center;
		}

		.footer_area .footer_right * {
			text-align: center;
		}

		.footer_area .footer_right .updateDate {
			text-align: center;
		}

		.footer_left {
			display: flex;

			flex-wrap: wrap;
			row-gap: .5rem;
		}

		.footer_left .info {
			width: 100%;
		}

		.footer_area .fTool {
			justify-content: center;
		}

		.footer_right {
			margin-top: .625rem;
		}

		.footer_area1 {
			padding-top: 0;
		}

		.footer_area1>.container:not(.bottom_nav) {
			display: none;
		}
	}

	@media all and (min-width: 1331px) {
		.header_area .nav_item_lv0.active_section .nav_link_lv0 {
			color: var(--menu0_active_text_color);
		}

		.header_area .nav_item_lv0.open .nav_link_lv0 {
			color: var(--menu0_active_text_color);
		}
	}




	@media(max-width: 767px) {

		.equal_height_column1,
		.equal_height_column2,
		.equal_height_column3,
		.equal_height_column4,
		.equal_height_column5,
		.equal_height_column6,
		.equal_height_column7,
		.equal_height_column8,
		.equal_height_column9,
		.equal_height_column10,
		.equal_height_column11,
		.equal_height_column12,
		.equal_height_column13,
		.equal_height_column14,
		.equal_height_column15,
		.equal_height_column16,
		.equal_height_column17,
		.equal_height_column18,
		.equal_height_column19,
		.equal_height_column20 {
			height: auto;
		}
	}

	@media all and (max-width: 767px) {


		.footer_area1.in_view .top_btn {
			right: 1rem;
			bottom: .5rem;
		}

	}


	@media only screen and (max-width:992px) {
		.table_wrapper1.responsive_card_table:before {
			width: 0;
			height: 0;
		}

		.responsive_card_table {
			margin-top: 1rem;
			border-radius: 0;
			border: 0;
		}

		.responsive_card_table table {
			box-shadow: none;
			border-radius: 0;
			border: 0;
		}

		.responsive_card_table t {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
			row-gap: 1rem;
			column-gap: 1rem;
		}

		.responsive_card_table .mobiletd {
			display: block;
			font-weight: 600;
			color: #000;
			margin-bottom: 5px;
		}

		.responsive_card_table tbody>tr:nth-child(odd):not(.th_row) {
			background: #eaf4f4;
		}

		.responsive_card_table tbody>tr:nth-child(even):not(.th_row) {
			background: var(--light_blue_200);
		}

		.responsive_card_table tr:not(.th_row) {
			display: block;

			padding-top: 1.3636rem;
			padding-bottom: 1.3636rem;
			/*margin-bottom: 1rem;*/
		}

		.responsive_card_table .th_row {
			display: block;
			width: 100%;

		}

		.responsive_card_table .th_row th {
			width: 100%;
			display: block;
		}

		.responsive_card_table td>div {
			text-align: left;
			display: block;
		}

		.responsive_card_table td>* {
			text-align: left;
		}

		.responsive_card_table td {
			display: block;
			width: 100%;
			padding-top: 0;
			border-bottom: 0;
			text-align: left;
			background: transparent;
			padding-bottom: 1rem;
			border: 0;
		}

		.responsive_card_table tr>td:last-child {
			padding-bottom: 0;
		}

		.responsive_card_table thead {
			display: none;
		}
	}

	@media(min-width:993px) {
		.responsive_card_table .mobiletd {
			display: none;
		}
	}

	@media(min-width:1331px) {

		.social_media_btn__btn:hover,
		.social_media_btn__btn:focus {
			background: var(--blue_100);

		}
	}
}

@layer media_query {


	/* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR section banner 
***
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
	@media(max-width:992px) {
		.section_header_banner {
			grid-template-areas: unset;
			--banner_height: auto;
		}

		.section_header_banner h1 {
			padding-top: min(2rem, 8vw);
			padding-bottom: 3rem;
		}

		.section_header_banner .bg {
			grid-area: unset;
		}

		.section_header_banner>.container {
			grid-area: unset;
		}

		.section_header_banner .bg {
			width: 100%;
		}
	}

	@media(max-width:767px) {
		.section_header_banner>.container {

			display: flex;
			flex-wrap: wrap;
		}

		.section_header_banner>.container>div:first-child {
			width: 100%;
			padding-left: 0;
			padding-right: 0;
			padding-top: 2rem;
		}

		.section_header_banner .bg {}

		.section_header_banner img {
			max-width: 100%;
			height: auto;
			object-fit: unset;
		}
	}
}

@layer media_query {
	@media (max-width: 1700px) {
		.card_grid1 {
			width: 90%;
			column-gap: 2rem;
			grid-template-columns: repeat(auto-fill, minmax(min(350px, 100%), 1fr));
		}

		.card_grid1 .card2 {
			margin-left: auto;
			margin-right: auto;
		}

		.card_grid2 {
			grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
		}

		.card_grid3 {

			container-type: inline-size;
			container-name: card_grid3_container;
			grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
		}

		/*@container card_grid3_container (width > calc(250px * 1 + 1.5rem)) and (width < calc(250px * 2 + 1.5rem)) {
			.card_grid3>*:nth-child(n+2) {
				margin-top: var(--card_row_gap);
			}
		}*/

		/*250px = auto-fit min width value, 1.5rem is column gap, x2 means two cards at the same row, so container width< 2 cards at the same row means 1 card 1 row */
		/* --- STATE: 2 COLUMNS --- 
		Width is enough for 2 cards + 1 gap, but not quite 3 cards.
		*/
		/*@container card_grid3_container (width > calc(250px * 2 + 1.5rem)) and (width < calc(250px * 3 + calc(1.5rem * 2))) {
			.card_grid3>*:nth-child(n+3) {
				margin-top: var(--card_row_gap);
			}
		}*/

		/* --- STATE: 3 COLUMNS --- 
		Width is enough for 3 cards + 2 gaps, but not quite 4 cards.
		*/
		/*@container card_grid3_container (width > calc(250px * 3 + calc(1.5rem * 2))) and (width < calc(250px * 4 + calc(1.5rem * 3))) {
			.card_grid3>*:nth-child(n+4) {
				margin-top: var(--card_row_gap);
			}
		}*/

		/* --- STATE: 4 COLUMNS --- 
		Width is enough for 4 cards + 3 gaps, but not quite 5 cards.
		*/
		/*@container card_grid3_container (width > calc(250px * 4 + calc(1.5rem * 3))) and (width < calc(250px * 5 + calc(1.5rem * 4))) {
			.card_grid3>*:nth-child(4) {
				margin-top: 0;
			}

			.card_grid3>*:nth-child(n+5) {
				margin-top: var(--card_row_gap);
			}
		}*/
	}

	@media (max-width: 600px) {
		.card_grid1 .card2 {
			padding-right: 10vw;
		}
	}
}

@layer media_query {
	@media(max-width: 400px) {
		.card2 .card_inner {
			width: 14rem;
		}
	}

}


@layer media_query {
	@media(max-width: 992px) {
		.grid_layout1 {
			grid-template-columns: 100%;
		}

		.grid_layout1:has(>*:nth-child(3)) {
			grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
			grid-template-rows: unset
		}

		.grid_layout1:has(>*:nth-child(3)) .grid_inner {
			grid-column: 1 / -1;
			grid-row: unset;
		}

		.grid_layout1 .card3 {
			height: 100%;
		}
	}
}

@layer media_query {
	@media(max-width: 992px) {
		.swiper_nav1 {
			grid-template-columns: 100%;
		}

		.swiper_nav1 .swiper-pagination {
			grid-column: unset;
			justify-content: center;
		}

		.swiper_nav1 .swiper_nav_btns {

			justify-content: center;
		}
	}
}

@layer media_query {
	@media(max-width: 600px) {
		.info_list {
			grid-template-columns: 100%;
		}
		.info_list>li{
			grid-column: unset;
		}
	}
}


/* ========================= ========================= ========================= ========================= ========================= =========================
***
* please make sure all media_query css inside @layer media_query 
***
* please make sure all media_query css inside @layer media_query 
* please make sure all media_query css inside @layer media_query 
* Use CSS @layer
* Use CSS @layer
* Use CSS @layer
***
 ========================= ========================= ========================= ========================= ========================= =========================*/