/* ==========================================================================
   Preset classes
   ========================================================================== */
*
{
	text-decoration:none;
	margin:0; 
	padding:0; 
	outline:0;
	list-style:none;
	border:0;
	vertical-align:top;
	line-height:1;
	font-family: 'Lato', sans-serif;
	font-weight:400;
}
html,body
{
	padding:0;
	margin:0;
	max-width:100vw;
	overflow-x:hidden;
}
body
{
	font-size:16px;
	color:rgba(0,0,0,.5);
	
}
h1,
h2,
h3,
h4
{
	line-height:1.2;
	font-family: 'Nunito Sans', sans-serif;
}
h3,h4
{
	font-family: 'Gothic A1', sans-serif;
}
.uppercase
{
	text-transform: uppercase;
}
a
{
	line-height:1.5em;
	transition:color 200ms;
}
a:hover
{
	color:#000;
}
h1
{
	font-size:60px;
	padding:0;
	display:block;
}
h1:not(:first-of-type){
	margin:0.67em 0;
}
h2
{
	color:rgba(0,0,0,.5);
	font-size:24px;
	padding:24px 0 24px 0;
}
.dark-theme h2
{
	color: rgba(255,255,255,.8);
}
h3
{
	color:rgba(0,0,0,.5);
	font-size:2em;
	padding:18px 0 9px 0;
}
ul
{
	padding:5px 0 10px 20px;
	line-height:1.5em;
}
li
{
	line-height:1.5em;
	list-style:square;
	letter-spacing:0;
}
ol li
{
	list-style:decimal;
	font-weight: 600;
}
p
{
	padding:0 0 10px 0;
	line-height:1.5em;
	text-align:justify;
	letter-spacing:0;
	font-size: 16px;
}
p,
.dark-theme .invert p, .light-theme .invert p
{
	color: rgba(0,0,0,.8);
}
.dark-theme p,
 .light-theme .invert h1
{
	color: rgba(255,255,255,1);
}
.light-theme p, .light-theme h4
{
	color: rgba(0,0,0,.8);
}
i
{
	line-height:1.5em;
	font-style:italic;
}
b
{
	font-weight:700;
	line-height:1.5em;
}
hr
{
	margin:40px 0 34px 0;
	background:#E5E5E5;
	width:100%;
	height:1px;
	mix-blend-mode: multiply;
}
nav
{
	font-family: 'Roboto', sans-serif;
}
textarea,
input,
select
{
	background:rgba(0,0,0,.1);
	font-size:16px;
	overflow:auto; 
	margin-bottom:20px;
	width:100%;
	height:40px;
	padding:0 20px;
	line-height:1.5em;
	box-sizing:border-box;
	transition:background 200ms;
	color:rgba(0,0,0,.7);
}
select
{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-bottom:0;
}
.select-dropdown {
	position:relative;
	margin-bottom:20px;
}
.select-dropdown .label
{
	display:block;
	font-size:16px;
	position:absolute;
	top:0;
	left:0;
	margin:10px 18px;
	color:rgba(0,0,0,0.5);
}
.select-dropdown .labelhighlight
{
	color:rgba(0,0,0,1);
	top: -25px;
	font-size: 14px;
	margin:10px 13px;
}
.select-dropdown .labelhighlight.error
{
	color:rgba(0,0,0,0.5);
	top: 0;
	font-size: 16px;
	margin:10px 18px;
	background:none;
}
.select-dropdown::after {
	content: " ";
	position: absolute;
	top: 50%;
	margin-top: -2px;
	right: 8px;
	width: 0;
	height: 0;
	transition: border 0.15s;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #aaa;
}
.select-dropdown select:active, .select-dropdown select:focus {
  outline: none;
  box-shadow: none;
  background:rgba(255,255,255,1);
}
.select-dropdown:focus-within:after {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid transparent;
  border-bottom: 5px solid #aaa;
  top:35%;
}
.select-dropdown:focus-within.label {
  top:-20px;
}
input[type=checkbox]
{
	padding:0;/*fixes extra padding added in IE8*/
	width:auto;
	height:auto;
}
textarea
{
	line-height:1.5em;
	padding:10px 20px;
	height:140px;
	resize:none;
}
label/*fixes label hitbox in IE 11*/
{
	display:inline-block;
}
label img/*fixes label hitbox in IE 11*/
{
	pointer-events:none;
}
::-webkit-input-placeholder
{
	color:rgba(0,0,0,.5);
	opacity:1;
}
:-moz-placeholder
{
	color:rgba(0,0,0,.5);
	opacity:1;
}
::-moz-placeholder
{
	color:rgba(0,0,0,.5);
	opacity:1;
}
:-ms-input-placeholder
{
	color:rgba(0,0,0,.5);
	opacity:1;
}
.keyline
{
	margin: 4px 0 34px 0;
	background: #E5E5E5;
	width: 100%;
	height: 1px;
}
.error
{
	background:rgba(217,30,24,.25);
}
.label
{
	position:absolute;
	font-size:13px;
	margin:-14px 0 0 12px;
	display:none;
	color:rgba(0,0,0,.5);
	transition:color 200ms;
}
.label span
{
	display:none;
}
input:focus,
textarea:focus
{
	background:rgba(117, 184, 71,.25);
}
.dark-theme input:focus,
.dark-theme textarea:focus
{
	background: rgba(117, 184, 71,.8);
}
.labelhighlight
{
	color:#000;
}
.dark-theme button,
.dark-theme .button
{
	color:#000;
}
button,
.button
{
	color:#fff;
	padding:0 45px;
	display:inline-block;
	line-height:32px;
	font-size:16px;
	transition:background 250ms;
	transform: all 50ms;
	margin-top:30px;
}
.dark-theme button:hover,
.dark-theme .button:hover
{
	color:#000;
}
button:hover,
.button:hover
{
	color:#fff;
	cursor:pointer;
}
.left
{
	float:left;
}
.right
{
	float:right;
}
.table
{
	display:table;
	width:100%;
}
.tablecell
{
	display:table-cell;
	vertical-align:middle;
}
.wrapper
{
	max-width:1000px;
	min-width:288px;
	padding:0 5%;
	margin:0 auto;
	position:relative;
}
#pagebreak
{
	background:linear-gradient(to right, #13337a 0%, #0a11d6 100%);
	width:100%;
	height:4px;
}
/* ================
PopUp Modal Styles
=================== */
.scrollstop,
.scrollstopcontact
{
	overflow-y:hidden;
}
#overlaybg
{
	background:rgba(44,44,64,.9);
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:50;
	height:100%;
	display:none;
	visibility:inherit;
}
.menuopen #closemenu
{
	display:block;
}
.menuopen #menuoverlay
{
	display:table;
	visibility:inherit;
}
.menuopen header #menu
{
	display:none;
}
#menuoverlay
{
	position:fixed;
	z-index:51;
	height:100%;
	background:none;
	display:none;
}
#menuoverlay nav a
{
	font-size:60px;
	display:block;
	text-align:center;
	color:#fff;
	transition: background 200ms, color 200ms;
}
#menuoverlay nav a:hover
{
	background:#007A55;
	color:#f9f9f9;
}
#closemenu
{
	display:none;
	color:#f9f9f9;
	height:50px;
	width:50px;
	font-family:serenity-shutters;
	position:absolute;
	right:5%;
	top:5px;
	z-index:52;
	font-size:35px;
	line-height:60px;
	text-align:center;
	transition:color 200ms;
}
#closemenu:hover
{
	color:#007a55;
}
#popbox
{
	position:fixed;
	width:300px;
	margin:auto;
	height:220px;
	background:#D0E2A4;
	padding:40px 0;
	text-align:center;
	z-index:51;
	margin:-150px 0 0 -150px;
	left:50%;
	top:50%;
	visibility: inherit;
}
#popbox #successsymbol
{
	color:#000;
	font-size:100px;
	line-height:30px;
	margin:65px 0px 10px;
}
#popbox #closesymbol
{
	color:rgba(0,0,0,.7);
	font-size:35px;
	top:0;
	position:absolute;
	right:0;
	transition:color 200ms;
	padding:20px;
}
#popbox #closesymbol:hover
{
	color:#000;
}
.scrollstop {
    overflow: hidden;
}
/* =============
Accordion Styles
================ */
.accordion-item,
.accordion-item2 {
    margin-bottom: 10px;
}
.accordion-header,
.accordion-header2 {
    cursor: pointer;
    display: block;
    line-height: 40px;
    font-size: 22px;
    position: relative;
    background-color: #ffffff;
    color: rgba(56,85,151,0.9);
    padding: 0 55px 0 20px;
    border-bottom: 1px solid;
}
.accordion-header>span,
.accordion-header2>span {
    position: absolute;
    right: 20px;
    top: 50%;
    height: 25px;
    width: 25px;
    transform: translateY(-50%);
    cursor: pointer;
}
.accordion-header>span::before,
.accordion-header2>span::before {
    position: absolute;
    content: "";
    left: 50%;
    top: 50%;
    height: 25px;
    width: 3px;
    background-color: #007A55;
    transform: translate(-50%, -50%);
    transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}
.accordion-header>span::after,
.accordion-header2>span::after {
    position: absolute;
    content: "";
    left: 50%;
    top: 50%;
    height: 25px;
    width: 3px;
    background-color: #007A55;
    transform: translate(-50%, -50%) rotate(90deg);
}
.accordion-open .accordion-header>span::before,
.accordion-open .accordion-header2>span::before {
    transform: translate(-50%, -50%) rotate(90deg);
}
.accordion-body,
.accordion-body2 {
    padding: 20px;
    background-color: rgba(56,85,151,0.9);
    font-size: 18px;
    text-align: justify;
    display: none;
	color:#f9f9f9;
}
.accordion-body2  ol{
    margin-left: 20px;
	padding-right: 20px;
}
.accordion-body .col1-2,
.accordion-body .col2-2,
.accordion-body2 .col1-2,
.accordion-body2 .col2-2{
    display: inline-block;
}
.accordion-body .col1-2{
	width: 69%;
}
.accordion-body2 .col1-2{
	width: 50%;
}
.accordion-body .col2-2{
	width: 30%;
}
.accordion-body2 .col2-2{
	width: 40%;
	text-align:right;
}
.accordion-body .col2-2 img,
.accordion-body2 .col2-2 img{
	width: 100%;
	max-width:300px;
}
.accordion-body2 .col2-2 img{
	width: 100%;
	max-width:250px;
	display:inline-block;
}
.accordion-body2 .col2-2 .acc-btn{
	text-align:right;
}
.accordion-body2 .col2-2 img:nth-child(2){
	margin-top: 20px;
}
.accordion-body .acc-btn,
.accordion-body2 .acc-btn {
    margin: 20px 0 0 0;
}
.acc-btn {
    margin: 30px 0;
    text-align: center;
}
.acc-btn>a,
.acc-btn button  {
    text-decoration: none;
    display: inline-block;
    height: 40px;
    line-height: 40px;
    background-color: #ffffff;
    color: #373737;
    box-shadow: 2px 2px 0px 0 rgba(56,85,151,0.9);
    padding: 0 20px;
    margin: 0 10px 10px 10px;
    font-size: 18px;
	transition:all 200ms;
	border-radius:0;
}
.acc-btn>a:hover,
.acc-btn>button:hover {
    box-shadow: 5px 5px 0px 0 rgba(56,85,151,0.9);
}
/* ===========
Downarrow Styles
============== */
#downarrow
{
	color:#414143;
	font-size:30px;
	margin:30px 0;
}
/* ===========
Hexagon Styles
============== */
.hexagon-wrapper {
  text-align: center;
  margin: 20px;
  position: relative;
  display: inline-block;
  width: 250px;
  height: 250px;
  transition: all 200ms;
}
.hexagon-wrapper:hover {
	transform: scale(1.05);
}
.hexagon {
  height: 100%;
  width: calc(100% * 0.57735);
  display: inline-block;
  background-color: #414143;
}
.hexagon:before {
  position: absolute;
  top: 0;
  right: calc((100% / 2) - ((100% * 0.57735) / 2));
  background-color: inherit;
  height: inherit;
  width: inherit;
  content: '';
  transform: rotateZ(60deg);
}
.hexagon:after {
  position: absolute;
  top: 0;
  right: calc((100% / 2) - ((100% * 0.57735) / 2));
  background-color: inherit;
  height: inherit;
  width: inherit;
  content: '';
  transform: rotateZ(-60deg);
}
/* ================
Form Styles
=================== */
form .inputfix {
	display: inline-block;
	width: 100%;
}
form span,
form .labelhighlight,
.dark-theme .invert form span,
.dark-theme .invert form .labelhighlight {
	color:#000;
}
.invert form span,
.invert form .labelhighlight,
.dark-theme form span,
.dark-theme form .labelhighlight {
	color:#fff;
}
form .option-wrapper input,
form .option-wrapper label {
	cursor:pointer;
}
/* ===========
Preset Anims
============== */
@keyframes spin
{
	from
	{
		transform: rotate(0deg);
	}
	to
	{
		transform: rotate(360deg);
	}
}  
/* ==========================================================================
   End Preset classes
   ========================================================================== */
   
/* ==========================================================================
   TI Preset classes
   ========================================================================== */

.dark-theme .invert#ti .buttton
{
	color:#000;
} 
/* ==========================================================================
   Helper classes
   ========================================================================== */
.show
{
	display:block;
}
.hide {
    display: none;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}
.invisible {
    visibility: hidden;
}
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
	display:block;
}
.clearfix {
    *zoom: 1;
}
.padsides
{
	padding:0 20px;
}
.textleft
{
	text-align:left;
}
.textcentre
{
	text-align:center;
}
.textright
{
	text-align:right;
}
.textjustify
{
	text-align:justify;
}
.posrel
{
	position:relative;
}
.noposrel{
	position:unset;
}
.posabs
{
	position:absolute;
}
.clickable
{
	cursor:pointer;
	cursor:hand;
}
.round
{
	border-radius:999px;
}
.clegitfield
{
	display:none;
}
.lineheightfix
{
	line-height:1.5em;
}
.symbol
{
	font-family:counter-parallax;
}
.gap
{
	height:10px;
}
.gapsmall
{
	height:20px;
}
.gapmed
{
	height:40px;
}
.gaphuge
{
	height:80px;
}
.gapxxl
{
	height:160px;
}
.resetmargin
{
	margin:0;
}
.resetpadding
{
	padding:0;
}
.resetpaddingtop
{
	padding-top:0;
}
.font0
{
	font-size:0;
}
.nowrap
{
	white-space:nowrap;
}