/*
Theme Name: La Crosse Area Community Foundation
Version: 1.0
Description: Custom theme
Author: DigiSage, Inc.
Author URI: https://digisage.com
template: bb-theme
*/

:root {
   --lcf-pagewidth: 1200px; /* must match global settings */
   --lcf-faith-blue: #252e5f;
   --lcf-blue: #136994;
   --lcf-baby-blue: #5C93C2;
   --lcf-red: #b92930;
   --lcf-orange: #f79520;
   --lcf-purple: #8b298a;
   --lcf-lime: #b1d238;
   --lcf-brown: #715321;
   --lcf-yellow: #F3D11E;
   --lcf-icon-search: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M15.775,14.682l-3.4-3.4a6.953,6.953,0,1,0-1.091,1.091l3.4,3.4a.772.772,0,0,0,1.091-1.091M3.127,10.767a5.4,5.4,0,1,1,7.64,0,5.368,5.368,0,0,1-7.64,0' style='fill:%23706f73;'/></svg>");
}

/* general */

/* adds BG color while editing */
body.fl-builder-edit header.fl-builder-content-155 {
   background: #663d94;
}

/* when editing a template part this pushes the content down
   under the header so it is viewable while editing */
body.single-fl-builder-template #fl-main-content {
   padding-top: 300px;
}

.pagewidth {
   width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
}
@media(max-width:1200px) {
   .pagewidth {
      width: 100%;
      margin: 0;
      padding: 0 20px;
   }
}

/* masthead */

/* nudge logo down */
#masthead .logo-col {
   position: relative;
}

/* donate button (animate on hover) */
#masthead .donate-button a.fl-button {
   padding-top: 30px;
   transform: translateY(-15px);
   transition: .3s;
}
#masthead .donate-button a.fl-button i {
   transition: .3s;
}
#masthead .donate-button a.fl-button i::before {
   color: #b92930;
}
#masthead .donate-button a.fl-button:hover {
   transform: translateY(0px);
}
#masthead .donate-button a.fl-button:hover i {
   transform: scale(1.4);
}

/* alternate header with logo and tagline that fades in after scrolling */
#masthead .header-scrolled {
   display: none;
}

/* menu (this includes the hover effects in the sidebar menu) */
ul#menu-desktop-menu > li > a,
ul#menu-desktop-menu > li > .fl-has-submenu-container > a,
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul > li:nth-child(1) > .fl-has-submenu-container > a {
   font-weight: 200;
   position: relative;
   border-left: 5px solid var(--lcf-blue);
   background: linear-gradient(to right, var(--lcf-blue) 50%, transparent 50%);
   background-position: right bottom;
   background-size: 200% 100%;
   transition: all .3s ease-out;
}
ul#menu-desktop-menu > li:nth-child(2) > a,
ul#menu-desktop-menu > li:nth-child(2) > .fl-has-submenu-container > a,
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul > li:nth-child(2) > .fl-has-submenu-container > a {
   border-left: 5px solid var(--lcf-lime);
   background: linear-gradient(to right, var(--lcf-lime) 50%, transparent 50%);
   background-position: right bottom;
   background-size: 200% 100%;
   transition: all .3s ease-out;
}
ul#menu-desktop-menu > li:nth-child(3) > a,
ul#menu-desktop-menu > li:nth-child(3) > .fl-has-submenu-container > a,
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul > li:nth-child(3) > .fl-has-submenu-container > a {
   border-left: 5px solid var(--lcf-purple);
   background: linear-gradient(to right, var(--lcf-purple) 50%, transparent 50%);
   background-position: right bottom;
   background-size: 200% 100%;
   transition: all .3s ease-out;
}
ul#menu-desktop-menu > li:nth-child(4) > a,
ul#menu-desktop-menu > li:nth-child(4) > .fl-has-submenu-container > a,
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul > li:nth-child(4) > .fl-has-submenu-container > a {
   border-left: 5px solid var(--lcf-orange);
   background: linear-gradient(to right, var(--lcf-orange) 50%, transparent 50%);
   background-position: right bottom;
   background-size: 200% 100%;
   transition: all .3s ease-out;
}
ul#menu-desktop-menu > li:nth-child(5) > a,
ul#menu-desktop-menu > li:nth-child(5) > .fl-has-submenu-container > a,
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul > li:nth-child(5) > .fl-has-submenu-container > a {
   border-left: 5px solid var(--lcf-red);
   background: linear-gradient(to right, var(--lcf-red) 50%, transparent 50%);
   background-position: right bottom;
   background-size: 200% 100%;
   transition: all .3s ease-out;
}
ul#menu-desktop-menu > li:nth-child(6) > a,
ul#menu-desktop-menu > li:nth-child(6) > .fl-has-submenu-container > a,
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul > li:nth-child(6) > .fl-has-submenu-container > a {
   border-left: 5px solid var(--lcf-brown);
   background: linear-gradient(to right, var(--lcf-brown) 50%, transparent 50%);
   background-position: right bottom;
   background-size: 201% 100%; /* keep at 201% otherwise thin line appears */
   transition: all .3s ease-out;
}
ul#menu-desktop-menu > li:hover > a,
ul#menu-desktop-menu > li:hover > .fl-has-submenu-container > a,
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul > li:hover > .fl-has-submenu-container > a {
   background-position: left bottom;
}

/* main drop downs
   swap position relative so we can stick drop downs left of whole menu, not the menu item */
ul#menu-desktop-menu {
   position: relative;
}
/* pre-load drop down menu text background images so there is no delay when hovering */
ul#menu-desktop-menu::after {
   content: '';
   display: block;
   position: fixed;
   z-index: -1;
   top: 0;
   left: 0;
   width: 1px;
   height: 1px;
   background-image: url(assets/images/menu-about.png),
                     url(assets/images/menu-donors.png),
                     url(assets/images/menu-nonprofits.png),
                     url(assets/images/menu-advisors.png),
                     url(assets/images/menu-students-3.png),
                     url(assets/images/menu-news-insights.png);
}
ul#menu-desktop-menu > li {
   position: static;
}
/* hide menu items on desktop
   (primarily to re-introduce the contact link that is hidden in the top bar area) */
