/*
Theme Name: The Water Council
Version: 1.0
Description: Custom theme
Author: DigiSage, Inc.
Author URI: https://digisage.com
template: bb-theme
*/

:root {
   --twc-teal: #00788C;
   --twc-dark-blue: #005072;
   --twc-blue: #005E9E;
   --twc-light-blue: #00B5F0;
   --twc-chartreuse: #7AED00;
   --twc-brown: #474D54;
   --twc-pagewidth: 1300px;
   /* SVG shapes */
   --top-wavy-edge-dark-blue: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 66.248' fill='none'><path d='M1400,66.248V26.73c-268.183,40.133-520.829-69.377-859.616-7.122C266.281,69.978,135.855,34.08,0,13.179V66.248Z' style='fill:%23005072;' /></svg>");
   --bottom-wavy-edge-dark-blue: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 66.248' fill='none'><path d='M1400,66.248V26.73c-268.183,40.133-520.829-69.377-859.616-7.122C266.281,69.978,135.855,34.08,0,13.179V66.248Z' style='fill:%23ffffff;' /></svg>");
   --top-wavy-edge-lightest-blue: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 66.248' fill='none'><path d='M1400,66.248V26.73c-268.183,40.133-520.829-69.377-859.616-7.122C266.281,69.978,135.855,34.08,0,13.179V66.248Z' style='fill:%23F1FAFF;' /></svg>");
   --bottom-wavy-edge-lightest-blue: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 66.248' fill='none'><path d='M1400,66.248V26.73c-268.183,40.133-520.829-69.377-859.616-7.122C266.281,69.978,135.855,34.08,0,13.179V66.248Z' style='fill:%23ffffff;' /></svg>");
   --icon-filters-white: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.691 18.341' fill='none'><g><path d='M.817,5.388H3.386a4.561,4.561,0,0,0,8.978,0H25.875a.817.817,0,0,0,0-1.633H12.364a4.561,4.561,0,0,0-8.978,0H.817a.817.817,0,1,0,0,1.633M7.875,2A2.572,2.572,0,1,1,5.3,4.571,2.573,2.573,0,0,1,7.875,2' style='fill:%23ffffff;' /><path d='M25.875,12.953h-3.04a4.561,4.561,0,0,0-8.978,0H.817a.817.817,0,1,0,0,1.633h13.04a4.561,4.561,0,0,0,8.978,0h3.04a.817.817,0,1,0,0-1.633m-7.529,3.388a2.571,2.571,0,1,1,2.571-2.571,2.573,2.573,0,0,1-2.571,2.571' style='fill:%23ffffff;' /></g></svg>");
   --icon-filters-chartreuse: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.691 18.341' fill='none'><g><path d='M.817,5.388H3.386a4.561,4.561,0,0,0,8.978,0H25.875a.817.817,0,0,0,0-1.633H12.364a4.561,4.561,0,0,0-8.978,0H.817a.817.817,0,1,0,0,1.633M7.875,2A2.572,2.572,0,1,1,5.3,4.571,2.573,2.573,0,0,1,7.875,2' style='fill:%237AED00;' /><path d='M25.875,12.953h-3.04a4.561,4.561,0,0,0-8.978,0H.817a.817.817,0,1,0,0,1.633h13.04a4.561,4.561,0,0,0,8.978,0h3.04a.817.817,0,1,0,0-1.633m-7.529,3.388a2.571,2.571,0,1,1,2.571-2.571,2.573,2.573,0,0,1-2.571,2.571' style='fill:%237AED00;' /></g></svg>");
   /* custom socials */
   --svg-icon-twitter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 1227'><path fill='%23005E9E' d='M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z'/></svg>");
   --svg-icon-blue-sky: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 57'><path fill='%23005E9E' d='M13.873 3.805C21.21 9.332 29.103 20.537 32 26.55v15.882c0-.338-.13.044-.41.867-1.512 4.456-7.418 21.847-20.923 7.944-7.111-7.32-3.819-14.64 9.125-16.85-7.405 1.264-15.73-.825-18.014-9.015C1.12 23.022 0 8.51 0 6.55 0-3.268 8.579-.182 13.873 3.805ZM50.127 3.805C42.79 9.332 34.897 20.537 32 26.55v15.882c0-.338.13.044.41.867 1.512 4.456 7.418 21.847 20.923 7.944 7.111-7.32 3.819-14.64-9.125-16.85 7.405 1.264 15.73-.825 18.014-9.015C62.88 23.022 64 8.51 64 6.55c0-9.818-8.578-6.732-13.873-2.745Z'/></svg>");
}

/* utilities */
.pad-left-pagewidth > .fl-col-content {
   padding-left: calc((100vw - var(--twc-pagewidth)) / 2);
}
.pad-right-pagewidth > .fl-col-content {
   padding-right: calc((100vw - var(--twc-pagewidth)) / 2);
}
@media(max-width:1340px) {
   .pad-left-pagewidth > .fl-col-content {
      padding-left: 0px;
   }
   .pad-right-pagewidth > .fl-col-content {
      padding-right: 0px;
   }
}
/* layering styles (off while editing) */
body:not(.fl-builder-edit) .z-index-5 {
   position: relative;
   z-index: 5;
}
body:not(.fl-builder-edit) .z-index-10 {
   position: relative;
   z-index: 10;
}
body:not(.fl-builder-edit) .z-index-15 {
   position: relative;
   z-index: 15;
}

/* animate button grow styling */
.fl-module-button.grow {
   position: relative;
   min-height: 32px;
}
.fl-module-button.grow a.fl-button {
   position: absolute;
   min-width: 200px;
   top: 0;
   left: 0;
   text-align: center;
   transition: .3s;
}
/* when button is centered */
.fl-module-button.grow.fl-button-center a.fl-button {
   left: 50%;
   transform: translateX(-50%);
}
.fl-module-button.grow.fl-button-center a.fl-button span {
   transition: .3s;
}
.fl-module-button.grow a.fl-button:hover {
   padding: 12px 30px;
   min-width: 230px;
   box-shadow: 8px 8px 0px 0px var(--twc-dark-blue);
}
@media(max-width:768px) {
   .fl-module-button.grow.button-center-768 a.fl-button {
      left: 50%;
      transform: translateX(-50%);
   }
}
/* reducing size of icon when used in button */
.fl-button-has-icon a.fl-button i {
   font-size: 15px;
}

