/* ============================================
 GLOBAL COMPONENT SPACING
* ===========================================*/
body { font-size: 1.0625rem;}
p { margin: 0 0 14px 0; }

/*Layout Spacing */
.wrapper { width: 100%; margin: 0 auto; }
.components { padding: 25px 35px; margin: 0 auto; }
#homeContentContainer { padding-bottom: 25px; }

/* =================================================
 GLOBAL COMPONENT DESIGN STYLES
* ==================================================*/
/* Video Content Design Styling */
.videoContent .videoButton { background-image: url(../../images/global/play-button.png); }
.videoContent .videoButton:hover, .videoContent .videoButton:focus { opacity: .8;}

/* ==================================
 GLOBAL BASE ELEMENTS
* ==================================*/
/* Video Content */
.videoContent { margin-bottom: 0; position: relative; }
.videoContent a.popupVideo { display: block; position: relative;}
.videoContent .videoWrapper { position: relative; height: 0; padding-bottom: 56.25%; padding-top: 20px; }
.videoContent .videoWrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.videoContent .videoButton { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; background-repeat: no-repeat; transition: all .4s ease-in-out; background-position: center; }
.videoContent .videoButton span { position: relative; left: -99999px; }
@media all and (max-width: 960px) {
  .videoContent a.popupVideo img { max-width:100%; width: 100%; }
}
/*Grid Columns*/
.columns { display: grid; position: relative; float: none;}
.columns .cell > img, .columns .cell > a > img, .columns .cell > div > a > img  { display: inherit; max-width: 100%; width: 100%; }
.columns .two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.columns .three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cell { display: flex; flex-flow: column nowrap; }
.columns .cell > img, .columns .cell > a > img, .columns .cell > div > a > img  { display: inherit; max-width: 100%; width: 100%; }
.columns .cell img + .content, .columns .cell video + .content, .columns .cell a + .content { padding-top: 20px; }
@media screen and (min-width:581px) and (max-width:960px) {
  .columns .three, .columns .four, .columns .three .cell a { grid-template-columns: minmax(0, 1fr); }
  .columns .three .cell { display: block; }
  .columns .three .cell > *, .columns .three .cell > a > * { display: inline-grid; grid-template-columns: minmax(0, 1fr); max-width: 49%; vertical-align: top; width: 100%; }
  .columns .three .cell > a:not(.videoContent + a) { max-width: 100%; display: block;}
  .columns .three .cell > a:not(.videoContent + a) .content { padding-left: 20px;}
  .columns .three .cell > .videoContent + a .content { max-width: 100%;}
  .columns .three .cell img { width: 100%;}
  .columns .three .cell > * + *, .columns .four .cell > * + * { padding-left: 20px; }
  .columns .three .cell.noImageVideo > .content { max-width: 100%; }
  .columns .three .cell .img ~ .content, .columns .three .cell .imgZoom ~ .content, .columns .three .cell .videoContent ~ .content, .columns .four .cell img ~ .content, .columns .four .cell .imgZoom ~ .content, .columns .four .cell .videoContent ~ .content{ margin-top: 0;}
}
@media screen and (max-width:580px){
    .columns .two, .columns .three, .columns .oneTwo, .columns .twoOne, .columns .four { display: grid; grid-template-columns: minmax(0, 1fr); grid-column: auto; grid-row: auto; gap: 1rem; max-width: 100%; }   
}

/* Buttons & Links */
#bodyContainer .btn, #bodyContainer a.btn { border-radius: 8px; text-decoration: none; font-size: 1.125rem; min-width: 171px; }
#bodyContainer p a { color: #097AC1; text-decoration: underline;}
a.callout::after, #bodyContainer a.callout::after { color: #3B3B3B; display: inline-block; width: 12px; height: 14px; padding-left: 10px; content: '\f061'; font-family: "Font Awesome 5 Free"; font-size: .85rem; font-weight: 600; transition: all 0.4s; text-decoration: none;}
#bodyContainer a.callout:hover::after, #bodyContainer a.callout:focus::after { padding-left: 15px;}
#bodyContainer .greenBG a.callout, #bodyContainer .blueBG a.callout { text-decoration: none;}
#bodyContainer .greenBG a.callout::after, #bodyContainer .blueBG a.callout::after { color: #fff;}
@media screen and (max-width: 580px) {
	#bodyContainer .btn, #bodyContainer a.btn { font-size: 1rem; min-width: 136px; padding: 10px 15px; }
}

