/* Universal Styles and Typography */
body {
	font-family: "Montserrat", sans-serif;
	line-height: 1.6;
	margin: 0;
	color: #666;
	background-color: #ffffff;
}
a {
	color: #007c9e;
}
.container {
	width: 90%;
	max-width: 1200px;
	margin: auto;
	overflow: hidden;
}
h2 {
	color: #000;
	margin-bottom: 20px;
	font-size: 1.5rem;
	font-weight: 300;
	text-transform: uppercase;
}
h3 {
	border-bottom: none;
	font-size: 1.1rem;
	font-weight: 800;
	color: #000000;
	margin: 0 0 10px;
}
/* ul {
	column-count: 2;
} */
li {
	margin-bottom: 10px;
}
/* Header and Navigation */
header {
	background: white;
	padding: 1rem 0;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	position: sticky;
	top: 0;
	z-index: 1000;
}
.navbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 5%;
}
.navbar ul {
	list-style-type: none;
	text-transform: uppercase;
	font-size: 0.75rem;
}
.logo img {
	height: 50px;
}
.nav-links {
	display: flex;
	gap: 20px;
	margin: 0;
}
.nav-links a {
	color: #007c9e;
	text-decoration: none;
	transition: color 0.3s ease;
	font-weight: 400;
}
.nav-links a:hover {
	color: #000000;
}
/* Hamburger icon for mobile view */
.menu-toggle {
	display: none;
	cursor: pointer;
	font-size: 1.5rem;
	color: #007c9e;
}
/* Sections and Content Styling */
section {
	padding: 40px 0;
	margin-bottom: 20px;
	background: white;
	scroll-margin-top: 60px;
}
#welcome {
	background-color: #f9f9f9;
	border-bottom: 1px solid #dddddd;
	display: flex;
	align-items: center;
}
#team {
	border-top: 1px solid #c5eafa;
	border-bottom: 1px solid #c5eafa;
	background-color: #f4fbfe;
}
section:not(:last-of-type) {
	margin-bottom: 20px;
}
.update-entry {
	box-shadow: 4px 2px 6px #dddddd;
}
.update-entry,
.faq-item {
	background: #fafafa;
	padding: 20px;
	margin-bottom: 15px;
	border: 1px solid #ddd;
	border-radius: 3px;
}
.update-entry h3 {
	border-bottom: none;
	font-size: 1.1rem;
	font-weight: 800;
	color: #000000;
	margin: 0 0 10px;
}
table {
	width: 100%;
}
table,
th,
td {
	border: 1px solid black;
	border-collapse: collapse;
}
th,
td {
	padding: 3px;
	/* text-align: center; */
}
td.brand-color-01 {
	background-color: #007c9e;
	color: #ffffff;
}
td.brand-color-02 {
	background-color: #cc4d16;
	color: #ffffff;
}
td.brand-color-03 {
	background: #a9a9a9;
	color: #ffffff;
}
:root {
	--bg-table-stripe: #f6f6f5;
	--b-table: #e3e3e2;
	--caption: #242423;
}
table {
	background-color: transparent;
	border-collapse: collapse;
	font-family: Arial, Helvetica, sans-serif;
}
th {
	text-align: left;
}
.dcf-txt-center {
	text-align: center !important;
}
.dcf-txt-left {
	text-align: left !important;
}
.dcf-txt-right {
	text-align: right !important;
}
.dcf-table caption {
	color: var(--caption);
	font-size: 1.13em;
	font-weight: 700;
	padding-bottom: 0.56rem;
}
.dcf-table thead {
	font-size: 0.84em;
}
.dcf-table tbody {
	border-bottom: 1px solid var(--b-table);
	border-top: 1px solid var(--b-table);
	font-size: 0.84em;
}
.dcf-table tfoot {
	font-size: 0.84em;
}
.dcf-table td,
.dcf-table th {
	padding-right: 1.78em;
}
.jtf-table {
	max-width: 40rem;
}
.dcf-table-bordered,
.dcf-table-bordered td,
.dcf-table-bordered th {
	border: 1px solid var(--b-table);
}
.dcf-table-bordered td,
.dcf-table-bordered th,
.dcf-table-striped td,
.dcf-table-striped th {
	padding-left: 1em;
	padding-right: 1em;
}
.dcf-table-bordered tr:not(:last-child),
.dcf-table-striped tr:not(:last-child) {
	border-bottom: 1px solid var(--b-table);
}
.dcf-table-striped tbody tr:nth-of-type(2n) {
	background-color: var(--bg-table-stripe);
}
.dcf-table thead td,
.dcf-table thead th {
	padding-bottom: 0.75em;
	vertical-align: bottom;
}
.dcf-table tbody td,
.dcf-table tbody th,
.dcf-table tfoot td,
.dcf-table tfoot th {
	padding-top: 0.75em;
	vertical-align: top;
}
.dcf-table tbody td,
.dcf-table tbody th {
	padding-bottom: 0.75em;
}
.dcf-table-bordered thead th {
	padding-top: 1.33em;
}
.dcf-wrapper-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	padding-bottom: 1em;
	position: relative;
	right: 50%;
	width: 100vw;
}
@media only screen and (max-width: 42.09em) {
	.dcf-table-responsive thead {
		clip: rect(0 0 0 0);
		-webkit-clip-path: inset(50%);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		width: 1px;
		white-space: nowrap;
	}
	.dcf-table-responsive tr {
		display: block;
	}
	.dcf-table-responsive td {
		-webkit-column-gap: 3.16vw;
		-moz-column-gap: 3.16vw;
		column-gap: 3.16vw;
		display: grid;
		grid-template-columns: 1fr 2fr;
		text-align: left !important;
	}
	.dcf-table-responsive.dcf-table-bordered,
	.dcf-table-responsive.dcf-table-bordered thead th {
		border-width: 0;
	}
	.dcf-table-responsive.dcf-table-bordered tbody td {
		border-top-width: 0;
	}
	.dcf-table-responsive:not(.dcf-table-bordered) tbody tr {
		padding-bottom: 0.75em;
	}
	.dcf-table-responsive:not(.dcf-table-bordered) tbody td {
		padding-bottom: 0;
	}
	.dcf-table-responsive:not(.dcf-table-bordered):not(.dcf-table-striped) tbody td {
		padding-right: 0;
	}
	.dcf-table-responsive.dcf-table-bordered tbody tr:last-child td:last-child {
		border-bottom-width: 0;
	}
	.dcf-table-responsive tbody td:before {
		content: attr(data-label);
		float: left;
		font-weight: 700;
		padding-right: 1.78em;
	}
}
.dcf-overflow-x-auto {
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
}

details {
	summary {
		cursor: pointer;
		display: flex;
		&::before {
			content: "\25B6";
			display: inline-block;
			width: 1.5rem;
		}
	}
	&[open] {
		summary::before {
			content: "\25BC";
		}
	}
}

/* Footer */
footer {
	background: #ffffff;
	color: #000000;
	text-align: center;
	padding: 20px 0;
	margin-top: 20px;
}
/* Responsive Design (Media Queries) */
@media (max-width: 768px) {
	.navbar {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding: 0 5%;
	}
	.nav-links {
		display: none;
		flex-direction: column;
		width: 100%;
		text-align: center;
		margin-top: 15px;
		position: absolute;
		top: 70px;
		left: 0;
		background: white;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	}
	.nav-links.active {
		display: flex;
		padding: 20px;
	}
	.nav-links li {
		margin-bottom: 10px;
	}
	.menu-toggle {
		display: block;
	}
	.container {
		width: 90%;
	}
	.navbar .logo img {
		width: 90%;
	}
	ul {
		column-count: 1;
	}
}
