@charset "utf-8";
/**
 *
 * Generic CSS for CakePHP
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.webroot.css
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 */

 @charset "utf-8";

/* =========================================================
   RESET
========================================================= */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html, body {
	font-family: "MS Sans Serif", "MS Serif", helvetica;
}

.spacer {		
		max-width:100%;
		width:100%;
		height:1px;
		padding: 0;
		margin:0;
}

ul.ul-outer-list {
	margin:20px;
	padding-left:20px;
	list-style-type: disc;
}
ol.outer-list {
	padding-left:20px;
	padding-bottom:10px;
	list-style-type: decimal;
}

ol.inner-list {
	margin:0;
	padding-left:20px;
	list-style-type:lower-alpha;
}

.generic-link {
	color: #1E78AA;
	text-decoration:none;
}

@media (1040px <= width <= 1920px) {

/* =========================================================
   MAIN LAYOUT
========================================================= */

#container {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
}

/* =========================================================
   HEADER
========================================================= */

header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
}

.header_wrapper {
	display: flex;
	flex-direction: column;
}

.header_item img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* =========================================================
   NAVIGATION
========================================================= */

.nav {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	list-style: none;
}

.nav-button {
	position: relative;
	display: inline-block;
}

.nav-button img {
	max-width:100%;
	height: auto;
}

/* button state swap */
.btn-img {
	display: block;
}

.btn-img.on {
	display: none;
}

.nav-button.active .btn-img.off {
	display: none;
}

.nav-button.active .btn-img.on {
	display: block;
}

/* =========================================================
   MAIN CONTENT
========================================================= */

main {
	position: relative;
	z-index: 1;
}

#content {
	padding: 5px;
}

.tab-content {
	display: block;
	margin:0;
	padding:0;
}

.chevron-button {
	display:none;
}
/* =========================================================
   PAGE CONTENT LAYOUT
========================================================= */

.middle-section {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
}

.middle-column,
.middle-column-small {
	flex: 1 1 300px;
}

.paragraph-title {
	display: block;
	font-size: 16pt;
	font-weight: bold;
	color: #1E78AA;
	margin-bottom: 1rem;
}

.paragraph {
	font-size: 13pt;
	line-height: 1.2;
	margin-bottom: 1rem;
}

/* =========================================================
   FOOTER
========================================================= */

footer {
	width: 100%;
	background-color: #1F334A;
	color: #fff;
	position: relative;
}

.footer-top {
	display: flex;
	
	align-items: center;
	gap: 15px;
	
}

.footer_logo {
	max-width: 100%;
	height: auto;
}

.social {
	display:flex;
	align-items: center;
	gap: 1px;
}


/* company info */
.company_info {
	width:100%;
	margin: 1rem 1.5rem;
	font-size: 14pt;
	text-align: right;
}

.company_contact {
	margin-top: 1rem;
	font-size: 14pt;
}

.company_contact a {
	color: #fff;
	text-decoration: none;
}

/* divider */
.divider-line {
	display: block;
	width: 586px;
	height: 1px;
	margin: 0 0 20px 1.5rem;
	border-bottom: 1px solid #fff;
}

/* privacy */
.privacy {
	display: inline-block;
	margin: 0 1.5rem;
	font-size: 10pt;
}

.privacy_links {
	display: inline-block;
	color: #fff;
}

.privacy_links a {
	color: #fff;
}

.copyright {
	margin: 15px 0 20px 20px;
	font-size: 10pt;
}

.general {
	width:35%;
	padding:10px;
	font-size:18px;
}

.contact-link {
	color: #1E78AA;
	text-decoration:none;
}

.contact-link:hover, .contact-link:visited {
	color: #1E78AA;
}
.contact-link:after {
	color: #1E78AA;
	content: " \25B6";
	display:inline;
}
.general_head {
	display:block;
	font-size:16pt;
	font-weight:bolder;
	margin: 0 0 20px 0; 
	
}

.general_title {
	display:block;
	margin-top: 20px !important;
	margin-bottom: 5px !important;
	font-size:13pt;
	font-weight:bolder;
	
}

.contact_paragraph {
	display: block;
	margin: 0.25rem 0 !important;
	font-size:12pt;
}

.contact_paragraph_noindent {
	display: block;
	margin: 0.25rem 0;
	font-size:12pt;
}


.contact_paragraph_indent {
	display: block;
	margin: 0.25rem 0;
	font-size:12pt;
	text-indent:1.25rem;
}

.form-container {
  display: flex;
  gap: 20px;
  flex-wrap: wrap; /* allows responsiveness */
  margin-top:0;
  padding-top:0;

}