@media(min-width:768px) {
   ul#menu-desktop-menu li.hide-on-desktop {
      display: none;
   }
}
ul#menu-desktop-menu > li > ul {
   min-height: 520px;
   left: -20px;
   background: linear-gradient(to right, rgba(37, 46, 95, 0.8) 20px, #f4fbff 20px, #f4fbff 100%);
   width: calc(100% + 20px);
   padding: 30px 30px 30px 100px;
   box-shadow: none;
   border-radius: 20px 0 0 20px;
}

/* bold current menu item OR hover */
ul#menu-desktop-menu > li > ul a:hover,
ul#menu-desktop-menu > li > ul > li.current-menu-item > a,
ul#menu-desktop-menu > li > ul > li.current-menu-item .fl-has-submenu-container a,
ul#menu-desktop-menu li ul li ul li.current-menu-item a {
   font-weight: 600;
}

/* side images of menu item text in drop downs */
ul#menu-desktop-menu > li > ul.sub-menu::before,
ul#menu-desktop-sidebar-menu li ul li ul.sub-menu::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 20px;
   width: 70px;
   height: 100%;
   background-repeat: no-repeat;
   background-size: 100% auto;
   background-position: 0 0;
}
/* extension of sidebar rotated text graphic for taller sub-menus
   to make it appear the image extends to bottom */
ul#menu-desktop-menu > li > ul.sub-menu::after,
ul#menu-desktop-sidebar-menu li ul li ul.sub-menu::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 520px;
   left: 20px;
   width: 70px;
   height: calc(100% - 520px);
   background-color: #ddc5f6;
}
/* About Us */
ul#menu-desktop-menu > li:nth-child(1) > ul.sub-menu::before,
ul#menu-desktop-sidebar-menu li ul li:nth-child(1) ul.sub-menu::before {
   background-image: url(assets/images/menu-about.png);
}
ul#menu-desktop-menu > li:nth-child(1) > ul.sub-menu::after,
ul#menu-desktop-sidebar-menu li ul li:nth-child(1) ul.sub-menu::after {
   background-color: #b1d0df;
}
/* For Donors */
ul#menu-desktop-menu > li:nth-child(2) > ul.sub-menu::before,
ul#menu-desktop-sidebar-menu li ul li:nth-child(2) ul.sub-menu::before {
   background-image: url(assets/images/menu-donors.png);
}
ul#menu-desktop-menu > li:nth-child(2) > ul.sub-menu::after,
ul#menu-desktop-sidebar-menu li ul li:nth-child(2) ul.sub-menu::after {
   background-color: #e0efc3;
}
/* For Nonprofits */
ul#menu-desktop-menu > li:nth-child(3) > ul.sub-menu::before,
ul#menu-desktop-sidebar-menu li ul li:nth-child(3) ul.sub-menu::before {
   background-image: url(assets/images/menu-nonprofits.png);
}
ul#menu-desktop-menu > li:nth-child(3) > ul.sub-menu::after,
ul#menu-desktop-sidebar-menu li ul li:nth-child(3) ul.sub-menu::after {
   background-color: #ddc5f6;
}
/* For Professional Advisors */
ul#menu-desktop-menu > li:nth-child(4) > ul.sub-menu::before,
ul#menu-desktop-sidebar-menu li ul li:nth-child(4) ul.sub-menu::before {
   background-image: url(assets/images/menu-advisors.png);
}
ul#menu-desktop-menu > li:nth-child(4) > ul.sub-menu::after,
ul#menu-desktop-sidebar-menu li ul li:nth-child(4) ul.sub-menu::after {
   background-color: #f5dcbc;
}
/* For students - text graphic was slightly off so some equalizing here */
ul#menu-desktop-menu > li:nth-child(5) > ul.sub-menu::before,
ul#menu-desktop-sidebar-menu li ul li:nth-child(5) ul.sub-menu::before {
   background-image: url(assets/images/menu-students-3.png);
}
ul#menu-desktop-menu > li:nth-child(5) > ul.sub-menu::after,
ul#menu-desktop-sidebar-menu li ul li:nth-child(5) ul.sub-menu::after {
   background-color: #e2bcc0;
   top: 519px;
}
/* News & Insights */
ul#menu-desktop-menu > li:nth-child(6) > ul.sub-menu::before,
ul#menu-desktop-sidebar-menu li ul li:nth-child(6) ul.sub-menu::before {
   background-image: url(assets/images/menu-news-insights.png);
}
ul#menu-desktop-menu > li:nth-child(6) > ul.sub-menu::after,
ul#menu-desktop-sidebar-menu li ul li:nth-child(6) ul.sub-menu::after {
   background-color: #cdc9bc;
}

/* make sure we don't add a side label for nested ul's */
ul#menu-desktop-sidebar-menu li ul li ul ul::before {
   display: none !important;
}

/* 3rd level drop downs should be visible */
ul#menu-desktop-menu li ul li ul {
   position: static;
   visibility: visible;
   opacity: 1;
   display: block;
   margin: 0 0 0 30px;
   padding: 0;
   background: none;
   box-shadow: none;
}

@media(max-width:992px) {
   ul#menu-desktop-menu > li > ul.sub-menu::after,
   ul#menu-desktop-sidebar-menu li ul li ul.sub-menu::after {
      display: none;
   }
}

/* menu column group (for animating off-screen) */
#masthead .fl-node-yk2tpa4fl7hw {
   position: relative;
   background: var(--lcf-faith-blue);
}
/* menu color extension */
#masthead .fl-node-yk2tpa4fl7hw::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 100%;
   width: calc((100vw - 1200px) / 2);
   height: 100%;
   background: var(--lcf-faith-blue);
}
/* menu short background waves image */
#masthead > .fl-row-content-wrap::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: 0;
   left: 0;
   width: 100%;
   height: 300px;
   background: url(assets/images/home-hero.webp) no-repeat center bottom;
   background-size: 100% auto;
   transition: .4s;
}
body.home #masthead > .fl-row-content-wrap::before {
   opacity: 0;
   height: 205px;
}
/* after the page has scrolled a bit activate the background image */
body:not(.home) #masthead.active-background > .fl-row-content-wrap::before {
   height: 205px;
}
body.home #masthead.active-background > .fl-row-content-wrap::before {
   opacity: 1;
}

/* menu slides off screen after scroll (using node ID for column group) */
#masthead .fl-node-yk2tpa4fl7hw {
   transition: .8s;
}
#masthead.slide-menu .fl-node-yk2tpa4fl7hw {
   transform: translateX(calc(100% + ((100vw - 1200px) / 2)));
}

