.agreement {
	border: 1px solid #939393;
	border-radius: 0.25rem;
	background: #fff;
	overflow: hidden;
}

.agreement-middle-line {
    border-top: 1px solid #939393;
}

.agreement:has(input.custom-checkbox:checked),
.agreement:has(input.custom-checkbox:checked) .agreement-middle-line,
.agreement:has(.accepted) {
	border-color: #00bd00;
}

.agreement.is-invalid, .agreement.is-invalid .agreement-middle-line {
	border-color: #dc3545;
}

.agreement .agreement-title {
	padding-left: 15px;
	position: relative;
	line-height: 1.2;
	cursor: pointer;
}

.agreement .agreement-title::before {
	content: "\f0d7";
	position: absolute;
	top: 44%;
	left: -6px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	transform: translateY(-50%) rotate(-90deg);
	transition: all .23s ease-in-out;
}

.agreement .agreement-title[aria-expanded="true"]::before {
	transform: translateY(-50%) rotate(0deg);
}

.agreement:has(input.custom-checkbox:checked) .agreement-title::after,
.agreement:has(.accepted) .agreement-title::after {
	background-color: #00bd00;
}

.agreement .agreement-box {
	padding: 30px 15px;
	position: relative;
}

.agreement-box h1,
.agreement-box h2,
.agreement-box h3,
.agreement-box h4,
.agreement-box h5,
.agreement-box h6,
.agreement-box p {
	color: #212529;
}

.agreement .agreement-box .font-sans {
	font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
}

.agreement .agreement-box .ls {
	letter-spacing: .025em;
}

.agreement .agreement-box .agreement-print {
	width: 40px;
	height: 40px;
	padding: 0;
	position: absolute;
	top: 25px;
	right: 15px;
}

.agreement .agreement-box .agreement-print:hover {
	border-color: #201d26;
	background-color: #201d26;
}

.agreement .agreement-box > div {
	margin: 0 12px;
}

.table-agreement-box {
	width: 100%;
}

.table-agreement-box tr > th {
	background-color: #fafafa;
}

.table-agreement-box tr > th,
.table-agreement-box tr > td {
	padding: 16px 24px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5715;
	border: 1px solid #dee2e6;
}

.table-agreement-box tr > td p {
	margin: 0;
}

@media (max-width: 768px) {
	.agreement .agreement-box {
		padding: 60px 15px 30px;
	}

	.agreement .agreement-box:not(:has(.agreement-print)) {
		padding-top: 25px;
	}

	.agreement .agreement-box > div:first-child {
		width: 100%;
		margin: 0 auto;
	}

	.agreement .agreement-box .agreement-print {
		width: 35px;
		height: 35px;
		top: 15px;
	}
}

@media (max-width: 600px) {
	.agreement .agreement-box {
		padding: 60px 0 10px;
	}
}

@media (max-width: 485px) {
	.agreement {
		padding: 14px 0 0;
	}

	.agreement .agreement-title {
		padding: 0 20px 12px;
		padding-left: 35px;
	}

	.agreement .agreement-title::before {
		top: 9px;
		left: 12px;
	}

	.agreement .agreement-title::after {
		bottom: -1px;
	}

	.agreement .agreement-box {
		margin-top: 0;
		padding: 60px 0 0;
	}

	.agreement .agreement-box:not(:has(.agreement-print)) {
		padding-top: 0;
	}

	.agreement .agreement-box > div:first-child {
		border: none !important;
	}

	.table-agreement-box tr > th,
	.table-agreement-box tr > td {
		padding: 14px 20px;
	}
}

@media print {
	body * {
		visibility: hidden;
	}

	.agreement .agreement-box {
		display: none;
	}

	.agreement.print {
		padding: 0;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
	}

	.agreement.print .agreement-title {
		display: none;
	}

	.agreement.print .agreement-box {
		margin-top: 0;
		padding: 0;
		display: block;
	}

	.agreement.print .agreement-box > div:first-child,
	.agreement.print .agreement-box > div:first-child * {
		visibility: visible;
	}

	.agreement.print .agreement-box > div:first-child {
		padding: 0 !important;
		border: none !important;
	}

	.agreement.print .agreement-box > div:first-child table tr > th,
	.agreement.print .agreement-box > div:first-child table tr > td {
		border-color: #939393;
	}
}

@page {
	size: auto;
	margin: 20mm;
}
