@charset "utf-8";
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.3.0/font/bootstrap-icons.css");

@font-face {
    font-family: 'OpellaSans';
    /* Give your font a unique name */
    src: url('../fonts/OpellaSans-Regular.woff2') format('woff2');
    /* Path to font files */
    font-weight: 400;
    /* Specify the font's weight */
    font-style: normal;
    /* Specify the font's style */
}

@font-face {
    font-family: 'OpellaSans';
    /* Give your font a unique name */
    src: url('../fonts/OpellaSans-RegularItalic.woff2') format('woff2');
    /* Path to font files */
    font-weight: 400;
    /* Specify the font's weight */
    font-style: italic;
    /* Specify the font's style */
}

@font-face {
    font-family: 'OpellaSans';
    /* Give your font a unique name */
    src: url('../fonts/OpellaSans-Light.woff2') format('woff2');
    /* Path to font files */
    font-weight: 300;
    /* Specify the font's weight */
    font-style: normal;
    /* Specify the font's style */
}

@font-face {
    font-family: 'OpellaSans';
    /* Give your font a unique name */
    src: url('../fonts/OpellaSans-LightItalic.woff2') format('woff2');
    /* Path to font files */
    font-weight: 300;
    /* Specify the font's weight */
    font-style: italic;
    /* Specify the font's style */
}

@font-face {
    font-family: 'OpellaSans';
    /* Give your font a unique name */
    src: url('../fonts/OpellaSans-Bold.woff2') format('woff2');
    /* Path to font files */
    font-weight: 600;
    /* Specify the font's weight */
    font-style: normal;
    /* Specify the font's style */
}

@font-face {
    font-family: 'OpellaSans';
    /* Give your font a unique name */
    src: url('../fonts/OpellaSans-BoldItalic.woff2') format('woff2');
    /* Path to font files */
    font-weight: 600;
    /* Specify the font's weight */
    font-style: italic;
    /* Specify the font's style */
}
.lead {
    font-weight: 400;
}
* {
	font-family: 'OpellaSans', sans-serif;
	font-weight: 400;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    font-size: 18px;
    line-height: 1.4em;
    background-color: #F7EFE6;
    color: #042B0B;
}
em {
	font-style: italic;	
}
video {
	pointer-events:none;
}
strong {
	font-family: 'OpellaSans', sans-serif;
	font-style: italic;
	font-weight: 600;
	font-size: 100%;
}
h1, h2, h3, h4, h5 {
	font-weight: 600;
}
h1 {
    line-height: 130%;
    font-size: 3rem;
    font-size: calc(20px + 1.5vw);
    letter-spacing: 0px;
}
h2 {
    font-size: 2.25rem;
	font-size: calc(16px + 1vw);
    line-height: 1.2em;
    border-top: 1px solid rgba(0,0,0,0.18);
	padding-top: 2em;
}
h3 {
	font-style: normal;
	font-size: 1.5rem;
	font-size: calc(16px + 0.5vw);
	line-height: 1.2em;
	margin-top: 1.25em;
	margin-bottom: 0.75em;
}
h4 {
	font-size: 1.25rem;
	font-size: calc(16px + 0.25vw);
}

h2#focusAreas {
	margin-top: 0.75em;
	margin-bottom: 0.5em;
}
h4, h5 {
	margin-top: 1.5em;
}
li {
	margin-top: 1em;
}
a {
    color: #042B0B;
	font-weight: 600;
	text-decoration: none;
}
a:hover {
    color: #042B0B;
	text-decoration:underline;
}
 a i {
	color: rgba(4,43,11,1.0);
	font-size: 24px;
	font-weight: 700;
}
h5.headerLink {
	margin-top: 0;
	margin-bottom: 1.5em;
}
select {
	display: block;
	width: 100%;
}

