.pform fieldset {
	position:relative;
	margin:10px 0 30px 0;
	clear:both;
	background:#f7f7f7;
	border:0;
	-webkit-border-radius:4px;
	border-radius:4px;
	-webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.5);
	box-shadow: 0 0 3px 0 rgba(0,0,0,.5);
}
	.pform fieldset fieldset {
		background:#f0f0f0;
	}	
		.pform fieldset fieldset fieldset {
			background:#e7e7e7;
		}
			.pform fieldset fieldset fieldset fieldset {
				background:#e0e0e0;
			}
.pform fieldset legend {
	font-weight:500;
	padding:2px 8px;
	background:#f7f7f7;
	border:0;
	-webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.5);
	box-shadow: 0 0 3px 0 rgba(0,0,0,.5);
	-webkit-border-radius:4px;
	border-radius:4px;
	position:relative;
}

	.pform fieldset fieldset legend {
		background:#f0f0f0;
	}
		.pform fieldset fieldset fieldset legend {
			background:#e7e7e7;
		}	
		.pform fieldset fieldset fieldset fieldset legend {
			background:#e0e0e0;
		}

.pform fieldset .panel {
	position:absolute;
	top: 1em;
	right: 1em;
}
		
.pform fieldset.error_found {
	background:pink;
}
	.pform fieldset.error_found legend {
		background:red;
		color:white;
	}
	
.pform ol {
	padding: 5px 5px 0 5px;
	list-style: none;
}
.pform ol li {
	clear:both;
	padding-bottom: 18px;
	list-style-type:none;
}
	.pform li.li_hidden {
		display:none;
	}
.pform li label {
	display: block;
	font-weight:500;
	line-height:1.4;
}

.postcode {
	text-transform:uppercase;
}

#password_toggle {
	display:inline-block;
	height:20px;
	width:20px;
	position:absolute;
	margin-left:-30px;
	margin-top:5px;
	cursor:pointer;
	text-indent:-500em;
	background-size:contain;
	background-image:url('/img/eye.png');
	background-position:center center;
	background-repeat:no-repeat;
	opacity:.5;
}
	#password_toggle.showing,
	#password_toggle:hover {
		opacity:1;
	}


.pform li.li_checkbox span,  
.pform li.li_radio span {
	display: block;
}

.sitewide li label.error {
width: auto;
margin: 0 0 0 209px;
color: #ff0000;
}

.pform li fieldset span, .pform li label span:not(.avis) {
font-weight: normal;
color: #686869;
}

.pform li input, 
.pform li select,
.pform li textarea {
width:300px;
box-sizing:border-box;
padding:4px;
-webkit-border-radius:2px;
border-radius:2px;
background:#fff;
}



li.el_narrow select {
	width:150px;
}

.pform li.el_wide label,
.pform li.el_rte label,
.pform li.el_minrte label {
float: none;
text-align: left;
width: 95%;
}
.pform li.el_wide_400 input {
width:400px;
max-width:100%;
}
.pform li.el_wide_600 input {
width:600px;
max-width:100%;
}
.pform li.el_wide_400 textarea {
width:400px;
height:140px;
max-width:100%;
}
.pform li.el_wide_600 textarea {
width:600px;
height:200px;
max-width:100%;
}
.pform li.el_wide input, .pform li.el_wide textarea {
width: 95%;
display: block;
}

.pform li.el_wide_400 select {
width:400px;
}
.pform li.el_wide_600 select {
width:600px;
}

.pform li.el_wide p.note {
margin: 0;
}

.pform li.narrowright {
float: right;
text-align: left;
width: 30%;
}

.pform li.narrowright label, .pform li.narrowright input {
width: 90%;

}
.pform li.medleft {
text-align: left;
}

.pform li.medleft input{
width: 60%;
}

.pform li p.note {
display:inline;
padding-left:10px;
font-style:italic;
}
.pform li.li_checkbox p.note,
.pform li.li_radio p.note {
display:block;
}

.pform li span.red, 
.pform label.error,
.pform b.red {
    color: #bb0000;
}
.pform li span.bold {
	font-weight:bold;
}

.pform li.li_checkbox input,
.pform li.li_radio input {
width:auto;
}

.pform li.li_checkbox label,
.pform li.li_radio label {
float:none;
width:auto;
text-align:left;
}

.pform .readonly {
background:#ccc;
}

.pform li.li_radio {
padding-bottom: 5px;
}

.pform li.el_hidden {
display: none;
}

.pform li.li_submit label {
visibility:hidden;
}

.pform li.orange {
background:orange;
padding:.5rem 1rem;
margin:.5rem 0;
}