/* animate button border (button border grows on hover) */
.fl-module-button.border-fade-in a.fl-button {
   transition: .3s;
}
.fl-module-button.border-fade-in a.fl-button:hover {
   box-shadow: 0 0 0 4px #fff;
}

/* droplets with image (image with a drop shadow effect) */
.droplet-image-mod > .fl-photo-content img {
   border-radius: 50% 0 50% 50%;
   border: 7px solid #fff;
   box-shadow: 45px 25px 0 0 var(--twc-blue);
}
.droplet-image-mod-sm > .fl-photo-content img {
   border-radius: 50% 0 50% 50%;
   border: 7px solid #fff;
   box-shadow: 25px 25px 0 0 var(--twc-light-blue);
}
@media(max-width:768px) {
   .bio-card {
      .droplet-image-mod-sm > .fl-photo-content img {
         box-shadow: 15px 15px 0 0 var(--twc-light-blue);
      }
   }
}

/* add overflow hidden (mostly for rows with negative margin modules, etc.) */
.overflow-hidden {
   overflow: hidden;
}

/* mobile-only elements */
.mobi-only {
   display: none;
}
@media(max-width:768px) {
   .mobi-only {
      display: block;
   }
}

/* general lists in content modules */
.fl-module-rich-text ul li {
   margin-bottom: 10px;
}


/* ----- header ----- */

header.fl-builder-content-36 {
   position: relative;
   z-index: 50;
}

/* top bar quick links */
#topbar {
   position: relative;
   z-index: 5;
}
#topbar .fl-module-photo {
   transition: margin .3s;
}
#topbar .site-title a {
   display: block;
   position: relative;
}
/* prepend site title with white version of site logo pattern (for mobile only) */
#topbar .site-title a::before {
   content: '';
   display: none;
   position: absolute;
   top: -4px;
   left: 0;
   width: 40px;
   height: 30px;
   background: url(assets/images/site-logo-white.svg) no-repeat 0 0;
   background-size: contain;
}
#topbar .quick-links-box {
   transform: translateY(17px);
   position: relative;
   height: 30px;
   transition: .4s;
}
#topbar .quick-links-box .quick-links {
   position: absolute;
   width: 100%;
   top: 5px;
   left: 0;
}
#topbar .quick-links-box .quick-links a {
   transition: .4s;
}
#topbar .quick-links-box .quick-links a:hover {
   padding-top: 20px;
   padding-bottom: 20px;
}
/* move these buttons up when header shrinks */
.fl-theme-builder-header-shrink #topbar .quick-links-box {
   transform: translateY(2px);
}
@media(max-width:768px) {
   #topbar .fl-row-content-wrap {
      background-size: 0, cover; /* hide the first background image so it is all more readable */
   }
   #topbar .site-title a {
      padding-left: 45px;
   }
   #topbar .site-title a::before {
      display: block;
      left: -5px;
   }
}
@media(max-width:460px) {
   #topbar .site-title a {
      padding-left: 35px;
   }
   #topbar .site-title a::before {
      width: 32px;
      height: 30px;
   }
   #topbar .site-title a img {
      width: 200px;
      height: auto;
   }
}

/* site logo */
body:not(.home) #masthead .logo-col img {
   width: 133px;
   height: auto;
}

/* main menu */

/* hide menu items meant only for fly-out */
ul#menu-desktop-menu li.mobi-only {
   display: none;
}
/* swap search icon with design icon */
ul#menu-desktop-menu li.pp-menu-search-item > a {
   border: none;
   padding-left: 0;
}
ul#menu-desktop-menu li.pp-menu-search-item > a {
   background: url(assets/images/icon-search.svg) no-repeat center;
   background-size: 14px auto;
}
ul#menu-desktop-menu li.pp-menu-search-item > a i.fa-search::before {
   display: none;
}
/* swap search icon with X close */
ul#menu-desktop-menu li.pp-menu-search-item.pp-search-active > a {
   background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' stroke='%23474D54' stroke-width='2'><line x1='0' y1='0' x2='20' y2='20' /><line x1='20' y1='0' x2='0' y2='20' /></svg>");
   background-repeat: no-repeat;
   background-position: center 22px;
   background-size: 12px auto;
}
/* search box */
ul#menu-desktop-menu li .pp-search-form__container {
   padding: 20px;
}
ul#menu-desktop-menu li .pp-search-form__container label {
   display: none;
}
/* top level menu item - left side light blue border */
ul#menu-desktop-menu > li:not(.pp-menu-search-item)::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: 17px;
   left: 0;
   width: 3px;
   height: 24px;
   background: #72d5f6;
   transition: .3s;
}
ul#menu-desktop-menu li ul li::before {
   display: none !important;
}
ul#menu-desktop-menu > li:hover::before {
   top: -5px;
   opacity: 0;
}
/* top level menu item - hover background shape (light blue rectangle) */
ul#menu-desktop-menu > li:not(.pp-menu-search-item)::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: 0;
   left: 0;
   width: 0;
   height: 100%;
   background: #72d5f6;
   border-radius: 0 32px 0 32px;
   transition: .3s;
}
ul#menu-desktop-menu > li.menu-item-has-children::after {
   border-radius: 0 32px 0 0;
}
ul#menu-desktop-menu > li:not(.pp-menu-search-item):hover::after {
   width: 100%;
}
ul#menu-desktop-menu > li.menu-item-has-children::after {
   height: 100%;
}
ul#menu-desktop-menu > li a span {
   position: relative;
   z-index: 1;
}
ul#menu-desktop-menu > li ul {
   display: none;
   width: calc(100% + 80px);
   margin-left: 5px;
   padding-top: 15px;
   padding-bottom: 15px;
   z-index: 10;
}
ul#menu-desktop-menu > li ul li {
   position: relative;
   z-index: 5;
}
/* light blue faux background extension of top menu item when hovered */
ul#menu-desktop-menu > li ul::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: 0;
   left: -5px;
   width: calc(100% - 80px);
   height: calc(100% + 5px);
   background: var(--twc-light-blue);
   opacity: .5;
   border-radius: 0 0 0 36px;
   transition: .4s;
}
/* dark background behind links */
ul#menu-desktop-menu > li ul::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--twc-brown);
   border-radius: 0 32px 0 32px;
}
/* flyout menu */
.pp-off-canvas-menu ul.sub-menu {
   background-color: transparent !important;
}
.pp-off-canvas-menu ul#menu-desktop-menu li.mobi-only {
   display: block;
}
@media(max-width:1300px) {
   ul#menu-desktop-menu > li > a {
      padding-right: 20px !important;
   }
}
@media(max-width:768px) {
   #masthead > .fl-row-content-wrap {
      height: 0;
      margin: 0;
      padding: 0;
   }
   button.pp-advanced-menu-mobile-toggle {
      margin-top: -40px;
      position: relative;
      z-index: 10;
   }
   button.pp-advanced-menu-mobile-toggle .pp-hamburger-inner,
   button.pp-advanced-menu-mobile-toggle .pp-hamburger-inner::before,
   button.pp-advanced-menu-mobile-toggle .pp-hamburger-inner::after {
      background-color: #fff !important;
   }
}
@media(max-width:460px) {
   button.pp-advanced-menu-mobile-toggle {
      margin-top: -34px;
   }
}