/* This works around "container-fluid" being omitted from the <div id="content"> tag */
.container-fluid {
	padding-left: 0px;
	padding-right: 0px
}
.container-fluid .row {
	margin-left: 0px;
	margin-right: 0px
}

.form-control:read-only {
	background-color: rgba(255,255,255,1.00);	
}
.indentLeft {
	padding-left: 15px;
}
.btn {
	white-space:normal;
	margin-top: 1rem;
	margin-bottom: 0.375rem;
	font-size: 100%;
}
.normText {
	font-weight: normal;
}
.clearLeft {
	clear: left;
}
.clearRight {
	clear: right;
}
.sticky {
  position: relative;
  top: 0px;
  padding: 0px;
}
.roundedPhoto {
	border-radius: 8px;
}
.btnSpaced {
	margin-right: 10px;
	margin-bottom: 10px;
}
.pageTop {
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	padding-top: 20px;
	height: auto;
	background-color: rgba(4,43,11,1.00);
	color: #F7EFE6;
	text-align: center;
}
.pageTop a {
	color: #F7EFE6;
	font-size: 16px;
	font-weight: 400;
}
.headerContent {
	background-color: #042B0B;
	height: auto;
	color: #F7EfE6;
	font-weight: 600;
	padding-top: 25px;
	padding-bottom: 10px;
	position: relative;
	z-index: 2;
}
.headerContent p {
	font-size: 16px;
	padding-top: 10px;
	padding-bottom: 0px;
}
h1.bigType {
	font-size: 42px;
	font-weight: 400;
	font-style: normal;
	color: #042B0B;
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 0.75em;
	text-align: center;
}
h4.titlePrompt {
	font-size: 16px;
	font-weight: 400;
	padding-top: 0;
	margin-top: 0em;
	margin-bottom: 1em;
	color:#777;
}

.modal-title {
    font-size: 1.75rem;
    margin-top: 0.5rem;
}


.brandingClient {
	padding-top: 0px;
	padding-bottom: 10px;
	height: 50px;
}
.brandingClient img {
	max-height: 30px;
	width: auto;
	margin-left: 0em;
	margin-top: 0px;
}
.brandingYet2 img {
	max-width: 100%;
	height: auto;
	max-height: 45px;
	width: auto;
	margin-left: 5px;
}
.brandingYet2 {
	color:rgba(255,255,255,0.50);
	text-align: center;
	padding-top: 2em;
}
.brandingYet2.alignRight {
	color:rgba(4,43,11,0.70);
	text-align: center;
	padding-top: 0.5em;
	padding-bottom: 1em;
	width: 100%;
	float: none;
}
.brandingYet2 h6 {
	font-weight: 400;
}
.brandingYet2 p {
	padding-top: 0px;
	padding-bottom: 0px;
	text-align:center;
}

.frontPage .pageTopBottom {
	background-position: center center;
	background-size: cover;
	height: 360px;
	margin-top: -50px;
	margin-bottom: 50px;
}


.sectHero, .sectIntro, .sectProcess, .sectCaseStudies {
    padding-top: 3%;
    padding-bottom: 3%;
    background-color: rgba(247,239,230,1.00);
	margin-bottom: 1px;
}
.sectHero {
	padding-top: 5%;
    padding-bottom: 5%;
    background-image: url(../img/hero.jpg);
    background-position: right center;
    background-size: cover;
    background-repeat: no-repeat;
}
.heroTextHolder {
    padding: 16px;
    border-radius: 8px;
    background-color: #F7EFE6;
    overflow-y: auto;
	margin-top: 200px;
	margin-bottom: -200px;
}
.sectIntro {
	margin-top: 150px;
	margin-bottom: 0px;
}
.sectTechNeeds {
	margin-bottom: 0px;
}
.sectSeparator {
	height: 240px;
}
.formPage .sectSeparator {
	height: 2px;
}

