/* Kai's */

@import url('https://fonts.googleapis.com/css2?family=Cairo&family=Noto+Sans+Thai:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

:root{
	--light_blue: #5389DC;
	--font_blue: #1D4EB8;
	--fill_blue: #15479C;
	--trans_blue-light: #3575ff9e;
	--trans_blue-dark: #405d9bd4;
	--transit: 0.3s ease;
	--light_pink: #ffa1d4;
}
html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	scrollbar-gutter: stable;
}
html[lang="jp"] > body,
html[lang="en"] > body{
 	font-family:'Cairo' !important;
	font-weight: 100;
}
html[lang="th"] > body{
	font-family: "Noto Sans Thai" !important;
	font-weight: 200;
}
a{
	text-decoration: none;
}
figure{
	margin: 0 !important;
}
h1, h2, h3{
	font-weight: 900;
	color: var(--font_blue);
}
.p-1px{
	padding: 1px !important;
}
*,
*::before,
*::after,
.bodr_bx{
	box-sizing: border-box;
}


:where(button, a, div, img):hover{
	-webkit-transition: 0.3s ease;
	-moz-transition: 0.3s ease;
	-ms-transition: 0.3s ease;
	transition: 0.3s ease;
}
option{
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
}

/*  Common  */
.font_blue{
	color: var(--font_blue);
}
.font_wh{
	color: #fff;
}
.font_w100{
	font-weight: 100;
}
h1.font_wh{
	text-shadow: 2px 2px 1.2rem rgba(0, 0, 0, 0.8);
}
p.font_wh{
	text-shadow: 1px 1px 7px #000;
}
.h2_wh_shadow{
	color: #fff;
	text-shadow: 2px 2px 10px #000;
}
.md_h15{
	height: auto;
}
.bg_l_bk{
	background-color: rgba(0, 0, 0, 0.15);
}
.material-symbols-outlined,
:where(.contact_ul > li)::before {
	font-family: 'Material Symbols Outlined'; 
	font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	vertical-align: middle;
}
.kai_contain{
	width: 100%;
	max-width: 1140px;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto;
}
.pstn_rel_dis_blck{
	position: relative;
	display: block;
}
.flx_cen{
	display: flex;
	align-items: center;
}
.中心{
	display: flex;
	align-items: center;
	justify-content: center;
}
.flx_col_cen{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.spc_btw{
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	webkit-box-pack: justify;
	webkit-justify-content: space-between; -
	ms-flex-pack: justify;
	justify-content: space-between;
}
.spc_ard{
	justify-content: space-around;
}
.flx_end{
	display: flex;
	justify-content: flex-end;-
}
.txt_right{
	text-align: right;
}
.head_left{
	display: inline-block;
	position: absolute;
	top: 0;
	left: calc(1.5rem + 1vw);
	z-index: 900;
}
.inb_100{
	display: inline-block;
	width: 100%;
	padding: 0em;
}
table{
	border: none;
}
th.font_blue {
	display: inline-flex;
	align-items: center;
}
.brdr_btm_blue{
	border-bottom: 1px solid var(--font_blue);
}
.material-symbols-outlined {
	margin-right: 8px;
	flex-shrink: 0;
}
th.font_blue span:not(.material-symbols-outlined) {
	white-space: normal;
}
.read_more-lg,
.read_more {
	display: block;
	position: relative;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out;
}
.read_more {
	max-height: 10rem;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0));
	-webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0));
}
.read_more-lg {
	max-height: 100rem;
}
.read_more-lg + .read_more_label {
	display: none;
}
.read_more_check {
	display: none;
}
.read_more_check:checked ~ .read_more{
	max-height: 100rem;	
	mask-image: none;
	-webkit-mask-image: none;
}
.read_more_label {
	display: inline-block;
	color: blue;
	cursor: pointer;
	margin-top: 5px;
}
.read_more_label::after {
	content: "Read More";
}
.read_more_check:checked ~ .read_more_label::after {
	content: "Read Less";
}
.fill_tile{
	overflow: hidden;
}
.fill_tile > div{
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	text-shadow: 2px 2px 20px #3d1930;
	background: #1c315033;
	transition: 0.25s ease-in;
	text-align: center;
}
.fill_tile:hover > div{
	background: var(--trans_blue-light);
	transition: var(--transit);
}
.fill_tile:hover > img{
	transform: scale(1.3);
	transition: var(--transit);
}
.cta_btn{
	display: inline-block;
	padding: 7px 14px;
	font-size: 2vw;
	font-weight: 900;
    text-decoration: none;
    border-radius: 10%/30%;
	box-shadow: 0 0 0 0 #fff;
}
.cta_btn:hover{
	text-decoration: none;
	animation: pulse 1s ease-out;
	animation-iteration-count: 1;
}
button[type="submit"],
.read_btn{
	display: inline-block;
	padding: 6px 12px;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 20% / 50%;
	box-shadow: 2px 3px 15px var(--trans_blue-dark);
	background-repeat: no-repeat;
	background-position: bottom -5rem left -5rem;
}
.read_btn{
	background-image: url("../img/common/pop_up.svg");
}
button[type="submit"]{
	width: fit-content;
	background-color: var(--font_blue);
	border: none;
	background-image: url("../img/img-contact/icon-submit.svg");
	background-size: 5%;
}
button[type="submit"]:hover{
	background-size: auto 80%;
}
button[type="submit"]:hover,
.read_btn:hover{
	color: #ffffff00;
	background-position: center;
}
:where(#home-about) .read_btn{
	margin-top: 1.5rem;
}
:where(#home-about) .read_btn:hover{
	background-color: var(--font_blue);
}
nav > ul,
.contact_ul{
	list-style-type: none;
	padding-left: 0;
}
.contact_ul > li {
	position: relative;
	padding-left: 25px;
}
:where( .contact_ul > li )::before{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2rem;
}
:where( footer .contact_ul > li:first-child)::before {
	content: "\e158";
}
.contact_ul > li:nth-child(2)::before {
	content: "\e0cd";
}
:where( footer .contact_ul > li:nth-child(3), #contact-location .contact_ul > li:first-child)::before {
	top: 0.9rem;
	content: "\e55f";
}
:where( #contact-location .contact_ul > li:nth-child(3))::before {
	top: 0.9rem;
	content: "\e923";
}

