@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;700&display=swap');

:root {
	--c-red: #DB0A0C;
	--c-blue: #1B307F;
	--c-htext: #3E3A39;
	--c-menu: #231815;
	--c-yellow: #FFFCF6;
}
body, p, a{
	font-family: 'Noto Sans TC';
	font-weight: 400;
	font-size: 14px;
}
h1, h2, h3, h4, h5, h6{
	font-family: 'Noto Sans TC';
	font-weight: 700;
}
a:hover {
    text-decoration: none;
}

::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
  	background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  	background: var(--c-blue);
	transition: .3s all;
	border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  	background: var(--c-red);
}
	
.container {
    max-width: 1000px;
	padding: 0px;
	/*min-width: 768px;*/ /* Debug with no tablet size */
}
	
header {
	position: fixed;
    width: 100%;
    background: #FFF;
    z-index: 100;
	top: 0;
	box-shadow: 0px 5px 5px rgba(0,0,0,0);
}
header > .container {
	height: 160px;
	width: 100%;
	padding: 30px 20px 20px 80px;
	background: url('/images/header_deco.png') no-repeat left center;
	display: flex;
	transition: .5s all;
}

.logo {
	flex: 0 0 30%;
	height: 110px;
	transform: scale(1) translate(0,0);
	transition: .5s all;
}
.header_bar {
	flex: 0 0 70%;
	height: 110px;
}
.lang_en .logo{
	flex: 0 0 20%;
}
.lang_en .header_bar {
	flex: 0 0 80%;
}
.header_bar_container {
    width: 100%;
}
.btn_menu {
    position: fixed;
    right: 10px;
    cursor: pointer;
	transition: .5s all;
	opacity: 0;
	z-index: -1;
}
.btn_menu > img {
	width: 70px
}
.contact {
	flex: 0 0 70%;
    display: flex;
	justify-content: flex-end;
	height: 80px;
	color: var(--c-htext);
	transition: .5s all;
}
.contact a {
	color: var(--c-htext);
}
.contact a:hover {
	color: var(--c-menu);
}
.menu {
	display: flex;
	height: 30px;
	justify-content: flex-end;
	flex: 0 0 100%;
}
.contact p {
    margin: 0;
}
.contact > div {
    margin-left: 20px;
}
.contact_phone > div {
	background: url('/images/icon_phone.png?v=1') no-repeat left center;
	background-size: 30px;
	height: 30px;
	padding-left: 40px;
	font-size: 24px;
	line-height: 30px;
}
.contact_phone a {
	font-size: 24px;
	line-height: 30px;
}
.contact_address > div {
	background: url('/images/icon_address.png?v=1') no-repeat left center;
	background-size: 30px;
	height: 30px;
	padding-left: 40px;
	font-size: 12px;
    line-height: 15px;
}
.contact_email > div {
	background: url('/images/icon_mail.png?v=1') no-repeat left center;
	background-size: 30px;
	height: 30px;
	padding-left: 40px;
	font-size: 14px;
	line-height: 30px;
}
.menu_item {
    border-bottom: 3px solid var(--c-blue);
	/* flex: 0 0 10.5%; */
	flex: 0 0 auto;
    padding: 0% 1%;
	margin-left: 2%;
    font-size: 14px;
    text-align: center;
    line-height: 27px;
	transition: .3s all;
}
.lang_en .menu_item {
    /* flex: 0 0 12%; 
    margin-left: .5%; */
}
.lang_en .menu_item a{
    font-size: 12px;
}
.menu_item.actived, .menu_item:hover {
	border-bottom: 3px solid var(--c-red);
}
.menu_item > a {
	color: var(--c-menu);
	transition: .3s all;
}
.menu_item.actived > a , .menu_item:hover > a {
	color: var(--c-red);
}
.menu_item.have_submenu {
	position: relative;
}
.menu_item.have_submenu > a > svg {
	width: 10px;
    margin-left: 3px;
}
.menu_item.have_submenu > a > svg > path {
	fill: var(--c-blue);
	transition: .3s all;
}
.menu_item.have_submenu:hover > a > svg > path {
	fill: var(--c-red);
}
@media only screen and (min-width: 768px) {
	header.pin_top {
		box-shadow: 0px 5px 5px rgba(0,0,0,.1);
	}
	header.pin_top >.container {
		height: 80px;    
		background: none;
    	padding: 30px 20px 20px 20px;
	}

	header.pin_top .contact {
		height: 0px;
		opacity: 0;
		z-index: -1;
		overflow: hidden;
	}
	header.pin_top .logo {
		transform: scale(.5) translate(-50%,-90%);
	}
	
	.lang_en .logo img {
		width:100%
	}
}