.form-column {
  flex: 1 1 300px; /* grow, shrink, base width */
  display: flex;
  flex-direction: column;
}

.payment_wrapper {
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	margin:0;
	padding:10px;
}

.pmt_column {
	flex: 1 1 300px;
}

.pmt_column > h2 {
	font-size: 14pt;
	margin-bottom:0.5rem;
}

}

/* =========================================================
   FORMS
========================================================= */

form {
	clear: both;
	margin-right: 20px;
	padding: 0;
	width: 100%;
}
fieldset {
	border: none;
	margin-bottom: 1em;
	padding: 16px 10px;
}
fieldset legend {
	color: #e32;
	font-size: 160%;
	font-weight: bold;
}
fieldset fieldset {
	margin-top: 0;
	padding: 10px 0 0;
}
fieldset fieldset legend {
	font-size: 120%;
	font-weight: normal;
}
fieldset fieldset div {
	clear: left;
	margin: 0 20px;
}
form div {
	clear: both;
	/*margin-bottom: 1em;*/
	padding: .25em;
	vertical-align: text-top;
}
form .input {
	color: #444;
}
form .required {
	font-weight: bold;
}
form .required label:after {
	color: #e32;
	content: '*';
	display:inline;
}
form div.submit {
	clear: both;
	border: 0;
	width:75%;
	margin-top: 10px;	
}
label {
	display: block;
	font-size: 90%;
	margin-top:0;
	margin-bottom:0.25rem;
	color: #1E78AA;
}
input[type=text], input[type=number], input[type=tel], input[type=email] {
	clear: both;
	display:inline;
	font-size: 100%;
	padding: 1%;
	width:75%;
	min-height: 1.5rem;
	border-radius:0.5rem;
	border:2px solid #1E78AA;
}

textarea {
	clear: both;
	display:inline;
	font-size: 100%;
	padding: 2%;
	width: 100%;
	height: 14.0rem;
	min-height: 4.5rem;
	border-radius:0.5rem;
	border:2px solid #1E78AA;

}
select {
	clear: both;
	font-size: 100%;
	vertical-align: text-bottom;
	min-height: 1.5rem;
	width:75%;
	padding:1%;
	border-radius:0.5rem;
	border:2px solid #1E78AA;
}
select[multiple=multiple] {
	width: 100%;
}
option {
	font-size: 120%;
	padding: 0 3px;
}
input[type=checkbox] {
	clear: left;
	float: left;
	margin: 0px 6px 7px 2px;
	width: auto;
}
div.checkbox label {
	display: inline;
}
input[type=radio] {
	float:left;
	width:auto;
	margin: 6px 0;
	padding: 0;
	line-height: 26px;
}
.radio label {
	margin: 0 0 6px 20px;
	line-height: 26px;
}
input[type=submit] {
	display: inline;
	font-size: 110%;
	width: auto;
}
form button {
	background:#009100;
	border-color: #009100;
	border-radius:0.5rem;
	color: #fff;
	padding: 8px 10px;
	font-size:16pt;
	margin:0px auto 0px auto;	
}

form .submit input[type=submit] {
	background:#009100;
	border-color: #009100;
	border-radius:0.5rem;
	color: #fff;
	padding: 8px 10px;
	font-size:16pt;
	margin:0px auto 0px auto;
}
form .submit input[type=submit]:hover {
	background: #5BA150;
}

/* =========================================================
   RESPONSIVE - Small Screens
========================================================= */