/* global interior page title row
   (title only OR with featured image) */
#int-sub-title {
   overflow: hidden;
}
#int-sub-title > .fl-row-content-wrap {
   position: relative;
}
/* logo pattern on right side */
#int-sub-title > .fl-row-content-wrap::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 9;
   top: 0;
   right: 0px;
   width: 290px;
   height: 300px;
   background: url(assets/images/page-title-logo-pattern.svg) no-repeat 0 0;
   background-size: auto 100%;
}
/* chartreuse line full width across bottom */
#int-sub-title .fl-row-content-wrap::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 10;
   bottom: 10px;
   left: 0px;
   width: 100vw;
   height: 2px;
   background: var(--twc-chartreuse);
}
/* fix registered trademark */
#int-sub-title .page-sub-title sup {
   font-size: 26px;
}
/* left side background color with top right radius */
#int-sub-title .col-1::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 0;
   width: calc(100vw - ((100vw - 1300px ) / 2));
   height: 300px;
   border-radius: 0 250px 0 0;
   background: linear-gradient(90deg, #003850 0%, #005072 100%);
}
#int-sub-title .col-1 .fl-col-content {
   position: relative;
   z-index: 5; /* keep the text on top layer */
}
#int-sub-title .col-1 .page-sub-title {
   padding-left: calc((100vw - 1300px ) / 2); /* forcing the col width */
}
#int-sub-title .col-2 {
   position: relative;
   width: calc((100vw - 1300px ) / 2) !important;
}
/* right side light blue background color with top left radius */
#int-sub-title .col-2::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 20px;
   left: -100px;
   width: calc(100% + 100px);
   height: 100%;
   min-height: 200px;
   border-radius: 200px 0 0 0;
   background: var(--twc-light-blue);
}
#int-sub-title.no-image .col-1::after {
   border-radius: 0 150px 0 0;
}
#int-sub-title.no-image .col-2::after {
   border-radius: 100px 0 0 0;
   top: -20px;
}

/* global directory version of page subtitle */
#int-sub-title.global-directory-alt-color .col-1::after,
#int-sub-title.global-directory-with-img .col-1::after {
   background: linear-gradient(90deg, #014052 0%, #01788C 100%);
}
@media(max-width:1340px) {
   #int-sub-title .col-1.pad-left-pagewidth > .fl-col-content {
      padding-left: 20px;
   }
   #int-sub-title .col-1::after,
   #int-sub-title .col-1 {
      width: calc(100% - 150px) !important;
   }
   #int-sub-title .col-1 .page-sub-title {
      padding-left: 20px;
      max-width: 75%;
   }
   #int-sub-title .col-1 .page-sub-title p {
      font-size: 30px;
   }
   #int-sub-title .col-2 {
      width: 150px !important;
   }
}
@media(max-width:1200px) {
   #int-sub-title .col-1 .page-sub-title p {
      font-size: 24px;
   }
}
@media(max-width:992px) {
   #int-sub-title .col-1::after {
      border-radius: 0 170px 0 0;
   }
   #int-sub-title .col-1 .page-sub-title p {
      font-size: 22px;
   }
   #int-sub-title .col-2::after {
      border-radius: 150px 0 0 0;
   }
}
@media(max-width:768px) {
   #int-sub-title .fl-row-content-wrap::before {
      right: -70px;
   }
   #int-sub-title .col-1.pad-left-pagewidth > .fl-col-content {
      padding-left: 0px;
   }
   #int-sub-title .col-1 {
      width: 100% !important;
   }
   #int-sub-title .col-1::after {
      width: 100% !important;
      border-radius: 0 120px 0 0;
   }
   #int-sub-title .col-1 .page-sub-title {
      padding-left: 0px;
      max-width: 80%;
   }
   #int-sub-title .col-1 .page-sub-title p {
      font-size: 21px;
   }
   #int-sub-title .col-2 {
      display: none;
   }
}

/* tablepress */
table.tablepress th {
   border: none;
   background: var(--twc-blue);
   color: #fff;
   padding: 8px 15px;
}
table.tablepress td {
   border: 1px solid #ddd;
   padding: 8px 15px;
}
table.tablepress.member-pricing tbody tr td:nth-child(1) {
   width: 50%;
}
table.tablepress.member-pricing tbody tr td:nth-child(2) {
   width: 40%;
}
table.tablepress.member-pricing tbody tr td:nth-child(3) {
   width: 10%;
   font-weight: 700;
   color: var(--twc-teal);
   text-align: right;
}
@media(max-width:500px) {
   /* allow fee table to scroll right to view all */
   .membership-fees-table-wrap {
      overflow-x: auto;
   }
}

/* events */