/* sidebar menu */

#sidebar-menu {
   display: none;
   width: 100%;
   position: relative;
}
#sidebar-menu > .fl-module-content {
   position: absolute;
   top: -110px;
   right: 20px;
}
ul#menu-desktop-sidebar-menu {
   background: none;
}
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > .fl-has-submenu-container > a {
   position: relative;
   width: 119px;
   height: 90px;
   text-transform: uppercase;
   text-decoration: none !important;
   text-align: center;
   border-radius: 10px;
   padding: 60px 30px 14px 30px;
   background: var(--lcf-purple) url(assets/images/logo-icon-only.png) no-repeat center top 15px;
   background-size: 50px auto;
   transition: .6s;
}
/* menu arrow */
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > .fl-has-submenu-container > a::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: calc(50% - 10px);
   left: 11px;
   width: 0;
   height: 0;
   border-top: 10px solid transparent;
   border-right: 10px solid #fff;
   border-bottom: 10px solid transparent;
}
/* main drop down */
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul.sub-menu {
   visibility: visible;
   opacity: 1;
   display: block;
   width: 300px;
   top: 100%;
   left: auto;
   right: -350px;
   border-radius: 15px;
   transition: .6s;
   padding: 15px 0;
}

ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle > ul.sub-menu li {
   margin: 0;
   padding-left: 15px;
   padding-right: 15px;
   position: static;
}
/* left fly-out sub-menu (left blue semi-transparent border) */
ul#menu-desktop-sidebar-menu li ul li ul {
   background: linear-gradient(to right, rgba(37, 46, 95, 0.8) 20px, #f4fbff 20px, #f4fbff 100%);
   width: 600px;
   min-height: calc(100% - 55px);
   margin-top: 20px;
   padding: 30px 30px 30px 100px;
   box-shadow: none;
   border-radius: 20px 0 0 20px;
}
ul#menu-desktop-sidebar-menu li ul li ul li a {
   color: #656565;
   padding: 7px 0;
   font-size: 18px;
   font-weight: 300;
}
ul#menu-desktop-sidebar-menu li ul li ul li.current-menu-item a,
ul#menu-desktop-sidebar-menu li ul li ul li a:hover {
   font-weight: 600;
}
/* nested sub-menus on left fly-out */
ul#menu-desktop-sidebar-menu li ul li ul li ul {
   display: block;
   width: auto;
   background: none;
   visibility: visible;
   opacity: 1;
   position: static;
   margin: 0;
   padding: 0 0 0 20px;
   border-radius: 0;
}

/* after sidebar menu top icon is clicked
   expands the button and swaps arrow to other side */
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle.open-menu > ul.sub-menu {
   right: 0;
}
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle.open-menu > .fl-has-submenu-container > a {
   width: 300px;
   text-align: left;
   background-position: left 34px top 15px;
}
ul#menu-desktop-sidebar-menu li.sidebar-menu-toggle.open-menu > .fl-has-submenu-container > a::before {
   left: 100px;
   transform: scale(-1, -1);
}

/* final mobile menu */
button.fl-menu-mobile-close {
   color: #fff;
   font-size: 30px !important;
   position: relative;
   z-index: 10;
}
.fl-menu-mobile-flyout {
   max-width: 100% !important;
}
.fl-menu-mobile-flyout ul#menu-desktop-menu > li > ul.sub-menu::before {
   display: none !important;
}
.fl-menu-mobile-flyout ul#menu-desktop-menu li ul {
   padding: 20px;
   background: none;
   min-height: 0;
   width: 100%;
}
/* add arrow icon to indicate this menu item has a drop down */
.fl-menu-mobile-flyout ul#menu-desktop-menu li ul li.fl-has-submenu > .fl-has-submenu-container > a::before {
   content: '';
   display: inline-block;
   position: relative;
   top: -2px;
   margin-right: 15px;
   width: 10px;
   height: 10px;
   border-right: 2px solid #fff;
   border-bottom: 2px solid #fff;
   transform: rotate(45deg);
   transform-origin: bottom right;
}
.fl-menu-mobile-flyout ul#menu-desktop-menu li ul li.fl-has-submenu.fl-active > .fl-has-submenu-container > a::before {
   transform: rotate(-135deg);
   top: -10px;
}
.fl-menu-mobile-flyout ul#menu-desktop-menu li ul li a {
   padding: 10px 0;
   color: #fff;
   font-weight: 200;
}
.fl-menu-mobile-flyout ul#menu-desktop-menu li ul li a:hover {
   font-weight: 200;
}
.fl-menu-mobile-flyout .fl-menu-mobile-close {
   color: #fff;
}

/* mobile search area */
body:not(.fl-builder-edit) .mobile-search {
   display: none !important;
   position: absolute;
   top: 0;
   right: 65px;
}

@media(max-width:1250px) {
   #masthead .header-scrolled {
      display: block !important;
   }
   body.home #masthead.active-background > .fl-row-content-wrap::before {
      opacity: 1;
   }
   body:not(.home) #masthead > .fl-row-content-wrap::before {
      height: 205px;
   }
   #masthead {
      height: 175px;
      /*background: url(assets/images/home-hero.webp) no-repeat center bottom;
      background-size: 100% auto;*/
   }
   #masthead .fl-node-yk2tpa4fl7hw {
      display: none;
   }
   #masthead > .fl-row-content-wrap {
      background-size: 100vw auto!important;
      background-position: center bottom -15px !important;
      background: none;
   }
   #sidebar-menu {
      display: block !important;
      position: fixed;
      right: 30px;
   }
   body:not(.fl-builder-edit) .header-scrolled {
      display: block;
   }
}
@media(max-width:1050px) {
   #masthead .header-scrolled .fl-module-rich-text p {
      font-size: 20px !important;
   }
}
/* at this width most all elements are gone except the logo and menu button */
@media(max-width:992px) {
   #masthead {
      height: 100px;
   }
   body:not(.home) #masthead > .fl-row-content-wrap::before {
      height: 130px;
   }
   #masthead .tagline-1,
   #masthead .tagline-2 {
      display: none;
   }
   #masthead .quick-links * {
      display: none;
   }
   #masthead .quick-links .fl-module-search {
      display: block;
   }
   #masthead #menu-desktop-menu {
      background: none;
   }
   #masthead .fl-node-yk2tpa4fl7hw {
      display: block;
   }
   body.home #home-hero > .fl-row-content-wrap {
      padding-top: 100px;
   }
   body.home #masthead .header-scrolled,
   #masthead .header-scrolled {
      display: none !important;
   }
   #sidebar-menu {
      display: none !important;
   }
   #masthead .logo-col img {
      transform: translateY(0);
   }
   body:not(.fl-builder-edit) .mobile-search {
      display: block !important;
   }
}
@media(max-width:500px) {
   #masthead .menu-col button.fl-menu-mobile-toggle,
   .mobile-search a.fl-button {
      background: none !important;
   }
   .mobile-search .fl-module-content {
      margin-right: 0;
   }
}

