/*************************************************
  This file is contains standardized
   CSS classes for landing pages
*************************************************/
h1
{
   font-size: 4em;
   font-family: 'Teko-Bold', sans-serif;
   word-wrap: normal;
}
h2
{
   font-size: 3em;
   font-family: 'Teko-Medium', sans-serif;
   word-wrap: normal;
}
h3
{
   font-size: 2em;
   font-family: 'Teko-Medium', sans-serif;
   word-wrap: normal;
}
.caret-link
{
    font-family: 'Teko-Medium', sans-serif;
    font-size: .85em;
}

.caret-link a:link, .caret-link a:visited
{
	color: #000000;
}
.caret-link a:hover, .caret-link a:active
{
	text-decoration: underline;
}
/* Green hyperlinks */
.style-anchor-green a:link, .style-anchor-green a:visited {
    color: #86c232;
	text-decoration: underline;
}
.style-anchor-green a:hover, .style-anchor-green a:focus {
    text-decoration: none;
}
.style-white-text
{
  color: #ffffff;
}
.style-blue-text
{
  color: #3d5760;
}
.style-darkblue-text
{
  color: #122635;
}
.style-header-light
{
	font-family: 'Roboto-Light', sans-serif;
}
.style-center-text
{
	text-align: center;
}

/* Vertically align flex element */
.vertical-alignment
{
  align-items: center;
}

.body-txt-med
{
  font-size: 1.35em !important;
}

.body-txt-lrg
{
	font-size: 1.65em !important;
}
/* Isolated Line separators */
.separator-line
{
	border-top: 2px solid #81a7bb;
	height: 1px;
	margin-left: 36px;
	margin-right: 36px;
}
.separator-line-thin
{
	border-top: 1px solid #becbd3;
	height: 1px;
	margin-left: 36px;
	margin-right: 36px;
}
/* Buttons */
.animate
{
  display: flex;
  justify-content: center;
}
.animate .btn
{
  background-color: #262626;
  border-radius: 1px;
  border: 1px solid #86C232;
  display: inline-block;
  cursor: pointer;
  color: #ffffff;
  font-family: 'Teko-Regular', sans-serif;
  font-size: 2rem;
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 5px;
  padding-bottom: 2px;
  text-transform: uppercase;
}

.animate .btn:visted {
  background-color: #262626;
}
.animate .btn:hover {
  background-color: #86C232; 
  color:#262626;
}
.animate .btn:active, .animate .btn:focus {
  	background-color: #86C232; 
  	color:#262626;
	/* Remove bolding */
	font-weight: 400;
}

/* Blue Button */
.animate .btn-blue, .animate .btn-blue:visited
{
    background-color: #000000;
    border: 1px solid #54c8e8;
    padding-left: 45px;
    padding-right: 45px;
    padding-top: 12px;
    padding-bottom: 10px;
}
.animate .btn-blue:hover
{
    background-color: #54c8e8;
}
.animate .btn-blue:active, .animate .btn-blue:focus
{
    background-color: #54c8e8;
	/* Remove bolding */
	font-weight: 400;
}

/* Red Button */
.animate .btn-red
{
	background-color: #A61E30;
	border: 1px solid #BF3B33;
}
.animate .btn-red:hover
{
	background-color: #ffffff;
}
/* Transparent Button */
.animate .btn-blue-ghost, .animate .btn-blue-ghost:visited
{
    background-color: rgba(0,0,0,0.00);
	color: #0075c9;
    border: 1px solid #0075c9;
    padding-left: 45px;
    padding-right: 45px;
    padding-top: 12px;
    padding-bottom: 10px;
}
.animate .btn-blue-ghost:hover
{
    background-color: #d6eff7;
	color: #0075c9;
}
.animate .btn-blue-ghost:active, .animate .btn-blue-ghost:focus
{
    background-color: #d6eff7;
	/* Remove bolding */
	font-weight: 400;
}