/*  Header  */
header{
	left: 0;
	margin: 0;
	background-color: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}
header{
	position: fixed;
	top: 0;
	width: 100%;
	height: 55px;
	padding: 0 1rem;
	z-index: 1000;
	color: #fff !important;
	transition: transform 0.3s ease-in-out;
}
.hidden{
	transform: translateY(-100%);
	transition: transform 0.3s ease-out;
}
#header-logo{
	display: inline-block;
	width: 20%;
}
#header-logo > img{
	max-width: 100%;
	height: 55px;
	filter: drop-shadow(1px 1px 7px #000) brightness(2) grayscale(100%);
}
#footer-logo_box > a.nav-link:hover > img,
#header-logo:hover > img{
	filter: drop-shadow(1px 1px 7px #000) brightness(1) grayscale(0);
	transition: var(--transit);
}
#lang-sel{
	padding: 0.2rem 0.5rem;
	text-shadow: 5px 5px 7px #000;
	background: #00000030 url("../img/common/icon-web.svg") no-repeat center center/contain;
	border: 1px solid #fff;
	border-radius: 20%/50%;
}
#lang-en, #lang-th, #lang-jp {
	padding-left: 25px;	/* Add space for the flag */
	background-repeat: no-repeat;
	background-size: 100% 100%;
}


/*   
#lang-en {
	background-image: url('C:\Users\kaika\Documents\BAE\Website\img\common\flag-en.svg');
}
#lang-th {
	background-image: url('C:\Users\kaika\Documents\BAE\Website\img\common\flag-th.svg');
}
#lang-jp {
	background-image: url('C:\Users\kaika\Documents\BAE\Website\img\common\flag-jp.svg');
}

---	 Need to change  ---*/

a.nav-link::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 30%;
	height: 3px;
	background-color: var(--light_blue);
	pointer-events: none;
	opacity: 0;
}
a.nav-link:hover,
a.nav-link.active::after{
	background-color: none;
	color: var(--light_blue);
}
.nav-item > a:hover::after,
a.nav-link.active::after{
	width: 100%;
	opacity: 1;
	transition: var(--transit);
}
a.nav-link{
	display: block;
	position: relative;
	color: #fff;
	text-shadow: 1px 1px 7px #000;
}
.navbar{
	padding: 0 2rem;
	position: relative; /* 250114 */
	overflow: visible; /* 250114 */
	z-index: 999; /* 250114 */
}
.navbar-nav{
	list-style-type: none;
	margin: 0 0 0 auto;
	display: flex;
	overflow: visible; /* 250114 */
}
.navbar-nav .nav-item{
	position: relative;
	margin-right: 20px; /* Add space between nav items */
}
.nav-item > .nav-link {
	margin-right: 10px;
}

/* Navi Dropdown Menu Styles */
.dropdown-menu{
	display: none;
	position: absolute;
	top: 100%;
	list-style-type: none;
	background-color: rgba(0, 0, 0, 0.7);
	min-width: 180px;
	z-index: 1050;
}
#li-products:hover .dropdown-menu,
.dropdown-menu.show {
	display: block;
}
.dropdown-menu a{
	padding: 10px 15px;
	color: #fff;
	text-decoration: none;
}
.dropdown-menu a:hover{
	color: #fff;
	background-color: var(--light_blue);
}
#rotateButton svg {
  display: block; /* svgがインライン表示されないようにする */
}
.rotate-btn{
	background: none;
	border: none;
	cursor: pointer;
	transition: transform 0.4s ease;
	transform-origin: center;
	height: 40px;
}
#li-products:hover .rotate-btn,
.rotate-btn:hover,
.rotate-btn.rotate-180{
	transform: rotate(180deg);
}
:where(.rotate-btn:hover, .rotate-btn.rotate-180) svg path {
	stroke: var(--light_blue);
}
.rotate-btn svg path{
	stroke: #ffffff;
	fill: none;
}
.navbar-nav .nav-item.dropdown{
	cursor: pointer;
}