/* make the read more buttons look more like a button */
.tribe_events a.fl-post-feed-more {
   background: var(--twc-chartreuse);
   text-transform: uppercase;
   padding: 7px 15px;
   border-radius: 7px 0 7px 7px;
   line-height: 1;
   border: none;
   font-size: 16px;
   width: 200px;
   text-align: center;
   text-decoration: none;
   transition: .3s;
   color: var(--twc-blue);
   font-weight: 400;
}
.tribe_events a.fl-post-feed-more:hover {
   color: #fff !important;
   background: var(--twc-blue);
}
/* force width on restricted details */
.tribe-events-meta-group {
   width: 100%;
   padding: 0px !important;
   font-weight: 400;
}
.tribe-events-meta-group h2 {
   font-size: 18px !important;
}
.event-website-clip {
   width: 350px;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}
a.tribe-events-gmap {
   display: block;
}
.event-web-button-wrap a.fl-button {
   padding: 5px 7px;
   border-radius: 7px 0 7px 7px;
   font-size: 16px;
   font-weight: normal;
   line-height: 18px;
}
.event-web-button-wrap a.fl-button:hover {
   background: var(--twc-chartreuse);
   color: #000;
}

/* page custom CSS */

/* converting flipbox image to be full background of front tile */
.flipbox-image .pp-flipbox-image img {
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   object-fit: cover;
   display: block;
}
.flipbox-image .pp-flipbox-front {
   padding: 0;
}
.flipbox-image .pp-flipbox-front .pp-flipbox-title {
   position: relative;
}
.flipbox-image .pp-flipbox-front h3.pp-flipbox-front-title {
   margin-top: -25px !important;
}

/* member single */
@media(min-width:2000px) {
   .member-logo-col {
      width: 40%;
   }
   .member-meta-col {
      width: 60%;
   }
}
/* meta left column */
.member-meta:not(:last-of-type) {
   margin-bottom: 10px;
}
.member-meta span.title {
   display: block;
   font-weight: 700;
   font-size: 16px;
   text-transform: uppercase;
}
.member-meta ul {
   margin: 0;
   padding: 0;
}
.member-meta ul li {
   margin: 0;
   padding: 0 0 0 5px;
   list-style: none;
   font-size: 16px;
   font-weight: 400;
}
/* meta right column */
.prepend-blue-drop p::before {
   content: '';
   display: inline-block;
   width: 20px;
   height: 20px;
   background: var(--twc-blue);
   border-radius: 50% 0 50% 50%;
   margin-right: 5px;
   transform: translateY(5px);
}
.prepend-light-blue-drop p::before {
   content: '';
   display: inline-block;
   width: 20px;
   height: 20px;
   background: var(--twc-light-blue);
   border-radius: 50% 0 50% 50%;
   margin-right: 5px;
   transform: translateY(5px);
}
.prepend-teal-drop p::before {
   content: '';
   display: inline-block;
   width: 20px;
   height: 20px;
   background: var(--twc-teal);
   border-radius: 50% 0 50% 50%;
   margin-right: 5px;
   transform: translateY(5px);
}
.prepend-chartreuse-drop p::before {
   content: '';
   display: inline-block;
   width: 20px;
   height: 20px;
   background: var(--twc-chartreuse);
   border-radius: 50% 0 50% 50%;
   margin-right: 5px;
   transform: translateY(5px);
}
.member-socials {
   display: flex;
   column-gap: 10px;
}
.member-socials a {
   display: block;
   transition: .3s;
}
.member-socials a i {
   font-size: 24px;
   color: var(--twc-blue);
}
/* swapping twitter for X logo */
.member-socials a.twitter i::before {
   content: '';
   display: block;
   width: 20px;
   height: 20px;
   background: var(--svg-icon-twitter) no-repeat center;
   background-size: 18px auto;
}
.member-socials a:hover {
   opacity: 0.7;
}

/* showcase member grid */
@media(max-width:1340px) {
   .showcase-grid .grid-photo figure,
   .showcase-grid .grid-photo .fl-photo-content {
      height: 100%;
      width: 100%;
   }
   .showcase-grid .grid-photo .fl-photo-content img {
      object-fit: cover;
      width: 100%;
      height: 100%;
   }
}

/* prevent floated images in content from causing thin columns of text */
@media(max-width:600px) {
   body.single .post-content img.alignleft,
   body.single .post-content img.alignright {
      float: none;
      display: block;
      margin: 0 auto 15px auto;
   }
}

/* keep embedded videos in blogs from going 100% width */
body.single .post-content .fluid-width-video-wrapper {
   padding-top: 0 !important;
   width: 700px;
   max-width: 100%;
   aspect-ratio: 16 / 9;
}

/* what is water technology? page icon rows */
.water-tech-icon-row > .fl-module-box:nth-child(2) {
   width: calc(100% - 100px) !important;
}
@media(max-width:768px) {
   .water-tech-icon-row > .fl-module-box:nth-child(2) {
      padding-right: 0;
   }
}

/* newsletter */
.gfield--type-consent legend {
   display: none !important;
}
.gfield--type-consent .ginput_container_consent {
   display: flex;
   align-items: flex-start;
   gap: 10px;
}
.gfield--type-consent input[type="checkbox"] {
   transform: translateY(3px);
}

/* logo tile grid */
.logo-tile-grid > .fl-module-box .fl-module-photo {
   width: 100%;
   height: 100%;
   display: flex;
   flex-direction: column;
   justify-content: center;
   background: #fff;
   padding: 15px;
}
/* For photo placeholder spots, drop the padding  */
.logo-tile-grid > .fl-module-box.no-mat-no-padding .fl-module-photo {
   padding: 0;
}
.logo-tile-grid > .fl-module-box .fl-module-photo .fl-photo-content {
   width: 100%;
}

/* cohort grid of flip boxes */
.cohort-grid .pp-flipbox-image {
   height: 160px;
}
.cohort-grid .pp-flipbox-front .pp-flipbox-inner {
   background: #fff;
   padding: 15px;
}
.cohort-grid .pp-flipbox-image img {
   object-fit: contain;
   width: 100%;
   height: 100%;
}
.cohort-grid .pp-flipbox-back .pp-flipbox-description p {
   line-height: 1.2 !important;
}
.cohort-grid .pp-flipbox-back a.fl-button {
   line-height: 1;
   display: block;
   margin: 15px auto 0 auto;
   padding: 7px 15px;
   border-radius: 7px 0 7px 7px;
}

