/*font: italic bold 12px/30px Georgia, serif;*/

body {
    font-family: Helvetica, Verdana, sans-serif; 
	background-color: #fff;

}

header, nav, main, article, aside, section, footer, video,
audio, figure { display: block; }

.container {
   /* max-width: 960px;*/
	margin: 0 auto;
	background-color: #f1f1f1; /*#ededed; white; */
	box-sizing: border-box;
	width: 100%;
	min-height: 100vh;
}

h1 {
    color: darkcyan;
    text-align: center;
    margin: 10px 25px;
    font-weight: bold;
    font-size: 2.1em;
    text-shadow: 1px 1px 2px #fff,  
                 2px 2px 3px #666,
                 3px 3px 5px #999;
    letter-spacing: 0.2em;
}
h2 {
    color: darkcyan;
    font: 2.0em;
    text-align: center;
    letter-spacing: 0.1em;
}

h3 {
    text-align: center;
	font-size: 1.4em;
    letter-spacing: 0.1em;
    color: darkcyan;
}

.prtBtn {
    color: darkcyan;
    margin-left: 20px;
}

p {
    color: black;
    margin: 10px 20px 20px;
    text-align: center;
    line-height: 1.5em;
	font-size: 1.2em;
}

header {
    text-align: center;
	height: 120px;
	position: relative;
	background-color: lightblue;
	border-bottom: solid 3px darkgray;
}

img {
	max-width: 100%;
	height: auto;
}

header img {
    float: left;
	max-width: 20%;
	max-height: 90px; /* 120px; */
	border: solid 2px darkcyan;
    border-radius: 8px;
    margin: 3%;
   }

/* Navigation - Hamburger menu for mobile */

nav.mainNav {
    background-color: azure; /*#dedede; */
	width: 100%;
}
.mainNav ul {
    list-style-type: none;
	margin: 0;
	padding: 0;
}
.mainNav li {
    border-bottom: solid 1px #999;
	text-transform: uppercase;
	font-size: 1.1rem;
	font-weight: bold;
}
.mainNav li a {
    display: block;
    /*padding-left: 10px;*/
    /*margin-top: 20px;*/
	padding: 2% 0;
	text-decoration: none;
	color: grey; /*darkgoldenrod; */

}
#navigation nav {
    height: 0;
    overflow: hidden;
}
   /* fixing problems on some browsers - tricking */ 
body {
    -webkit-animation: bugfix infinite 1s;
}
@-webkit-keyframes bugfix {
    from { padding: 0;}
    to { padding: 0;}
}
#navigation {
	width: 100%;
}
#navigation input[type=checkbox] {
    position: absolute;
    top: -999em;
    left: -999em;  /* hide checkbox out of screen */
}
#navigation label {
    display: block;
    background: url("../IMAGES/nav-icon.png") no-repeat right center;
    position: relative;
    top: 30px;
    right: 15px;
    text-indent: -999em;
    cursor: pointer;
    user-select: none;
    padding: 5px;
    margin-left: 0;
  }
#navigation input[type=checkbox]:checked ~ nav {
    height: auto;
    overflow: hidden;
}
#navigation li:hover {
	background-color: floralwhite;
}
#navigation li a:hover {
	color: darkcyan;
}
#navigation li.active {
	background-color: darkcyan;
}
#navigation li.active:hover {
	background-color: floralwhite;
}
.mainNav li.active a {
	color: #fff;
}

/* End of Navigation */

main {
    clear: both;
	background-color: #f1f1f1; /* #ededed;*/
	padding: 15px 0;
}

footer {
	padding: 5px 0;
    background-color: lightblue;
	border-top: solid 3px darkgray;
}
footer p {
	font-size: 1em;
	font-weight: normal;
}

article[class^="form"] {
/*.formMortCalc, .formAmortTblCalc */
    border: solid 3px darkcyan;
    border-radius: 15px;
    width: 80%;
	height: auto;
    margin: 20px auto;
	padding: 0 20px;
    background-color: azure;
	padding-bottom: 30px;
    clear: both;

}
article[class^="form"] label {
	font-weight: bold;
	text-align: left;
	display: block;
	width: 100%;
	/*width: 50%;*/  /* 40%; */
	float: left;
	margin-bottom: 10px;
	clear: both;
}
.formMortCalc {
	/*font-size: 1.2em;*/
}
/*.formMortCalc label {
	width: 40%;
}*/

/*article.inGrp*/
form.inGrp {
	font-size: 1.1em;
}

input {
    padding-left: 4px;
    text-align: left;
}
input[type=text], input[type=date] {
	width: 100%; /* 48%; */ /*58%;*/
	float: right;
	margin-bottom: 10px;
}
input[type=radio] {
	margin-right: 5px;
}
/*
.formMortCalc {
	width: 58%;
}
*/
input:last-of-type {
	margin-bottom: 20px;
}
#amortTable {
    width: 90%;
    margin: 2px auto 10px;
    border: solid 2px;
}
#amortTable tr:nth-child(even) {
    background-color: azure;
}
#amortTable tr td:nth-child(3),
#amortTable tr th:nth-child(3) {
    display: none;
}