/*   Footer   */
footer{
	position: relative;
	width: 100%;
	color: #fff;
	background-color: var(--fill_blue);
}
footer::after{
	position: absolute;
	bottom: 0.3rem;
	left: 1rem;
	font-size: 0.8rem;
	line-height: 0.8rem;
	content: "\00A9 2025 Brother Auto parts & Engineering Co., Ltd. All Rights Reserved.";
}
footer > .row > .col-md-2{
	display: flex;
	justify-content: center;
}
footer a{
	color: #fff;
}
footer a:hover{
	color: var(--light_pink);;
}
footer h5{
	font-weight: 900;
}
footer ul:where(:not([class])) {
	display: inline-block;
}
#footer-logo_box img{
	filter: /* drop-shadow(1px 1px 7px #000) */ brightness(10) grayscale(100%);
}
#footer-logo_iso{
	width: 90%;
	margin: 1rem auto;
}
#footer-logo_iso > img{
	width: 23%;
}
#footer-logo_iso > span{
	font-size: 0.8rem;
	line-height: 1rem;
}

/*   Index Page   */
#hero {
	position: relative;
	height: calc(90vh + 55px); 
	max-height: 900px;
	min-height: 300px;
	background: #cfe1fe no-repeat center center/ cover;
	z-index: 0;
}
#hero.secondary {
	height: 50vh;
	min-height: 300px;
}
#hero > .video-container{
	background: #000 url( ../img/img-index/hero_img.avif ) no-repeat center center/ cover;
}
.video-container {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.video-container > video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#hero_text{
    position: absolute;
	display: flex;
	flex-wrap: wrap;
	width: auto;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
	
    text-align: left;
	white-space: nowrap;
    z-index: 100;
}
#hero_text > span:first-child{
	display: inline-block;
	width: calc(2rem + 1.5vw);
	margin-right: 1vw;
	background-color: var(--trans_blue-light);
}
#hero_text [lang-id="hero_tag"]{
	font-size: 2vw;
	margin-bottom: 10px 0 20px;
}
#hero .cta_btn{
	background-color: var(--trans_blue-light);
}
#hero .cta_btn:hover{
	background-color: #ff8fffd4;
	color: #fff;
}	
#home-about{
	background: #fff url("../img/img-index/1-1_0.jpg") no-repeat right / contain;
}
#home-about > row{
	min-height: 300px;
}
#home-about_iso{
	width: 100%;
	border-top: var(--light_blue) dashed 1.5px;
}
#home-about_iso img{
	display: inline-block;
	width: auto;
	height: 3rem;
	margin: 10px 10px 0 0;
	vertical-align: middle;
}
#home-about_iso ul{
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style-type: none;
	vertical-align: middle;
}
#home-about_img{
	background: none;
}
#home-about_img > img{
	width: 75%;	
}
#home-products > h2[lang-id="word_pro_serv"] > br{
	display: none;
}
#home-parts_map{
	position: relative;
}

/*
#home-parts_map > .col-lg-4.head_left::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: calc(-2rem - 2vw);
	background-color: var(--trans_blue-light);
	z-index: 0;
}
*/

/*  carousel  */
#home-pro_gal,
#home-client,
#home-client > .kai_contain{
	position: relative;
	overflow: hidden;
}
#home-client{
	background-position:
		top 0 left 0,
		top 0 left 0,
		top 0 left 20%,
		top 0 left 40%,
		top 0 left 60%,
		top 0 left 80%,
		top 0 left 100%;
	background-repeat: no-repeat;
	background-image:
		linear-gradient(rgb(255 255 255 / 78%), rgb(255 255 255 / 50%)), 
		url(../img/img-index/client/client-bg1.avif),
		url(../img/img-index/client/client-bg2.avif),
		url(../img/img-index/client/client-bg5.avif),
		url(../img/img-index/client/client-bg3.avif),
		url(../img/img-index/client/client-bg4.avif),
		url(../img/img-index/client/client-bg6.avif);
	background-size:
		 cover,
		 20%,
		 20%,
		 20%,
		 20%,
		 20%,
		 20%;
}
.carousel {
	position: relative;
	width: 100%;
	margin: 50px auto;
}
.carousel-images {
	display: flex;
	transition: transform 0.5s ease-in-out;
	width: 100%;
}
.crsl-item {
	position: relative;
	width: 25%; /* 100% / 4 items = 25% width */
	padding: 0 1rem;
	box-sizing: border-box;
	flex-shrink: 0;
}
.carousel-images img {
	width: 100%;
	height: auto;
	padding: 0.5rem;
	box-shadow: 3px 4px 12px var(--trans_blue-dark);
}
.home-awd_com .caption,
.carousel-images .caption {
	left: 50%;
	width: 50%;
	height: 2rem;
	padding: 5px;
	overflow: hidden;
	transform: translateX(-50%);
	background: var(--trans_blue-dark);
	color: #fff;
	text-align: center;
	text-shadow: 0 0 0.7rem #000;
	transition: width 0.3s, height 1s, background 0.7s ease;
}
.carousel-images .caption {
	position: absolute;
	bottom: 0;
	border-radius: 8px 8px 0 0;
}
.home-awd_com .caption{
	position: absolute;
	top: 100%;
	border-radius: 0 0 8px 8px;
}
.home-awd_com:hover  .caption,
.crsl-item:hover .caption {
	width: 100%;
	height: auto;
	background: var(--trans_blue-light);
	transition: var(--transit);
}
.crsl-prev,
.crsl-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: var(--trans_blue-dark);
	color: white;
	border: none;
	font-size: 2rem;
	padding: 10px;
	cursor: pointer;
	border-radius: 10%;
	z-index: 100;
}
.crsl-prev {
	left: 10px;
}
.crsl-next {
	right: 10px;
}
.crsl-prev:hover,
.crsl-next:hover {
	background: var(--trans_blue-light);
	transition: var(--transit);
}

