.formFlexContainer, .formFlexContainer3, .flexAuto {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}

.formFlexContainer > div {
	padding: 5px;
	flex: 1 1 50%;
	min-width: 300px;
}

.formFlexContainer3 > div {
	padding: 5px;
	flex: 1 1 33%;
	min-width: 230px;
}

.flexAuto > div {
	padding: 5px;
	flex: 1 1 auto;
}

.radio_flex > label
{
	padding: 0;
	flex: 1 1 50%;
	min-width: 300px;
	display: unset !important;
}

div.form_section
{
	border-radius: 0.5rem;
	border: solid 1px #bbbbbb;
	padding: 1.5rem;
}

div.form_section legend
{
	margin-bottom: 0.2rem;
}

div.form_section th, div.form_section td
{
	padding-top: 0.2rem;
	padding-bottom: 0.2rem;
	border-bottom: none;
	vertical-align: middle;
}

label
{
	margin-bottom: 0.4rem;
}

label span
{
	font-size: 65%;
	font-weight: normal;
}

label.multiline
{
	line-height: 1;
}

ul#psw_check
{
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

ul#psw_check li {
	padding-left: 3em;
	text-indent: -1em;
}

.psw_valid {
	color: green;
}

.psw_valid:before {
	position: relative;
	left: -1em;
	content: "✔";
	padding-right: 5px;
}

.psw_invalid {
	color: red;
}

.psw_invalid:before {
	position: relative;
	left: -1em;
	content: "✖";
}


header
{
	max-width: 112rem;
	margin: 0 auto 2rem;
	padding: 2rem;
}

header.header ul
{
    list-style: none;
}

.logo{
    display: inline-block;
    margin-left: 10px;
}

.nav{
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
	z-index: 1;
	background-color: #f5f7fa;
	margin-left: -1rem;
	padding-left: 2rem;
	padding-top: 1rem;
}

.menu a{
    display: block;
    padding: 0.2em;
    color: #606c76;
	font-size: 2.2rem;
}

/*
.menu a:hover{
	background-color: var(--gray);
}*/

.nav{
    max-height: 0;
    transition: max-height .5s ease-out;
}

/* Menu Icon */
.hamb{
    cursor: pointer;
    float: right;
    padding: 0.5em 0.5em;
	margin-top: 0.8rem;
}/* Style label tag */

.hamb-line {
    background: #606c76;
    display: block;
    height: 2px;
    position: relative;
    width: 24px;

} /* Style span tag */

.hamb-line::before,
.hamb-line::after{
    background: #606c76;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
}
.hamb-line::before{
    top: 5px;
}
.hamb-line::after{
    top: -5px;
}

input.side-menu {
    display: none;
} /* Hide checkbox */


/* Toggle menu icon */
.side-menu:checked ~ nav{
    max-height: 100%;
}
.side-menu:checked ~ .hamb .hamb-line {
    background: transparent;
}
.side-menu:checked ~ .hamb .hamb-line::before {
    transform: rotate(-45deg);
    top:0;
}
.side-menu:checked ~ .hamb .hamb-line::after {
    transform: rotate(45deg);
    top:0;
}

/* Sub nav */
.subnav-content {
    width: 100%;
    z-index: 1;
}

.subnav-content a {
    text-decoration: none;
    padding: 0;
    margin: 10px 0;
}


.subnavbtn
{
	display: none;
}

div.navbar
{
	padding: 0 0 0 2em;
	font-size: 80%;
	max-width: 112rem;
  	margin: 0 auto 0 auto;
}

div.navbar ul li
{
	display: inline-block;
	margin-bottom: 0px;
	/*margin-left: 0.5em;*/
	color:#999999;
}

div.navbar a
{
	font-size: 100%;
	color:#777777;
}

table a.button
{
	margin-bottom: 0;
	padding: 0 2.0rem;
	line-height: 3rem;
	height: 3rem;
}


@media screen and (max-width: 640px){
	
	table td, table th
	{
		display: revert;
	}

	table tbody
	{
		display: revert;
	}

	table
	{
		display: revert;
	}

	div.standard_menu
	{
		display: none;
	}

	div.small_menu
	{
		display: unset;
	}

	.content
	{
		padding: 1rem;
	}

	div.form_section
	{
		padding: 1rem;
	}
}


@media (min-width: 768px) {


	.nav{
		max-height: none;
		top: 0;
		position: relative;
		float: right;
		width: fit-content;
		background-color: transparent;
	}

	.menu li{
		float: left;
	}

	.menu a:hover{
		background-color: transparent;
		color: var(--gray);
	}

	.hamb{
		display: none;
	}

	.menu a{
		font-size: 1.6rem;
	}

	.nav
	{
		overflow: visible;
		padding-top: 0.2rem;
	}

	.subnav
	{
		overflow: visible;
		position: relative;
		margin-top: -5px;
		padding-left: 5px;
	}

	/* Sub nav */
	.subnav-content {
		display: none;
		position: absolute;
		right: 0px;
		top: 36px;
		background-color: #f9f9f9;
		box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
		z-index: 1;
		width: fit-content;
		padding-left: 1rem;
		padding-right: 1rem;
		text-align: right;
	}

	.subnavbtn
	{
		display: unset;
	}
	
	.subnav:hover .subnav-content {
		display: block;
	}
}