.error {
	color: #fff;
	font-size: 14px;
}

body,
html {
	margin: 0;
	padding: 0;
	height: 100%;
	/*background: #60a3bc !important;*/
	background: #fff !important;
}

.user_card {
	min-height: 480px;
	width: 350px;
	margin-top: auto;
	margin-bottom: auto;
	/*background: #f39c12;*/
	background: #ed2024;
	position: relative;
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 10px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	-webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	-moz-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	border-radius: 5px;
	transition: all 0.3s;
}

.reset_password_card {
	min-height: 310px;
	width: 350px;
	margin-top: auto;
	margin-bottom: auto;
	background: #f39c12;
	position: relative;
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 10px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	-webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	-moz-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	border-radius: 5px;
	transition: all 0.3s;
}

.brand_logo_container {
	position: absolute;
	z-index: 9;
	height: 170px;
	width: 170px;
	top: -75px;
	border-radius: 50%;
	background: #ffffff;
	padding: 10px;
	text-align: center;
}

.brand_logo {
	height: 150px;
	width: 150px;
	border-radius: 50%;
	/*border: 2px solid white;*/
}

.form_container {
	/* margin-top: 90px; */
}

.login_btn {
	width: 100%;
	background: #fff;
	color: #000;
}

	.login_btn:focus {
		box-shadow: none;
		outline: 0px;
	}

.btn-2 {
	background: #870D0F;
	color: #fff;
}

.login_btn:hover {
	opacity: 0.8;
	transition: all 0.3;
	-webkit-transition: all 0.3;
	-moz-transition: all 0.3;
	-ms-transition: all 0.3;
	-o-transition: all 0.3;
}

.login_container {
	padding: 0 2rem;
}

.input-group-text {
	background: #fff !important;
	color: gray !important;
	border: 0 !important;
	border-radius: 0.25rem 0 0 0.25rem !important;
}

.input_user,
.input_pass:focus {
	box-shadow: none !important;
	outline: 0px !important;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
	/*background-color: #c0392b !important;*/
	background-color: white !important;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
	/*background-color: #c0392b !important;*/
	border: 3px solid red;
}
/* Custom tabs css */
.card-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.container-tabs .tabs input {
	position: absolute;
	opacity: 0;
	margin: 0;
	padding: 0;
}

	.container-tabs .tabs input + label:hover {
		color: #777;
	}

.container-tabs .tabs .tabsShadow {
	width: 100%;
	padding: 10px;
	box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
	position: absolute;
	height: 35px;
	z-index: 0;
	top: 0;
	pointer-events: none;
}

.container-tabs .content-tabs .item {
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s;
	min-height: 435px;
	position: absolute;
	top: 90px;
}

.container-tabs #tab-1:checked ~ section #content-1,
.container-tabs #tab-2:checked ~ section #content-2,
.container-tabs #tab-3:checked ~ section #content-3,
.container-tabs #tab-4:checked ~ section #content-4 {
	opacity: 1;
	visibility: visible;
	position: relative;
}

.container-tabs .tabs input + label {
	margin: 12px -8px;
	width: 50%;
	transition: all 0.3s;
	text-align: center;
	border: none;
	border-bottom: 0.5pt solid #1d1e22;
	color: #fff;
	display: inline-flex;
	-webkit-box-pack: center;
	padding: 5pt 10pt;
	vertical-align: top;
	justify-content: flex-start;
	background: #333;
	box-shadow: 1px 1px 2px 1px #231f20;
	text-transform: uppercase;
	font-weight: 300;
	font-size: 8pt;
	background: #26292c;
	margin-bottom: 0.5px;
	border-radius: 7px 7px 0 0 !important;
	border-top: 1px solid #3b3d3f;
	letter-spacing: 0.1666666667em !important;
	font-family: "antique-olive" !important;
	background: hsl(232deg 6% 17%);
	cursor: pointer;
}

.container-tabs .content-tabs {
	width: 100%;
}

.container-tabs label.tab {
	color: #cccccc;
	/* letter-spacing: -1px; */
	word-spacing: -1px;
	font-size: 14px;
	cursor: pointer;
}

.container-tabs #tab-1:checked + label {
	color: #fff;
	font-weight: bold;
}

.container-tabs #tab-3:checked + label {
	color: #ffadfa;
	color: #ffaa75;
}

.container-tabs #tab-4:checked + label {
	color: #ffadfa;
}