/*  Bootstrap parameter	 */
.carousel-inner .carousel-item-end.active,
.carousel-inner .carousel-item-next {
	transform: translateX(25%);
}
.carousel-inner .carousel-item-start.active, 
.carousel-inner .carousel-item-prev {
	transform: translateX(-25%);
}
.carousel-inner .carousel-item-end,
.carousel-inner .carousel-item-start { 
	transform: translateX(0);
}

.modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	justify-content: center;
	align-items: center;
}
.modal img {
	max-width: 80%;
	max-height: 80%;
}
#closeModal {
	position: absolute;
	top: 20px;
	right: 10%;
	font-size: 4rem;
	color: #fff;
	cursor: pointer;
}

/*   Home Award   */
#about-award,

#home-award{
	height: 60vh;
}
.home-awd_com{
	width: 31%;
	position: relative;
}
#home-award > .container{
	position: relative;
    height: 100%;
}
#home-award > .container > .read_btn{
	position: absolute;
	left: 2rem;
	bottom: 0;
}
div[id^="wrap_Awd-"] tr,
#crsl-client > .crsl-item > a > img,
#home-award > .container > .read_btn,
.home-awd_com{
	color: #fff;
	border: 1px solid transparent;
	border-radius: 0% / 0%;
    border-image: linear-gradient(to top right, #fff, #ffffff00) 1;
	backdrop-filter: blur(4px);
	box-shadow: 3px 4px 20px var(--trans_blue-dark);
}
:is(#home-award) .read_btn:hover{
	border-radius: 0% / 0%;
	color: transparent;
	background-color: var(--trans_blue-light);
}
.home-awd_com img{
	margin: auto 0;
	filter: drop-shadow(1px 1px 7px #fff);
}

/*   Home CTA   */
#home-cta{
	background:linear-gradient(rgb(255 255 255 / 78%), rgb(255 255 255 / 50%)), url(../img/img-index/hero_img.avif) no-repeat center center / cover;
}
.bl_row{
	background-color: var(--fill_blue);
	box-shadow: 3px 4px 20px #000000b3;
}
#home_cta-img{
	background: #fff url("../img/img-index/5-1_0.jpg") no-repeat center center/cover;
}

/*   About Us   */
body[data-page="about"] #hero{
	background-image: url( "../img/img-csr/tree_in_factory.avif" );
}
body[data-page="about"] #hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(-45deg, #5389DC, rgb(234 185 200));
	opacity: .4;
	pointer-events: none;
	z-index: 1;
	mix-blend-mode: hard-light;
}
#about-history{
	background: linear-gradient(rgb(255 255 255 / 100%), rgb(255 255 255 / 50%)), 
 url("../img/img-about/331494_0.avif") no-repeat right bottom / 50%;
}
/* #about-history > .row.p-lg-4 > .col-md-4{
    background: #ffffff00 url("../img/img-about/6_0.jpg") no-repeat center / contain;
} */
#about-history object{
    filter: drop-shadow(5px 5px 12px rgba(77, 47, 30, 0.8));
	position: relative;
	z-index: 2;
}
#about-history > div.row.p-lg-4 > div.pstn_rel_dis_blck{
	z-index: 0;
}
#about-history > div.row.p-lg-4 > div.pstn_rel_dis_blck > span{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 15rem;
	background: linear-gradient(rgb(255 255 255 / 100%), rgb(255 255 255 / 0%));
	z-index: 1;
}
#about-ComProf1 > table,
#about-ComProf2 > table{
	border: 0;
}
#about-ComProf1 .material-symbols-outlined,
#about-ComProf2 .material-symbols-outlined{
	float: left;
}
#about-cert{
	background: radial-gradient(ellipse farthest-corner at 5% 5%, #fefffc, #dfdfd3, #77969b);
}
#about-cert .spc_btw > img{
	height: 4rem;
	filter: drop-shadow(1px 1px 7px #fff);
}
#about-cert img[src="img/common/logo-URS.svg"]{
	height: 4.5rem;
	filter: drop-shadow(1px 1px 7px #fff);
}
#about-org_ch{
	position: relative;
}
#org_ch_container::after {
	position: absolute;
	top: 2rem;
	left: 2rem;
	white-space: pre; /* or pre-wrap */
	font-size: 2.5rem;
	font-weight: 900;
	color: var(--font_blue);
}
html[lang="en"] #org_ch_container::after {
	content: "Organizational\A Chart";
}
html[lang="th"] #org_ch_container::after {
	content: "แผนผังองค์กร";
}
html[lang="jp"] #org_ch_container::after {
	content: "組織図";
}
#org_ch_container > svg{
	filter: drop-shadow(3px 3px 7px rgba(21, 71,156, 0.6));
}
#about-award::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.07);
	z-index: 1;
}
/* #about-award > .container{
	position: relative;
	z-index: 2;
} */
#wrap_Awd-Mmth,
#wrap_Awd-Bri,
#wrap_Awd-Hone{
	display: inline-block;
	position: relative;
	padding-top: 2.5rem;
	margin-bottom: 1rem;
	float: none;
	text-shadow: 0px 0px 5px #000;
}
#wrap_Awd-Mmth::before,
#wrap_Awd-Bri::before,
#wrap_Awd-Hone::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-size: contain;
	width: 100%;
    height: 2rem;
	filter: drop-shadow(2px 2px 12px #fff);
}
#wrap_Awd-Mmth::before {
	background: url('../img/img-index/img-crsl-client_gal/logo-MMTh.svg') no-repeat top left;
}
#wrap_Awd-Bri::before {
	background: url('../img/img-index/img-crsl-client_gal/logo-Bridgestone.svg') no-repeat top left;
}
#wrap_Awd-Hone::before {
	background: url('../img/img-index/img-crsl-client_gal/logo-H_one.svg') no-repeat top left;
}
[id^="wrap_Awd-"] tr{
	border: 2px solid !important;
}
#about-csr{
	background:linear-gradient(rgb(255 255 255 / 78%), rgb(255 255 255 / 50%)), url(../img/img-csr/green_lawn.avif) no-repeat center center / cover;
}
:where(#about-csr > h2[lang-id="sus_csr"]) > br {
	display: none;
}
:where( #about-csr_row > div:first-child) {
	background: url(../img/img-csr/tree_plant.avif) no-repeat bottom / cover;
}
:where(#about-csr_row > div:nth-child(2)) {
	background: url(../img/img-csr/solar.avif) no-repeat bottom / cover;
}
:is(#about-csr) .read_btn{
	background-color: #fff;
}
:is(#about-csr)  .read_btn:hover{
	background-color: var(--light_pink);
}