/*form {
	margin-bottom: 10px;
	width: 50%;
}*/



#outMonthly {
   /* background-color: lemonchiffon;*/
    font-weight: bold;
    font-size: 1.2em;
    color: darkcyan;
    padding-left: 5px;
}
article p {
  padding-left: 10px;
}

/*section {
    margin-top: 1.3em;
	background-color: red;
}*/

ul.accordion {
	width: 90%;
	height: auto;
	margin: 0 auto;
	list-style: none;
	/*border: solid 2px #000;*/
	padding: 0 30px 30px;
	background: none;

}
.accordion h3 {
	background-color: rgba(0,139,139,.8); /* darkcyan; */
	color: #fff;
	font-size: 1em;
	padding: 5px 10px;
	border-radius: 5px 5px 0 0 ;
	border-top-left-radius: 5px;
    border-top-right-radius: 5px;
	/*border-radius: 5px;*/
	text-align: left;
	margin-bottom: 0;
}
.accordion h3 i {
	margin-right: 15px;
	background: none;
/*	background-color: #fff;*/
	color: #fff; /* darkcyan; */
	padding: 1px 3px;
	/*width: 100px;
	height: 100px;*/
}
ul.accordion p {
	display: none;
	width: !inherit;
	border: solid 1px rgba(0,139,139,.8);
    padding: 1em;
	font-size: 1em;
	margin: 0;
	border-top: none;
	border-radius: 0 0 10px 10px;
	background-color: azure;
}

button, .formBtn input {
	 padding: 5px;
     background-color: darkcyan;
     color: lightcyan;
}
#btnCalc {
	 display: block;
     margin: 10px auto;

}
#otherBtn {
    border: none;
    background-color: azure;
    color: #000;
    font-weight: bold;
}
.contact {
	display: grid;
	column-gap: 2%;
 	grid-row-gap: 10px;
	padding: 25px ;
}
.contact form {
	background-color: azure;
	border: solid 2px darkcyan;
	border-radius: 8px;
}
.contact ul {
	list-style-type: none;
	padding: 15px;
	margin-bottom: 0;
}
.contact label {
	width: 100%;
}
.contact input[type="email"], .contact textarea, .contact input[type="text"] {
	width: 97%;
	padding: 4px;
	outline: none;
	float: none;
	margin-top: .2em;
}
.contact textarea {
	height: 5em;
}
.contact input[type="reset"], .contact input[type="submit"] {
	min-width: 100px;
	text-align: center;
	margin: 10px;
}
.contact .note {
	text-align: left;
	font-size: 1em;
	margin-top:0;
	margin-bottom: 0;
}
.clearIt {
    clear: both;
}
.contact .formBtn {
	display: flex;
	justify-content: space-between;
}
.feedback {
	font-style: italic;
	color: darkgray;
	display: block;
	margin: 15px 20px;
	padding: 5px;
	border: solid 1px darkgray;
	background-color: azure;
}
/* remove host logo */
div a img {
    display: none;
}

@media screen and (min-width: 450px) {
}
@media screen and (min-width: 580px) {

	header img {
	   	max-width: 15%;
	   	margin: 1%;
}

	#navigation nav {
		width: 100%;
		margin-right: 0;
		background-color: lightblue;
	}
	.mainNav ul {
		height: 120px;
		width: auto;
		display: flex;
		align-items: center;
		justify-content: space-around;
		/*float: right;
		margin-right: 10px;*/
    }

    #navigation label {
        display: none;
    }
    #navigation nav {
        height: auto;
        overflow: visible;
	}
    #navigation li {
        /*border: solid 2px darkcyan;*/
		padding: 1%;
		width: 18%;
		border-radius: 5px;
		background-color: azure;
		font-size: .9em;
    }
	#amortTable tr td:nth-child(3),
    #amortTable tr th:nth-child(3) {
    	display: table cell;
	}
	article[class^="form"] label {
		width: 50%; /* 40%; */
	}
	input[type=text], input[type=date] {
	    width: 48%; /*58%;*/
	}
	main {
    	padding: 15px 0 70px;
	}
	/*footer {
		position: fixed;
		width: 100%;
		bottom: 0;
	}*/
	ul.accordion h3 {
		padding: 0.5em;
		font-size: 1.3em;
	}
	ul.accordion p {
		font-size: 1.2em;
	}

}
@media screen and (min-width: 768px) {
	 #navigation li {
       	width: 16%;
		font-size: 1em;
    }
	.feedback {
		margin: 15px 20%;
	}

}
@media screen and (min-width: 850px) {
	article[class^="form"] {
		width: 50%;
	}
	#navigation li {
       	padding: .5em;
	}
	ul.accordion {
		width: 80%;
	}
	.contact {
		grid-template-columns: repeat(2, 49%);
	}
}
@media screen and (min-width: 1000px) {
	ul.accordion  {
		width: 60%;
	}
	.contact {
		grid-template-columns: none;
		padding: 0 25%;
	}
}