/* full-row padding to equalize content width */
.pad-left-pagewidth > .fl-col-content {
   padding-left: calc((100vw - 1200px) / 2);
}
.pad-right-pagewidth > .fl-col-content {
   padding-right: calc((100vw - 1200px) / 2);
}
@media(max-width:1200px) {
   .pad-left-pagewidth > .fl-col-content {
      padding-left: 0px;
   }
   .pad-right-pagewidth > .fl-col-content {
      padding-right: 0px;
   }
}

/* layering helpers */
.z-index-1 {
   position: relative;
   z-index: 1;
}
.z-index-5 {
   position: relative;
   z-index: 5;
}
.z-index-10 {
   position: relative;
   z-index: 10;
}

/* reduce size of icons in buttons so they don't affect the line-height */
.fl-builder-content .fl-button i {
   font-size: .9em;
}

/* button (with hover effect to fill background color)
   default is a lime background slide-in */
.button-backfill a.fl-button {
   position: relative;
   overflow: hidden;
}
.button-backfill a.fl-button i {
   position: relative;
   z-index: 3;
}
.button-backfill a.fl-button::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: 0;
   left: 0;
   width: 0px;
   height: 100%;
   background-color: var(--lcf-lime);
   transition: .3s;
}
.button-backfill a.fl-button span.fl-button-text {
   position: relative;
   z-index: 5;
}
.button-backfill a.fl-button:hover::before {
   width: 100%;
}
.button-backfill.fill-orange a.fl-button::before {
   background-color: var(--lcf-orange);
}
.button-backfill.fill-blue a.fl-button::before {
   background-color: var(--lcf-blue);
}
.button-backfill.fill-red a.fl-button::before {
   background-color: var(--lcf-red);
}
.button-backfill.fill-purple a.fl-button::before {
   background-color: var(--lcf-purple);
}
.button-backfill.fill-brown a.fl-button::before {
   background-color: var(--lcf-brown);
}
.button-backfill.fill-green a.fl-button::before,
.button-backfill.fill-lime a.fl-button::before {
   background-color: var(--lcf-lime);
}

/* button with bottom border that animates to full width */
.button-underline a.fl-button {
   position: relative;
}
.button-underline a.fl-button::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: 0;
   left: 0;
   width: 30px;
   height: 2px;
   background: var(--lcf-blue);
   transition: .3s;
}
.button-underline a.fl-button:hover::after {
   width: 100%;
   background: var(--lcf-purple);
}
.button-underline.button-tan a.fl-button::after {
   background: #e6cfa7;
}
.button-underline.button-tan a.fl-button:hover::after {
   background: #ffc680;
}
.button-underline.button-red a.fl-button::after {
   background: var(--lcf-red);
}
.button-underline.button-purple a.fl-button::after {
   background: var(--lcf-purple);
}
.button-underline.button-lime a.fl-button::after {
   background: var(--lcf-lime);
}
.button-underline.button-blue a.fl-button::after {
   background: var(--lcf-blue);
}
.button-underline.button-orange a.fl-button::after {
   background: var(--lcf-orange);
}
/* underline hover colors */
.button-underline.hover-purple a.fl-button:hover::after {
   background: var(--lcf-purple);
}
.button-underline.hover-blue a.fl-button:hover::after {
   background: var(--lcf-blue);
}

/* button with bottom border (centered) that animates to full width */
.button-underline-center a.fl-button {
   position: relative;
   text-align: center;
}
.button-underline-center a.fl-button span {
   display: block;
}
.button-underline-center a.fl-button::after {
   content: '';
   display: inline-block;
   width: 30px;
   height: 1px;
   transform: translateY(-3px);
   background: var(--lcf-blue); /* default */
   transition: .3s;
}
.button-underline-center a.fl-button:hover::after {
   width: 100%;
}
.button-underline-center.button-white a.fl-button::after {
   background: rgba(255,255,255,0.7);
}
.button-underline-center.button-white a.fl-button:hover::after {
   background: #fff;
}
.button-underline-center.button-black a.fl-button::after {
   background: rgba(0,0,0,0.7);
}
.button-underline-center.button-black a.fl-button:hover::after {
   background: #000;
}

/* button(s) with arrow right */
.button-arrow-right a.fl-button span::after {
   content: '';
   display: inline-block;
   margin-left: 8px;
   width: 0;
   height: 0;
   border-left: 8px solid #000;
   border-top: 8px solid transparent;
   border-bottom: 8px solid transparent;
}
.button-arrow-right.arrow-black a.fl-button span::after {
   border-left-color: #000;
}
.button-arrow-right.arrow-white a.fl-button span::after {
   border-left-color: #fff;
}

/* open text button with arrow (e.g. in home hero) */
.open-button-arrow-right a.fl-button span::after {
   content: '';
   display: inline-block;
   margin-left: 8px;
   width: 0;
   height: 0;
   border-left: 8px solid #fff;
   border-top: 8px solid transparent;
   border-bottom: 8px solid transparent;
}
.open-button-arrow-right a.fl-button:hover span::after {
   border-left-color: var(--lcf-lime);
}

@media(max-width:500px) {
   #fl-main-content a.fl-button {
      padding-left: 30px !important;
      padding-right: 30px !important;
   }
}

/* [featured_image] shortcode outputs image that fills container */
.featured-img-wrap {
   min-height: 100%;
}
.featured-img-wrap a.featured-img {
   display: block;
   min-width: 100%;
   min-height: 100%;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
}

/* when a row needs this because the box shadow overlaps or for other reasons */
body:not(.fl-builder-edit) .overflow-hidden > .fl-row-content-wrap {
   overflow: hidden;
}