/*   Products & Services   */
body[data-page="products"] #hero{
	background-image: url( ../img/img-index/hero_img.avif );
}
:where( #tooling-sec1, #prod-sec1 ) > div.flx_cen{
	width: fit-content;
}
div.flx_cen > h2{
	padding-right: 1rem;
	border-right: 2px solid var(--fill_blue);
}
div.flx_cen > :where( h5, div:nth-child(2) ){
	padding-left: 1rem;
}
#prod-sec1_card :where(.col-6.col-md-3 h5.font_blue){
	font-size: 1.5rem;
	font-weight: 900;
	text-align: center;
}
#prod-sec1_card :where(.col-6.col-md-3 > div:nth-child(2) > ul){
	width: max-content;
}
#prod-sec1_card :where(.col-6.col-md-3 > div:nth-child(2) > .read_btn){
	display: block;
	width: max-content;
	margin: 0 auto;
}
#prod-sec1_card :where(.col-6.col-md-3 > div:nth-child(2) > .read_btn):hover{
	background-color: var(--font_blue);
}
#prod-sec_dynamic > .row{
	max-width: 1200px;
}
#prod-sec_dynamic object[data="img/img-prod/img_dynamic.svg"]{
	width: 90%;	
	filter: drop-shadow(7px 5px 17px rgba(0, 0, 0, 0.6));
}
#prod-sec_dynamic::before{
	content: "";
	position: absolute;
	top: 10%;
	bottom: 20%;
    left: 0;
	right: 0;
	background-image: radial-gradient(at 0% 100%, #e5ecf6, #c5cadd, #626574);
	z-index: -1;
}
#prod-sec_dynamic > div:first-child{
	position: absolute;
	top: 40%;
    left: calc(2rem + 1.5vw);
    transform: translate(0, -40%);
	display: flex;
	flex-wrap: wrap;
	z-index: 100;
}
#prod-sec_dynamic > .col-sm-6 > h3[lang-id="dynamic_tag"]{
	line-height: 2.5rem;
	text-shadow: 1px 1px 8px #000;
}
#prod-sec_dynamic > .col-sm-6 > .row > object:where(:first-child, :nth-child(2)) {
	width: 22%;
}
#prod-sec_dynamic > .col-sm-6 > .row > object:last-child{
	width: 56%;
}
#prod-sec_dynamic > .col-sm-6 > .row > object{
	filter: drop-shadow(5px 6px 7px rgba(0, 0, 0, 0.8));
}
#prod-pro_gal{
	position: relative;
}
#prod-pro_gal > h2.head_left{
	top: -40% !important;
}
#prod-cta{
	background:linear-gradient(rgb(255 255 255 / 50%), rgb(255 255 255 / 10%)), url(../img/img-prod/drawing.png) no-repeat center / cover;
}
:where( #prod-cta_row > div:nth-child(2)) {
	background: url(../img/img-prod/check_jig_w_client.avif) no-repeat bottom / cover;
}
:is(#prod-cta, #home-cta, #csr-cta, #contact-phone) .cta_btn{
	background-color: #fff;
	color: var(--font_blue);
}
:is(#prod-cta, #home-cta, #csr-cta, #contact-phone) .cta_btn:hover{
	color: #fff;
	text-shadow: 1px 1px 8px #000;
	background-color: var(--light_pink);
}