/* BREW 2.0 timeline within FAQ */
.brew-program-timeline .pp-infolist-wrap .layout-1 .pp-list-connector {
   left: 20px !important;
}

/* global directory main landing filters page first row */
body:not(.fl-builder-edit) .directory-filter-keyword-row .search-col > .fl-col-content {
   background: none;
}
body:not(.fl-builder-edit) .directory-filter-keyword-row {
   overflow: hidden;
}
.directory-filter-keyword-row .search-col > .fl-col-content {
   position: relative;
}
/* dark blue background */
.directory-filter-keyword-row .search-col > .fl-col-content::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 0;
   width: calc(100% + 80px);
   height: 300px;
   border-radius: 0 170px 0 0;
   background: var(--twc-dark-blue);
}
.directory-filter-keyword-row .search-col > .fl-col-content .fl-module {
   position: relative;
   z-index: 2;
}
.directory-filter-keyword-row form {
   position: relative;
   width: 260px;
}
.directory-filter-keyword-row form input {
   padding: 2px 27px 2px 10px;
   border-radius: 5px;
   font-size: 17px;
   border: 2px solid var(--twc-light-blue);
}
/*
possibly remove / rml
.directory-filter-keyword-row button {
   position: absolute;
   top: 7px;
   right: 5px;
   width: 16px;
   height: 16px;
   overflow: hidden;
   text-indent: -9999px;
   background: url(assets/images/icon-search.svg) no-repeat center;
   background-size: contain;
}
*/
/* reset button*/
.directory-filters-row .filters-reset {
   opacity: 0;
   transition: .6s;
}
/* filter wrap for all drop down columns */
.outer-filters-wrap {
   display: none;
}
.filters-wrap {
   padding-top: 15px;
   display: grid;
   grid-auto-flow: column;
   grid-auto-columns: 1fr;
   column-gap: 40px;
   border-top: 1px solid rgba(255,255,255,0.5);
   transition: .6s;
}
.directory-filters-row #directory-filters-toggle a.fl-button {
   background: var(--icon-filters-white) no-repeat 0 11px;
   background-size: 30px auto;
}
.directory-filters-row #directory-filters-toggle a.fl-button:hover {
   background-image: var(--icon-filters-chartreuse);
}
.filters-wrap .filter-col {
   color: #fff;
}
.filters-wrap .filter-col label {
   font-weight: 700;
   line-height: 1.2;
   margin: 0 0 15px 0;
   text-transform: uppercase;
   letter-spacing: 1px;
   font-size: 18px;
}
.filters-wrap .filter-col .filters-dropdown {
   border: 1px solid var(--twc-chartreuse);
   border-radius: 8px;
   font-size: 18px;
   padding: 5px 15px 5px 15px;
   cursor: pointer;
}
.filters-wrap .filter-col .filters-dropdown .filters-toggle {
   position: relative;
   font-size: 16px;
}
.filters-wrap .filter-col .filters-dropdown .filters-toggle::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0px;
   right: 10px;
   width: 15px;
   height: 15px;
   border-right: 2px solid var(--twc-chartreuse);
   border-bottom: 2px solid var(--twc-chartreuse);
   transform: rotate(45deg);
   transform-origin: center center;
   transition: .3s;
}
.filters-wrap .filter-col .filters-dropdown .filters-toggle.open::after {
   transform: translateY(8px) rotate(225deg); /* rotate & nudge arrow on click */
}
.filters-wrap .filter-col .filters-dropdown ul {
   margin: 0;
   padding: 0;
   display: none;
}
.filters-wrap .filter-col .filters-dropdown ul.open {
   height: auto;
}
.filters-wrap .filter-col .filters-dropdown ul li {
   margin: 0 0 8px 0;
   padding: 0;
   list-style: none;
   font-size: 16px;
}
.filters-wrap .filter-col .filters-dropdown ul li:nth-child(1) {
   padding-top: 15px;
}
.filters-wrap .filter-col .filters-dropdown ul li label {
   font-size: 16px;
   font-weight: 300;
   margin: 0;
   letter-spacing: 0px;
   text-transform: none;
}
.filters-wrap .filter-col .filters-dropdown ul li button {
   display: inline-block;
   position: relative;
   width: 15px;
   height: 15px;
   margin: 0 5px 0 0;
   padding: 0;
   border: none;
   border-radius: 0;
   background-color: #fff;
   transform: translateY(2px);
}
.filters-wrap .filter-col .filters-dropdown ul li button::before {
   content: 'X';
   display: block;
   position: absolute;
   top: -2px;
   left: 0px;
   width: 100%;
   height: 100%;
   transform: scale(0);
   font-weight: 700;
   color: var(--twc-dark-blue);
   transition: 120ms transform ease-in-out;
}
.filters-wrap .filter-col .filters-dropdown ul li button.checked::before {
   transform: scale(1);
}
/* when the filters have been opened */
.directory-filters-row.active .filters-reset {
   opacity: 1;
}
@media(max-width:1100px) {
   .filters-wrap {
      grid-auto-flow: row;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      column-gap: 20px;
      row-gap: 30px;
   }
}
@media(max-width:400px) {
   .filters-wrap {
      display: block;
   }
   .filters-wrap .filter-col {
      margin: 0 0 20px 0;
   }
}

/* global directory searching */
.directory-search-form {
   position: relative;
   display: inline-block;
}
.directory-search-form .directory-search-clear {
   position: absolute !important;
   right: 10px !important;
   top: 50% !important;
   transform: translateY(-50%) !important;
   background: none !important;
   border: none !important;
   font-size: 20px !important;
   cursor: pointer !important;
   color: #999 !important;
   padding: 0 !important;
   width: 20px !important;
   height: 20px !important;
   line-height: 20px !important;
   text-indent: 0 !important;
   overflow: visible !important;
   display: none !important;
}
.directory-search-form .directory-search-clear:hover {
   color: #333 !important;
}
.directory-search-form .directory-search-clear.visible {
   display: block !important;
}