/* creates a bar of the 6 brand colors (e.g. copyright) */
.color-bar-std {
   content: '';
   display: block;
   height: 5px;
   background: linear-gradient(to right,
                               var(--lcf-brown) 0%, var(--lcf-brown) 16.5%,
                               var(--lcf-lime) 16.5%, var(--lcf-lime) 33%,
                               var(--lcf-purple) 33%, var(--lcf-purple) 49.5%,
                               var(--lcf-orange) 49.5%, var(--lcf-orange) 66%,
                               var(--lcf-red) 66%, var(--lcf-red) 82.5%,
                               var(--lcf-blue) 82.5%, var(--lcf-blue) 100%
                            );
}

/* PP tabs */
.fee-schedule-tabs .pp-tabs-label {
   padding: 15px 20px 15px 10px;
   color: #fff;
}
.fee-schedule-tabs .pp-tabs-panel-content p {
   margin: 0;
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels {
   width: 25%;
   margin: 1px 0 0 0;
   transform: translateX(2px);
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label {
   border: none !important;
   margin: 0 !important;
   position: relative;
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label .pp-tab-title {
   transition: .3s;
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label .pp-tab-title::after {
   content: '';
   display: block;
   position: absolute;
   padding-right: 0;
   top: 6px;
   right: 0px;
   width: 0;
   height: 0;
   border-left: 10px solid #fff;
   border-top: 8px solid transparent;
   border-bottom: 8px solid transparent;
   opacity: 0;
   transition: .3s;
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label:hover .pp-tab-title::after,
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label.pp-tab-active .pp-tab-title::after {
   opacity: 1;
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label:hover .pp-tab-title,
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label.pp-tab-active .pp-tab-title {
   padding-right: 20px;
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label:hover {
   bac
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label:focus,
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels .pp-tabs-label:focus * {
   outline: none;
}
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-panels {
   width: 75%;
}
/* tablepress tables */
table.fee-schedule {
   background: #f2f2f2;
   border-radius: 0 30px 0 0;
}
table.fee-schedule tbody td {
   border: 1px solid #ccc;
   padding: 8px 15px;
   font-size: 18px;
}
table.fee-schedule tbody td.column-1 {
   font-weight: 600;
}
table.fee-schedule thead th.column-3 {
   border-radius: 0 30px 0 0;
}
/* each section color (left tabs and tables) */
/* designated */
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-label[data-index="0"] {
   background: var(--lcf-purple);
}
table.fee-schedule.designated {
   border-left: 10px solid var(--lcf-purple);
}
table.fee-schedule.designated thead td,
table.fee-schedule.designated thead th {
   background: var(--lcf-purple);
   padding: 8px 15px;
   color: #fff;
}
/* donor advised */
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-label[data-index="1"] {
   background: var(--lcf-blue);
}
table.fee-schedule.donor-advised {
   border-left: 10px solid var(--lcf-blue);
}
table.fee-schedule.donor-advised thead td,
table.fee-schedule.donor-advised thead th {
   background: var(--lcf-blue);
   padding: 8px 15px;
   color: #fff;
}
/* field of interest */
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-label[data-index="2"] {
   background: var(--lcf-red);
}
table.fee-schedule.field-of-interest {
   border-left: 10px solid var(--lcf-red);
}
table.fee-schedule.field-of-interest thead td,
table.fee-schedule.field-of-interest thead th {
   background: var(--lcf-red);
   padding: 8px 15px;
   color: #fff;
}
/* field of scholarship */
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-label[data-index="3"] {
   background: var(--lcf-faith-blue);
}
table.fee-schedule.scholarship {
   border-left: 10px solid var(--lcf-faith-blue);
}
table.fee-schedule.scholarship thead td,
table.fee-schedule.scholarship thead th {
   background: var(--lcf-faith-blue);
   padding: 8px 15px;
   color: #fff;
}
/* field of scholarship */
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-label[data-index="4"] {
   background: var(--lcf-brown);
}
table.fee-schedule.unrestricted {
   border-left: 10px solid var(--lcf-brown);
}
table.fee-schedule.unrestricted thead td,
table.fee-schedule.unrestricted thead th {
   background: var(--lcf-brown);
   padding: 8px 15px;
   color: #fff;
}
/* field of scholarship */
.fee-schedule-tabs .pp-tabs-vertical .pp-tabs-label[data-index="5"] {
   background: var(--lcf-orange);
}
table.fee-schedule.agency {
   border-left: 10px solid var(--lcf-orange);
}
table.fee-schedule.agency thead td,
table.fee-schedule.agency thead th {
   background: var(--lcf-orange);
   padding: 8px 15px;
   color: #fff;
}
@media(max-width:768px) {
   table.fee-schedule thead th.column-3 {
      border-radius: 0;
   }
   .fee-schedule-tabs .pp-tabs-vertical .pp-tabs-labels {
      width: 100%;
      margin: 0;
      transform: translateX(0px);
   }
   .fee-schedule-tabs .pp-tabs-vertical .pp-tabs-label {
      border-bottom: 1px solid rgba(255,255,255,0.3);
   }
   .fee-schedule-tabs .pp-tabs-vertical .pp-tabs-panels {
      width: 100%;
   }
}

/* interior page titles */

/* extend the box under the title so the color goes to left edge of screen
   allows for optional text inside the box */
#page-title-row .box-extend-left {
   position: relative;
}
#page-title-row .box-extend-left::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: calc(-1 * ((100vw - 1200px) / 2));
   width: calc((100vw - 1200px) / 2);
   height: 100%;
}
#page-title-row .box-extend-left.extend-blue-20::before {
   background: rgba(19,105,148,0.2);
}
#page-title-row .box-extend-left.extend-green-15::before {
   background: rgba(177,210,56,0.15);
}
@media(max-width:1250px) {
   #page-title-row > .fl-row-content-wrap {
      padding-top: 220px;
   }
}
@media(max-width:992px) {
   #page-title-row > .fl-row-content-wrap {
      padding-top: 130px;
   }
}

/* post single */
.author-wrap {
   display: flex;
   column-gap: 10px;
   align-items: center;
}
.author-wrap img {
   display: block;
   width: 50px;
   height: 50px;
   border-radius: 50%;
}
/* force floated images / captions to be block elements */
@media(max-width:500px) {
   body.single-post .fl-module-fl-post-content .alignleft,
   body.single-post .fl-module-fl-post-content .alignright {
      float: none !important;
      display: block;
      margin: 0 0 15px 0;
   }
}

/* page element helpers */
table#tablepress-2 th,
table#tablepress-2 td {
   font-size: 16px;
}

/* types of funds page */
table.types-of-funds-table thead tr td,
table.types-of-funds-table thead tr th {
   background: var(--lcf-blue);
   color: #fff;
   padding: 20px;
}
.tablepress>:where(thead)+tbody>:where(:not(.child))>* {
   border-top: 3px solid #fff;
}
table.types-of-funds-table tbody tr td {
   padding: 20px;
   font-size: 18px;
   line-height: 1.3;
}
table.types-of-funds-table tbody tr td.column-1 {
   background: var(--lcf-lime);
   padding-left: 30px;
   padding-right: 30px;
}
table.types-of-funds-table tbody tr td.column-1 img {
   width: 90px;
   height: auto;
   display: block;
   margin: 0 auto;
}
table.types-of-funds-table tbody tr td.column-2 {
   background: var(--lcf-blue);
   color: #fff;
   font-weight: 700;
}
table.types-of-funds-table tbody tr td.column-3 {
   background: var(--lcf-red);
   color: #fff;
}
table.types-of-funds-table tbody tr td.column-4 {
   background: var(--lcf-brown);
   color: #fff;
}
table.types-of-funds-table tbody tr td.column-5 {
   background: var(--lcf-orange);
}

/* browse funds page */

/* main funds column */
#browse-funds {
   padding: 50px 0 0 0;
}
#browse-funds .pagewidth {
   display: flex;
}
#browse-funds #primary-funds {
   width: 75%;
   padding-right: 40px;
}
#browse-funds .outer-fund-wrap {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 30px;
}
#browse-funds .outer-fund-wrap a.fund-wrap {
   display: block;
   border: 1px solid #666;
   padding: 20px 20px 70px 20px;
   text-align: center;
   position: relative;
   border-radius: 15px;
   transition: .3s;
   background: #F7F5F2;
   color: #000;
}
#browse-funds .outer-fund-wrap a.fund-wrap .description {
   color: #000;
   margin-bottom: 10px;
}
#browse-funds .outer-fund-wrap a.fund-wrap h3 {
   color: #000;
   margin: 0 0 10px 0;
   padding: 0;
   font-weight: 700;
}
#browse-funds .outer-fund-wrap a.fund-wrap .link {
   color: #000;
   font-weight: 700;
   transition: .3s;
}
#browse-funds .outer-fund-wrap a.fund-wrap .icons {
   position: absolute;
   width: 100%;
   left: 0;
   bottom: 0;
   padding: 0 10px 20px 10px;
   display: flex;
   justify-content: center;
}
#browse-funds .outer-fund-wrap a.fund-wrap .icons span {
   display: inline-block;
   margin: 0 3px;
   width: 40px;
   height: 40px;
   overflow: hidden;
   position: relative;
   border-radius: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
}
#browse-funds .outer-fund-wrap a.fund-wrap .icons span img {
   display: block;
   width: 65%;
   height: auto;
}
/* note that these colors are NOT the same as the brand colors (on purpose) */
span.icon_arts_humanities {
   background-color: #FF6D22;
}
span.icon_community_improvement {
   background-color: #99459A;
}
span.icon_culture_diversity {
   background-color: #7D5635;
}
span.icon_education_scholarship {
   background-color: #5C93C2;
}
span.icon_environment {
   background-color: #B6D43E;
}
span.icon_faith {
   background-color: #1C2D59;
}
span.icon_health_human_services {
   background-color: #CC2027;
}
span.icon_recreation_wellness {
   background-color: #F3D11E;
}
#browse-funds .outer-fund-wrap a.fund-wrap:hover {
   text-decoration: none;
   background: #f3f7fa;
}
#browse-funds .outer-fund-wrap a.fund-wrap:hover .link {
   color: var(--lcf-purple);
}
/* paging */
#browse-funds .pagination {
   margin: 20px 0 0 0;
}
#browse-funds .pagination .next {
   float: right;
}

