@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");
[v-cloak] {
	display: none;
}

body {
	background-color: #f5f5f5;
	height: 100vh;
	font-family: "Noto Sans TC", Montserrat, sans-serif;
	font-size: 15px;
	overflow-x: hidden;
}
/* .montserrat-<uniquifier > {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
} */
p {
	font-size: 15px;
	color: #6d6d6d;
}
h1 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 55px;
}
.page_title {
	/* font-size: 55px; */
	font-size: 40px;
	font-weight: 700;
}
.deep-blue {
	color: #2a4c8c;
}
.light-blue {
	color: #afc5de;
}
.login_box {
	max-width: 900px;
	margin-top: 50px;
	margin-bottom: 50px;
	padding: 20px;
	border-radius: 50px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	background-color: #ffffff;
}
.login_box h2 {
	font-family: Montserrat, sans-serif;
	color: #161616;
	font-size: 36px;
	font-weight: 700;
}
.login_box h4 {
	color: #6d6d6d;
	font-size: 18px;
}
.ys-outline-btn {
	border: 1px solid #2a4c8c;
	color: #2a4c8c;
	border-radius: 20px;
	padding: 7px 28px;
	transition: all 0.3s ease;
}
.btn-outline-primary {
	--bs-btn-color: #2a4c8c;
	--bs-btn-border-color: #2a4c8c;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #2a4c8c;
	--bs-btn-hover-border-color: #2a4c8c;
	--bs-btn-focus-shadow-rgb: 85, 110, 230;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #2a4c8c;
	--bs-btn-active-border-color: #2a4c8c;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #2a4c8c;
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: #2a4c8c;
	--bs-gradient: none;
}
a {
	color: #4386d5;
}
a:hover {
	color: #2a4c8c;
}
input:focus,
.form-control:focus {
	border-color: #66afe9;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset,
		0 0 8px rgba(102, 175, 233, 0.6);
}
.form-label {
	font-size: 14px;
	color: #444444;
	font-weight: 600;
}
footer {
	background-color: rgb(235, 240, 246);
}
ul.category-list {
	transition: all 0.1s ease;
	align-content: center;
	list-style: none;
	padding-left: 0;
}
ul.category-list li {
	background-color: #ffffff00;
	margin: 0 0 2%;
	border-style: solid;
	border-width: 1px;
	border-color: #dce0e3;
	border-radius: 10px;
	cursor: pointer;
	padding: 25px 30px;
	margin-bottom: 25px;
	font-weight: 500;
	text-align: center;

	font-size: 17px;
	color: #9daaac;
}
ul.category-list li.active,
ul.category-list li:hover {
	color: #ffffff;
	background-color: transparent;
	background-image: linear-gradient(185deg, #6fc7da 0%, #25a8c4 100%);
	box-shadow: 0px 4px 9px 0px #8abec9;
}

.decoration_line {
	height: 18px;
}
.decoration_line .short_line {
	border-top: 2px solid #2a4c8c;
	width: 250px;
	margin-top: -18px;

	opacity: 1;
	animation: 1.5s ease 0s slide-in-from-left forwards;
}
.decoration_line .long_line {
	border-top: 2px solid #e5e5e5;
	opacity: 1;
}
@keyframes slide-in-from-left {
	0% {
		opacity: 0;
		transform: translateX(-50%);
	}
	100% {
		opacity: 1;
		transform: translateX(0%);
	}
}

@keyframes slide-in-from-right {
	0% {
		opacity: 0;
		transform: translateX(50%);
	}
	50% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateX(0%);
	}
}

.breadcrums {
	color: #2a4c8c;
	font-size: 15px;
	opacity: 1;
	animation: 2s ease 0s slide-in-from-right forwards;
}
.registration-section {
	background-image: url('../images/custiomer_service_center-bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	/* background-position-x: 323px; */
	height: 100%;
	position: relative;
}

.service-details-content h4.card-header {
	color: #161616;
	font-size: 25px;
	padding-bottom: 50px;
}
.service-details-content {
	padding-left: 20px;
}
thead th {
	color: #161616 !important;
	font-size: 16px;
	background-color: rgb(235, 240, 246) !important;
}
.pointer {
	cursor: pointer;
}
.table-hover > tbody > tr:hover > * {
	--bs-table-color-state: var(--bs-table-hover-color);
	--bs-table-bg-state: #6fc6da2d;
}
.card-img-top {
	aspect-ratio: 3 / 2;
}
.modal-footer {
	justify-content: space-between;
}
.modal-footer button {
	border-radius: 20px;
	padding: 7px 28px;
	transition: all 0.3s ease;
}

.modal-footer button.btn-primary {
	border-radius: 20px;
	padding: 7px 28px;
	background-color: #2a4c8c;
	transition: all 0.3s ease;
}

.status-1,
.badge_process {
	background-color: #ffeb35;
	color: rgb(0, 0, 0);
	padding: 5px 10px;
	border-radius: 12px;
}
.status-2 {
	background-color: #2a4c8c;
	color: white;
	padding: 5px 10px;
	border-radius: 12px;
}
.status-3,
.badge_close {
	background-color: #b5b5b5;
	color: white;
	padding: 5px 10px;
	border-radius: 12px;
}
.file_list_devider {
	margin: 10px 0 0 0;
	background-color: transparent;
	font-weight: bold;
	font-size: 18px;
}
.file_list_devider::before {
	border-left: 5px solid #25a8c4;
	content: "";
	height: 20px;
	margin-left: -20px;
	margin-right: 16px;
}
.sub-title-devider {
	border-left: 5px solid #25a8c4;
	content: "";
	height: 20px;
	padding-left: 10px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-top: 30px;
}
.sub-title-devider a {
	color: #2a4c8c;
	font-weight: normal;
	text-decoration: underline !important;
}
a {
	color: #25a8c4;
}
.file_list_ul i {
	font-size: 20px;
}

.pay_number {
	font-family: "Montserrat", sans-serif;
	color: #25a8c4;
}
.text-bg-info,
.text-bg-secondary {
	background-color: #25a8c4 !important;
}
.payment_card {
	margin-left: 50px;
}
.payment_card::before {
	width: 15px;
	height: 15px;
	content: "";
	display: block;
	position: absolute;
	background-color: #25a8c4ab;
	border-radius: 10px;
	left: -48px;
	top: calc(50% - 20px);
}
.payment_card.yet_to_pay::before {
	border: 2px solid #bbbbbb;
	background-color: transparent;
}
.payment_card.paid::before {
	outline: 3px solid #25a8c4ab;
	border: 2px solid #ffffff;
	background-color: #25a8c4ab;
}
.payment_card.yet_to_pay {
	opacity: 0.6;
}
.payment_card:not(:last-child) .card-body::before {
	width: 1px;
	height: calc(100% - 3px);
	content: "";
	display: block;
	position: absolute;
	border-radius: 6px;
	left: -42px;
	top: calc(50% + 1px);
	border: 1px solid #25a7c436;
}
.payment_card.yet_to_pay:not(:last-child) .card-body::before {
	border: 1px solid #bbbbbb;
}

footer {
	font-size: 16px;
}
footer i {
	font-size: 20px;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
	font-weight: 500;
}
.nav-link {
	color: #2a4c8c !important;
}
.nav-link:not(.active) {
	color: #25a8c4 !important;
}
#progressTabTab {
	margin-top: -80px;
}