/*   Sustainability & CSR   */
body[data-page="csr"] #hero{
	background-image: url(../img/img-csr/tree_in_factory.avif);
}
#csr-sec1 > div.row.p-lg-4 > .col-md-4{
	min-height: 17rem;
	background: #ffffff00 url(../img/img-csr/seedling.avif) no-repeat center / cover;
	background-clip: content-box;
}
:where(#csr-tree_plant > div.flex-grow-1){
	background: linear-gradient(rgb(26 129 211 / 37%), rgb(249 9 82 / 0%)), url(../img/img-csr/tree_plant_sec_bg.jpg) no-repeat bottom / cover;
}
:where(#csr-tree_plant > div:nth-child(2)){
	background: url(../img/img-csr/tree_plant_sec_thumbnail.jpg) no-repeat bottom / cover;
}
:where(#csr-tree_plant > div.flex-grow-1 > div.mx-auto){
	background-color: rgba(47,176,103, .5);
}
#csr-solar > div:first-child{
	background: radial-gradient(ellipse farthest-corner at 5% 5%, #fefffc, #ffffff66, #ffffff00),
 url("../img/img-csr/solar.avif") no-repeat center center/cover;
}
#csr-solar > div:nth-child(2) {
	max-width: calc(1140px / 2);
	margin-right: auto;
	margin-left: 0;
}
#csr_solor_spec sub{
	bottom: 0;
}
#csr_solor_spec > .col{
	padding: 0.5rem;
	margin: 0.5rem;
	box-shadow: 0 4px 10px var(--trans_blue-dark);
	border-radius: 8px;
	background-color: #fff;
}
#csr_solor_spec > .col > h3.material-symbols-outlined{
	font-size: 2.5rem;
}
#contact-phone,
#csr-cta{
	background-image: radial-gradient(ellipse farthest-corner at 5% 5%, #F6EBE6, #9ebceb);
}
:where( #csr-cta_row > div:nth-child(2)) {
	background: url(../img/img-csr/csr-cta.avif) no-repeat center / cover;
}
#csr-iso{
	background:linear-gradient(rgb(255 255 255 / 78%), rgb(255 255 255 / 50%)), url(../img/img-csr/green_lawn.avif) no-repeat center center / cover;
}
#csr-iso a.中心{
	position: relative; 
	flex: 1;
}
#csr-iso a.中心 > img{
    height: 100%;
    width: auto;
    max-width: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: contain;
	box-shadow: 3px 4px 12px var(--trans_blue-dark);
}
#csr-iso .spc_btw{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	clip-path: polygon(0 0, 100% 0, 100% 75%, 85% 100%, 0 100%);
	background-color: var(--trans_blue-light);
	color: #fff;
	text-shadow: 2px 2px 4px #000;
	
}
#csr-iso img[src="img/common/logo-ISO.svg"] {
	height: 2.5rem;
	filter: drop-shadow(1px 1px 7px #000) brightness(10) grayscale(100%);
	margin-right: 5px;
}

/*   Contact   */
body[data-page="contact"] #hero{
	background-image: url( "../img/img-contact/contactUs.png" );
	background-size: 50% auto;
	background-repeat: no-repeat;
}
#contactForm{
	border-bottom: var(--font_blue) solid 1.5px;
}
#contactForm > div.d-flex.flex-column.col-md-6.p-4 > input{
	margin-bottom: 0.5rem;
}
#contact-location hr{
	background-color: var(--fill_blue);
}
#contact-location div.col-md-7{
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}
#contact-location iframe{
	position: absolute;
	top: 1.5rem;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
h5[lang-id="chchs"]{
	position: relative;
}
h5[lang-id="chchs"]::after{
	position: absolute;
	content: '';
	height: 3rem;
	width: 5rem;
	bottom: 0;
	background: #ffffff00 url(../img/common/icon/logo_EEC.svg) no-repeat bottom / contain;
}
#contact-phone h3{
	padding-bottom: 1rem;
}
#contact-phone  h3::after{
	content: '\A department';
	white-space: pre;
	font-size: 1.25rem;
}
:where(#contact-phone .row.mx-lg-4.bl_row) > .col-sm.py-sm-5{
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #fff;
}
:where(#contact-phone .row.mx-lg-4.bl_row) > .col-sm.py-sm-5:last-child{
	border: none;
}
:where(#contact-phone > h2) > .material-symbols-outlined{
	display: inline-block;
	padding: 0.3rem;
	margin-right: 0.8rem;
	font-size: 2.5rem;
	color: #fff;
	border-radius: 50%;
	background-color: var(--fill_blue);
	box-shadow: 3px 3px 12px #fb77ff;
}

/*   Tooling   */
body[data-page="tooling"] #hero{
	background-image: url( "../img/img-tooling/hero_img-tooling.avif" );
	background-position: bottom;
}
:where( #tooling-sec1 > div.row.p-2.px-lg-4 > div.col-md-2.p-3) > h5{
	height: 3rem;
	color: var(--font_blue);
	font-weight: 600;
}
#tooling-sec2{
	background: #ffffff00 url(../img/img-tooling/toolingBg.png) no-repeat bottom / cover;
}
#tab_tool_sec2{
	gap: 3rem 2rem;
}
:where(#tab_tool_sec2.py-3) > h2{
	text-shadow: #fff 0px 1px 6px, #fff 0px 1px 7px, #fff 0px 1px 8px, #fff 0px 1px 11px;
}
.fac_tab_cont tr{
	text-shadow: 0 0 5px #fff;
	background-color: rgb(255 255 255 / 60%);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}
