:root {
	--zs-body-color: #212529;
	--zs-body-bg: #fff;
	--zs-border-width: 1px;
	--zs-border-color: #dee2e6;
	--zs-border-radius: 0.375rem;
	--zs-border-radius-sm: 0.25rem;
	--zs-border-radius-lg: 0.5rem;
	--zs-secondary-color: rgba(33, 37, 41, 0.75);
	--zs-secondary-bg: #e9ecef;
}
.zrow {
	--zs-gutter-x: 1.5rem;
	--zs-gutter-y: 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: calc(-1 * var(--zs-gutter-y));
	margin-right: calc(-0.5 * var(--zs-gutter-x));
	margin-left: calc(-0.5 * var(--zs-gutter-x));
}
.zrow > * {
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	padding-right: calc(var(--zs-gutter-x) * 0.5);
	padding-left: calc(var(--zs-gutter-x) * 0.5);
	margin-top: var(--zs-gutter-y);
}

.zcol {
	flex: 1 0 0%;
	box-sizing: border-box;
}
.zmt-0 {
	margin-top: 0 !important;
}
.zmt-1 {
	margin-top: 0.25rem !important;
}
.zmt-2 {
	margin-top: 0.5rem !important;
}
.zmt-3 {
	margin-top: 1rem !important;
}
.zmt-4 {
	margin-top: 1.5rem !important;
}
.zmt-5 {
	margin-top: 3rem !important;
}
.zmb-0 {
	margin-bottom: 0 !important;
}  
.zmb-1 {
	margin-bottom: 0.25rem !important;
}
.zmb-2 {
	margin-bottom: 0.5rem !important;
}
.zmb-3 {
	margin-bottom: 1rem !important;
}
.zmb-4 {
	margin-bottom: 1.5rem !important;
}
.zmb-5 {
	margin-bottom: 3rem !important;
}
.zform-select {
	--zs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	display: block;
	width: 100%;
	padding: 0.375rem 2.25rem 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--zs-body-color);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--zs-body-bg);
	background-image: var(--zs-form-select-bg-img);
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 16px 12px;
	border: var(--zs-border-width) solid var(--zs-border-color);
	border-radius: var(--zs-border-radius);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.zform-select:focus {
	border-color: #86b7fe;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.zform-select:disabled {
	background-color: var(--zs-secondary-bg);
}
.zform-select-sm {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
	padding-left: 0.5rem;
	font-size: 0.875rem;
	border-radius: var(--zs-border-radius-sm);
}
  
.zform-select-lg {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	padding-left: 1rem;
	font-size: 1.25rem;
	border-radius: var(--zs-border-radius-lg);
}

.zform-label {
	margin-bottom: 0.5rem;
}
.zform-control {
	display: block;
	width: 100%;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--zs-body-color);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--zs-body-bg);
	background-clip: padding-box;
	border: var(--bs-border-width) solid var(--zs-border-color);
	border-radius: var(--zs-border-radius);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.zform-control:focus {
	color: var(--zs-body-color);
	background-color: var(--zs-body-bg);
	border-color: #86b7fe;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.zform-control::placeholder {
	color: var(--zs-secondary-color);
	opacity: 1;
}
.zform-control:disabled {
	background-color: var(--zs-secondary-bg);
	opacity: 1;
}
.zform-control-sm {
	min-height: calc(1.5em + 0.5rem + calc(var(--zs-border-width) * 2));
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
	border-radius: var(--zs-border-radius-sm);
}
.zform-control-lg {
	min-height: calc(1.5em + 1rem + calc(var(--zs-border-width) * 2));
	padding: 0.5rem 1rem;
	font-size: 1.25rem;
	border-radius: var(--zs-border-radius-lg);
}
textarea.zform-control {
	min-height: calc(1.5em + 0.75rem + calc(var(--zs-border-width) * 2));
}
textarea.zform-control-sm {
	min-height: calc(1.5em + 0.5rem + calc(var(--zs-border-width) * 2));
}
textarea.zform-control-lg {
	min-height: calc(1.5em + 1rem + calc(var(--zs-border-width) * 2));
}
@media (min-width: 576px) {	
	.zsm-1 {
		flex: 0 0 auto;
		width: 8.33333333%;
	}
	.zsm-2 {
		flex: 0 0 auto;
		width: 16.66666667%;
	}
	.zsm-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.zsm-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}
	.zsm-5 {
		flex: 0 0 auto;
		width: 41.66666667%;
	}
	.zsm-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.zsm-7 {
		flex: 0 0 auto;
		width: 58.33333333%;
	}
	.zsm-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}
	.zsm-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.zsm-10 {
		flex: 0 0 auto;
		width: 83.33333333%;
	}
	.zsm-11 {
		flex: 0 0 auto;
		width: 91.66666667%;
	}
	.zsm-12 {
		flex: 0 0 auto;
		width: 100%;
	}
}
@media (min-width: 768px) {
	.zmd-1 {
		flex: 0 0 auto;
		width: 8.33333333%;
	}
	.zmd-2 {
		flex: 0 0 auto;
		width: 16.66666667%;
	}
	.zmd-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.zmd-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}
	.zmd-5 {
		flex: 0 0 auto;
		width: 41.66666667%;
	}
	.zmd-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.zmd-7 {
		flex: 0 0 auto;
		width: 58.33333333%;
	}
	.zmd-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}
	.zmd-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.zmd-10 {
		flex: 0 0 auto;
		width: 83.33333333%;
	}
	.zmd-11 {
		flex: 0 0 auto;
		width: 91.66666667%;
	}
	.zmd-12 {
		flex: 0 0 auto;
		width: 100%;
	}
}

@media (min-width: 992px) {
	.zlg-1 {
	  flex: 0 0 auto;
	  width: 8.33333333%;
	}
	.zlg-2 {
	  flex: 0 0 auto;
	  width: 16.66666667%;
	}
	.zlg-3 {
	  flex: 0 0 auto;
	  width: 25%;
	}
	.zlg-4 {
	  flex: 0 0 auto;
	  width: 33.33333333%;
	}
	.zlg-5 {
	  flex: 0 0 auto;
	  width: 41.66666667%;
	}
	.zlg-6 {
	  flex: 0 0 auto;
	  width: 50%;
	}
	.zlg-7 {
	  flex: 0 0 auto;
	  width: 58.33333333%;
	}
	.zlg-8 {
	  flex: 0 0 auto;
	  width: 66.66666667%;
	}
	.zlg-9 {
	  flex: 0 0 auto;
	  width: 75%;
	}
	.zlg-10 {
	  flex: 0 0 auto;
	  width: 83.33333333%;
	}
	.zlg-11 {
	  flex: 0 0 auto;
	  width: 91.66666667%;
	}
	.zlg-12 {
	  flex: 0 0 auto;
	  width: 100%;
	}
}