@charset "utf-8";
/* CSS Document */

/***************************************************************/
/* CONCRETE 9 EXPRESS FORM - MULTISTEP */
/***************************************************************/

.c5-express-multistep,
.c5-express-multistep * {
	box-sizing:border-box;
}


/***************************************************************/
/* FORM WRAPPER */
/***************************************************************/

.c5-express-multistep {
	width:100%;
	padding:28px 35px;
	background:#fff;
	border-radius:6px;
	box-shadow:0 0 5px rgba(0,0,0,.30);
	color:#555;
}


/***************************************************************/
/* MAIN GRID */
/***************************************************************/

.c5-express-multistep .ccm-dashboard-express-form > fieldset {
	width:100%;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px 28px;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
}


/***************************************************************/
/* SECTION TITLES */
/***************************************************************/

.c5-express-multistep .ccm-dashboard-express-form > fieldset > h6 {
	grid-column:1 / -1;
	margin:0 0 8px;
	padding:0 0 10px;
	color:#1d2a4f;
	font-size:clamp(1.1em,1.5vw,1.4em);
	font-weight:400;
	line-height:1.25;
	border-bottom:1px solid #ddd;
}

.c5-express-multistep .ccm-dashboard-express-form > fieldset > div:has(p) {
    grid-column: 1 / -1;
}


/***************************************************************/
/* STANDARD FIELDS */
/***************************************************************/

.c5-express-multistep .mb-3 {
	width:100%;
	min-width:0;
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	gap:4px 3px;
	margin:0 !important;
	padding:0;
}

.c5-express-multistep .form-label {
	grid-column:1;
	width:auto;
	margin:0;
	color:#555;
	font-size:.9em;
	font-weight:500;
	line-height:1.2;
}

.c5-express-multistep .form-control,
.c5-express-multistep .form-select {
	width:100%;
	min-width:0;
	min-height:38px;
	display:block;
    grid-column:1 / -1;
	margin:0;
	padding:6px 10px;
	color:#444;
	background:#fff;
	border:1px solid #bbb;
	border-radius:4px;
	font-size:.9em;
	line-height:1.3;
	outline:none;
	transition:border-color .2s ease,box-shadow .2s ease;
}

.c5-express-multistep textarea.form-control {
	min-height:95px;
	resize:vertical;
}

.c5-express-multistep .form-control:focus,
.c5-express-multistep .form-select:focus {
	border-color:#6d85aa;
	box-shadow:0 0 0 2px rgba(109,133,170,.15);
}


/***************************************************************/
/* REQUIRED FIELDS */
/***************************************************************/

.c5-express-multistep .text-muted.small {
	position:relative;
	display:inline-block;
	width:auto;
	margin:0;
	font-size:0;
	line-height:1;
	visibility:hidden;
}

.c5-express-multistep .text-muted.small::before {
	content:"*" !important;
	position:static !important;
	display:inline !important;
	visibility:visible !important;
	color:#b60000;
	font-size:14px;
	font-weight:700;
	line-height:1;
}

.c5-express-multistep .form-control:invalid {
	border-color:#cc0000;
	background:#fff6f6;
	box-shadow:0 0 3px rgba(204,0,0,.25);
}


/***************************************************************/
/* SELECTS */
/***************************************************************/