.pform li.li_submit input {
    width: auto;
    border: 2px solid #2c4a6e;
    background: #3d5a80;
    color: #fff;
    border-radius: 3px;
    padding: 5px 20px;
    box-shadow: none;
    font-weight: 600;
    font-size: 16px;
    font-family: 'Inter', system-ui, sans-serif;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.pform li.li_submit input:hover {
    background: #2c4a6e;
    color: #fff;
    border-color: #2c4a6e;
    box-shadow: none;
}

.pform li.li_submit input:active {
    background: #243d5c;
    color: #fff;
    box-shadow: inset 0 0 1px 0 rgba(0,0,0,.3);
}

.pform li.li_submit input.faux_disabled,
.pform li.li_submit input:disabled {
    background: #b0b8c4;
    color: #fff;
    border: 2px solid #a0a8b4;
    cursor: not-allowed;
}



.pform li .extra_checkbox_label {
	display:inline;
	float:none;
	text-align:left;
	font-style:italic;
	margin:0;
	visibility:visible !important;
}

.pform .cke_wrapper {
	clear: both;
}

.pform li.li_checkbox,
.pform li.li_radio {
	display:grid;
	grid-template-columns:20px 1fr;
	grid-gap:10px;
}
.pform li.li_checkbox>*:first-child,
.pform li.li_radio>*:first-child {
	grid-row:1;
	grid-column:2;
}
.pform li.li_checkbox>*:last-child,
.pform li.li_radio>*:last-child {
	grid-row:1;
	grid-column:1;
	justify-self:end;
}

.pform input.no_spinners::-webkit-outer-spin-button,
.pform input.no_spinners::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pform input.no_spinners {
-moz-appearance: textfield;
}

.pform :placeholder-shown {
	font-style:italic;
}

fieldset.hidden, 
section.hidden {
display:none;
}

#upload_status {
font-size:12px;
font-style:italic;
}

.warning {
background: #bd1363;
color: white;
font-weight: bold;
padding: 5px 20px !important;
margin-bottom: 20px;
}
.warning:empty {
display:none;
}

.el_required label::after {
	content: " *";
	/* adds alt text to the symbol but doesn't work in Firefox */
	content: " *" / "Mandatory";
}
/* 
radio options can't show the required * 
*/
.el_required.li_radio label::after {
	content: '';
}
/*
move checkbox * to start of label
*/
.el_required.li_checkbox label::after {
	content:'';
}
.el_required.li_checkbox label::before {
	content:'* ';
}

:required,
.faux_required {
-webkit-box-shadow: 0 0 4px 0 rgba(255,0,0,.8);
box-shadow: 0 0 4px 0 rgba(255,0,0,.8);
}

.pform li.li_content ul li {
	list-style-type:disc;
	padding:2px 0;
	margin-left:20px;
}
.pform li.li_content 0l li {
	list-style-type:decimal;
	padding:2px 0;
	margin-left:20px;
}


li.guidance_button {
	text-align:right;
}
	li.guidance_button a {
		display:inline-block;
		text-decoration:none;
		border:0;
		-webkit-border-radius:3px;
		border-radius:3px;
		padding:5px 10px 5px 30px;
		-webkit-box-shadow: 0 0 2px 0 rgba(0,0,0,1);
		box-shadow: 0 0 2px 0 rgba(0,0,0,1);
		color:#000;
		font-weight:bold;
		background-color:#B3D88B;
		background-position:left 5px center;
		background-repeat:no-repeat;
		background-image:url('/img/external-link.png');
		background-size:20px;
	}
	
.pform li.red {
	color:#bb0000;
}
.pform li.bold {
	font-weight:bold;
}
.pform #are_you_sure.on {
	background-color:#999 !important;
	pointer-events: none;
	
}

.clearleft {
	clear:left;
}


@media only screen and (max-width: 600px) {
	
	.pform fieldset {
		border-radius:0;
		box-shadow:none;
		border:1px solid #777;
	}
}

@media only screen and (min-width: 601px) {

	.pform li label, 
	.pform li.li_checkbox span,
	.pform li.li_radio span {
		float: left;
		width: 200px;
		margin-right: 9px;
		text-align:right;
	}
	
	.pform li.el_widelabel label {
		width:400px;
	}
	.pform li.el_widelabel input,
	.pform li.el_widelabel select {
		width:100px;
	}

	.pform li.li_checkbox,
	.pform li.li_radio {
		grid-template-columns:200px 1fr;
	}

	.pform li.li_number label, 
	.pform li.el_selectyn label {
		width:420px;
	}
	.pform li.li_number input,
	.pform li.el_selectyn select {
		width:80px;
	}

	
}

@media only screen and (min-width: 1024px) {
	.two_cols_desktop li {
		width:50%;
		float:left;
		clear:none;
	}
	
	.two_cols_desktop li.cover_two_cols {
		width:100%;
		float:none;
		clear:both;
	}
}









/* additional css to fix multi-date picker next-previous link text appearing */
#multi-months span.ui-icon {text-indent: 20em;}
#multi-months {padding: 18px 0 0 0;}

/* additional css to fix absolutely positioned elements appearing above datepicker */
#ui-datepicker-div {z-index:1000 !important;}

/* additional css for timepicker */
.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
.ui-timepicker-div dl { text-align: left; }
.ui-timepicker-div dl dt { float: left; clear:left; padding: 0 0 0 5px; }
.ui-timepicker-div dl dd { margin: 0 10px 10px 45%; }
.ui-timepicker-div td { font-size: 90%; }
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }

.ui-timepicker-rtl{ direction: rtl; }
.ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; }
.ui-timepicker-rtl dl dt{ float: right; clear: right; }
.ui-timepicker-rtl dl dd { margin: 0 45% 10px 10px; }

/* remove edge password reveal */
::-ms-reveal {
    display: none;
}