/* Colors */
.greenBG { background-color: #46842A;}
.greenBG * { color: #fff;}
.blueBG { background-color: #004987; }
.blueBG * { color: #fff;}
a.callout, .callout { font-weight: 600;}
#bodyContainer .greenBG a, #bodyContainer .blueBG a { color: #fff; text-decoration: underline;}
body.homePage #pageBodyContainer { background-color: #fff; }
#bodyContainer .greenBG a.btn, #bodyContainer .greenBG .btn { background-color: #fff; color: #46842A; font-weight: 600; text-decoration: none; border: 2px solid #fff; padding-top: 10px; padding-bottom: 10px;}
#bodyContainer .greenBG a.btn:hover, #bodyContainer .greenBG .btn:hover, #bodyContainer .greenBG a.btn:focus, #bodyContainer .greenBG .btn:focus { background-color: #46842A; color: #fff; }
#bodyContainer .blueBG a.btn, #bodyContainer .blueBG .btn { background-color: #fff; color: #46842A; font-weight: 600; text-decoration: none; border: 2px solid #fff; padding-top: 10px; padding-bottom: 10px;}
#bodyContainer .blueBG a.btn:hover, #bodyContainer .blueBG .btn:hover, #bodyContainer .blueBG a.btn:focus, #bodyContainer .blueBG .btn:focus { background-color: #46842A; color: #fff; }

/*======================
 HOME IMPACT SLIDER
======================= */
.impact { position: relative; background: #000; overflow: hidden; width: 100%; margin: 0 auto; height: 502px; max-width: 100%; }
.impact .sliderMain { max-width: 100%; width: 100%; margin: 0 auto;}
.impact img, .impact video { position: relative; display: block; z-index: 0; padding: 0; margin: 0; height: 502px; object-fit: cover; width: 100%;} 
.impact .slick-initialized .caption, .impact .videoTexture + .caption { display: block; position: absolute; width: 100%; margin: 0 auto; z-index: 1; max-width: 100%; top: 0; bottom: 0; right: 0; left: 0; }
.impact .caption .wrapper { height:100%; max-width: 100%; }
.impact .caption .wrapper .captionContent { position: absolute; height: 100%; display: -ms-flexbox; display: flex; align-items: start; justify-content: center; flex-direction: column; top: 2%; left: 4.5%; width: 100%; max-width: 575px; padding-left: 15px; }
.impact .caption .wrapper h1, .impact .caption .wrapper h2 { position: unset !important; color: #fff;  margin-bottom: 12px; font-size: 2.25rem; font-weight: 600; line-height: 1.25;}
.impact .caption .wrapper .subtext { color: #fff; margin-bottom: 32px; font-size: 1.125rem; font-weight: 300; line-height: 1.5;}
.impact .caption .wrapper .subtext p:last-of-type { margin-bottom: 0; }
#bodyContainer .impact .caption .wrapper .subtext a.btn { margin-top: 42px; text-decoration: none;}
#bodyContainer .impact .caption .wrapper .subtext a { color: #fff; text-decoration: underline;}
.impact .slick-dotted.slick-slider { margin-bottom: 0; overflow:hidden; padding-bottom: 66px; }
.impact ul.slick-dots > li button { text-indent: -99999px; display: inline-block; border: none; transition: var(--transition); }
.impact .impactGradient { position: absolute; top: 0; bottom: 0; right: auto; left: 0; width: 100%; max-width: 1920px; height: 100%; z-index: 0; background: transparent linear-gradient(94deg, #0d0d0d77 0%, #3B3B3B00 100%) 0% 0% no-repeat padding-box;}
/* Video Play/Pause Controls */
.impact #playButton { z-index: 2; position: absolute; cursor: pointer; background: none; border: none; -webkit-appearance: none; -moz-appearance: none; top: auto; bottom: 32px; left: auto; right: 8%; width: 36px; height: 26px; }
.impact #playButton span { display: block; position: absolute; text-indent: -999999px; color: #fff; }
.impact .slick-autoplay-toggle-button { position: absolute; z-index: 10; background: none; border: 0; cursor: pointer; left: 4.5%; padding-left: 15px; bottom: 18px; transform: scale(.8); }
.sliderMain .slick-pause-icon, .sliderMain .slick-play-icon { display: block; }
.impact .slick-autoplay-toggle-button .slick-pause-icon:before, .impact .slick-autoplay-toggle-button .slick-play-icon:before { width: 36px; height: 28px; }
.impact .slick-pause-text, .impact .slick-play-text { color: #fff; }
/* Impact Slider with Dots */
.impact .slick-dots, .impact [class^="content col"] ul.slick-dots { position: absolute; display: block; padding: 0; margin: 0; width: 100%; list-style: none; text-align: center; }
.impact ul.slick-dots { text-align: center; max-width: 100%; margin: 0 auto; height: 20px; bottom: 24px; }
.impact .slick-dots li { position: relative; display: inline-block; padding: 0; cursor: pointer; margin: 0; }
.impact ul.slick-dots > li button { display: block; color: transparent; border: 0; background: 0 0; cursor: pointer; padding: 6px; margin: 0; color: #fff; background-color: transparent; }
.impact ul.slick-dots > li:last-child { margin-right: 0; }
.impact ul.slick-dots > li button .slick-dot-icon { display: block; border-radius: 50%; border: 1px solid #fff; transition: all .4s ease-in-out; width: 9px; height: 9px; }
.impact ul.slick-dots > li.slick-active button .slick-dot-icon { background-color: #fff; border: 1px solid #fff; }
.impact ul.slick-dots > li button:hover .slick-dot-icon, .impact ul.slick-dots > li button:focus .slick-dot-icon { background-color: #fff; }
.impact ul.slick-dots > li button .slick-dot-icon:before { position: absolute; transition: var(--transition); }
.impact ul.slick-dots > li button:focus .slick-dot-icon, .impact .slick-dots li button:hover .slick-dot-icon { opacity: 1; }
.slick-sr-only { font-size: 1.5rem; position: relative; left: -999999px;}
@media screen and (max-width:1440px){
	.impact .caption .wrapper h1, .impact .caption .wrapper h2 { width: 75%; font-size: 2.4rem; }
	.impact .caption .wrapper .subtext { font-size: 1.3rem; }
}
@media screen and (max-width:960px){
	.impact .caption .wrapper { margin: auto; }
	.impact .caption .wrapper .captionContent { max-width: 95%; top: 3%;  padding-right: 25px; }
	.impact .caption .wrapper h1, .impact .caption .wrapper h2 { width: 100%; }
	.impact .caption .wrapper p { margin-right: 0;}
}
@media screen and (max-width:580px){
	.impact, .impact img, .impact video {height: 390px; }
	.impact .impactGradient { top: auto; bottom: 0; right: 0; left: 0; width: 100%; max-width: 1920px; height: 237px; z-index: 0; background: transparent linear-gradient(0deg, #0d0d0d77 0%, #3B3B3B00 100%) 0% 0% no-repeat padding-box;}
	.impact .caption .wrapper .captionContent { width: 100%; max-width: 320px; background-color: #46842ab3; color: #fff; padding: 15px 20px 15px 25px; height: fit-content; bottom: 66px; top: auto; left: 0; }
	#homeContentContainer .impact .caption .wrapper h1, #homeContentContainer .impact .caption .wrapper h2 { font-size: 1.125rem; color: #fff; z-index: 3; margin-bottom: 5px; line-height: 1.38;}
	.impact .caption .wrapper .subtext { font-size: 1rem; margin-bottom: 10px;}
	#bodyContainer .impact .caption .wrapper .captionContent a.btn { color: #fff; background-color: transparent; border: none; padding-left: 0; margin: 8px 0 0 0; padding: 0; float: none; min-width: unset; width: fit-content;}
	#bodyContainer .impact .caption .wrapper .captionContent a.btn::after { display: inline-block; color: #fff; width: 12px; height: 14px; padding-left: 15px; content: '\f061'; font-family: "Font Awesome 5 Free"; font-size: 1rem; font-weight: 900; transition: all 0.4s ease-in-out;}
	#bodyContainer .impact .caption .wrapper .captionContent a.btn:hover::after, #bodyContainer .impact .caption .wrapper .captionContent a.btn:focus::after  { padding-left: 20px;}
	.sliderMain .slick-dots { bottom: 5px; }
	.impact .slick-autoplay-toggle-button { bottom: 14px; left: 10px; padding: 5px 7px; }
}

/*======================
 HOMPE PAGE COMPONENTS
======================= */
/* Icon Links */
.iconLink { background-color: #F8F8F8; padding-top: 50px; }
#bodyContainer .iconLink .cell > a { text-decoration: none; display: flex; flex-flow: row; align-items: center; position: relative; transition: all .4s ease-in-out; padding: 0;}
#bodyContainer .iconLink .cell > a:hover { transform: translateY(-5px); }
.iconLink .cell::after { content: ""; border-right: 1px solid #3B3B3B; opacity: .5; display: block; height: 33px; margin-left: 4vw; margin-right: 4vw; }
.iconLink .cell:last-child::after { content: none;}
.iconCircle { height: 90px; width: 90px; border-radius: 50%; position: relative;}
.iconCircle.green { background-color: #46842A; }
.iconCircle.blue { background-color: #004987; }
.iconCircle img { width: 65%; height: auto; position: absolute; top: 50%; bottom: 50%; left: 50%; right: 50%; transform: translate(-50%, -50%);}
.iconLink .iconLinkText { text-decoration: none; font-weight: 600; color: #3B3B3B; padding-left: 20px; width: calc(100% - 90px); }
.iconLink .cell > a:hover .iconCircle.green + .iconLinkText, .iconLink .cell > a:focus .iconCircle.green + .iconLinkText { color: #46842A;}
.iconLink .cell > a:hover .iconCircle.blue + .iconLinkText, .iconLink .cell > a:focus .iconCircle.blue + .iconLinkText  { color: #004987;}
.iconLink .cell .iconLinkText::after { color: inherit; width: 12px; height: 14px; padding-left: 5px; content: '\f061'; font-family: "Font Awesome 5 Free"; font-size: 1rem; font-weight: 900; padding-left: 15px; display: inline-block;}

@media screen and (max-width: 960px) {
    .iconLink { padding-top: 0; margin-top: 13px; }
	.columns.iconLink .cell { justify-content: flex-start; border-bottom: 1px solid #3b3b3b65; padding: 30px 0 30px 13px; }
	.columns.iconLink .cell:last-child { border-bottom: none; padding-bottom: 0; }
	.columns.iconLink .cell::after { content: none;}
	#bodyContainer .iconLink .cell a { max-width: unset; }
	.iconCircle { height: 69px; width: 69px; }
	.iconLink .iconLinkText { font-size: 1.125rem; }
}
@media screen and (min-width: 961px) {
    .iconLinksFlexRow { display: flex; justify-content: center; align-items: center; }
    .iconLinksFlexRow > .cell { flex-flow: row; align-items: center; }
    .iconLink .iconLinkText { font-size: 1.5rem; }
}

/* Three Column */
.home3ColSection .home3ColGrid { display: grid; }
.home3ColSection .home3ColSectionHeading { color: #004987; font-size: 3rem; font-weight: 700; text-align: center; margin-top:0; margin-bottom: 60px; }
.home3ColCell { text-align: center; }
#bodyContainer .home3ColSection .home3colTitle, #bodyContainer .home3ColSection .home3colTitle .home3ColLink { color: #004987; }
#bodyContainer .home3ColSection .home3colTitle a.home3ColLink { text-decoration: none; }
#bodyContainer .home3ColSection .home3colTitle a.home3ColLink:hover { color: #46842A; }
#bodyContainer .home3ColSection .home3colTitle a.home3ColLink::after { color: #3B3B3B; display: inline-block; width: 12px; height: 14px; padding-left: 10px; content: '\f061'; font-family: "Font Awesome 5 Free"; font-size: 1rem; font-weight: 600; transition: all 0.4s }
#bodyContainer .home3ColSection .home3colTitle a.home3ColLink:hover::after { padding-left: 15px; color: #46842A; }
.home3ColSection .home3ColText { color: #3B3B3B; text-align: center; font-weight: 400; line-height: 1.33; }
.home3ColSection .home3ColText p { margin-right: 0; }
.home3ColSection .home3ColText p:last-child { margin-bottom: 0; }
@media screen and (max-width: 960px) {
    .home3ColSection .home3ColGrid { justify-items: center; grid-template-columns: minmax(0, 1fr); grid-column: auto; grid-row: auto; gap: 30px; max-width: 100%; }
    .home3ColCell { width: 400px; max-width: 100%; }
    .home3ColSection .home3ColSectionHeading { font-size: 1.875rem; margin-bottom: 50px; }
    .home3ColSection .home3ColImg img { max-height: 203px; }
    .home3ColSection .home3colTitle { margin-top: 10px; margin-bottom: 20px; }
    #bodyContainer .home3ColSection .home3colTitle a.home3ColLink { font-size: 1.125rem; }
    .home3ColSection .home3ColText { font-size: 1rem; }
}
@media screen and (min-width: 961px) {
    .home3ColSection .home3ColGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; justify-content: space-between; align-items: start;  }
    .home3ColSection { background-color: #F8F8F8; padding-bottom: 114px; }
    .home3ColSection .wrapper { max-width: 1652px; padding: 50px 9%; background-color: #ffffff; }
    .home3ColSection .home3ColText { font-size: 1.125rem; }
}

/* Banner Slider */
.homeBannerSlider { padding: 0; position: relative; }
.homeBannerSlider .homeBannerSliderBg { position: absolute; left: 0; top: 12px; bottom: 12px; height: calc(100% - 24px); width: 100%; border-bottom: 29px solid #46842A; }
.homeBannerSlider .homeBannerSliderBg img { display: block; margin-left: auto; height: 100%; width: auto; aspect-ratio: 714/450; }
.homeBannerSlider .wrapper { max-width: 1424px; position: relative; }
.homeBannerSlider .homeTextSlider.slick-dotted { padding-bottom: 50px; }
.homeBannerSlider .textSlideContent { display: flex; flex-direction: column; }
.homeBannerSlider .textSlideContent.blueBG { background: transparent; }
.homeBannerSlider .slick-slide:not(.slick-active) .textSlideContent.blueBG * { color: transparent; }
.homeBannerSlider .textSlideContent p:last-of-type { margin-bottom: 0; }
#bodyContainer .homeBannerSlider .textSlideContent a.btn { margin-right: 0; }
#bodyContainer .homeBannerSlider .textSlideContent p:last-of-type a.btn { margin-top: 26px; margin-bottom: 0; }
.homeBannerSlider .wrapper .cell h2 { margin-top: 0; margin-bottom: 10px; font-size: 2.25rem;}
.homeBannerSlider .slick-dots { bottom: -12px; color: #fff; text-align: left; left: -6px; height: 20px; }
.homeBannerSlider .slick-dots li { margin: 0; color: #fff;}
.homeBannerSlider .slick-dots li button  { margin: 0; padding: 6px; }
.homeBannerSlider .slick-dots li button .slick-dot-icon { color: #fff; border: 1px solid #fff; background-color: transparent; transition: all .4s ease-in-out; display: block; height: 8px; width: 8px; }
.homeBannerSlider .slick-dots li button .slick-dot-icon:hover, .homeBannerSlider .slick-dots li button .slick-dot-icon:focus { background-color: #fff;}
.homeBannerSlider .slick-dots li.slick-active button .slick-dot-icon { background-color: #fff;}
@media screen and (max-width: 580px) {
    #bodyContainer .homeBannerSlider .textSlideContent a.btn { width: 100%; }
}
@media screen and (max-width: 960px) {
    .homeBannerSlider .wrapper { padding: 40px; }
    .homeBannerSlider .two { gap: 40px; }
    .homeBannerSlider .homeTextSlider { padding-bottom: 40px; }
    .homeBannerSlider .homeTextSlider.slick-dotted { padding-bottom: 80px; }
    .homeBannerSlider .slick-dots { bottom: 26px; }
    .homeBannerSlider .homeBannerSliderBg img { display: none; }
    .homeBannerSlider .wrapper .cell h2 { font-size: 1.5rem; margin-bottom: 10px; }
    .homeBannerSlider .textSlideContent p { font-size: 1rem; }
}
@media screen and (min-width: 961px) {
    .homeBannerSlider .textSliderCell { padding: 72px 5vw; }
}

/* Two Column Section */
.home2ColSection .two { background-color: #F8F8F8; max-width: 1640px; width: 100%; padding: 50px 7% 65px 8%; margin: 0 auto; gap: 6%;}
.home2ColSection .home2ColContent { position: relative; }
.home2ColSection .home2ColArrows { position: absolute; top: 50px; left: -115px; }
.home2ColSection h2.columnTitle { font-size: 2.25rem; color: #004987; font-weight: 700; margin-bottom: 25px; margin-top: 0; }
.home2ColSection h2.columnTitle::after { display: block; content: ""; border-bottom: 1px solid #3B3B3B; max-width: 109px; width: 100%; padding-bottom: 15px; opacity: .5;}
.home2ColSection .two .cell .content { padding-top: 40px;}
.home2ColSection .two .cell .content p { margin-bottom: 30px; line-height: 1.5625; margin-right: 0;}
.home2ColSection img { width: 100%;}
@media screen and (max-width: 960px) {
	.home2ColSection .two { padding: 50px 20px; margin: 0 auto; }
	.home2ColSection .home2ColArrows { display: none; }
	.home2ColSection .two .cell .content { padding-top: 0; }
	.home2ColSection img { width: 100%; max-width: 586px; margin: 0 auto;}
	.home2ColSection .imgZoom { margin: 0 auto; width: 100%; max-width: 586px;}
}
@media screen and (max-width: 760px) {
	.home2ColSection .two { display: flex; flex-flow: column; gap: 50px; }
	.home2ColSection .two .cell { width: 100%; margin-bottom: 0;}
}
@media screen and (max-width: 580px) {
    .home2ColSection { padding: 25px 16px;} 
	.home2ColSection h2.columnTitle { font-size: 1.5rem; margin-bottom: 20px; }
	.home2ColSection h2.columnTitle::after { padding-bottom: 20px; }
	.home2ColSection .two .cell .content p { margin-bottom: 20px; }
    #bodyContainer .home2ColContent a.btn:last-of-type { margin-bottom: 0; margin-top: 30px; }
}
@media screen and (min-width: 1450px) {
    .home2ColSection .two { gap: 14%;}
}

/* CTA Banner */
.homeCtaBanner .wrapper { max-width: 1364px; }
.homeCtaBannerImg img { display: block; }
.homeCtaBannerText { display: flex; flex-direction: column; justify-content: center; background-image: url('../../images/homepage/homepage-cta-arrow-overlay.png'); background-repeat: no-repeat; background-position: center right; background-size: auto 100%; }
#bodyContainer .homeCtaBannerContent a.btn:last-of-type { display: block; margin-bottom: 0; margin-top: 36px; }
@media screen and (max-width: 960px) {
    .homeCtaBannerImg img { margin-left: auto; margin-right: auto; }
    .homeCtaBannerContent { padding: 50px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; }
    .homeCtaBannerContent h2 { font-size: 1.5rem; font-weight: 700; margin-top: 0; margin-bottom: 7px; }
    .homeCtaBannerContent p { font-size: 1rem; }
}
@media screen and (min-width: 961px) {
	.homeCtaBanner .homeCtaBannerRow { display: grid; grid-template-columns: 48% 52%; }
	.homeCtaBannerContent { padding: 30px 5vw 30px 3.3vw; }
	.homeCtaBannerContent h2 { font-size: 2.25rem; font-weight: 700; margin-top: 0; margin-bottom: 20px; }
}
@media screen and (max-width: 580px) {
    .homeCtaBanner { padding: 25px 16px;}
    #bodyContainer .homeCtaBannerContent a.btn { width: 100%; }
}