/* Main wrapper for each section */
.wrapper-main-px
{
  margin: 0 auto;
  max-width: 1512px;
}
.sections
{
  display:flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  width:100%;
}
/* Top title portion (when needed for the major sections: 1/3, 1/2, etc.) */
.inner-wrapper-title
{
	text-align: center;
	margin-bottom: 36px;
}
.inner-wrapper-title p
{
    margin-top: 20px;
}
/* Bottom portion (when needed for the major sections: 1/3, 1/2, etc.) */
.inner-wrapper-footer
{
	text-align: center;
	margin-top: 36px;
}
.inner-wrapper-footer .animate
{
	margin: 36px 0;
}
/* Class adds a border to inner sections */
.add-inner-border
{
	border-top: 2px solid #81a7bb;
}
/*========= Boxes! =========*/
.boxes{
  display:flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  min-height:350px;
}
/* Wrapper for boxes */
.wrapper-boxes-text
{
   margin-top: 100px;
   margin-bottom: 100px;
}
.boxes-text
{
	margin-bottom: 20px;
	height: 100%;
}
.boxes h3
{
	margin-top: 10px;
	margin-bottom: 16px;
}
/* Header text above the boxes in a section */
.wrapper-boxes-text h1, .wrapper-boxes-text h2
{
	margin: 16px;
    text-align: center;
}
/* Header section of boxes */
.inner-boxes-header
{
	text-align: center;
	margin-bottom: 36px;
	margin-left: 36px;
	margin-right: 36px;
}
/* Header of boxes that contain images */
.contains-images h3
{
	font-family: 'Roboto-Light', sans-serif;
	text-align: center;
}
.contains-images .boxes-text
{
	margin-top: 20px;
}
.boxes-footer
{
	text-align: center;
    margin: 32px;
}
.boxes-image-scale
{
	padding: 10px;
    max-width: 220px;
}
.inner-item
{
	display:flex;
	flex-direction:column;
	flex-basis: 440px;
	margin: 36px;
	padding: 56px;
	background-color: #F5F5F5;
}
.inner-item-narrow
{
    flex-basis: 280px;
    padding: 36px;
}
.inner-item-blue
{
	background-color: rgba(18, 38, 53, .75);
}
/* Remove the background color */
.inner-item-none
{
  background-color: initial;
}
/* hr color types */
hr.inner-dash
{
	border: 3px solid #87C232;
	width: 40px;
}
hr.inner-dash-blue
{
	border: 3px solid #00548f;
    width: 40px;
}
hr.inner-divider
{
	border-top: 1px solid #BECBD3;
}

/*========= End Boxes! =========*/

/*========= Top Banner =========*/
.wrapper-hero
{
  padding: 120px 36px;
}
.main-hero-banner
{
  color: #ffffff;
}
.main-hero-banner h1
{
   font-family: 'Teko-Bold', sans-serif;
   /*margin: 0px 0px 30px 0px;*/
	margin: 0;
}
.main-hero-banner h2, .main-hero-banner h3
{
   font-family: 'Teko-Medium', sans-serif;
}
/* For <p> elements */
.hero-tagline
{
	font-size: 1.35em !important;
	margin-bottom: 0px;
	margin-top: 30px;
}
.hero-text
{
	text-align: center;
}
.wrapper-hero .animate
{
	margin-top: 30px;
}

/*========= Top Banner w/ seal =========*/

/* Overrides .wrapper-hero padding */
.hero-contains-seal
{
	padding: 70px 36px;
}
.hero-contains-seal .main-hero-banner
{
	align-items: center;
}
.hero-contains-seal .hero-text
{
	text-align: left;
}
.main-hero-banner .leftbox
{
    max-width: 266px;
}
.main-hero-banner .rightbox
{
    width: 65%;
}
.hero-seal
{
	margin: 0px 36px;
}

/*========= Layout containg full width content =========*/
.wrapper-text-body
{
   margin: 100px 36px;
}
/* Inset wrapper for full width content */
.wrapper-text-body-inset
{
	padding-top: 100px;
	padding-bottom: 100px;
	margin-left: 36px;
	margin-right: 36px;	
}

/*========= Layout containg 1/3 and 2/3 content =========*/
.wrapper-imagetext
{
	margin: 100px 36px;
}
/* Inset wrapper for 1/3 and 2/3 content */
.wrapper-imagetext-inset
{
	padding-top: 100px;
	padding-bottom: 100px;
	margin-left: 36px;
	margin-right: 36px;
}
/* Inset wrapper containing boxes */
.wrapper-boxes-text-inset
{
	padding-top: 100px;
	padding-bottom: 100px;
}
.imagetext-section .leftbox
{
  width: 35%;
}
.imagetext-section h1, .imagetext-section h2
{
	margin-bottom: 16px;
}
.imagetext-section .rightbox
{
  width: 65%;
}
.imagetext-section-small .rightbox
{
  width: 80%;
}
.imagetext-section-small .leftbox
{
  width: 20%;
  /*min-width: 250px;*/
}