.fac_tab_img{
	width: 5rem;
}
:where(.fac_tab_cont table tr){
	position: relative;
}	
:where(.fac_tab_cont table tr:first-child) > th { 
	position: absolute;
	top: -1.5em;
    left: 50%;
	right: auto;
	font-size: 1.5em;
	font-weight: bold;
	white-space: nowrap;
	text-shadow: #fff 0px 1px 6px, #fff 0px 1px 7px, #fff 0px 1px 8px,  #fff 0px 1px 11px;
}
:where(.fac_tab_cont table tr:first-child) > th.right_0 {
	left: auto;
	right: 0;
}
:where(.fac_tab_cont table tr:not(:first-child)) > th,  
:where(.fac_tab_cont table tr td) { 
	font-size: 0.9rem;
	line-height: 1rem;
}




/*   Stamping   */
body[data-page="stamping"] #hero{
	background-image: url( "../img/img-stamping/hero_img-tooling.avif" );
}

/*   Welding   */
body[data-page="welding"] #hero {
	background-image: url("../img/img-contact/contactUs.png");
	background-size: 50% auto;
	background-repeat: no-repeat;
}

/*   plating   */
body[data-page="plating"] #hero{
	background-image: url( "../img/img-plating/hero_img-tooling.avif" );
}

@keyframes pulse {
	0% {
		transform: scale(.85);
	}
	70% {
		transform: scale(1);
		box-shadow: 0 0 0 50px #ffffff00;
	}
	100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 #3575ff00;
	}
}


/* Large desktops and smaller screens (max-width: 1400px) */
@media (max-width: 1400px) {
	#hero {
		height: calc(85vh + 55px);
	}
}

/* Medium desktops (max-width: 1200px) */
@media (max-width: 1200px) {
	#hero {
		height: calc(80vh + 55px);
	}
	.nav-link {
		padding-right: 1rem;
		padding-left: 1rem;
	}
	.rotate-btn:hover + .dropdown-menu {
		display: block;
	}
	#prod-sec_dynamic > div:first-child{
		left: auto;
	}
}


/* Tablets and smaller laptops (max-width: 992px) */
@media (max-width: 992px) {
	#hero {
		height: calc(60vh + 55px);
		min-height: 250px;
	}
	.navbar{
		padding: 0.2rem 1.5rem 0.2rem 0.2rem;
	}
	#header-logo {
		display: inline-block;
		width: 40%;
		padding: 0;
		order: 1;
	}
	#lang-sel {
		margin-left: auto;
		order: 2;
	}
	.navbar-collapse {
		display: block;
		order: 4;
	}
	.collapse.navbar-collapse.show,
	#navbarNav{
		background-color: rgba(0, 0, 0, 0.7);
	}
	.collapse.navbar-collapse.show{
		z-index: 1001;
	}
	.navbar-nav {
		flex-direction: column;
		width: 100%; /* Stack items vertically */
	}
	.navbar-nav .nav-item {
		width: 100%;
		text-align: center;
	}
	#navbar-toggler {
		display: block;
		border: none;
		background: transparent;
		margin-left: 1.2rem;
		cursor: pointer;
		order: 3;
	}
	.hmbgr_bar {
		display: block;
		width: 35px;
		height: 5px;
		background-color: #fff;
		margin: 6px 0;
		transition: 0.4s;
		filter: drop-shadow(1px 1px 10px #000) brightness(2) grayscale(100%);
	}
	#navbar-toggler.change .bar1 {
		transform: translate(0, 11px) rotate(-45deg);
	}
	#navbar-toggler.change .bar2 {
		opacity: 0;
	}
	#navbar-toggler.change .bar3 {
		transform: translate(0, -11px) rotate(45deg);
	}
	.dropdown-menu {
		position: static;
		width: 100%;
		box-sizing: border-box;
	}
	.video-container > span {
		width: 80%;
	}
	.video-container > span > h1 {
		font-size: 5vw;
	}
	.video-container > span > p {
		font-size: 3vw;
	}
	#home-about_iso tr{
		vertical-align: top;
	}
	#about-award,
	#home-award{
		background-size: cover;
	}
	.home-awd_com .caption{
		width: 100%;
	}
	.head_left{
		position: relative;
		display: flex;
		width: 90%;
		margin: 0 auto;
		top: auto;
		left: auto;
	}
	[lang-id="prod_sec1_tag"] > br{
		display: none;
	}
	#prod-sec_dynamic > .col-sm-6 > h3[lang-id="dynamic_tag"]{
		line-height: 1.2;
	}
	#prod-pro_gal > h2.head_left{
		top: -60% !important;
		width: auto;
		left: auto;
	}
	.read_more-lg {
		max-height: 10rem;
		mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0));
		-webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0));
	}
	.read_more-lg + .read_more_label {
		display: block;
	}
	.read_more_check:checked ~ .read_more-lg {
		max-height: 100rem;	
		mask-image: none;
		-webkit-mask-image: none;
	}
}