.sectTechNeeds .techNeed {
    background-color: #F7EFE6;
    text-align: center;
	border: 1px solid #CCCCCC;
	padding: 2px;
	border-radius: 8px;
	transition: background-color 0.5s;
	width: 100%;
	margin-right: 0%;
	margin-bottom: 2%;
}
.sectTechNeeds .techNeed .needCategory {
    border-radius: 8px 8px 0px 0px;
    background-color: rgba(4,43,11,1.00);
    padding: 0.75em;
}
.sectTechNeeds .techNeed .needCategory h5 {
    text-align: center;
	font-weight: 600;
	font-size: 0.9em;
	letter-spacing: 0em;
	margin: 0;
	text-transform: none;
	color:rgba(247,239,230,1.0);
}
.sectTechNeeds .techNeed .needDesc {
    text-align: center;
	padding: 1em;
}
.sectTechNeeds .techNeed .needDesc.new {
    background-image: url(../img/tag-new.png);
    background-repeat: no-repeat;
    background-position: 0px 1px;
}
.sectTechNeeds .techNeed:hover {
    background-color: #F7EFE6;
}
.sectTechNeeds .techNeed h3 {
    text-align: center;
	font-weight: 600;
	font-size: 20px;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
.sectTechNeeds .techNeed img {
    width: 20%;
	margin-top: 1em;
}

.sectProcess {
    padding-bottom: 1%;
}

.specifiedNeed {
	padding-top: 0em;
	margin-top: 1em;
	padding-bottom: 1em;
	color: rgba(4,43,11,1.00);
}

.sectSubpageTitle {
	padding-top: 2em;
	padding-bottom: 1em;
}

.sectSubpageBody {
    padding-top: 2%;
    padding-bottom: 5%;
    background-color: rgba(247,239,230,1.00);
	margin-bottom: 1px;
}
.formPage .sectSubpageBody {
  padding-top: 2%;
  padding-bottom: 2%;
  background-color: rgba(247,239,230,1.00);
  background-color: rgba(247,239,230,1.00);
}
.sectSubpageBody p.text-center {
	margin-bottom: 2em;
	margin-top: 2em;
}

.sectSubpageBody h2 {
	margin-bottom: 0.75em;
	margin-top: 1.5em;
}
.sectSubpageBody h2:first-of-type {
	margin-top: 0em;
}





.formHolder {
	padding: 30px;
	border-radius: 10px;
	border: thin solid rgba(0,0,0,0.15);
	background-color: rgba(255,255,255,1.0);
	-webkit-box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
	box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
	margin-bottom: 80px;
	margin-top: 25px;
}
.btn-default {
	background-color: rgba(4,43,11,1.00);
	border-color: rgba(4,43,11,1.00);
	color: #f7efe6;
}
.stepwizard-step .btn-default {
	background-color: rgba(4,43,11,1.0);
	border-color: rgba(4,43,11,1.0);
	color: #f7efe6;
}
.stepwizard-step .btn-default:hover {
	background-color: rgba(61,85,62,1.00);
	border-color: rgba(61,85,62,1.00);
	color: #f7efe6;
}
.btn-success {
	background-color: rgba(4,43,11,1.0);
	border-color: rgba(4,43,11,1.0);
}
.btn-success:hover {
	background-color: rgba(4,43,11,0.8);
	border-color: rgba(4,43,11,0.8);
}
.btn-primary, .btn-check:focus+.btn-primary, .btn-primary:focus {
	background-color: rgba(4,43,11,1.0);
    border-color: rgba(4,43,11,1.0);
	color: rgba(247,239,230,1.00);
}

.btn-primary:hover {
	background-color: rgba(61,85,62,1.00);
	border-color: rgba(61,85,62,1.00);
	color: rgba(247,239,230,1.00);
}

.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
	background-color: #ffffff;
    border-color: #042B0B;
	color: #042B0B;
    filter: alpha(opacity=100);
    opacity: 1;
}
.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label {
	color: #FB5500;
	
}
.mainContentHolder {
	background-color: rgba(255,255,255,0);
	padding: 30px;
	margin-top: 0px;
}
.mainContentHolder p, .mainContentHolder li {
	text-align:left;
	line-height: 1.625em;
}