.container-tabs #tab-1:checked ~ .glider {
	left: 0px;
}

.container-tabs #tab-2:checked + label {
	color: #fff;
	font-weight: bold;
}

.container-tabs #tab-2:checked ~ .glider {
	background: rgb(237,32,36);
	background: linear-gradient(90deg, rgba(237,32,36,1) 0%, rgba(135,13,15,1) 100%);
	box-shadow: 0px 0px 8px 0px linear-gradient(90deg, rgba(237,32,36,1) 0%, rgba(135,13,15,1) 100%);
}

.container-tabs #tab-3:checked + label {
	color: #525252;
}

.container-tabs #tab-1:checked ~ .glider {
	left: 0%;
}

.container-tabs #tab-2:checked ~ .glider {
	left: 50%;
}

.container-tabs #tab-3:checked ~ .glider {
	background: linear-gradient(90deg, #faffcc 0%, #f5eea3 10%, #ffe48a 40%, #ffb54d 65%, #ff974d 85%, #ff8052 100%);
	left: 42.15%;
	box-shadow: 0px 0px 8px 0px hsl(17.72deg 100% 70% / 70%);
}

.container-tabs #tab-4:checked ~ .glider {
	background: linear-gradient(90deg, #b9326f 0%, #ff5ddc 100%);
	box-shadow: 0px 0px 8px 0px rgba(231, 13, 93, 0.57);
	left: 62.365% !important;
}

.container-tabs .glider {
	width: 50%;
	padding: 0px 13px;
	height: 4.5px;
	border-radius: 0 0 1px 1px;
	position: absolute;
	box-shadow: 0px 0px 8px 0px linear-gradient(90deg, rgba(135,13,15,1) 35%, rgba(237,32,36,1) 100%);
	background: rgb(135,13,15);
	background: linear-gradient(90deg, rgba(135,13,15,1) 35%, rgba(237,32,36,1) 100%);
	transition: all 0.3s;
	top: 36px;
	z-index: 2;
}

.container-tabs .spinner-custom {
	width: 100%;
	font-size: 1.3rem;
	position: absolute;
	top: 25%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	opacity: 1;
	z-index: 91;
}

	.container-tabs .spinner-custom.active {
		z-index: -99999;
		opacity: 0;
	}

.icon-spiner {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: inline-block;
	border-top: 4px solid #fff;
	border-right: 4px solid transparent;
	-webkit-animation: rotation 1s linear infinite;
	animation: rotation 1s linear infinite;
}

	.icon-spiner:after {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		border-left: 4px solid #9c1618;
		border-bottom: 4px solid transparent;
		animation: rotation 0.5s linear infinite reverse;
	}

.container-tabs .spinner-custom span {
	display: block;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	overflow: hidden;
}

	.container-tabs .spinner-custom span:before {
		color: #e9272a;
		content: attr(data-loading-text);
	}

	.container-tabs .spinner-custom span:after {
		top: 0;
		left: 0;
		width: 0;
		opacity: 1;
		color: #fff;
		overflow: hidden;
		position: absolute;
		content: attr(data-loading-text);
		animation: loading 3s infinite;
		-webkit-animation: loading 3s infinite;
	}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes loading {
	0% {
		width: 0;
	}

	100% {
		width: 100%;
	}
}