/* global directory "archive" member cards */
.global-directory-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 30px;
   margin: 40px 0;
}
.directory-card {
   background: #fff;
   padding: 30px;
   border: 2px solid transparent;
   transition: border-color 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   min-height: 200px;
   text-decoration: none;
   color: inherit;
   opacity: 1;
   transform: scale(1);
}
.directory-card.hidden {
   opacity: 0;
   transform: scale(0.95);
   pointer-events: none;
}
.directory-card:hover {
   border-color: #00bcd4;
}
.directory-card-logo {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 15px;
}
.directory-card-logo img {
   max-width: 100%;
   height: auto;
   max-height: 120px;
   object-fit: contain;
   filter: grayscale(100%);
   transition: filter 0.3s ease;
}
.directory-card:hover .directory-card-logo img {
   filter: grayscale(0%);
}
.directory-card-title {
   text-align: center;
   font-size: 14px;
   color: #333;
   margin-top: 10px;
}
@media (max-width: 1200px) {
   .global-directory-grid {
      grid-template-columns: repeat(3, 1fr);
   }
}
@media (max-width: 768px) {
   .global-directory-grid {
      grid-template-columns: repeat(2, 1fr);
   }
}
@media (max-width: 480px) {
   .global-directory-grid {
      grid-template-columns: 1fr;
   }
}

/* Water Stewardship page - nudge video to overlap right column */
.nudge-video-right {
   position: relative;
   z-index: 5;
   transform: translateX(160px);
}
@media(max-width:992px) {
   .nudge-video-right {
      transform: translateX(100px);
   }
}
@media(max-width:768px) {
   .nudge-video-right {
      transform: translateX(0px);
   }
}
/* right image rounded top and light blue top border */
.shadow-top-light-blue > .fl-col-content {
   transform: translateX(80px);
}
@media(max-width:992px) {
   .shadow-top-light-blue > .fl-col-content {
      transform: translateX(30px);
   }
}
@media(max-width:768px) {
   .shadow-top-light-blue > .fl-col-content {
      transform: translateX(0px);
   }
}
/* 3-column row of background images with center image larger */
.images-3-center-taller .fl-builder-layer {
   z-index: 5;
}
.bg-img-scale-up > .fl-col-content {
   transform: scale(1.1);
   transform-origin: bottom center;
}
@media(max-width:768px) {
   .bg-img-scale-up > .fl-col-content {
      transform: scale(1.2);
   }
}
/* text on blue background wavy top and bottom patterns (dark blue) */
.top-waves,
.bottom-waves {
   position: relative;
}
body:not(.fl-builder-edit) .top-waves .fl-row-content-wrap,
body:not(.fl-builder-edit) .bottom-waves .fl-row-content-wrap {
   position: relative;
   z-index: 5;
}
.top-waves::before,
.bottom-waves::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 2;
   left: 0px;
   width: 100%;
   height: 100px;
   background-repeat: no-repeat;
   background-size: cover;
}
.top-waves::before {
   top: -99px;
   background-image: var(--top-wavy-edge-dark-blue);
   background-position: center bottom;
}
.top-waves::after {
   bottom: -100px;
   background-color: var(--twc-dark-blue);
   background-image: var(--bottom-wavy-edge-dark-blue);
   background-position: center top;
}
.top-waves.lightest-blue::before {
   background-image: var(--top-wavy-edge-lightest-blue);
}
.top-waves.lightest-blue::after {
   background-color: #F1FAFF;
   background-image: var(--bottom-wavy-edge-lightest-blue);
}
@media(max-width:768px) {
   .top-waves::before,
   .bottom-waves::after {
      display: none;
   }
}

/* service CTA with droplets in upper left corner */
.waterdrops-cta-border {
   position: relative;
}
/* droplets in upper left corner */
.waterdrops-cta-border::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 2;
   top: -40px;
   left: -25px;
   width: 72px;
   height: 75px;
   background: url(assets/images/two-drops.svg) no-repeat center;
   background-size: contain;
}
/* vertical border */
.waterdrops-cta-border::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 15px;
   width: 4px;
   height: 100%;
   background: var(--twc-chartreuse);
}
.waterdrops-cta-border .cta-image {
   position: relative;
}
.waterdrops-cta-border .cta-image::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: -35px;
   width: calc(100% + 35px);
   height: 100%;
   border-left: 30px solid var(--twc-light-blue);
   border-radius: 0 120px 0 110px;
}
@media(max-width:768px) {
   .waterdrops-cta-border::before {
      left: -10px;
   }
   .waterdrops-cta-border::after {
      left: 30px;
   }
   .waterdrops-cta-border .fl-module-button {
      position: relative;
      z-index: 5;
   }
   .waterdrops-cta-border .cta-image::after {
      display: none;
   }
}
/* Row Style 2: left CTA */
.cta-style-2 .cta-col {
   position: relative;
}
.cta-style-2 .cta-col::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: -30px;
   left: 0;
   width: calc(100% + 30px);
   height: calc(100% + 30px);
   border-radius: 0 150px 0 0;
   background: rgba(0,80,114,0.89);
}
.cta-style-2 .cta-col > .fl-col-content {
   position: relative;
   z-index: 2;
}
.cta-style-2 > .fl-row-content-wrap {
   position: relative;
}
/* logo pattern at bottom right (layered BG images) */
.cta-style-2 > .fl-row-content-wrap::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: -150px;
   right: 0px;
   width: 350px;
   height: 240px;
   background: url(assets/images/logo-pattern-blue.svg) no-repeat 40px 5px / contain,
               url(assets/images/logo-pattern-blue-pt2.svg) no-repeat 44px -5px / contain;
}
/* Row Style 3 */
.cta-style-3 .cta-col {
   position: relative;
}
.cta-style-3 .cta-col::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: -30px;
   left: 0;
   width: calc(100% + 30px);
   height: calc(100% + 30px);
   border-radius: 0 150px 0 0;
   background: rgba(0,80,114,0.89);
}
.cta-style-3 .cta-col > .fl-col-content {
   position: relative;
   z-index: 2;
}
.cta-style-3 > .fl-row-content-wrap {
   position: relative;
}
/* logo pattern at bottom right (layered BG images) */
.cta-style-3 > .fl-row-content-wrap::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: -80px;
   left: calc(50% + 250px);
   width: 330px;
   height: 220px;
   background: url(assets/images/logo-pattern-full-colors.svg) no-repeat 0 0 / contain;
}
@media(max-width:1200px) {
   .cta-style-3 > .fl-row-content-wrap::before {
      left: auto;
      right: 80px;
   }
}
@media(max-width:768px) {
   .cta-style-3 > .fl-row-content-wrap::before {
      width: 250px;
      height: 160px;
   }
}