.main {
	width: 100%;
	padding: 0px 20px 0px 80px;
	background: url('/images/main_deco.png?v=1') repeat-y left;
	background-size: 80px;
}
.container:first-of-type > .main {
    margin-top: 202px;
}
	
@media only screen and (min-width: 768px) and (max-width: 999px) {
	.header_bar, .lang_en .header_bar {
		flex: 0 0 100%;
		height: 110px;
		display: flex;
    	flex-wrap: wrap;
	}
	.contact {
    	flex: 0 0 100%;
	}
	.logo {
		position: absolute;
		transform: scale(0.5) translate(-50%,-50%);
	}
	header.pin_top .logo {
		opacity: 0;
    	z-index: -1;
	}
	header.pin_top .header_bar {
		height: 30px;
	}
}

@media only screen and (max-width: 767px) {
	header >.container {
		height: 80px;
		background-size: contain;
    	padding: 5px 20px 5px 80px;
	}
	.logo {
		transform: scale(0.5) translate(-50%,-50%);
	}
	.container:first-of-type > .main {
		margin-top: 80px;
	}
	.btn_menu {
		opacity: 1;
		z-index: 100;
	}
	.header_bar {
		position:fixed;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		background: #FFF;
		z-index: 80;
		width: 75%;
		height: calc(100% - 80px);
		top: 80px;
		left: 100%;
		transition: all .5s;
	}
	.header_bar.open {
		left: 25%;
	}
	.header_bar_container{
		overflow-y: scroll;
		display: flex;
		flex-direction: column-reverse;
	}

	.contact {
		display: block;
		height: auto;
		flex: none;
	}

	nav.menu {
		display: block;
		height: auto;
		flex: none;
	}


	.contact>div {
		margin: auto;
		width: fit-content;
		text-align: center;
		margin-top: 30px;
	}

	header {
		background: rgba(255,255,255,1);
		box-shadow: 0 5px 5px rgb(0 0 0 / 10%);
	}

	.menu_item {
		height: 50px;
		line-height: 47px;
		margin: 0px 30px !important;
	}

	.menu_item>a {
		width: 100%;
		height: 100%;
		display: block;
	}
	
	footer, footer .row>div:last-child {
		text-align: center !important;
	}
	footer .row>div:last-child {
		margin-bottom: 20px;
	}
}

.row {
    margin: 0;
    width: 100%;
}
.main > .row:not(:first-child) {
	margin-top: 20px;
}
.row img {
	max-width: 100%;
}
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    padding: 0;
}
.home_banner_section > div:not(:first-child) {
	padding-left: 20px;
}
.home_banner_section_v > div:not(:first-child) {
	padding-top: 20px;
}
	
.owl-dot > span {
    width: 10px;
    height: 10px;
    margin: 5px;
    display: inline-block;
    background: rgba(255,255,255,.3);
    border-radius: 50%;
    transition: .3s all;
}

.owl-dot.active > span {
    background: rgba(255,255,255,.8);
}

.owl-dots {
    position:absolute;
    bottom: 0;
    left:50%;
    transform: translateX(-50%);
}

button:focus {
    outline: none;
}
	
.feature_section {
    margin-left: -10px;
    width: calc( 100% + 20px );
}
.feature_section > div {
	padding: 10px ;
}
.feature_title {
    background: var(--c-blue);
    color: #FFF;
    padding: 5px;
    text-align: center;
}
.feature_section img {
    width: 100%;
}
	