.stepwizard-step p {
    text-align: center;
	display: none;
}
.videoHolder {
	padding: 2em 0.5em;
	color: rgba(0,0,0,1.00);
	background-color: #cdecfb;
	text-align: center;
	border-radius: 5px;
	margin-bottom: 2em;
	margin-top: 2em;
	margin-right: 0em;
}
.videoHolder h3, .announcement h3, .contactSidebar h3 {
	margin-top: 0;
	padding-top: 0;
}
.announcement h3 {
	color: #fff;
}
.videoHolder p, .announcement p {
	text-align: center;
}
.announcement {
	height: auto;
	padding: 2em 2em;
	color: rgba(247,239,230,0.8);
	background-color: rgba(4,43,11,1.00);
	text-align: center;
	border-radius: 0px;
	margin-bottom: 2em;
	margin-top: 0em;
	margin-right: 0em;
}
.announcement a {
	color: rgba(245,192,23,1.00);
	font-weight: 500;
	font-size: 1.2em;
}
.contactSidebar {
	height: auto;
	padding: 2em;
	text-align: center;
	margin-bottom: 2em;
	margin-top: 1em;
	margin-right: 0em;
	border-top: 3px solid rgba(0,0,0,0.20);
	border-bottom: 3px solid rgba(0,0,0,0.20);
}
.contactSidebar h4, .contactSidebar p {
	text-align: center !important;
}
.contactSidebar h4 {
	font-size: 16px;
	margin-bottom: 0.25em;
}
.contactSidebar a {
	font-weight: 500;
	font-size: 1.2em;
}

.sideBar {
	width: 100%;
	float: none;
	margin-left: 0;
	padding-left: 0;
	margin-top: 1em;
	margin-bottom: 1em;
	background-color: #F5FBFE;
}
.stickyAllowance {
  width: 100%;
}

.callToAction {
	float: none;
	clear: both;
	width: 100%;
	background-color: rgba(247,239,230,1.00);
	border-radius: 8px;
	color: rgba(4,43,11,1.0);
	padding: 2em;
	margin-left: 0em;
	margin-bottom: 2em;
	z-index: 10;
	position: relative;
    top: 0px;
}

.callToAction h3 {
	color:#042B0B;
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 0.5em;
}
.callToAction p, .callToAction h3 {
	text-align: center;
}
.callToAction button:hover {
	background-color: rgba(4,43,11,1.00);
}
.callToAction button, .submitParagraph button {
	color: rgba(247,239,230,1.00);
	background-color: rgba(61,85,62,1.0);
	border-radius: 4px;
	text-align: center;
	line-height: 1.1em;
	white-space: normal;
	width: auto;
	margin-left: auto;
	margin-right: auto;
	padding: 10px;
	margin-top: 0.5em;
	margin-bottom: -0.25em;
	hyphens: auto;
	border-style: none;
}
.submitParagraph button {
	font-size: 22px;
}
.submitParagraph {
	width: 100%;
	padding-left: 0em;
	padding-right: 0em;
	margin-top: 1em;
	margin-bottom: 0em;
	text-align: center;
}

.attachmentsHolder, .commentsHolder {
	color: rgba(0,0,0,01);
	padding-top: 2em;
	margin-top: 3em;
	border-top: thick solid rgba(0,0,0,0.19);
}
.attachmentsHolder h3, .commentsHolder h3 {
	font-size: 18px;
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 0.5em;
}
.rowOdd, .rowEven {
	padding-top: 4em;
	padding-bottom: 4em;
}
.rowOdd {
	background-color: rgba(0,82,156,0.05);
}


