/* ==================== [ Root CSS Start ] ==================== */
/* ==================== [ Core Colors ] ==================== */
:root {
	--white: #ffffff;
	--black: #000000;
	--black-10: rgba(0, 0, 0, 0.1);
	--transparent: #0000;
}

/* ==================== [ Brand / Theme ] ==================== */
:root {
	--primary: #2A706F;
	--body: #FAF8FA;
	--secondary: #979696;
	--muted: #F5F5F8;
	--border: var(--black-10);
}

/* ==================== [ Fonts ] ==================== */
:root {
	--font-primary: "Instrument Sans", sans-serif;
}

/* ==================== [ Layout / Container ] ==================== */
:root {
	--container: 1440px;
	--container-padding: 20px;
	--row-gutter-space: 24px;
}

/* ==================== [ Typography – Common ] ==================== */
:root {
	--a-color: var(--black);
	--a-hover-color: var(--primary);
}

/* ==================== [ Headings ] ==================== */
:root {
	--heading-color: var(--black);
	--heading-font-family: var(--font-primary);
	--heading-mb: 20px;
	--heading-fw: 500;

	--h1-fs: 40px;
	--h1-lh: 125%;

	--h2-fs: 32px;
	--h2-lh: 130%;

	--h3-fs: 24px;
	--h3-lh: 135%;

	--h4-fs: 20px;
	--h4-lh: 140%;

	--h5-fs: 16px;
	--h5-lh: 150%;

	--h6-fs: 14px;
	--h6-lh: 155%;

}

/* ==================== [ Root CSS End ] ==================== */

/* ==================== [ Brand Global CSS Start ] ==================== */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	scroll-behavior: smooth;
}

.custom-theme {
	color: var(--black);
	font-family: var(--font-primary);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 162.5%;
	/* background: var(--body); */
	overflow-x: hidden;
}


/* ==================== [ Brand Global CSS End ] ==================== */

/* ==================== [ Typography Start ] ==================== */
.custom-theme p {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	margin-bottom: 20px;
}

.custom-theme .h1>* {
	color: var(--heading-color);
	font-family: var(--heading-font-family);
	font-size: var(--h1-fs);
	line-height: var(--h1-lh);
	font-weight: var(--heading-fw);
	margin-bottom: var(--heading-mb);
}

.custom-theme .h2>* {
	color: var(--heading-color);
	font-family: var(--heading-font-family);
	font-size: var(--h2-fs);
	line-height: var(--h2-lh);
	font-weight: var(--heading-fw);
	margin-bottom: var(--heading-mb);
}

.custom-theme .h3>* {
	color: var(--heading-color);
	font-family: var(--heading-font-family);
	font-size: var(--h3-fs);
	line-height: var(--h3-lh);
	font-weight: var(--heading-fw);
	margin-bottom: var(--heading-mb);
}

.custom-theme .h4>* {
	color: var(--heading-color);
	font-family: var(--heading-font-family);
	font-size: var(--h4-fs);
	line-height: var(--h4-lh);
	font-weight: var(--heading-fw);
	margin-bottom: var(--heading-mb);
}

.custom-theme .h5>* {
	color: var(--heading-color);
	font-family: var(--heading-font-family);
	font-size: var(--h5-fs);
	line-height: var(--h5-lh);
	font-weight: var(--heading-fw);
	margin-bottom: var(--heading-mb);
}

.custom-theme .h6>* {
	color: var(--heading-color);
	font-family: var(--heading-font-family);
	font-size: var(--h6-fs);
	line-height: var(--h6-lh);
	font-weight: var(--heading-fw);
	margin-bottom: var(--heading-mb);
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
}

textarea {
	resize: none;
}

/* ==================== [ Typography End ] ==================== */

/* ==================== [ Common Start ] ==================== */
.row {
	margin-inline: calc(var(--row-gutter-space) / -2);
	row-gap: var(--row-gutter-space);
}

.row>* {
	padding-inline: calc(var(--row-gutter-space) / 2);
}

/* ==================== [ Common End ] ==================== */

/* ==================== [ Common Heading Start ] ==================== */
/* ==================== [ Common Heading End ] ==================== */

/* ==================== [ Button Start ] ==================== */
.btn {
	width: fit-content;
	padding: 10px 20px;
	text-align: center;
	font-family: var(--font-primary);
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	border-radius: 6px;
	border: 1px solid;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
}

.btn-sm {
	padding: 6px 20px;
}

.btn-primary {
	color: var(--white);
	background: var(--primary);
	border-color: var(--primary);
}