.home_description {
	text-align: justify;
}

.home_description_img, .home_description > p {
    opacity: 0;
    margin-left: -50px;
    margin-right: 50px;
}

footer {
    margin-top: 50px;
}
	
footer h5 {
    color: var(--c-blue);
}
	
footer .row > div:last-child{
	text-align: right;
}
	
.copyright {
	font-size: 10px;
	margin-top: 10px;
	margin-bottom: 0px;
}


.order_method > div {
	padding: 10px;
	display: flex;
    align-items: center;
}
.order_way > .col-md-7 {
	padding: 0px 10px;
}
.order_way h4 {
    color: var(--c-blue);
    border-bottom: 3px solid;
    padding-bottom: 8px;
	margin-bottom: 12px;
}
.order_way h4:after {
    content: '';
    width: 22px;
    height: 20px;
    display: inline-block;
    margin-left: 10px;
}
.order_quotation > h4:after {
    background: url(/images/icon_quotation.png) no-repeat center;
    background-size: 22px;
}
.order_payment > h4:after {
    background: url(/images/icon_payment.png) no-repeat center;
    background-size: 22px;
}
.order_take > h4:after {
    background: url(/images/icon_take.png) no-repeat center;
    background-size: 22px;
}
	
@media only screen and (max-width: 768px) {
	.home_banner_section > div:not(:first-child) {
		padding: 0px;
	}
	.feature_section {
		flex-wrap: nowrap;
		overflow-x: scroll;
	}
	#home_banner {
		margin-left: -80px;
		width: calc(100% + 100px );
	}
	.feature_section {
		margin-left: -27px;
		width: calc(100% + 47px);
	}
}

.product_section {
	padding-left: 50px;	
	display: flex;
    align-items: flex-end;
	background: url('/images/product_banner.jpg') bottom right no-repeat;
	background-size: contain;
}
@media (min-width: 768px){
	.product_section.product_section_s {
		background: url('/images/product_banner_s.jpg') bottom right no-repeat;
	}
}
.product_section h3 {
	color: var(--c-blue);
}
.product_title {
	background: var(--c-yellow);
}
.product_part_content {
	padding-left: 50px;	
}

.product_item_detail > div , .product_item_detail_only > div {
	padding: 10px;
	border: 5px solid #FFF;
	text-align: center;
}
.product_item_detail > div:first-child {
	background: var(--c-red);
	color: #FFF;
}
.product_item_detail > div:not(:first-child), .product_item_detail_only > div {
	background: #FEEFE7;
}
.product_item_detail:first-child {
    margin-top: 20px;
}
.product_item_description {
	padding: 10px;
}
.product_item_description ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}
.product_item_description ul li {
	flex: 0 0 45%;
}
.product_item_description ul li:nth-child(odd) {
    margin-right: 10%;
}
	
.order_remind_section {
	margin-top: 20px;
}

.order_remind h4 {
    color: var(--c-blue);
    border-bottom: 3px solid;
    padding-bottom: 8px;
	margin-bottom: 12px;
}
.order_remind h4:after {
    content: '';
    width: 22px;
    height: 20px;
    display: inline-block;
    margin-left: 10px;
    background: url(/images/icon_remain.png) no-repeat center;
    background-size: 22px;
}
	
.order_remind ol {
    padding-inline-start: 20px;
}

.order_remind ol li {
    padding-left: 20px;
	line-height: 24px;
}
	
.product_gallery > img {
	margin-top: 20px;
	width: 100%;
}
.product_gallery > img:first-child {
	display: none;
}
	
#cta_whatsapp {
    position: fixed;
    bottom: 150px;
    right: 0;
}
#cta_whatsapp img {
    width: 200px;
}
	
@media (min-width: 768px){
	.product_title .col-md-2, .product_part .col-md-2.product_gallery {
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		max-width: 20%;
	}
	.product_title .col-md-10, .product_part .col-md-10 {
		-ms-flex: 0 0 80%;
		flex: 0 0 80%;
		max-width: 80%;
	}
	.client_quotation_part{
		margin-left: 3.32%;
	}
}
	