/* Default position of the image (left side of the text) */
.section-image
{
  margin-right: 36px;
}
.section-imagetext-txt
{
	margin-left: 36px;
}
/* Add spacing to top of button */
.section-imagetext-txt .animate
{
  margin: 32px 0;
}

/*========= Layout containg 1/2 and 1/2 content =========*/
.wrapper-sections
{
	margin: 100px 36px;
}
/* Inset wrapper for sections split in half */
.wrapper-sections-inset
{
	padding-top: 100px;
	padding-bottom: 100px;
	margin-left: 36px;
	margin-right: 36px;
}
.half-section .leftbox
{
  width: 50%;
}
.half-section .rightbox
{
  width: 50%;
}
.half-section h1, .half-section h2
{
	margin-bottom: 36px;
}
.section-right-half
{
  margin-left: 36px;
}
.section-left-half
{
  margin-right: 36px;
}
/* Add margins to the button */
.half-section .animate
{
  margin: 32px 0;
}
.half-section .inner-top-section
{
	padding-bottom: 18px;
}
/*========= Reverse/flip the order of section content =========*/
.section-reverse
{
	flex-direction: row-reverse;
}
/* Adjust margin when image is flipped to the right side */
.section-reverse .section-image
{
	margin-left: 36px;
	margin-right: 0px;
}
/* Adjust margin when text is flipped to the left side */
.section-reverse .section-imagetext-txt
{
	margin-left: 0px;
	margin-right: 36px;
}

.section-reverse .section-left-half
{
	margin-left: 36px;
	margin-right: 0px;
}
.section-reverse .section-right-half
{
	margin-left: 0px;
	margin-right: 36px;	
}

/*========= List of Icons =========*/
.wrapper-list-icons
{
    margin: 100px 36px;
}
.wrapper-list-icons ul
{
    display: flex;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0;
}
.wrapper-list-icons li
{
    margin: 10px;
}
/* Font Aewsome Icons */
.icons-fonta ul a
{ 
	display: flex;
    justify-content: center;
	align-items: center;
    border-radius: 50%;
    background-color: #3f3f3f;
    width: 46px;
    height: 46px;
    text-align: center;
    text-decoration: none;
	font-size: 2rem;
}
.icons-fonta i
{ 
	color: #ffffff;
}
/* img Icons */
.icons-img ul a
{
    display: inline-block;
}
.icons-img li
{
	width: 45px;
}
/* Animate icons */
.animate-icons li
{
	transition: .3s ease-in-out;
}
.animate-icons ul li:hover
{
    transform: scale(1.1);
}

/*========= Large call-to-action banner with button =========*/
.cta-banner
{
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}
.wrapper-cta-sections
{
	padding: 36px
}
.cta-banner .leftbox
{
	width: 82%;
}
.cta-banner .rightbox
{
	width: 18%;
}
.inner-cta-text
{
	margin: 18px;
}
.inner-cta-btn
{
	margin: 18px;
}
.cta-banner h3
{
  font-family: 'Roboto-Thin', sans-serif;
  font-size: 1.7em;
  line-height: 40px;
  color: #ffffff;
  margin: 0px;
}

/*========= Quotes =========*/
.quote-section q
{
	font-size: 1.4em;
}

/*========= FAQ =========*/
.faq-q
{
	margin-left: 40px;
	margin-right: 40px;
}

/*=========================
   Media Break Points
=========================*/

@media (max-width: 1000px){
.imagetext-section .rightbox, .imagetext-section-small .rightbox, .main-hero-banner .rightbox, .half-section .rightbox, .half-section .leftbox
{
	width: 100%;
	margin: 18px auto;
}

.imagetext-section .leftbox, .imagetext-section-small .leftbox
{
	width: 80%;
	margin: 18px 36px;
}
.main-hero-banner .leftbox
{
	margin-top: 18px;
	margin-bottom: 18px;
}
.hero-contains-seal .hero-text
{
	text-align: center;
}
.cta-banner
{
	flex-direction: column;
	align-items: center;
}
/* Remove margins from inner sections */
.section-image, .section-reverse .section-image, .section-right-half, .section-left-half, .section-reverse .section-left-half
{
	margin-left: 0px;
	margin-right: 0px;
}
/* Give more spacing on top/bottom and remove left/right margins */
.section-imagetext-txt, .section-reverse .section-imagetext-txt, .section-reverse .section-right-half
{
	margin: 32px 0px;	
}

}