@keyframes gradient-animation {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

.animated-gradient-text {
	font-weight: bold;
	background: linear-gradient( to right, #6e8efb, /* Màu bắt đầu (ví dụ: xanh dương) */
	#a777e3, /* Màu ở giữa (ví dụ: tím) */
	#ff7f7f, /* Màu kết thúc (ví dụ: đỏ cam) */
	#a777e3, /* Lặp lại màu ở giữa để tạo hiệu ứng mượt mà */
	#6e8efb /* Lặp lại màu bắt đầu */
	);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 200% 200%; /* Kích thước của gradient lớn hơn để có thể di chuyển */
	animation: gradient-animation 10s ease infinite; /* Áp dụng animation */
}

.container {
	padding-top: 40px; /* Tăng padding nếu cần */
	color: #333; /* Thay đổi màu chữ mặc định của container nếu màu đỏ chỉ dành cho tiêu đề */
}

.text-center {
	text-align: center;
}

/* Cải thiện Row và Column để có khoảng cách tốt hơn */
.row.justify-content-center {
	gap: 20px 0; /* Thêm khoảng cách dọc giữa các hàng logo nếu chúng wrap */
}

.branchSelect {
	text-align: center;
	padding: 15px; /* Thêm padding bên trong mỗi mục */
	border-radius: 10px; /* Bo góc cho từng mục */
	transition: transform 0.3s ease, box-shadow 0.3s ease; /* Animation mượt mà */
	display: flex; /* Sử dụng flex để căn chỉnh nội dung bên trong */
	flex-direction: column; /* Căn chỉnh theo chiều dọc */
	align-items: center; /* Căn giữa theo chiều ngang */
	justify-content: space-between; /* Phân bổ không gian */
	height: 100%; /* Để các card có chiều cao bằng nhau nếu trong cùng một hàng */
}

	.branchSelect:hover {
		transform: translateY(-8px); /* Hiệu ứng nhấc lên khi hover */
		/*box-shadow: 0 10px 25px rgba(221, 22, 32, 0.15);*/ /* Bóng đổ nổi bật hơn với màu chủ đạo */

	}

		.branchSelect:hover p {
			color: rgb(231,23,25);
			/*color: transparent;*/ /* Quan trọng: làm màu chữ trong suốt */
			/*background: linear-gradient( to right, #6e8efb,*/ /* Màu bắt đầu (ví dụ: xanh dương) */
			/*#a777e3,*/ /* Màu ở giữa (ví dụ: tím) */
			/*#ff7f7f,*/ /* Màu kết thúc (ví dụ: đỏ cam) */
			/*#a777e3,*/ /* Lặp lại màu ở giữa */
			/*#6e8efb*/ /* Lặp lại màu bắt đầu */
			/*);
			-webkit-background-clip: text;
			background-clip: text;*/ /* Thuộc tính chuẩn */
			/*-webkit-text-fill-color: transparent;
			background-size: 200% 200%;
			animation: gradient-animation 10s ease infinite;*/
		}

		.branchSelect .zoom {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center; /* Căn giữa logo và text */
			width: 100%;
		}

.logo_characters {
	max-width: 100%; /* Đảm bảo logo không vượt quá card */
	height: 80px; /* Có thể cố định chiều cao hoặc dùng max-height */
	object-fit: contain; /* Giữ tỷ lệ logo, không bị méo */
	/*margin-bottom: 15px;*/ /* Khoảng cách giữa logo và tên */
	border-radius: 5px; /* Bo góc nhẹ cho ảnh logo */
}

.branchSelect p {
	font-size: 13px; /* Tăng kích thước chữ cho dễ đọc hơn */
	font-weight: 600; /* Hơi đậm hơn một chút */
	color: #444; /* Màu chữ dễ đọc */
	text-align: center;
	margin-top: auto; /* Đẩy tên xuống dưới nếu logo nhỏ */
	line-height: 1.4; /* Cải thiện khoảng cách dòng */
	/* Ngăn chặn text quá dài làm vỡ layout */
	word-break: break-word;
	overflow-wrap: break-word;
}

/* Responsive Design */
/* Điều chỉnh số cột cho các màn hình khác nhau */
/* Mặc định col-md-2 là 6 cột trên màn hình medium.
   Bạn có thể muốn hiển thị ít cột hơn trên màn hình nhỏ hơn.
*/
@media (max-width: 991.98px) { /* Small devices (tablets, 768px and up) */
	.col-md-2.branchSelect { /* Ghi đè bootstrap nếu cần */
		flex: 0 0 auto;
		width: 33.333333%; /* 3 cột */
		margin-bottom: 20px; /* Thêm khoảng cách dưới khi xếp chồng */
	}

	.animated-gradient-text {
		font-size: 2rem;
	}
}

@media (max-width: 767.98px) { /* Extra small devices (phones, less than 768px) */
	.col-md-2.branchSelect {
		flex: 0 0 auto;
		width: 48%; /* 2 cột, trừ đi khoảng gap nếu có */
		/* Hoặc width: calc(50% - 10px); nếu có gap 20px giữa các item */
		margin-bottom: 20px;
	}

	.animated-gradient-text {
		font-size: 1.75rem;
	}

	.branchSelect p {
		font-size: 12px;
	}

	.logo_characters {
		height: 70px;
	}
}

@media (max-width: 575.98px) {
	.col-md-2.branchSelect {
		width: 100%; /* 1 cột trên màn hình rất nhỏ */
	}
}