


.form-public {
    max-width:600px;
    margin:20px auto;
    background:#fff;
    border-radius:2px;
    padding:0px;
 /*   font-family: Source Sans Pro, sans-serif;*/
}
.form-public h1{
    display: block;
    text-align: center;
    padding: 0;
    margin: 0px 0px 20px 0px;
    color: #5C5C5C;
    font-size:x-large;
}
.form-public ul{
    list-style:none;
    padding:0;
    margin:0;   
}
.form-public li{
    display: block;
    padding: 9px;
    border:1px solid #DDDDDD;
    margin-bottom: 30px;
    border-radius: 3px;
}

.form-public li.subhead {
	font-weight: 600;
	border: 0px;
	background-color: #f9f9f9;
	font-size: 18px;
	position: relative;
	z-index: 2;
}

.form-public li.subhead.major {
	font-size: 24px;
	text-align: center;
}

.form-public li.subhead + li.description {
	margin-top: -32px;
	position: relative;
	z-index: 0;
}

.form-public li:last-child{
    border:none;
    margin-bottom: 0px;
    text-align: center;
}

.form-public li:not(.group)  ul:not(.select2-selection__rendered) li, .form-public li:not(.group) ul:not(.select2-selection__rendered) li:last-child, .form-public li:not(.group) ol li, .form-public li:not(.group) ol li:last-child  {
	display: list-item;
	border: 0px;
	margin: 0;
	text-align: left;
}

.form-public li .internal_list li, .form-public #item_message ul li {
	list-style-type: square;
	margin: 0.15em 0em 0.1em 1.5em !important;
	padding: 0px;
}

.form-public #item_message ul, .form-public #item_message ol {
	padding-inline-start: 40px;
}

.form-public #item_message ol li {
	list-style-type: decimal;
	margin: 0.15em 0em 0.1em 1.5em !important;
	padding: 0px;
}

.form-public #item_message blockquote {
	border-left: 5px solid #888;
	margin-left: 1em;
	padding-left: 1em;
}

.form-public .radio_span {
	white-space: nowrap;
}

.form-public .radio_span label {
	white-space: normal;
}

.form-public .radio_span label .note {
	font-weight: 200;
}

.form-public li > label{
    display: block;
    float: left;
    margin-top: -20px;
    background: #FFFFFF;
    height: 16px;
    padding: 2px 5px 2px 5px;
    color: #888;
    font-size: 16px;
    overflow: hidden;
 /*   font-family: Arial, Helvetica, sans-serif;*/
}

.form-public li > label{
    margin-top: -21px;
	height: 17px;	/* font compat */
}

.form-public li > label + div {
	padding-top: 5px;
}


.form-public input[type="checkbox"] + label {
	display: inline-block;
	width: calc(100% - 1.75em);
	vertical-align: top;
	margin-top: 0em;
	float: none;
	font-size: 14px;
	padding: 1px 0px;
}


.form-public li input[type="hidden"] + div {
	display: block;
	width: 100%;
	padding-top: 2px;
	color: #888;
}

.form-public.paperwork li input[type="hidden"] + div {
	font-size: 1.5em;
}

.form-public .description .download .fa-w-12 {
	font-size: 3em;
	display: inline-block;
	vertical-align: middle;
	margin: .2em;
}

.form-public .description .download a {
	font-size: 1.5em;
	display: inline-block;
	vertical-align: middle;
	margin: .2em;
}

@media screen and (max-width: 480px) {
	.form-public li > label{
		overflow: visible;
	}
	
	.form-public li > label.long_label {
		height: 2.5em;
	}
	.form-public li > label.extra_long_label {
		height: 3.5em;
	}
}

@media screen and (max-width: 320px) {
	.form-public li > label{
		overflow: visible;
		height: 2em;
	}
	
	.form-public li > label.long_label {
		height: 3em;
	}
	.form-public li > label.extra_long_label {
		height: 4em;
	}
}

.form-public input[type="text"],
.form-public input[type="date"],
.form-public input[type="datetime"],
.form-public input[type="tel"],
.form-public input[type="email"],
.form-public input[type="number"],
.form-public input[type="search"],
.form-public input[type="time"],
.form-public input[type="url"],
.form-public input[type="password"],
.form-public textarea,
.form-public select
{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    display: block;
    outline: none;
    border: none;
    height: 27px;
    line-height: 27px;
    font-size: 18px;
    padding: 0;
    font-family: Source Sans Pro, sans-serif;
    font-weight: 200;
    background-color: #fbfbfb;
}
.form-public .auxinput input[type="text"] {
	width: auto;
	display: inline;
}

.form-public select {
	margin-top: 4px;
	margin-bottom: 4px;
}

.form-public input[type="text"]:focus,
.form-public input[type="date"]:focus,
.form-public input[type="datetime"]:focus,
.form-public input[type="tel"]:focus,
.form-public input[type="email"]:focus,
.form-public input[type="number"]:focus,
.form-public input[type="search"]:focus,
.form-public input[type="time"]:focus,
.form-public input[type="url"]:focus,
.form-public input[type="password"]:focus,
.form-public textarea:focus,
.form-public select:focus 
{
	background-color: lightyellow;
}