@media (max-width: 767px){
	.product_part_content {
		padding-left: 0px;
	}
	.product_title > .container > .main > .row {
	    min-height: 80px;
		margin-left: -27px;
		width: calc( 100% + 47px);
	}
	.product_section {
		background: url('/images/product_banner_m.jpg') bottom right no-repeat;
		background-size: contain;
		    padding-left: 25px;
	}
	.product_gallery {
		display: flex;
		padding-top: 20px;
		flex-wrap: wrap;
	}
	.product_gallery > img {
		margin-top: 0px;
		width: 50%;
		flex: 0 0 50%;
	}
	.product_gallery > img:first-child {
		display: block;
	}
	#cta_whatsapp {
		bottom: -100px;
		right: 0px;
		opacity: 0;
		transition: .5s all;
	}
	#cta_whatsapp.show {
		bottom: 20px;
		opacity: 1;
	}
	#cta_whatsapp img {
		width: 100%;
	}
	.copyright.havecta {
		margin-bottom: 100px;
	}
}


.client_quotation > div {
	padding: 0 5px;
	font-size: 12px;
}
.form-control {
	font-size: 12px;
}
select.form-control {
	appearance: none;
}
.client_quotation_img, .client_quotation {
	margin-top: 20px;
}

.lang_icon {
    position: relative;
}
.lang_icon > svg {
    width: 20px;
    height: 20px;
}

.lang_icon:hover .lang_menu {
    display: block;
}

.lang_menu {
    box-shadow: 5px 5px 5px #0002;
    /* margin-top: 10px; */
    padding: 5px;
    position: absolute;
    right: 0;
    display: none;
	width: 60px;
    text-align: center;
    background: #FFF;
}
.lang_menu > * {
    height: 40px;
    display: block;
    line-height: 40px;
}

.lang_menu > a:hover {
    color: var(--c-blue);
}

@media (max-width: 767px){
	.lang_icon {
		display: flex;
		align-items: center;
	}

	.lang_menu {
		display: flex;
		box-shadow: none;
		position: static;
		margin: 0px;
		width: fit-content;
	}

	.lang_icon:hover .lang_menu {
		display: flex;
	}
	.lang_menu > * {
		margin: 0px 15px;
	}
}


.submenu {
    color: #FFF;
    margin-left: -10px;
    margin-right: -10px;
    padding-top: 10px;
    display: none;
    position: absolute;
	min-width: 100%;
	width: 200px;
}

.submenu > .submenu_item > a {
    color: #FFF;
}
.submenu > .submenu_item {
    background: var(--c-blue);
    padding: 4px 10px;
    transition: all .3s;
}
.submenu > .submenu_item:hover {
    background: var(--c-red);
}


@media (min-width: 768px){
	.menu_item:hover > .submenu{
		display: block;
	}
}
@media (max-width: 767px){
	.menu_item.have_submenu.open_submenu > .submenu{
		display: block;
	}
	.submenu {
		margin-left: -5px;
		margin-right: 0px;
		padding-top: 0px;
		z-index: 10;
		width: 100%;
	}
	.submenu > .submenu_item {
		line-height: 30px;
	}
}

.social_header {
    background: var(--c-blue);
    padding: 10px 0px;
    box-shadow: 0px 5px 5px rgba(0, 0, 0, .1);
}

.social_header .lang_icon svg path {
	fill: #fff;
}
.social_header > .container {
    padding: 0px 20px;
}
.social_header > div > * {
    margin-left: 10px;
}
.social_icon > svg {
	width: 20px;
	height: 20px;
}

@media (min-width: 768px){
	.contact > .lang_icon {
		display:none;
	}
	.contact > .mobile_social_bar {
		display:none;
	}
}
@media (max-width: 767px){
	.social_header {
		display:none;
	}
	
	.social_icon {
		margin: 0px 10px;
	}
	.social_icon > svg {
		width: 30px;
		height: 30px;
	}
}

.social_icon_lang {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-blue);
    margin-top: 2px;
    font-size: 10px;
}