/*
Teal: #317a8b;
Dark teal: #3c4259;	
*/

body {background: #fff;}
.grid-container {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  max-width: 58.25rem;
  margin: 0 auto;
}
p, ul, li, h1, h2, h3, h4, h5, label, select, input, input[type="text"], input[type="email"], button, .button, a, option {
	font-family: 'Montserrat', sans-serif; 
	color: #49535c;
}
p {
	font-size:18px;
}
h1, h2, h3, h4, h5, h6 {
	color:#3c4259;
}
h3 {
    font-weight: 700;
    color: #317a8b;
    font-size: 20px;
    margin-top: 20px;
    text-transform: uppercase;
}
small {
    color: #3c4259;
    text-transform: uppercase;
}
label {
	font-weight:bold;
	font-size:15px;
	line-height: 24px;
}
.checkbox label {
	font-size:17px;
	line-height:32px;
	color:#49535c;
}
#footer p {
	font-weight:700;
	font-size:0.8rem;
	line-height:1.4;
	display:inline-block;
}
.button, .button:hover {
	background-color:#317a8b;
}

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea {
	border: 1px solid #b9b9b9;
}

.quform-errors > .quform-error, .quform-outer-no-js .quform-error {
width: 100%;
padding: 6px;
margin: -1rem 0 0;
line-height: 16px;
background-image: none;
background-color: #dd0000;
color: #ffffff;
font-size: 14px;
font-weight: bold;
display: inline-block;
float: left;
border: none;
border-radius: 3px;
}

/* https://medium.com/claritydesignsystem/pure-css-accessible-checkboxes-and-radios-buttons-54063e759bb3 */
.checkbox {
	margin-left:-25px; /* JMG */
}

@media only screen and (max-width: 903px) {
	.remove-checkbox-margin { margin: -25px 0 0; } /* JMG */
}

.checkbox input[type="checkbox"] {
    opacity: 0;
}
.checkbox label {
    position: relative;
    display: inline-block;
    
    /*16px width of fake checkbox + 6px distance between fake checkbox and text*/
    padding-left:33px;
}

.checkbox label::before,
.checkbox label::after {
    position: absolute;
    content: "";
    
    /*Needed for the line-height to take effect*/
    display: inline-block;
}

/*Outer box of the fake checkbox*/
.checkbox label::before{
    height: 25px;
    width: 25px;
    
    border: 1px solid #b9b9b9;
    left: 0px;
    border-radius: 0px;
    
    /*(24px line-height - 16px height of fake checkbox) / 2 - 1px for the border
     *to vertically center it.
     */
    top: 3px;
}

/*Checkmark of the fake checkbox*/
.checkbox label::after {
    height: 8px;
    width: 15px;
    border-left: 3px solid #1ca9e1;
    border-bottom: 3px solid #1ca9e1;
    
    transform: rotate(-45deg);
    
    left: 5px;
    top: 10px;
}

/*Hide the checkmark by default*/
.checkbox input[type="checkbox"] + label::after {
    content: none;
}

/*Unhide on the checked state*/
.checkbox input[type="checkbox"]:checked + label::after {
    content: "";
}

/*Adding focus styles on the outer-box of the fake checkbox*/
.checkbox input[type="checkbox"]:focus + label::before {
    outline: rgb(59, 153, 252) auto 5px;
}

@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
    .not-for-mobile {
        display: none;
    }
}
		
.hide {
display: none !important; }

.invisible {
visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