@media (width <= 501px) {

	header {
		position:relative;
		top: 0;
		z-index: 1000;
		background: #fff;
	}

	.header_wrapper {
		display: flex;
		flex-direction: column;
	}

	.header_item img {
		display: block;	
		max-width: 100%;
		width:100%;
		height: auto;
	}

	.nav {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		list-style: none;
		z-index: 1;
	}

	.spacer {		
		max-width:100%;
		width:100%;
		height:1px;
	}

	.nav-button {
		position: relative;
		display: inline-block;
	}

	.nav-button img {
		max-width:100%;
		height: auto;
	}

	/* button state swap */
	.btn-img {
		display: block;
	}

	.btn-img.on {
		display: none;
	}

	.nav-button.active .btn-img.off {
		display: none;
	}

	.nav-button.active .btn-img.on {
		display: block;
	}

	.nav-item {
		border-bottom: 1px solid #ddd;
	}

	.nav-button {
		display: block;
		text-decoration: none;
	}

	#content > .tab-content  {
		display: none;
	}

	.nav-item.active .tab-content {
		display: block;
	}

	/* =========================================================
  	 MAIN CONTENT
	========================================================= */

	main {
		position: relative;
		z-index: 1;
	}

	#content {
		padding: 0px;
		display:none;
	}

	.tab-content {
		display: block;
		margin:0;
		padding:0;
	}

	.chevron-button {
		display:none;
	}
	/* =========================================================
   	PAGE CONTENT LAYOUT
	========================================================= */

	.middle-section {
		position:relative;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		width: 80%;
	}

	.middle-column,
	.middle-column-small {
		flex: 1 1 300px;
	}

	.paragraph-title {
		display: block;
		font-size: 16pt;
		font-weight: bold;
		color: #1E78AA;
		margin-bottom: 1rem;
	}

	.paragraph {
		font-size: 13pt;
		line-height: 1.2;
		margin-bottom: 1rem;
	}

	.mobile {
		position:relative;
		display:block;
		width:85%;
		height:auto;
		margin-left:auto;
		margin-right:auto;
		font-size: 100%;
	}

	.paragraph {
		font-size: 85%;
	}

	textarea {
		clear: both;
		display:inline;
		font-size: 100%;
		padding: 2%;
		width: 75%;
		height: 14.0rem;
		min-height: 4.5rem;
		border-radius:0.5rem;
		border:2px solid #1E78AA;
	}

	footer {
		max-width: 100%;
		background-color: #1F334A;
		color: #fff;
		position: relative;
		width:100%;
	}


	.footer-top {
		display: flex;
		flex-wrap:wrap;
		justify-content:space-between;
		gap: 0;
	}

	.footer_logo {
		max-width:100%;
		width: 100%;
	}

	.company_info {
		width:100%;
		font-size: 100%;
		text-align:left;
		margin-left:1.5rem;
	}

	.company_contact {
		width:100%;
		margin-top: 1rem;
		font-size: 100%;
	}

	/* company info */
	.company_contact a {
		color: #fff;
		text-decoration: none;
		
	}
	.social {
		display:flex;
		align-items:center;
		gap: 0;
		max-width:100%;
		width:95%;
	}

	.social img {
		max-width:100%;
		width:95%;
	}

	.chevron-button {
		display:none;
	}

	.chevron-button.active {
		display:block;
		text-align:center;
	}

	/* privacy */
	.privacy {
		display: block;
		margin: 1.5rem 1.5rem;
		font-size: 10pt;
	}

	.privacy_links {
		display: inline-block;
		color: #fff;
	}

	.privacy_links a {
		color: #fff;
	}

	.copyright {
		margin: 0.5rem 1.0rem;
		padding: 0.5rem;
		font-size: 10pt;
	}

	.general {
		width:35%;
		padding:10px;
		font-size:18px;
	}

	.contact-link {
		color: #1E78AA;
	}

	.contact-link:after {
		color: #1E78AA;
		content: " \25B6";
		display:inline;
	}
	.general_head {
		display:block;
		font-size:16pt;
		font-weight:bolder;
		margin: 0 0 20px 0; 
	
	}

	.general_title {
		display:block;
		margin-top: 20px !important;
		margin-bottom: 5px !important;
		font-size:13pt;
		font-weight:bolder;
	}

	.contact_paragraph {
		display: block;
		margin: 0.25rem 0 !important;
		font-size:12pt;
	}

	.contact_paragraph_noindent {
		display: block;
		margin: 0.25rem 0;
		font-size:12pt;
	}

	.contact_paragraph_indent {
		display: block;
		margin: 0.25rem 0;
		font-size:12pt;
		text-indent:1.25rem;
	}

	.form-container {
  		display: flex;
	  	gap: 20px;
  		flex-wrap: wrap; /* allows responsiveness */
	  	margin-top:0;
  		padding-top:0;
	}

	.form-column {
		flex: 1 1 300px; /* grow, shrink, base width */
  		display: flex;
  		flex-direction: column;
	}

	.payment_wrapper {
		display:flex;
		flex-wrap: wrap;
		justify-content:space-between;
		margin:0;
		padding:10px;
	}

	.pmt_column {
		flex: 1 1 300px;
	}

	.pmt_column > h2 {
		font-size: 14pt;
		margin-bottom:0.5rem;
	}
}


/* Targets screens between 768px and 1024px wide */
@media (501px <= width <= 1440px) {
  
/* =========================================================
   MAIN LAYOUT
========================================================= */

#container {
	display: flex;
	flex-direction: column;
	max-width: 1024px;
	height:200hv;
	width: 100%;
	margin: 0 auto 10px auto;
	padding-bottom:5px;
}