@media (min-width: 576px) {
	.border-right-1::after {
		content: "";
		display: block;
		height: calc(100% - 70px);
		border-right: 1px solid #ededed;
		position: absolute;
		right: -50px;
		bottom: 0;
	}
	.border-right-2::after {
		content: "";
		display: block;
		height: calc(100%);
		border-right: 1px solid #ededed;
		position: absolute;
		right: -50px;
		top: 0;
	}
}

.reply_row {
	margin-top: 20px;
}
.avatar {
	border-radius: 100%;
	width: 50px;
	margin-bottom: -3px;
	box-shadow: 0 2px 4px #00000044;
}
.company-label {
	font-size: 0.8rem;
	color: #000000;
	font-weight: 500;
}
.speak_bubble img {
	border-radius: 10px;
	margin-top: 10px;
	margin-bottom: 10px;
	box-shadow: 0 2px 2px #00000044;
}
.speak_bubble.company {
	background: #ededed;
	color: #000000;
	border-radius: 16px;
	padding: 10px 15px;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
.speak_bubble.company:after {
	content: "";
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: -10px;
	width: 10px;
	height: 20px;
	background: white;
	border-bottom-right-radius: 10px;
}
.speak_bubble.company:before {
	content: "";
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: -7px;
	height: 20px;
	width: 20px;
	background: #ededed;
	border-bottom-right-radius: 15px;
}
.speak_bubble.client {
	background: linear-gradient(113.16deg, #65cfe6 24.66%, #39adc8 85.03%);
	color: white;
	border-radius: 16px;
	padding: 10px 15px;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
.speak_bubble.client:after {
	content: "";
	position: absolute;
	z-index: 1;
	bottom: 0;
	right: -10px;
	width: 10px;
	height: 20px;
	background: white;
	border-bottom-left-radius: 10px;
}
.speak_bubble.client:before {
	content: "";
	position: absolute;
	z-index: 0;
	bottom: 0;
	right: -8px;
	height: 20px;
	width: 20px;
	background: #39adc8;
	background-attachment: fixed;
	border-bottom-left-radius: 15px;
}
.speak_date {
	font-size: 0.75rem;
	color: #6d6d6d;
	margin-bottom: 6px;
	display: block;
	line-height: 1.3;
	font-weight: 500;
}

.fix-history {
	margin-bottom: 25px;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 20px;
}
.fix-history:last-child {
	border-bottom: none;
	padding-bottom: 0px;
}
.fix-history h5,
.fix-history div {
	padding: 0px;
	margin: 10px 0px;
}
.btn-send {
	background: #39adc8;
	color: #ffffff;
	border: none;
}

/* @media  (max-width: 992px) {
	.container{
		max-width: calc(100% - 50px);
	}
} */
.navbar-toggler {
	border: none;
	margin-right: -13px;
}
.navbar-toggler:focus {
	box-shadow: none;
}

.navbar-toggler:not(.collapsed) .hamburger {
	display: none;
}

.navbar-toggler:not(.collapsed) .close-icon {
	display: inline-block !important; /* Override Bootstrap's d-none utility */
}

/* Optional: Add smooth transition */
.hamburger,
.close-icon {
	transition: all 0.3s ease-in-out;
}
.navbar-collapse li {
	color: #ffffff;
	background-color: transparent;
	background-image: linear-gradient(185deg, #6fc7da 0%, #25a8c4 100%);
	box-shadow: 0px 4px 9px 0px #8abec9;
	line-height: 2.5;
	margin-bottom: 10px;
	text-align: center;
}
.navbar-collapse li a {
	color: #ffffff;
	display: block;
	width: 100%;
	height: 50px;
	line-height: 50px;
}
a.link-primary{
	color: #25a8c4 !important;
    font-size: 0.9rem;
    margin-top: 4px;
}
a.link-primary:hover{
	color: #2a4c8c !important;
}
@media (max-width: 768px) {
	.page_title {
		font-size: 28px;
	}
	.service-details-content {
		padding-left: 0px;
	}
}
@media (max-width: 576px) {
	.page_title {
		font-size: 23px;
	}
}