.FAQpage .sectSubpageBody p {
	margin-bottom: 1em;
	margin-top: 1em;
}
.FAQLink {
	padding: 0;
	font-size: 1.1em;
	font-weight: 600;
	margin-top: 0em;
	margin-bottom: 0em;
	padding-top: 1em;
	border-top: solid 1px rgba(0,0,0,0.2);
	width: 100%;
	text-align:left;
}
.FAQAnswer {
	margin-top: 0;
	margin-bottom: 1.75em;
	color: rgba(0,0,0,1.00);
}
.tblNeeds {
	border-top: 3px double rgba(128,130,133,0.50);
	border-bottom: 3px double rgba(128,130,133,0.50);
}
.tblNeeds td, .tblNeeds th {
	padding-top: 1.25em;
	padding-bottom: 1.25em;
	padding-right: 1em;
}
.rowOdd {
	background-color: rgba(128,130,133,0.1);
}
.tblNeeds td.category {
	font-weight: 500;
	text-transform: uppercase;
	font-size: 80%;
}

.sectFooter {
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #042b0b;
	margin-bottom: 1px;
}
.copyright {
	padding-left: 0;
	font-size: 1em;
	color: rgba(247,239,230,0.7);
	text-align: center;
}
.copyright a, .headerContent a, .copyright a:hover, .headerContent a:hover {
	color: rgba(247,239,230,1);
}



@media (min-width: 576px) {
	.sectTechNeeds .techNeed img {
		width: 30%;
		margin-top: 1.5em;
	}
	.brandingYet2.alignRight {
		text-align: right;
		padding-top: 0em;
		width: 30%;
		float: right;
	}
	.sectTechNeeds .techNeed {
		width: 48%;
		margin-right: 2%;
	}
}

@media (min-width: 768px) {
	h1, h2, h3, h4, h5 {
		text-align: left;
	}
	.indentLeft {
		padding-left: 4em;
	}
	.mainContentHolder p, .mainContentHolder li {
		text-align: left;
	}
	.stepwizard-step p {
		text-align: center;
		display:block;
	}
	.mainContentHolder {
		padding: 0px;
		margin-top: 20px;
	}
	.videoHolder, .announcement {
		margin-bottom: 2em;
		margin-top: 0em;
		margin-right: 0em;
	}
	.videoHolder p, .announcement p {
	text-align: left;
}
	h1.bigType {
		text-align: left;
	}
	.sideBar {
		width: 30%;
		float: right;
		margin-left: 2em;
		padding-left: 2em;
		margin-top: 0em;
	}
	.pageTop {
		text-align: right;
	}

	.brandingYet2 {
		text-align: right;
		padding-top: 0em;
	}
	.brandingClient {
		padding-top: 0px;
		padding-bottom: 0px;
	}
	.pageTopBottom {
		height: 240px;
		margin-bottom: 50px;
	}
	.frontPage .pageTopBottom {
		height: 360px;
	}
	.stickyAllowance {
	  width: 65%;
	}
	.callToAction {
		float: right;
		clear: none;
		width: 30%;
		margin-left: 2em;
		position: -webkit-sticky;
    	position: sticky;
    	top: 50px;
	}

	.callToAction p, .callToAction h3 {
		text-align: left;
	}
	.callToAction button {
		text-align:left;
	}
	.submitParagraph {
		width: auto;
		padding-left: 2em;
		padding-right: 0em;
		margin-top: 2em;
		margin-bottom: 0em;
	}
	.copyright {
		text-align: left;
	}
}

@media (min-width: 992px) {
	.heroTextHolder {
		margin-top: 0px;
		margin-bottom: 0px;
	}
	.sectIntro {
		margin-top: 0px;
	}
	.sectTechNeeds .techNeed {
		width: 31%;
		margin-right: 2%;
	}
}

@media (min-width: 1280px) {
	.heroTextHolder {
		padding: 32px;
		border-radius: 8px;
	}
}