/* sidebar filtering */
#browse-funds #secondary {
   width: 25%;
}
#browse-funds #secondary .widget {
   margin: 0 0 20px 0;
}
#browse-funds #secondary h3 {
   width: calc(100% - 40px);
   margin: 20px 0 0 0;
   padding: 10px 20px;
   color: #fff;
   background: var(--lcf-blue);
   border-radius: 0 60px 0 0;
}
/* Grant Keywords */
#browse-funds #secondary .widget.search-keywords {
   background: var(--lcf-orange);
   padding: 15px;
}
#browse-funds #secondary .widget.search-keywords input {
   font-size: 18px;
   border: none;
   padding: 8px 10px;
}
#browse-funds #secondary .widget.search-keywords input::placeholder {
   color: #555;
}
/* Grant Categories */
#browse-funds #secondary .widget .categories {
   background: #f3f7fa;
   padding: 20px 15px;
}
#browse-funds #secondary .widget p.fund-category-row {
   display: flex;
   column-gap: 10px;
   margin: 0 0 15px 0;
   padding: 0 5px 0 0;
   align-items: center;
   cursor: pointer;
   transition: .3s;
   border-radius: 50px 0 0 50px;
   color: #000;
}
#browse-funds #secondary .widget p.fund-category-row.selected,
#browse-funds #secondary .widget p.fund-category-row:hover {
   background: rgba(0,0,0,0.1);
}
#browse-funds #secondary .widget p.fund-category-row:last-child {
   margin: 0;
}
#browse-funds #secondary .widget p.fund-category-row span.icon {
   display: block;
   margin: 0;
   width: 40px;
   height: 40px;
   overflow: hidden;
   position: relative;
   border-radius: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
}
#browse-funds #secondary .widget p.fund-category-row span.icon img {
   display: block;
   width: 65%;
   height: auto;
}
#browse-funds #secondary .widget p.fund-category-row span.category-name {
   display: block;
}
/* Fund Types */
#browse-funds #secondary .widget .fund-types {
   padding: 20px 15px 20px 10px;
   background: rgba(139,41,138,0.05);
}
#browse-funds #secondary .widget .fund-types p {
   margin: 0;
   padding: 10px 10px 10px 15px;
   cursor: pointer;
   transition: .3s;
   color: #000;
}
#browse-funds #secondary .widget .fund-types p.selected,
#browse-funds #secondary .widget .fund-types p:hover {
   background: rgba(0,0,0,0.1);
}
/* clear filters button */
#browse-funds #secondary .widget .button {
   display: inline-block;
   margin-top: 5px;
   padding: 10px 30px;
   border-radius: 15px;
   font-size: 22px;
   font-weight: 300;
   border: none;
   color: #fff;
   background: var(--lcf-purple);
}
#browse-funds #secondary .widget .button:hover {
   background: var(--lcf-blue);
   text-decoration: none;
}
@media(max-width:992px) {
   #browse-funds {
      padding: 0;
   }
   #browse-funds .pagewidth {
      flex-direction: column-reverse;
   }
   #browse-funds #primary-funds {
      width: 100%;
      padding-right: 0px;
   }
   #browse-funds .outer-fund-wrap {
      display: block;
   }
   #browse-funds .outer-fund-wrap a.fund-wrap {
      margin: 0 0 30px 0;
   }
   #browse-funds #secondary {
      width: 100%;
      margin: 0 0 40px 0;
   }
}