/* programs */

/* CTA box - basic text with button */
.cta-box-2 {
   position: relative;
}
.cta-box-2 .fl-module-button {
   position: absolute;
   bottom: -15px;
   left: 50%;
   transform: translate(-50%,0);
}


/* ----- Homepage ----- */

body.home #fl-main-content {
   overflow: hidden;
}
#home-hero {
   position: relative;
}
/* hero */
/* this layer holds the actual hero image with a mask.
   This needs to be on its own layer because the mask behaves like overflow-hidden */
#home-hero::before {
   content: '';
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 5;
   width: 100%;
   height: 100%;
   mask-size: 100% auto;
   mask-repeat: no-repeat;
   mask-image: url(assets/images/hero-mask.svg);
   -webkit-mask-size: 100% auto;
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-image: url(assets/images/hero-mask.svg);
   background: url(assets/images/home-hero-main-photo.jpg) no-repeat center top;
   background-size: cover;
}
#home-hero h1 sup {
   font-size: 30px;
}
#home-hero .intro-text {
   position: absolute;
   left: 0;
   bottom: 0;
}
#home-hero .intro-text .fl-module-rich-text {
   width: 830px;
   max-width: 100%;
}
/* green line */
#home-hero::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 10;
   top: 10px;
   left: 0;
   width: 100vw;
   height: 100px;
   background: url(assets/images/hero-green-line.svg) no-repeat top center;
   background-size: 100% auto;
}
#home-hero .fl-row-content {
   position: relative;
   z-index: 15;
}
@media(max-width:1200px) {
   #home-hero .intro-text .fl-module-rich-text {
      width: 700px;
   }
}
@media(max-width:992px) {
   #home-hero h1 span {
      display: block;
   }
   #home-hero .intro-text .fl-module-rich-text {
      width: 600px;
   }
}
@media(max-width:768px) {
   #home-hero h1 sup {
      font-size: 23px;
   }
   #home-hero .intro-text .fl-module-rich-text {
      width: auto;
   }
}
@media(max-width:600px) {
   #home-hero h1 span:nth-child(1) {
      display: none;
   }
}
@media(max-width:440px) {
   #home-hero h1 span {
      font-size: 26px;
   }
}


/* hero row 2 - left shapes next row under hero */
.home-row-2 {
   position: relative;
}
/* left side pattern */
.home-row-2::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 10;
   top: -550px;
   left: calc(50vw - 1330px);
   width: 700px;
   height: 760px;
   background: url(assets/images/home-hero-left.svg) no-repeat top right;
   background-size: contain;
}
/* right side large logo pattern (hidden while editing) */
body:not(.fl-builder-edit) .home-row-2::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 10;
   top: -240px;
   left: calc(50vw + 200px);
   width: 650px;
   height: 1000px;
   background: url(assets/images/home-hero-right.svg) no-repeat top left;
   background-size: contain;
}
.sub-hero-text-col {
   position: relative;
}
.mobi-sub-heading .fl-module-rich-text {
   position: relative;
   z-index: 15;
}
/* background solid color of this column */
.sub-hero-text-col > .fl-col-content::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: calc((100vw - 1400px) / 2);
   width: 100%;
   height: 100%;
   background: var(--twc-blue);
   border-radius: 0 0 0 100px;
}
.sub-hero-text-col .fl-module {
   positon: relative;
   z-index: 15;
}
.sub-hero-text-col .fl-module p:not(:last-child) {
   margin-bottom: 30px;
}
@media(max-width:1400px) {
   .sub-hero-text-col > .fl-col-content::after {
      left: 0;
   }
}
@media(max-width:1200px) {
   body:not(.fl-builder-edit) .home-row-2::after {
      top: -240px;
      left: calc(50vw + 200px);
      width: 50vw;
      height: 100vw;
      background: url(assets/images/home-hero-right.svg) no-repeat top left;
      background-size: contain;
   }
}
@media(max-width:768px) {
   body:not(.fl-builder-edit) .home-row-2::after {
      opacity: 0.1;
   }
   .sub-hero-text-col > .fl-col-content::after {
      border-radius: 0;
   }
}
@media(max-width:650px) {
   body:not(.fl-builder-edit) .home-row-2::after {
      left: 70%;
   }
}

/* home row 3 - large play image/button
   these calculations keep the left indent the same no matter how wide the screen */