/* MD: Tablets (portrait orientation) (max-width: 768px) */
@media (max-width: 768px) {
	.crsl-item {
		width: 50%;
	}
	.video-container > span {
		width: 100%;
	}
	#home-about{
		background-position: bottom ;
	}
	#home-about_img > img {
		margin: 2rem 0 7.5rem;
	}
	.md_h15{
		height: 15rem;
	}
	#home-client{
		width: 100%;
		background-position:
			top 0 left 0,
			top 0 left 0,
			top 0 left 40%,
			top 0 left 100%;		
		background-repeat: no-repeat;
		background-image:
			linear-gradient(rgb(255 255 255 / 78%), rgb(255 255 255 / 50%)), 
			url(../img/img-index/client/client-bg2.avif),
			url(../img/img-index/client/client-bg4.avif),
			url(../img/img-index/client/client-bg6.avif);
		background-size:
			cover,
			40%,
			40%,
			40%;
	}
	#about-history{
		background-position: bottom;
		background-size: 768px;
	}
	#about-history > .row.p-lg-4 > .col-md-4{
		min-height: 40vh;
		background-position: 50% 15vh;
		background-size: 100% auto;
		background-clip: padding-box;
	}
	#wrap_Awd-Mmth::before, #wrap_Awd-Bri::before, #wrap_Awd-Hone::before{
		background-position: top center;
	}
	h2[lang-id="prod_sec1_h"] > br{
		display: none;
	}
	#prod-sec1_card > div:last-child{
		padding-bottom: 0 !important;
	}
	#csr-solar,
	#csr-tree_plant{
		flex-direction: column;
	}
	#csr-solar > div:first-child{
		order: 1;
	}
	#csr_solor_spec > .col {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		white-space: nowrap;
	}
	#csr_solor_spec > .col > :where( h5, h3){
		margin: 0;
	}
	#csr-iso a.中心 > img {
		height: auto;
		width: 80%;
		position: relative;
	}
	button[type="submit"]{
		margin: 0 auto;
	}
	#contact-location div.col-md-7{
		aspect-ratio: 4 / 3;
	}
	#contact-location iframe{
		top: 0;
	}
	:where(#contact-phone .row.mx-lg-4.bl_row) > .col-sm.py-sm-5{
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
	#contact-phone  h3{
		line-height: 0.8;
		padding-bottom: 0;
	}
	#contact-phone  h3::after{
		font-size: 1rem;
		font-weight: 100;
	}
	:where(#contact-phone .row.mx-lg-4.bl_row) > .col-sm.py-sm-5{
		border-width: 0 0 1px 0;
	}
	:where(#contact-phone .row.mx-lg-4.bl_row) > .col-sm.py-sm-5:last-child{
		border: none;
	}
}

/* SM: Mobile devices (max-width: 576px) */
@media (max-width: 576px) {
	.video-container > span {
		width: 100%;
	}
	.video-container > span > h1 {
		font-size: 7vw;
	}
	.video-container > span > p {
		font-size: 4vw;
	}
	.cta_btn {
		padding: 5px 10px;
		font-size: 4vw;
	}
	:where( #tooling-sec1, #prod-sec1 ) > div.flx_cen,
	#about-cert > .kai_contain > .txt_right,
	.head_left{
		flex-direction: column;
	}
	:where( #tooling-sec1, #prod-sec1 ) > div.flx_cen > h2{
		text-align: center;
		border-right: none;
		border-bottom: 1px solid var(--fill_blue);
	}
	#about-award,
	#home-award{
		text-align: center;
	}
	#home-award > .container > .row.p-4{
		height: 35vh;
		flex-direction: column;
		justify-content: space-around;
	}
	#home-award > .container > .read_btn{
		left: auto;
		bottom: 1rem;
	}
	#about-cert .txt_right > .spc_btw::before,
	:where( #tooling-sec1, #prod-sec1 ) > div.flx_cen br{
		display: none;
	}
	#about-cert h2[lang-id="word_cert"] {
		text-align: center;
	}
	#about-cert h2[lang-id="word_cert"] > br{
		display: none;
	}
	#about-cert .spc_btw > img{
		height: 3rem;
	}
	#about-cert img[src="img/common/logo-URS.svg"]{
		height: 3.5rem;
	}
	#org_ch_container::after {
		top: 1rem;
		left: 1rem;
		font-size: 1.5rem;
	}
	#prod-sec1 > div.flx_cen:where(h2, h5){
		width: 100%;
	}
	h2[lang-id="prod_sec1_h"]{
		padding-right: 0;
		border-right: 0;
	}
	h5[lang-id="prod_sec1_tag"]{
		padding-left: 0;
	}
	#prod-sec_dynamic::before{
		top: 0%;
		bottom: 10%;
	}
	#prod-sec_dynamic > div:first-child{
		position: relative;
		top: 0;
		left: 0;
		transform: none;
	}
	#prod-sec_dynamic > .col-sm-6 > .row > object{
		margin: 1rem auto;
	}
	#prod-sec_dynamic > .col-sm-6 > .row > object:where(:first-child, :nth-child(2)) {
		width: 50%;
	}
	#prod-sec_dynamic > .col-sm-6 > .row > object:last-child{
		width: 100%;
	}
}