/* single fund template */
.ind-fund-meta-col .grant-icons-wrap {
   margin-top: 15px;
}
.ind-fund-meta-col p.fund-category-row {
   display: flex;
   column-gap: 10px;
   margin: 0 0 15px 0;
   padding: 0 5px 0 0;
   align-items: center;
   color: #000;
}
.ind-fund-meta-col p.fund-category-row span.icon {
   display: block;
   margin: 0;
   width: 40px;
   height: 40px;
   overflow: hidden;
   position: relative;
   border-radius: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
}
.ind-fund-meta-col p.fund-category-row span.icon img {
   display: block;
   width: 65%;
   height: auto;
}
.ind-fund-meta-col p.fund-category-row span.category-name {
   display: block;
}


/* home page */

/* hero colors bar (only in homepage hero) */
#home-hero .color-bar-1 {
   content: '';
   display: block;
   width: calc(100% + ((100vw - 1200px) / 2));
   height: 5px;
   margin-left: calc(-1 * ((100vw - 1200px) / 2));
   background: linear-gradient(to right,
                               var(--lcf-blue) 0%, var(--lcf-blue) 16.5%,
                               var(--lcf-red) 16.5%, var(--lcf-red) 33%,
                               var(--lcf-orange) 33%, var(--lcf-orange) 49.5%,
                               var(--lcf-purple) 49.5%, var(--lcf-purple) 66%,
                               var(--lcf-lime) 66%, var(--lcf-lime) 82.5%,
                               var(--lcf-brown) 82.5%, var(--lcf-brown) 100%
                            );
}
@media(max-width:1200px) {
   #home-hero .color-bar-1 {
      width: 100%;
      margin-left: 0;
   }
}
@media(max-width:650px) {
   #home-hero .home-hero-text-col h1 {
      font-size: 42px;
   }
}
@media(max-width:550px) {
   #home-hero .fl-col-group {
      flex-direction: column;
   }
   #home-hero .home-hero-text-col {
      width: 100% !important;
   }
   #home-hero .home-hero-larger-img-col {
      display: none;
   }
}

/* heading tab style 1 (blue BG w/ 2 borders left) */
.heading-tab-1 {
   position: relative;
   z-index: 1;
}
.heading-tab-1::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: calc(-1 * ((100vw - 1200px) / 2));
   width: calc((100vw - 1200px) /2);
   height: 100%;
   background: linear-gradient(to right,
                               var(--lcf-purple) 0px, var(--lcf-purple) 25px,
                               var(--lcf-lime) 25px, var(--lcf-lime) 50px,
                               var(--lcf-blue) 50px, var(--lcf-blue) 100%
                            );
}

/* heading tab style 3 (purple BG w/ 2 borders left - Featured Donor stories on homepage) */
.heading-tab-3 {
   position: relative;
   z-index: 1;
}
.heading-tab-3::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: calc(-1 * ((100vw - 1200px) / 2));
   width: calc((100vw - 1200px) /2);
   height: 100%;
   background: linear-gradient(to right,
                               var(--lcf-orange) 0px, var(--lcf-orange) 25px,
                               var(--lcf-lime) 25px, var(--lcf-lime) 50px,
                               var(--lcf-purple) 50px, var(--lcf-purple) 100%
                            );
}
@media(max-width:1340px) {
   .heading-tab-3::before {
      left: 0;
      width: 50px;
   }
   .heading-tab-3 h2 {
      padding-left: 75px;
   }
}

/* heading tab style 4 (orange BG w/ 2 borders left) */
.heading-tab-4 {
   position: relative;
   z-index: 1;
}
.heading-tab-4::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: calc(-1 * ((100vw - 1200px) / 2));
   width: calc((100vw - 1200px) /2);
   height: 100%;
   background: linear-gradient(to right,
                               var(--lcf-blue) 0px, var(--lcf-blue) 25px,
                               var(--lcf-red) 25px, var(--lcf-red) 50px,
                               var(--lcf-orange) 50px, var(--lcf-orange) 100%
                            );
}

/* (news & Insights) extend box module with blog post content body to left of screen */
#news-insights .home-insights-content {
   position: relative;
   z-index: 1;
}
#news-insights .home-insights-content::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: calc(-1 * ((100vw - 1200px) / 2));
   width: calc((100vw - 1200px) /2);
   height: 100%;
   background: #F3F8FA;
}
body:not(.fl-builder-edit) #news-insights .featured-img-col {
   overflow: hidden;
   border-radius: 150px 0 0 0;
}
@media(max-width:768px) {
   body:not(.fl-builder-edit) #news-insights .featured-img-col {
      border-radius: 0;
   }
}

/* second news & insights decorative title row */
/* adds 2 faux borders on right */
.heading-tab-2-col {
   position: relative;
}
.heading-tab-2-col::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 3;
   top: 0;
   right: -40px;
   width: 100%;
   height: 100%;
   background: var(--lcf-purple);
   border-radius: 0 100px 0 0;
}
.heading-tab-2-col::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: 0;
   right: -70px;
   width: 100%;
   height: 100%;
   background: var(--lcf-lime);
   border-radius: 0 100px 0 0;
}
.heading-tab-2 {
   position: relative;
   z-index: 5;
}
/* extends blue to left of screen */
.heading-tab-2::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 5;
   top: 0;
   left: calc(-1 * ((100vw - 1200px) / 2));
   width: calc((100vw - 1200px) /2);
   height: 100%;
   background: var(--lcf-blue);
}
@media(max-width:768px) {
   .heading-tab-2-col::before,
   .heading-tab-2-col::after {
      display: none;
   }
}