.btn-primary:is(:hover, :focus-visible, :active, .active) {
	color: var(--primary) !important;
	background-color: var(--transparent) !important;
	border-color: var(--primary) !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.btn-secondary {
	color: var(--white);
	background: var(--secondary);
	border-color: var(--secondary);
}

.btn-secondary:is(:hover, :focus-visible, :active, .active) {
	color: var(--secondary) !important;
	background-color: var(--transparent) !important;
	border-color: var(--secondary) !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.btn-muted {
	color: var(--secondary);
	background: var(--muted);
	border-color: var(--border);
}

.btn-muted:is(:hover, :focus-visible, :active, .active) {
	color: var(--secondary) !important;
	background-color: var(--border) !important;
	border-color: var(--border) !important;
	box-shadow: none !important;
	outline: 0 !important;
}

/* ==================== [ Button End ] ==================== */

/* ==================== [ Extra Common Start ] ==================== */
.container-fluid,
.container {
	padding-inline: var(--container-padding);
	margin-inline: auto;
}

.swiper-linear .swiper-wrapper {
	transition-timing-function: linear !important;
}

/* ==================== [ Extra Common End ] ==================== */

/* ==================== [ Map Start ] ==================== */
/* .page-content {
	padding: 80px 0;
} */
.page-content > .container{
	max-width: 100% !important;
	padding: 0 !important;
}
.page-content .iframe-map {
	max-width: 100%;
	width: 100%;
	aspect-ratio: 1440/550;
	overflow: hidden;
	border-radius: 16px;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	-ms-border-radius: 16px;
	-o-border-radius: 16px;
}

.page-content .iframe-map iframe {
	width: 100%;
	height: 100%;
}

.page-content .map-markers {
	margin-block: 26px;
}

.page-content .map-markers ul {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-content .map-markers ul li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
}

.page-content .map-markers ul li .icon {
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}

.page-content .map-markers ul li .icon * {
	width: 50%;
	max-height: 50%;
	height: auto;
	object-fit: contain;
	object-position: center;
	color: inherit;
}

.page-content .filter-box {
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	gap: 8px;
	background-color: var(--white);
	border: 1px solid var(--border);
	padding: 8px;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
}

.page-content .filter-box>* {
	flex-grow: 1;
	width: 100%;
}

.page-content .filter-box .search {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px;
	border: 1px solid var(--border);
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
	color: var(--secondary);
}

.page-content .filter-box .search .icon * {
	color: inherit;
}

.page-content .filter-box .search .form-control {
	box-shadow: none !important;
	outline: 0 !important;
	border: 0;
	padding: 0;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	color: var(--black);
}

.page-content .filter-box .search .form-control::placeholder {
	opacity: 1;
	color: var(--secondary);
}


.select2-container--default .select2-selection--single {
	height: auto;
	padding: 6px 14px 6px 32px;
	border: 1px solid var(--border);
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
	color: var(--secondary);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	position: relative;
	top: unset;
	left: unset;
	border: 0;
	width: 20px;
	height: 20px;
	background: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6 9L12 15L18 9" stroke="%23979696" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg> ') no-repeat center;
	background-size: contain;
}

.select2-container--open .select2-selection--single .select2-selection__arrow b {
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
}

.select2-container--open .select2-dropdown {
	border: 1px solid var(--border);
	overflow: hidden;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--primary);
}

.select2-selection__clear {
	display: none;
}

.filter-select {
	position: relative;
}

.filter-select .icon {
	pointer-events: none;
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 8px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
}

.filter-select .icon * {
	color: var(--secondary);
}

.filter-reset-btn {
	width: fit-content !important;
	text-wrap: nowrap;
}


.digital-laws .heading .title * {
	margin-bottom: 20px;
}

.digital-laws .card {
	border: 1px solid var(--border);
	height: 100%;
	background-color: #fff4eb;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.digital-laws .card-body{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.digital-laws .card .card-content {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 24px;
}

.digital-laws .card .card-content .icon {
	flex-shrink: 0;
	width: 40px;
	height: 26px;
	/* overflow: hidden; */
	display: flex;
	align-items: start;
	justify-content: center;
}

.digital-laws .card .card-content .icon * {
	width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: 50% 0%;
	/* box-shadow: 1px 1px 4px #000000; */
}

.digital-laws .card .card-content .title * {
	margin-bottom: 2px;
	margin-top: -5px;
}

.digital-laws .card .card-content .disc * {
	margin-bottom: 4px;
}

.digital-laws .card .card-content ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 30px;
}

.digital-laws .card .card-content ul li {
	position: relative;
}

.digital-laws .card .card-content ul li:not(:last-child)::after {
	position: absolute;
	content: "•";
	top: 50%;
	right: -18px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
}

.digital-laws .card .card-content .year {
	margin-left: auto;
	flex-shrink: 0;
}

.digital-laws .card .card-content .year * {
	margin-bottom: 0;
}

.digital-laws .card .card-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

.digital-laws .card .card-action .badge {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px;
	font-size: 16px;
	font-weight: 400;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
}

.digital-laws .card .card-action .btn svg {
	font-size: 12px;
}

.digital-laws .view-more {
	margin-top: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==================== [ Map End ] ==================== */