.home-row-3-col-1 {
   width: calc(((100vw - 1300px) / 2) + 50px);
}
.home-row-3-col-2 {
   width: calc(100vw - (((100vw - 1300px) / 2) + 50px));
}
.home-row-3-col-2 a.video-play-circle-button {
   position: relative;
}
.home-row-3-col-2 a.video-play-circle-button .fl-module-icon {
   transform: translate(4px,3px); /* nudge arrow */
   transition: .3s;
}
/* large circle border around play button */
.home-row-3-col-2 a.video-play-circle-button::after {
   content: '';
   display: block;
   width: 120px;
   height: 120px;
   aspect-ratio: 1 / 1;
   border-radius: 50%;
   border: 14px solid rgba(255,255,255,0.7);
   transition: .3s;
}
.home-row-3-col-2 a.video-play-circle-button:hover::after,
.home-row-3-col-2 a.video-play-circle-button:hover .fl-module-icon {
   opacity: .8;
}
.home-row-3-col-2 .open-video {
   cursor: pointer;
}
/* text-with-video-icon */
.text-with-video-icon .fl-icon-wrap {
   display: flex;
   align-items: center;
   align-content: center;
}
.text-with-video-icon .fl-icon {
   display: block;
   width: 19px;
   height: 19px;
   border-radius: 10px;
   transform: translateY(4px);
   border: 2px solid #f0eded;
}
/* homepage uses blue border video intro */
.home-row-3-col-2 .text-with-video-icon .fl-icon {
   border: 2px solid var(--twc-blue);
}
.text-with-video-icon .fl-icon i {
   position: relative;
   left: -3px;
   top: 3px;
}
/* left side logo pattern */
.home-row-3::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: 0;
   left: calc(50vw - 1300px);
   width: 666px;
   height: 440px;
   background: url(assets/images/home-row-3-left.svg) no-repeat top right;
   background-size: contain;
}
@media(max-width:1400px) {
   .home-row-3-col-1 {
      width: 100px;
   }
   .home-row-3-col-2 {
      width: calc(100% - 100px);
   }
}
@media(max-width:768px) {
   .home-row-3-col-1 {
      width: 100px;
   }
   .home-row-3-col-2 {
      width: calc(100% - 100px);
   }
   .home-row-3-col-2 a.video-play-circle-button {
      transform: scale(80%);
   }
}
@media(max-width:600px) {
   .home-row-3-col-2 > .fl-col-content {
      border-bottom-left-radius: 40px;
   }
   .home-row-3-col-2 .home-video-box {
      display: block;
   }
   .home-row-3-col-2 .video-intro-box {
      width: 100%;
      padding: 0 0 30px 20px;
   }
}

/* moving water row */
.moving-water > .fl-col-content {
   position: relative;
   transform: translateX(-50px);
}
.moving-water > .fl-col-content::before {
   content: '';
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 5;
   width: 100%;
   height: 100%;
   mask-size: contain;
   mask-repeat: no-repeat;
   mask-image: url(assets/images/logo-pattern-water.svg);
   -webkit-mask-size: contain;
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-image: url(assets/images/logo-pattern-water.svg);
   background-image: url(assets/images/water-bg.jpg);
   background-repeat: no-repeat;
   background-size: calc(100% + 200px) auto;
   background-position: left -100px top -100px;
   animation: move-water 30s linear infinite;
}
@keyframes move-water {
   0% {
      background-position: left -100px top -100px;
   }
   25% {
      background-position: left 0px top -100px;
   }
   50% {
      background-position: left 0px top 0px;
   }
   75% {
      background-position: left -100px top 0px;
   }
   100% {
      background-position: left -100px top -100px;
   }
}

/* homepage row BREW */
.waterdrops-col-border > .fl-col-content {
   position: relative;
}
/* vertical border */
.waterdrops-col-border > .fl-col-content::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 15px;
   width: 3px;
   height: 100%;
   background: var(--twc-chartreuse);
}
/* droplets in upper left corner */
.waterdrops-col-border > .fl-col-content::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 2;
   top: -60px;
   left: -50px;
   width: 102px;
   height: 105px;
   background: url(assets/images/two-drops.svg) no-repeat center;
   background-size: contain;
}

/* events news blog row */
.whats-new-subtitle-row .fl-module-rich-text {
   position: relative;
   z-index: 50;
}
/* large white logo pattern on right side of entire section */
.events-news-row > .fl-row-content-wrap {
   position: relative;
}
/* large white logo pattern at right */
.events-news-row > .fl-row-content-wrap::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 10;
   top: -220px;
   right: 0;
   width: 1024px;
   height: 732px;
   background: url(assets/images/logo-pattern-4.svg) no-repeat 0 0;
   background-size: contain;
}
.events-news-row .fl-col-group {
   position: relative;
   z-index: 10; /* keep event and news boxes over logo pattern */
}
.events-news-row .fl-module-box {
   height: 100%;
   position: relative;
}
.events-news-row .fl-module-box ul {
   margin: 0;
   padding: 0;
}
@media(max-width:992px) {
   .events-news-row > .fl-row-content-wrap::before {
      top: -79px;
      opacity: 0.5;
   }
}
@media(max-width:768px) {
   .events-news-row .fl-module-box h3 {
      margin-bottom: 40px;
   }
   .events-news-row .fl-module-box .fl-module-button {
      margin-bottom: 30px;
   }
}



/* ----- footer ----- */

#footer .footer-col-1 {
   position: relative;
}
/* left side shape */
#footer .footer-col-1::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 0;
   width: calc((100vw - 1300px) / 2);
   height: 100%;
   background: #ccdfec;
   border-radius: 0px 120px 20px 0px;
}
/* logo pattern bottom right shape */
footer.fl-builder-content-38 {
   position: relative;
}
footer.fl-builder-content-38::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   bottom: 0;
   right: 0;
   width: 370px;
   height: 570px;
   opacity: 0.076;
   background: url(assets/images/logo-pattern.svg) no-repeat left 0 bottom -45px;
   background-size: auto 100%;
}
#footer .footer-col-2 .fl-module {
   position: relative;
   z-index: 5;
}
#footer .copyright-col-2 {
   position: relative;
   z-index: 5;
}
@media(max-width:1300px) {
   #footer .footer-col-1::after {
      width: 50px;
      border-radius: 0px 120px 20px 0px;
   }
}
@media(max-width:768px) {
   #footer .footer-col-1::after {
      display: none;
   }
   #footer .footer-logo a {
      position: relative;
      z-index: 10;
   }
}
@media(max-width:500px) {
   /* remove flex from parent */
   #footer .footer-col-2 .fl-node-xkb03ov8sjm1 {
      display: block;
   }
   #footer .footer-menu-box {
      width: 100%;
      justify-content: center;
      margin-bottom: 30px;
      padding-right: 0;
   }
   #footer .footer-menu-box ul li {
      text-align: center;
   }
   #footer .footer-buttons-social-box {
      width: 100%;
      border: none;
      padding-left: 0;
   }
   #footer .footer-buttons-social-box a.fl-button {
      left: 50%;
      transform: translateX(-50%);
   }
   #footer .footer-buttons-social-box .fl-button-left {
      text-align: center;
   }
   #footer .footer-buttons-social-box .fl-icon-group {
      margin-top: 15px;
      justify-content: center;
   }
}