/* =========================================================
   HEADER
========================================================= */

header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
}

.header_wrapper {
	display: flex;
	flex-direction: column;
}

.header_item img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* =========================================================
   NAVIGATION
========================================================= */

.nav {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	list-style: none;
}

.nav-button {
	position: relative;
	display: inline-block;
}

.nav-button img {
	max-width: 100%;
	height: auto;
}

/* button state swap (span element) */
.btn-img { 
	display: block;
}

.btn-img.on {
	display: none;
}

.nav-button.active .btn-img.off {
	display: none;
}

.nav-button.active .btn-img.on {
	display: block;
}

/* =========================================================
   MAIN CONTENT
========================================================= */

main {
	position: relative;
	z-index: 1;
}

#content {
	padding: 5px;
}

.tab-content {
	display: block;
	margin:0;
	padding:0;
}

.chevron-button {
	display:none;
}
/* =========================================================
   PAGE CONTENT LAYOUT
========================================================= */

.middle-section {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
	padding:5px;
}

.middle-column,
.middle-column-small {
	flex: 1 1 300px;
}

.paragraph-title {
	display: block;
	font-size: 16pt;
	font-weight: bold;
	color: #1E78AA;
	margin-bottom: 1rem;
}

.paragraph {
	font-size: 13pt;
	line-height: 1.2;
	margin-bottom: 1rem;
}

/* =========================================================
   FOOTER
========================================================= */

footer {
	width: 100%;
	background-color: #1F334A;
	color: #fff;
	position: relative;
}

.footer-top {
	display: flex;	
	align-items: center;
	gap: 15px;
}

.footer_logo {
	max-width: 100%;
	height: auto;
}

.social {
	display:flex;
	align-items: center;
	gap: 1px;	
}

.social img {
	max-width:120%;
	height:auto;
}

/* company info */
.company_info {
	width:100%;
	margin: 1rem 1.5rem;
	font-size: 80%;
	text-align: right;
	
}

.company_contact {
	margin-top: 1rem;
	font-size: 80*t;
}

.company_contact a {
	color: #fff;
	text-decoration: none;
}

/* divider */
.divider-line {
	display: block;
	width: 586px;
	height: 1px;
	margin: 0 0 20px 1.5rem;
	border-bottom: 1px solid #fff;
}

/* privacy */
.privacy {
	display: inline-block;
	margin: 0 1.5rem;
	font-size: 10pt;
}

.privacy_links {
	display: inline-block;
	color: #fff;
}

.privacy_links a {
	color: #fff;
}

.copyright {
	margin: 15px 0 20px 20px;
	font-size: 10pt;
}

	.divider-line {
		width: 100%;
		margin-left: 0;
	}

	textarea {
		clear: both;
		display:inline;
		font-size: 100%;
		padding: 2%;
		width: 95%;
		height: 14.0rem;
		min-height: 4.5rem;
		border-radius:0.5rem;
		border:2px solid #1E78AA;
	}

.general {
	width:35%;
	padding:10px;
	font-size:18px;
}

.contact-link {
	color: #1E78AA;
	text-decoration:none;
}

.contact-link:hover, .contact-link:visited {
	color: #1E78AA;
}
.contact-link:after {
	color: #1E78AA;
	content: " \25B6";
	display:inline;
}
.general_head {
	display:block;
	font-size:16pt;
	font-weight:bolder;
	margin: 0 0 20px 0; 
	
}

.general_title {
	display:block;
	margin-top: 20px !important;
	margin-bottom: 5px !important;
	font-size:13pt;
	font-weight:bolder;
	
}

.contact_paragraph {
	display: block;
	margin: 0.25rem 0 !important;
	font-size:12pt;
}

.contact_paragraph_noindent {
	display: block;
	margin: 0.25rem 0;
	font-size:12pt;
}


.contact_paragraph_indent {
	display: block;
	margin: 0.25rem 0;
	font-size:12pt;
	text-indent:1.25rem;
}

.form-container {
  display: flex;
  gap: 20px;
  flex-wrap: wrap; /* allows responsiveness */
  margin-top:0;
  padding-top:0;

}

.form-column {
  flex: 1 1 300px; /* grow, shrink, base width */
  display: flex;
  flex-direction: column;
}

.payment_wrapper {
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	margin:0;
	padding:10px;
}

.pmt_column {
	flex: 1 1 300px;
}

.pmt_column > h2 {
	font-size: 14pt;
	margin-bottom:0.5rem;
}
}