.c5-express-multistep .form-select {
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	padding-right:38px;
	background-image:
		linear-gradient(45deg,transparent 50%,#777 50%),
		linear-gradient(135deg,#777 50%,transparent 50%);
	background-position:
		calc(100% - 17px) 50%,
		calc(100% - 12px) 50%;
	background-size:5px 5px;
	background-repeat:no-repeat;
}


/***************************************************************/
/* ADDRESS */
/***************************************************************/

.c5-express-multistep .ccm-dashboard-express-form > fieldset > fieldset {
	grid-column:1 / -1;
	width:100%;
	margin:0;
	padding:16px 18px;
	background:#f7f7f7;
	border:1px solid #d2d2d2 !important;
	border-radius:5px;
}

.c5-express-multistep fieldset > legend {
	width:auto;
	margin:0 0 10px;
	padding:0 5px;
	color:#507194;
	font-size:1em;
	font-weight:400;
}

.c5-express-multistep .ccm-attribute-address-composer-wrapper {
	width:100%;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px 18px;
}

.c5-express-multistep .ccm-attribute-address-composer-wrapper .mb-3 {
	width:100%;
}


/***************************************************************/
/* CHECKBOX + RADIO GROUPS */
/***************************************************************/

.c5-express-multistep .mb-3:has(.form-check) {
	grid-column:1 / -1;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	gap:8px 18px;
	padding:12px 15px;
	background:#f8f8f8;
	border:1px solid #ddd;
	border-radius:4px;
}

.c5-express-multistep .mb-3:has(.form-check) > .form-label {
	width:100%;
	flex:0 0 100%;
	margin:0 0 4px;
	color:#1d2a4f;
	font-weight:600;
}

.c5-express-multistep .form-check {
	width:auto;
	min-height:20px;
	display:inline-flex;
	flex:0 0 auto;
	align-items:center;
	gap:6px;
	margin:0;
	padding:0;
}

.c5-express-multistep .form-check-input {
	width:16px;
	height:16px;
	flex:0 0 16px;
	margin:0;
	accent-color:#b48b50;
	cursor:pointer;
}

.c5-express-multistep .form-check-label {
	width:auto;
	margin:0;
	font-size:.9em;
	line-height:1.2;
	white-space:nowrap;
	cursor:pointer;
}


/***************************************************************/
/* KEEP SPECIFIC YES / NO GROUPS HALF WIDTH */
/***************************************************************/

.c5-express-multistep
.mb-3:has(label[for="akID[298][atSelectOptionValue]"]),
.c5-express-multistep
.mb-3:has(label[for="akID[293][atSelectOptionValue]"]) {
	grid-column:auto;
}


/***************************************************************/
/* LONG / FULL WIDTH FIELDS */
/***************************************************************/

.c5-express-multistep .mb-3:has(textarea),
.c5-express-multistep .mb-3:has(input[type="file"]),
.c5-express-multistep .mb-3:has(#akID\[321\]\[value\]),
.c5-express-multistep .mb-3:has(#akID-322-value) {
	grid-column:1 / -1;
}


/***************************************************************/
/* FILE UPLOADS */
/***************************************************************/

.c5-express-multistep input[type="file"] {
	width:100%;
	min-height:38px;
	padding:4px;
	background:#fff;
	border:1px solid #bbb;
	border-radius:4px;
	color:#555;
	font-size:.88em;
}

.c5-express-multistep input[type="file"]::file-selector-button {
	height:28px;
	margin:0 10px 0 0;
	padding:4px 14px;
	background:#1d2a4f;
	border:0;
	border-radius:3px;
	color:#fff;
	font-size:.9em;
	cursor:pointer;
	transition:background .2s ease;
}

.c5-express-multistep input[type="file"]::file-selector-button:hover {
	background:#b48b50;
}


/***************************************************************/
/* NDA */
/***************************************************************/

.c5-express-multistep .ms-step-text {
	grid-column:1 / 2;
	margin:0;
	padding:16px 20px;
	background:#f7f7f7;
	border-left:4px solid #b48b50;
	line-height:1.5;
}

.c5-express-multistep .mb-3:has(#akID\[318\]\[value\]) {
	grid-column:2 / 3;
	align-self:start;
	padding:16px 20px;
	background:#fafafa;
	border:1px solid #ddd;
	border-radius:4px;
}

.c5-express-multistep
.mb-3:has(#akID\[318\]\[value\]) > .form-label {
	margin-bottom:8px;
	color:#1d2a4f;
	font-weight:600;
}


/***************************************************************/
/* TURNSTILE */
/***************************************************************/

.c5-express-multistep .captcha {
	grid-column:1 / -1;
	margin:2px 0 0;
}


/***************************************************************/
/* STEP NAVIGATION */
/***************************************************************/

.c5-step-nav {
	grid-column:1 / -1;
	width:100%;
	display:flex;
	justify-content:flex-end;
	gap:12px;
	margin:8px 0 0;
	padding-top:15px;
	border-top:1px solid #ddd;
}

.c5-express-multistep .btn-primary,
.c5-express-multistep .btn-secondary {
	min-width:170px;
	min-height:42px;
	margin:0;
	padding:8px 25px;
	border:1px solid transparent;
	border-radius:3px;
	color:#fff !important;
	font-size:.9em;
	cursor:pointer;
	transition:background .2s ease;
}

.c5-express-multistep .btn-secondary {
	background:#777 !important;
}

.c5-express-multistep .btn-secondary:hover {
	background:#666 !important;
}

.c5-express-multistep .btn-primary {
	background:#b48b50 !important;
}

.c5-express-multistep .btn-primary:hover {
	background:#9e7844 !important;
}


/***************************************************************/
/* RESPONSIVE */
/***************************************************************/

@media screen and (max-width:768px) {

	.c5-express-multistep {
		padding:22px 18px;
	}

	.c5-express-multistep .ccm-dashboard-express-form > fieldset {
		grid-template-columns:1fr;
		gap:12px;
	}

	.c5-express-multistep .ccm-attribute-address-composer-wrapper {
		grid-template-columns:1fr;
	}

	.c5-express-multistep
	.mb-3:has(label[for="akID[298][atSelectOptionValue]"]),
	.c5-express-multistep
	.mb-3:has(label[for="akID[293][atSelectOptionValue]"]),
	.c5-express-multistep .ms-step-text,
	.c5-express-multistep .mb-3:has(#akID\[318\]\[value\]) {
		grid-column:1 / -1;
	}

	.c5-step-nav {
		flex-direction:column-reverse;
	}

	.c5-express-multistep .btn-primary,
	.c5-express-multistep .btn-secondary {
		width:100%;
	}

}

@media screen and (max-width:480px) {

	.c5-express-multistep .mb-3:has(.form-check) {
		gap:8px 14px;
		padding:10px 12px;
	}

	.c5-express-multistep .form-check-label {
		white-space:normal;
	}

}