/* icon pattern row card hover effects */
.zoom-box {
   transition: .4s;
}
.zoom-box:hover {
   transform: scale(1.05);
   transofrm-origin: center;
}

/* Nonprofit resource row (adds left-hand borders to brown area) */
.triple-border {
   position: relative;
   width: 40px !important;
}
.triple-border::before {
   content: '' !important;
   display: block !important;
   position: absolute;
   z-index: 6;
   top: -80px;
   left: 0px;
   width: 200px;
   height: calc(100% + 80px);
   background: var(--lcf-red);
   border-radius: 70px 0 0 0;
}
.triple-border .fl-col-content::before {
   content: '' !important;
   display: block !important;
   position: absolute;
   z-index: 6;
   top: -80px;
   left: 20px;
   width: 200px;
   height: calc(100% + 80px);
   background: var(--lcf-purple);
   border-radius: 70px 0 0 0;
}
.triple-border .fl-col-content::after {
   content: '' !important;
   display: block !important;
   position: absolute;
   z-index: 6;
   top: -80px;
   left: 40px;
   width: 200px;
   height: calc(100% + 80px);
   background: var(--lcf-blue);
   border-radius: 70px 0 0 0;
}

/* donor stories (custom output) */
.donor-stories {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   height: 500px;
   overflow: hidden;
}
.donor-stories .donor-story a {
   display: block;
   padding: 20px;
   position: relative;
   text-align: center;
   height: 100%;
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
}
.donor-stories .donor-story a::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 100%;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0,0,0,0.6);
   transition: .4s;
}
.donor-stories .donor-story a .inner {
   position: absolute;
   z-index: 2;
   width: 100%;
   left: 0;
   bottom: 0;
   padding: 0 70px 70px 70px;
   opacity: 0;
   transition: .6s;
   opacity: 0;
}
.donor-stories .donor-story a .inner h3 {
   color: var(--lcf-lime);
   font-size: 32px;
   font-weight: 300;
   text-align: center;
   margin: 0 0 30px 0;
   padding: 0;
   font-family: Taviraj, serif;
}
.donor-stories .donor-story a .inner span {
   display: inline-block;
   font-size: 22px;
   font-weight: 200;
   color: #ccc;
   padding: 0 0 4px 0;
   border-bottom: 1px solid #ccc;
}
.donor-stories .donor-story a:hover::after {
   top: 0;
}
.donor-stories .donor-story a:hover .inner {
   opacity: 1;
}
@media(max-width:768px) {
   .donor-stories {
      display: block;
      height: auto;
   }
   .donor-stories .donor-story a {
      padding: 50vw 20px 20px 20px;
      text-align: left;
      border-bottom: 20px solid var(--lcf-orange);
   }
   .donor-stories .donor-story:nth-child(2) a {
      border-bottom: 20px solid var(--lcf-lime);
   }
   .donor-stories .donor-story:nth-child(3) a {
      border-bottom: 20px solid var(--lcf-purple);
   }
   .donor-stories .donor-story a::after {
      display: none;
   }
   .donor-stories .donor-story a .inner {
      opacity: 1;
      padding: 20px;
       background: rgba(0,0,0,0.6);
   }
   .donor-stories .donor-story a .inner h3 {
      text-align: left;
      margin: 0 0 5px 0;
      font-size: 26px;
   }
   .donor-stories .donor-story a .inner span {
      text-align: left;
      font-size: 20px;
   }
}
@media(max-width:450px) {
   .donor-stories .donor-story a .inner h3 {
      font-size: 21px;
   }
}

/* grant stories (custom output) */
.grant-stories {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   grid-column-gap: 5px;
   height: 330px;
   overflow: hidden;
}
.grant-stories .grant-story a {
   display: block;
   padding: 300px 20px 20px 20px;
   position: relative;
   text-align: center;
   height: 100%;
   background-repeat: no-repeat;
   background-position: center top;
   background-size: cover;
}
.grant-stories .grant-story a::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 100%;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0,0,0,0.8);
   transition: .4s;
}
.grant-stories .grant-story a .inner {
   position: absolute;
   z-index: 2;
   width: 100%;
   left: 0;
   bottom: 0;
   padding: 0 20px 70px 20px;
   opacity: 0;
   transition: .6s;
   opacity: 0;
}
.grant-stories .grant-story a .inner h3 {
   color: var(--lcf-lime);
   font-size: 20px;
   font-weight: 300;
   line-height: 1.1;
   text-align: center;
   margin: 0 0 30px 0;
   padding: 0;
}
.grant-stories .grant-story a .inner span {
   display: inline-block;
   font-size: 22px;
   font-weight: 200;
   color: #ccc;
   padding: 0 0 4px 0;
   border-bottom: 1px solid #ccc;
}
.grant-stories .grant-story a:hover::after {
   top: 0;
}
.grant-stories .grant-story a:hover .inner {
   opacity: 1;
}
@media(max-width:768px) {
   .grant-stories {
      display: block;
      height: auto;
   }
   .grant-stories .grant-story a {
      padding: 55vw 20px 20px 20px;
      text-align: left;
      border-bottom: 20px solid var(--lcf-brown);
   }
   .grant-stories .grant-story a::after {
      display: none;
   }
   .grant-stories .grant-story a .inner {
      opacity: 1;
      padding: 20px;
       background: rgba(0,0,0,0.7);
   }
   .grant-stories .grant-story a .inner h3 {
      text-align: left;
      margin: 0 0 5px 0;
      font-size: 23px;
   }
   .grant-stories .grant-story a .inner span {
      text-align: left;
      font-size: 20px;
   }
}
@media(max-width:450px) {
   .grant-stories .grant-story a .inner h3 {
      font-size: 21px;
   }
}


/* footer */

.footer-contact input.gform_button {
   transform: translateY(-167px);
}
.ginput_container_turnstile .cf-turnstile {
   transform: translateY(-152px);
}
.footer-contact label.gfield_label {
   color: var(--lcf-blue);
}
@media(max-width:640px) {
   .footer-contact input.gform_button {
      transform: translateY(0px);
   }
   .ginput_container_turnstile .cf-turnstile {
      transform: translateY(0px);
   }
}