.form-public input[type="text"]:invalid,
.form-public input[type="date"]:invalid,
.form-public input[type="datetime"]:invalid,
.form-public input[type="tel"]:invalid,
.form-public input[type="email"]:invalid,
.form-public input[type="number"]:invalid,
.form-public input[type="search"]:invalid,
.form-public input[type="time"]:invalid,
.form-public input[type="url"]:invalid,
.form-public input[type="password"]:invalid,
.form-public textarea:invalid,
.form-public select:invalid 
{
	border-bottom: 2px dotted red;
}
.form-public li > span{
    background: #F8F8F8;
    display: block;
    padding: 3px;
    margin: 3px -9px -9px -9px;
    text-align: center;
    color: #888;
 /*   font-family: Source Sans Pro, sans-serif;*/
    font-weight: 300;
    font-size: 12px;
}
.form-public textarea{
    resize:none;
}
.form-public input[type="submit"],
.form-public input[type="button"]{
 /*   background: #2471FF;*/
 	background: #946f9f;
    border: none;
    padding: 10px 20px 10px 20px;
/*    border-bottom: 3px solid #5994FF;*/
    border-bottom: 3px solid #BEA7C6;
    border-radius: 3px;
/*    color: #D2E2FF;*/
	color: white;
	font-size: 16px;
	font-weight: 500;
}
.form-public input[type="submit"]:hover,
.form-public input[type="button"]:hover{
/*    background: #6B9FFF;*/
   border-bottom-color: #6C4279;
   background: #6C4279;
    color:#fff;
}

.render_full .form-public {
	max-width: 100%;
	margin: 0 0;
}

.render_full .form-public li > label, .render_full .form-public li > span {
	color: #444;
}

.form-public li table {border-spacing: 0px; margin-left: -9px;
margin-right: -9px;}
.form-public li table th, .form-public li table td {padding: 6px 4px; border: 0px;}
.form-public li table td.even {background-color: #f8f8f8;}
.form-public li table .first {padding-left: 13px;}

.form-public li table.full {width: calc(100% + 18px); border: 0px; margin-top: 0.75em; }

.form-public li .checkbox_group .input_subgrouping {
	margin-top: .3em;
	margin-bottom: .1em;
	display: block;
}

.form-public li .radio_group .input_subgrouping {
	margin-top: .3em;
	margin-bottom: .1em;
	display: block;
}

.form-public .select2 li > span{ 
	margin: 0;
	display: inline-block;
	text-align: left;
	font-size: 14px;
	color: #444;
}

.form-public .select2 li:last-child, .form-public .select2 li {
	margin-bottom: 0px;
}

.form-public .select2 span { 
	text-align: left;
}

.form-public .select2-container {
	margin-left: 0;
	margin-bottom: 3px;
}

.EasyMDEContainer {
}

.form-public .EasyMDEContainer ul {
	list-style: initial;
	padding-inline-start: 40px;
}

.form-public .EasyMDEContainer  li, .form-public .EasyMDEContainer li:last-child {
	display: list-item;
	border: none;
	margin-bottom: .1em;
	padding: 0px;
	text-align: left;
}
/*
@media screen and (min-width: 800px) {
	.form-public input[type="checkbox"] + label {
		width: 97%;
	}
}

@media screen and (min-width: 1200px) {
	.form-public input[type="checkbox"] + label {
		width: 98%;
	}
}

@media screen and (min-width: 1600px) {
	.form-public input[type="checkbox"] + label {
		width: 98.5%;
	}
}*/


@media screen and (max-width: 480px) {
	.form-public input {width: auto; }
.form-public input[type="text"],
.form-public input[type="date"],
.form-public input[type="datetime"],
.form-public input[type="email"],
.form-public input[type="number"],
.form-public input[type="search"],
.form-public input[type="time"],
.form-public input[type="url"],
.form-public input[type="password"],
.form-public textarea,
.form-public select {width: 100%}
	.form-public li > label {display: block}
	.form-public label {display: inline}
	
	.form-public .auxinput {
		display: block;
	}
	
	.form-public .auxinput input[type="text"] {
		width: 85%;
		width: -webkit-fill-available;
	}
	
	.form-public .radio_span {
		white-space: normal;
	}
	
	.form-public input[type="checkbox"] + label {
		width: 90%;
	}
}

@media (prefers-color-scheme: dark) {
	.form-public input[type="text"],
	.form-public input[type="date"],
	.form-public input[type="datetime"],
	.form-public input[type="tel"],
	.form-public input[type="email"],
	.form-public input[type="number"],
	.form-public input[type="search"],
	.form-public input[type="time"],
	.form-public input[type="url"],
	.form-public input[type="password"],
	.form-public textarea,
	.form-public select
	{

		background-color: #444;
	}
	.form-public li table td.even {background-color: #333;}

	
}
