/*
Theme Name: Camp Manito-wish Custom Theme
Theme URI: https://www.digisage.com/
Version: 1.0
Description: Custom theme for camp Manito-wish YMCA Summer Camp.
Author: Digisage, Inc.
Author URI: https://www.digisage.com/
template: bb-theme
*/

/* YMCA brand font */
@font-face {
   font-family: "Cachet Extra Light";
   src: url("assets/fonts/cachet/CachetW05-ExtraLight.woff2") format("woff2"),
        url("assets/fonts/cachet/CachetW05-ExtraLight.woff") format("woff");
}
@font-face {
   font-family: "Cachet Book";
   src: url("assets/fonts/cachet/CachetW05-Book.woff2") format("woff2"),
        url("assets/fonts/cachet/CachetW05-Book.woff") format("woff");
}
@font-face {
   font-family: "Cachet Medium";
   src: url("assets/fonts/cachet/CachetW05-Medium.woff2") format("woff2"),
        url("assets/fonts/cachet/CachetW05-Medium.woff") format("woff");
}
@font-face {
   font-family: "Cachet Bold";
   src: url("assets/fonts/cachet/CachetW05-Bold.woff2") format("woff2"),
        url("assets/fonts/cachet/CachetW05-Bold.woff") format("woff");
}

/* global vars */
:root {
   --ymca-body-font: #333233;
   --ymca-orange: #f15922;
   --ymca-red: #a92b31;
   --ymca-blue: #0060af;
   --ymca-purple: #92278f;
   --ymca-deep-purple: #5c2e91;
   --ymca-pink: #c6168d;
}
.orange {
   color: var(--ymca-orange);
}
.red {
   color: var(--ymca-red);
}
.blue {
   color: var(--ymca-blue);
}
.purple {
   color: var(--ymca-purple);
}
.deep-purple {
   color: var(--ymca-deep-purple);
}
.pink {
   color: var(--ymca-pink);
}

/* general */
.pagewidth {
   position: relative;
   width: 1500px;
   max-width: 100%;
   margin: 0 auto;
}
@media(max-width:1500px) {
   .pagewidth {
      width: 100%;
   }
}
/* page typography */
#fl-main-content a.fl-button {
   border: none !important;
   text-align: center !Important;
}
#fl-main-content a.fl-button:hover {
   background: #222222 !important;
}
#fl-main-content .fl-rich-text p {
   margin: 0 0 20px 0;
}
#fl-main-content .fl-rich-text sup {
   font-size: 13px;
}
#fl-main-content a:not(.button):not(.fl-button) {
   text-decoration: underline;
}
#fl-main-content a:not(.button):not(.fl-button):hover {
   text-decoration: none;
}
#fl-main-content a h2,
#fl-main-content a h3,
#fl-main-content h2 a,
#fl-main-content h3 a {
   text-decoration: none !important;
}
/* this is a fix because the page selector drop down covers the search input area */
.fl-builder-edit form#wp-link .query-results {
   top: 280px;
}
#fl-main-content .fl-rich-text ul li,
#fl-main-content .fl-rich-text ol li {
   margin: 0 0 10px 0;
}
#fl-main-content .fl-rich-text ul li ul,
#fl-main-content .fl-rich-text ol li ul {
   margin-top: 10px;
}
#fl-main-content .fl-photo img {
   border-radius: 20px;
}
#fl-main-content .square-corners .fl-photo img {
   border-radius: 0px;
}

/* admin edit buttons */
a.admin-edit {
   display: block;
   position: absolute;
   z-index: 10;
   width: 90px;
   padding: 3px;
   left: 0;
   top: 0;
   font-size: 9px;
   color: #fff;
   background: red;
   text-align: center;
   text-decoration: none;
   text-transform: uppercase;
}
a.admin-edit:hover {
   background: #e2222b;
}
@media(max-width:1000px) {
   a.admin-edit {
      display: none;
   }
}

/* masthead */
#masthead {
   position: fixed;
   z-index: 1000;
   top: 0;
   left: 0;
   width: 100%;
   min-height: 118px;
   padding: 0 0 20px 0;
}
body.admin-bar #masthead {
   top: 32px;
}
body.scrolled #masthead {
   background: rgba(255,255,255,0.95);
}
#masthead a.site-logo {
   display: block;
   opacity: 1;
   width: 105px;
   position: absolute;
   z-index: 1020;
   top: 30px;
   left: calc(50% - 780px);
   -webkit-transition:  .3s;
   transition:          .3s;
}
#masthead a.site-logo span.logo-text {
   display: block;
   opacity: 0;
   position: absolute;
   width: 100px;
   left: 95px;
   top: 30px;
   line-height: 1;
   text-transform: uppercase;
   font-size: 14px;
   font-family: "Cachet Medium", 'arial';
   -webkit-transition:  .3s;
   transition:          .3s;
}
#masthead a.site-logo span.logo-text span {
   display: block;
}
#masthead a.site-logo span.logo-text span:nth-child(1) {
   color: var(--ymca-deep-purple);
}
#masthead a.site-logo span.logo-text span:nth-child(2) {
   color: var(--ymca-purple);
}
#masthead a.site-logo span.logo-text span:nth-child(3) {
   color: var(--ymca-pink);
}
body.home #masthead a.site-logo {
   opacity: 0;
}
body.home.scrolled #masthead a.site-logo {
   opacity: 1;
}
body.scrolled #masthead a.site-logo span.logo-text {
   opacity: 1;
}
@media(max-width:1600px) {
   #masthead a.site-logo {
      left: 20px;
   }
}
@media(max-width:768px) {
   #masthead {
      height: 50px;
      min-height: 50px;
      padding: 0;
   }
   #masthead a.site-logo {
      display: none;
   }
}

/*
   this is the purple top border AND the white masthead background
   this layout is so the large angle with the logo and title can be over
   the masthead background, but still behind the masthead menus.
   otherwise the links are not clickable
 */
#hero-wrap::before {
   content: '';
   display: block;
   position: fixed;
   z-index: 10;
   top: 0;
   left: 0;
   width: 100%;
   height: 23px;
   background: var(--ymca-deep-purple);
}
body.admin-bar #hero-wrap::before {
   top: 32px;
}
#hero-wrap::after {
   content: '';
   display: block;
   position: fixed;
   z-index: 10;
   top: 23px;
   left: 0;
   width: 100%;
   height: 111px;
   background: rgba(255,255,255,0.95);
   -webkit-transition:  .5s;
   transition:          .5s;
}
body.admin-bar #hero-wrap::after {
   top: 55px;
}
body.scrolled #hero-wrap::before,
body.scrolled #hero-wrap::after {
   opacity: 0;
}
@media(max-width:1080px) {
   #hero-wrap::after {
      display: none;
   }
}

/* top row */
#masthead .top-row {
   position: relative;
   z-index: 1005;
}
#masthead .top-row::after {
   content: '';
   display: none;
   position: fixed;
   z-index: 0;
   top: 0;
   left: 0;
   width: 100%;
   height: 23px;
   background: var(--ymca-deep-purple);
}
body.admin-bar #masthead .top-row::after {
   top: 32px;
}
body.scrolled #masthead .top-row::after {
   display: block;
}
#masthead .top-row ul {
   margin: 0;
   padding: 0;
   position: relative;
   z-index: 1000;
   display: flex;
   flex-wrap: nowrap;
   justify-content: flex-end;
}
#masthead .top-row ul > li {
   margin: 0;
   padding: 0;
   list-style: none;
   position: relative;
}
#masthead .top-row ul > li > a {
   display: block;
   color: #fff;
   line-height: 1;
   font-size: 20px;
   padding: 6px 24px;
   background: var(--ymca-orange);
   border-right: 1px solid #fff;
   font-family: "Cachet Book", Verdana, Arial, sans-serif;
}
#masthead .top-row ul > li:last-child > a {
   border-right: none;
}
#masthead .top-row ul > li:nth-child(1) > a {
   padding-left: 75px !important;
   border-radius: 0 0 0 50px !important;
}
#masthead .top-row ul > li:last-child > a {
   padding-right: 40px !important;
}
#masthead .top-row ul > li > a:hover {
   text-decoration: none;
   background: var(--ymca-pink);
}
#masthead .top-row ul > li ul {
   display: none;
   position: absolute;
   top: 100%;
   left: 0;
   width: 250px;
   padding: 10px 0 30px 0;
   background: var(--ymca-orange);
   border-radius: 0 0 30px 30px;
}
#masthead .top-row ul > li:nth-child(1) ul {
   left: 50px;
}
#masthead .top-row ul li:nth-child(1) ul li a,
#masthead .top-row ul li ul li:nth-child(1) a,
#masthead .top-row ul li ul li a {
   font-size: 19px;
   padding-left: 24px !important;
   border: none !important;
   border-radius: 0 !important;
}
#masthead .top-row ul > li ul ul {
   display: none !important;
}
body.scrolled #top-nav {
   position: relative;
   z-index: 10;
}
@media(max-width:1200px) {
   #masthead .top-row ul > li > a {
      font-size: 20px;
   }
}
@media(max-width:768px) {
   #masthead .top-row {
      display: none;
   }
}

/* main menu */
#masthead .menu-row {
   padding-right: 30px;
   position: relative;
   z-index: 1000;
}
#masthead .menu-row ul {
   margin: 0;
   padding: 20px 0 0 0;
   display: flex;
   flex-wrap: nowrap;
   justify-content: flex-end;
}
#masthead .menu-row ul li {
   margin: 0;
   padding: 0;
   list-style: none;
   position: relative;
}
#masthead .menu-row ul > li > a {
   display: block;
   position: relative;
   color: #000;
   line-height: 1;
   font-size: 20px;
   text-transform: uppercase;
   text-decoration: none;
   border-radius: 10px;
   padding: 14px 24px 12px 24px;
   font-family: "Cachet Book", Verdana, Arial, sans-serif;
   -webkit-transition:  .2s;
   transition:          .2s;
}
#masthead .menu-row ul > li:hover > a {
   color: #fff;
   background: rgba(92,46,145,0.95);
}
#masthead .menu-row ul > li.highlight > a {
   margin-right: 20px;
   color: #fff;
   border-bottom-left-radius: 10px !important;
   border-bottom-right-radius: 10px !important;
   background: rgba(92,46,145,0.95);
}
#masthead .menu-row ul > li.highlight.menu-item-has-children > a::before {
   top: 35px !important;
   border-top-color: #fff !important;
}
#masthead .menu-row ul > li.highlight.menu-item-has-children.active:hover > a,
#masthead .menu-row ul > li.highlight.menu-item-has-children > a:hover {
/*   background: var(--ymca-purple);*/
   border-bottom-left-radius: 0px !important;
   border-bottom-right-radius: 0px !important;
}
#masthead .menu-row ul > li.menu-item-has-children > a::before {
   content: '';
   display: block;
   position: absolute;
   top: 37px;
   left: 25px;
   width: 0;
   height: 0;
   border-left: 8px solid transparent;
   border-right: 8px solid transparent;
   border-top: 9px solid #a92b31;
}
#masthead .menu-row ul > li.menu-item-has-children:hover > a::before {
   border-top: 9px solid #fff;
}
#masthead .menu-row ul > li.menu-item-has-children > a {
   border-radius: 10px 10px 0 0;
}
#masthead .menu-row ul li ul.sub-menu {
   display: none;
   position: absolute;
   top: 100%;
   left: 0;
   width: 330px;
   padding: 30px 0;
   background: rgba(92,46,145,0.95);
   border-radius: 0 30px 30px 30px;
}
#masthead .menu-row ul li.drop-left ul.sub-menu {
   left: auto;
   right: 0;
   border-radius: 30px 0 30px 30px;
}
#masthead .menu-row ul li ul.sub-menu li {
   margin: 0;
   padding: 0;
}
#masthead .menu-row ul li ul.sub-menu li a {
   display: block;
   line-height: 1.2;
   color: #fff;
   font-size: 18px;
   padding: 11px 10px 11px 24px;
   text-transform: none;
   border-radius: 0;
   font-family: Verdana, Arial, sans-serif;
}
#masthead .menu-row ul li ul.sub-menu li a:hover {
   background: #92278f;
}
@media(max-width:1400px) {
   #masthead .menu-row ul > li > a {
      font-size: 22px;
      padding-left: 20px;
      padding-right: 20px;
   }
}
@media(max-width:1300px) {
   #masthead .menu-row {
      padding-right: 20px;
   }
   #masthead .menu-row ul > li > a {
      font-size: 20px;
      padding-left: 17px;
      padding-right: 17px;
   }
   #masthead .menu-row ul li ul.sub-menu li a {
      font-size: 18px;
   }
}
@media(max-width:1080px) {
   #masthead .menu-row {
      display: none;
   }
}

/* search */
#masthead .search-area {
   position: absolute;
   width: 75px;
   height: 50px;
   right: 0px;
   top: 20px;
   -webkit-transition:  .5s;
   transition:          .5s;
}
#masthead .search-wrap {
   position: relative;
}
#masthead .search-wrap.open {
   z-index: 1000;
}
#masthead .search-wrap label {
   position: absolute !important;
   top: -9999px !important;
   left: -9999px !important;
}
#masthead .search-wrap input.search-text {
   width: 75px; /* == button width */
   height: 50px;
   float: right;
   padding: 5px;
   border: none;
   color: #fff;
   font-size: 18px;
   border-radius: 6px 0 0 6px;
   background: #c6168d;
   -webkit-transition:  0s;
   transition:          0s;
}
#masthead .search-wrap input.search-text.open,
#masthead .search-wrap input.search-text:focus {
   padding-left: 15px;
}
#masthead .search-wrap button.searchsubmit,
#masthead .search-wrap button:hover,
#masthead .search-wrap span.submit-overlay {
   position: absolute;
   right: 0px;
   top: 0px;
   text-indent: -9999px;
   overflow: hidden;
   width: 75px;
   height: 50px;
   border: none;
   background: url(assets/images/icon-search.svg) no-repeat center 10px;
   background-size: 30px auto;
   cursor: pointer;
   background-color: rgba(0,0,0,0) !important;
}
body.scrolled #masthead .search-area {
   opacity: 0;
}
@media(max-width:1024px) {
   #masthead .search-area {
      top: 90px;
   }
}
@media(max-width:768px) {
   #masthead .search-area {
      width: 50px;
      top: 0px;
      border-radius: 0;
   }
   body.scrolled #masthead .search-area {
      opacity: 1;
   }
   #masthead .search-wrap button.searchsubmit,
   #masthead .search-wrap button:hover,
   #masthead .search-wrap span.submit-overlay,
   #masthead .search-wrap input.search-text {
      width: 50px;
      border-radius: 0;
   }
}

/* mobile toggle */
#masthead .mobile-toggle {
   display: none;
   color: #000;
   position: absolute;
   top: 20px;
   right: 20px;
   color: #000;
   font-size: 30px;
   background: none;
   border: none;
   text-transform: uppercase;
}
#masthead .mobile-toggle span {
   display: none;
   font-size: 18px;
   position: relative;
   top: -3px;
}
@media(max-width:1024px) {
   #masthead .mobile-toggle {
      display: block;
      color: #fff;
      right: 0;
      width: 75px;
      height: 50px;
      border-radius: 5px 0 0 5px;
      background: var(--ymca-deep-purple);
   }
   body.scrolled #masthead .mobile-toggle {
      color: #000;
      background: none;
   }
}
@media(max-width:768px) {
   #masthead .mobile-toggle {
      width: auto;
      right: auto;
      left: 0;
      top: 0;
   }
   #masthead .mobile-toggle span {
      display: inline;
   }
   body.scrolled #masthead .mobile-toggle {
      color: #fff;
      background: none;
   }
}

/* top bar layout */
@media(max-width:768px) {
   .mobile-menu-bar {
      margin: 0;
      padding: 0;
      height: 50px;
      background: var(--ymca-deep-purple);
   }
}

/* page title hero area */
#hero-wrap {
   position: relative;
   height: 545px;
   border-bottom: 20px solid #8d6cb2;
}
/* extend the maroon angle to screen left (beyond the svg angle image) */
#hero-wrap .angle-filler {
   position: absolute;
   z-index: 11;
   top: 0;
   left: 0;
   width: calc((100% - 1600px) / 2);
   height: 100%;
   background: #571219;
}
#global-hero {
   height: 100%;
   background-repeat: no-repeat;
   background-size: 0px 0px;
   background-position: center center;
}
#global-hero .pagewidth.title-row {
   width: 1400px;
}
.pagewidth.main-canvas {
   height: 100%;
}
/* duplicate logo for use on mobile so it can be positioned static */
.mobile-header {
   position: relative;
   background: url(assets/images/mobile-trees.png) repeat-x left bottom;
   background-size: 0 0;
}
.mobile-header a.site-mobile-logo {
   display: none;
   width: 100px;
   height: auto;
}
.pagewidth.main-canvas img.featured-img {
   display: block;
   position: absolute;
   right: 0;
   bottom: 0;
}
.pagewidth.main-canvas a.ymca-title {
   display: block;
   position: absolute;
   z-index: 20;
   top: 150px;
   left: 40px;
   width: 240px;
   text-decoration: none;
}
.pagewidth.main-canvas a.ymca-title:hover {
   text-decoration: none;
}
.pagewidth.main-canvas a.ymca-title span {
   display: block;
   font-size: 36px;
   line-height: 1;
   text-transform: uppercase;
   font-family: "Cachet Medium";
}
.pagewidth.main-canvas a.ymca-title span:nth-child(1) {
   color: var(--ymca-deep-purple);
}
.pagewidth.main-canvas a.ymca-title span:nth-child(2) {
   color: var(--ymca-purple);
}
.pagewidth.main-canvas a.ymca-title span:nth-child(3) {
   color: var(--ymca-pink);
}
#global-hero .pagewidth.main-canvas::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 15;
   bottom: 0px;
   left: -200px;
   width: 100%;
   height: 820px;
   background: url(assets/images/hero-logo-angle.svg) no-repeat 0 bottom;
   background-size: 700px auto;
}
#global-hero .hero-title-bar {
   position: absolute;
   z-index: 50;
   left: 0;
   bottom: -1px;
   width: 100%;
   padding: 30px 0 5px 0;
   background: url(assets/images/home-hero-title-bar.png) no-repeat 0 0;
   background-size: cover;
}
#global-hero .hero-title-bar,
#global-hero .hero-title-bar h1 {
   color: #fff;
   margin: 0;
   font-size: 62px;
   text-transform: uppercase;
   font-family: "Cachet Bold", Verdana, Arial, sans-serif;
}
#global-hero .hero-title-bar h1 {
   padding: 0;
}
@media(max-width:1460px) {
   #global-hero .hero-title-bar {
      padding-left: 40px;
   }
}
@media(max-width:1400px) {
   /* swap <img> with background image for mobile */
   #global-hero {
      background-size: cover;
   }
   .pagewidth.main-canvas img.featured-img {
      display: none;
   }
   #global-hero .pagewidth.title-row {
      width: 100%;
   }
}
@media(max-width:1200px) {
   #hero-wrap {
      height: 470px;
   }
   #global-hero .pagewidth.main-canvas::after {
      left: -250px;
   }
}
@media(max-width:992px) {
   #hero-wrap {
      height: 400px;
   }
   #global-hero .pagewidth.main-canvas::after {
      left: -280px;
   }
   #global-hero .hero-title-bar,
   #global-hero .hero-title-bar h1 {
      font-size: 48px;
   }
}
@media(max-width:768px) {
   #hero-wrap {
      height: auto;
   }
   #global-hero {
      background-image: none !important;
   }
   .mobile-header {
      padding: 0 20px 20px 20px;
      background-size: auto 70px;
      border-bottom: 10px solid #571219;
   }
   .mobile-header::after {
      content: '';
      display: block;
      position: absolute;
      z-index: 10;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 10px;
      background: rgba(221,88,40,0.7);
   }
   .pagewidth.main-canvas {
      padding: 60px 0 0 0;
   }
   .mobile-header a.site-mobile-logo {
      display: block;
   }
   .pagewidth.main-canvas img.featured-img {
      display: block;
      position: static;
   }
   .pagewidth.main-canvas::after {
      display: none !important;
   }
   .pagewidth.main-canvas a.ymca-title {
      top: 10px;
      left: 130px !important;
      width: calc(100% - 130px);
      text-shadow: 0px 0px 6px #fff;
   }
   .pagewidth.main-canvas a.ymca-title span {
      font-size: 26px;
      line-height: 0.9 !important;
   }
   #global-hero .hero-title-bar {
      padding-left: 20px;
      font-size: 34px;
   }
}
@media(max-width:550px) {
   #global-hero .hero-title-bar,
   #global-hero .hero-title-bar h1 {
      font-size: 28px;
   }
   #global-hero .hero-title-bar {
      padding-top: 10px;
   }
}

/* interior pages */
#breadcrumbs span.breadcrumb_last {
   color: #444;
}
.pp-breadcrumbs a,
.pp-breadcrumbs span {
   display: inline !important;
}

/* when using colored background we need underlined links for white text */
.dual-image-row.images-right .fl-rich-text a {
   text-decoration: underline;
}
.dual-image-row.images-right .fl-rich-text a:hover {
   text-decoration: none;
}

/* gender message (or other) presented in popup */
.info-msg {
   display: inline-block;
   position: relative;
   cursor: pointer;
}
.info-msg .tool-msg {
   display: none;
   position: absolute;
   width: 300px;
   left: -150px;
   bottom: -50px;
   font-size: 16px;
   color: #333233;
   padding: 24px 10px 10px 10px;
   background: rgba(255,255,255,0.95);
   border-radius: 10px;
   text-align: center;
   border: 4px solid var(--ymca-deep-purple);
}
.info-msg .tool-msg a {
   text-decoration: underline;
   color: var(--ymca-purple);
}
.info-msg .tool-msg a:hover {
   color: var(--ymca-pink);
   text-decoration: none;
}
.info-msg .tool-msg span.close {
   position: absolute;
   width: 30px;
   height: 30px;
   line-height: 30px;
   display: block;
   top: 0px;
   right: 3px;
   color: var(--ymca-pink);
   font-size: 30px;
}

/* forms */
.grecaptcha-badge {
   display: none !important;
}
.consent-checkbox legend.gfield_label {
   display: none !important;
}
.consent-checkbox label {
   font-weight: 400 !important;
   display: inline !important;
}
.gfield_description {
   font-style: italic;
}
.gfield_html .form-message {
   border: 1px solid #000;
   padding: 20px;
   font-size: 16px;
}
.gfield_html .form-message p:last-child {
   margin-bottom: 0;
}
.radios-horizontal .gfield_radio {
   display: flex;
   flex-wrap: nowrap;
}
.radios-horizontal .gfield_radio div {
   width: 15%;
}
.radios-horizontal .gfield_radio div:nth-of-type(5) {
   width: 40%;
}
.gchoice label {
   font-weight: 400;
}
.gform_confirmation_wrapper {
   padding: 20px !important;
   background-color: #DFF2BF !important;
}
.gform_confirmation_wrapper .gform_confirmation_message {
   color: #207000 !important;
}
@media(max-width:768px) {
   .radios-horizontal .gfield_radio {
      display: block;
   }
   .radios-horizontal .gfield_radio div {
      width: 100%;
   }
   .radios-horizontal .gfield_radio div:nth-of-type(5) {
      width: 100%;
   }
}

/* open positions /work-at-camp/open-positions/ */
.job-results {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   column-gap: 30px;
   row-gap: 30px;
}
.job-results .job-result {
   position: relative;
   border: 2px solid #ccc;
   padding: 30px;
   font-size: 16px;
   border-radius: 30px;
}
.job-results .job-result a.edit {
   position: absolute;
   width: 60px;
   top: 5px;
   right: 20px;
   text-align: right;
   font-size: 13px;
   text-transform: uppercase;
   text-decoration: none !important;
}
.job-results .job-result h4 {
   margin: 0 0 5px 0;
   font-size: 24px;
   line-height: 1.1;
   color: var(--ymca-purple);
}
.job-results .job-result p {
   margin: 0 0 5px 0;
}
.job-results .job-result p span {
   color: var(--ymca-pink);
}
@media(max-width:1100px) {
   .job-results {
      grid-template-columns: 1fr 1fr;
   }
}
@media(max-width:1100px) {
   .job-results {
      display: block;
   }
   .job-results .job-result {
      margin: 0 0 20px 0;
      padding: 20px;
      border-radius: 20px;
   }
}

/* archives */
.fl-post-feed-post {
   padding-bottom: 40px !important;
}

/* staff (using custom layout in BB content grid) */
.pp-member-image img {
   width: 230px;
   height: auto;
}

/* DAF Direct - donate form via iframe
   .../donate/ways-to-give/ */
#dafdirectdiv {
   width: 100% !important;
   max-width: 600px;
}

/* tribe events calendar */
/* adjust their template width/padding/etc. to match ours */
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
   width: 1400px !important;
   max-width: 1400px !important;
   margin: 0 auto;
   padding: 30px 0;
}
/* buttons */
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-ical__link:hover {
   background: var(--ymca-purple);
}
.tribe-common-c-btn-border {
   border: none !important;
   border-radius: 10px !important;
   background: var(--ymca-purple) !important;
}
.tribe-common-c-btn-border button {
   color: #fff;
}
.tribe-common-c-btn-border button:hover {
   border: none;
   outline: none;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
   border-radius: 10px !important;
}
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-icon,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-icon {
   color: #fff;
}
.tribe-common-c-btn-border:hover {
   background: var(--ymca-deep-purple) !important;
}
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h3:hover {
   border: none !important;
}
/* most of the nav el's have solid color bg's */
nav.tribe-events-c-top-bar__nav {
   background:transparent;
}
/* + Export Events button border color */
.tribe-events .tribe-events-c-ical__link {
   border-color: var(--ymca-purple);
}
.tribe-events .tribe-events-c-ical__link:before {
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10m5-5H1' fill='none' fill-rule='evenodd' stroke='%23007fa3' stroke-linecap='square' stroke-width='1.5'/%3E%3C/svg%3E");
}
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link,
.tribe-events .tribe-events-c-ical__link {
   color: var(--ymca-purple);
}
.tribe-events ul.tribe-events-c-top-bar__nav-list li {
   list-style: none;
}
/* calendar days */
.tribe-common--breakpoint-medium.tribe-common .tribe-common-b3 {
   font-size: 18px;
}
/* individual event links in calendar view */
.tribe-common a,
.tribe-common a:active,
.tribe-common a:focus,
.tribe-common a:hover,
.tribe-common a:visited {
   color: #af272f;
}
/* keep "Today" button from inheriting links color */
a.tribe-events-c-top-bar__today-button {
   color: #d5d5d5 !important;
}
a.tribe-events-c-top-bar__today-button:hover {
   color: #3b3e42 !important;
   border-color: #3b3e42 !important;
}
/* drop down for calendar month picker */
.tribe-events .datepicker .day.active,
.tribe-events .datepicker .day.active.focused,
.tribe-events .datepicker .day.active:focus,
.tribe-events .datepicker .day.active:hover,
.tribe-events .datepicker .month.active,
.tribe-events .datepicker .month.active.focused,
.tribe-events .datepicker .month.active:focus,
.tribe-events .datepicker .month.active:hover,
.tribe-events .datepicker .year.active,
.tribe-events .datepicker .year.active.focused,
.tribe-events .datepicker .year.active:focus,
.tribe-events .datepicker .year.active:hover {
   background:#92338c;
}
/* cal search */
.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input {
   font-size: 18px !important;
}
/* cal display choices */
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list {

}
/* when search or location fields are focused, also includes Export Events button + icon */
.tribe-common .tribe-common-c-svgicon {
   color: var(--ymca-purple);
}
/* most full calendar els */
.tribe-common .tribe-common-h3,
.tribe-common .tribe-common-b3,
.tribe-events .tribe-events-calendar-month__calendar-event-datetime,
.tribe-common .tribe-common-h7, .tribe-common .tribe-common-h8,
#tribe-geo-results h2.tribe-events-page-title, h2.tribe-events-page-title,
.tribe-events-calendar thead th,
.tribe-events-calendar td div[id*=tribe-events-daynum-],
.tribe-events-calendar p,
.tribe-events-calendar h4.entry-title.summary,
.tribe-events-calendar abbr.tribe-events-abbr.tribe-event-date-start,
.tribe-events .datepicker .month,
.tribe-events .datepicker .year,
.tribe-events .datepicker .datepicker-switch,
.tribe-common .tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border,
.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input,
.tribe-common .tribe-common-form-control-text__input,
.tribe-common .tribe-common-h4 {
   color:#3b3e42;
   font-family: 'Cachet Book';
}
.tribe-common .tribe-common-c-btn:focus,
.tribe-common .tribe-common-c-btn:hover,
.tribe-common a.tribe-common-c-btn:focus,
.tribe-common a.tribe-common-c-btn:hover {
   background:#3b3e42;
}
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-view-selector__list-item-text,
.datepicker-months table {
   font-family: 'Cachet Book';
}
.datepicker-months th {
   background:#fff;
}
/* /events/list/ */
.tribe-events-calendar-list__event-header .tribe-common a {
   color:#af272f;
}
.tribe-events-calendar-list-nav {
   background:transparent;
}
/* force theme font on list view */
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
.tribe-common .tribe-common-h5, .tribe-common .tribe-common-h6,
.tribe-common .tribe-common-b2 {
   font-family: 'Cachet Book';
}
/* single event page */
/* event date */
.tribe-events-schedule h2 {
   font-weight:400;
   font-size:18px;
}
/* details box */
.single-tribe_events h1.tribe-events-single-event-title {
   font-size:55px;
   color: var(--ymca-purple);
}
.tribe-events-meta-group h2.tribe-events-single-section-title {
   font-size:26px;
}
.single-tribe_events .tribe-events-event-meta {
   font-size:18px;
}
/* calendars export options */
.single-tribe_events a.tribe-events-gcal,
.single-tribe_events a.tribe-events-gcal:hover,
.single-tribe_events a.tribe-events-ical,
.single-tribe_events a.tribe-events-ical:hover {
   font-size: 18px;
   font-weight: 300;
}
.tribe-events-nav-pagination {
   background:transparent;
}
/* event single */
.tribe-events-meta-group {
   width: 100% !important; /* remove details right padding added by tribe */
}
@media(max-width:1440px) {
   .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
      width: 100% !important;
      max-width: 100% !important;
   }
}

/* leaflet map, popups, sliders */
/* page template */
body.page-template-tpl-camp-map #hero-wrap,
body.page-template-tpl-camp-map .fl-builder-content-280,
body.page-template-tpl-camp-map .fl-builder-content-138 {
   display: none;
}
body.page-template-tpl-camp-map a.map-site-logo {
   display: block;
   position: fixed;
   z-index: 1000;
   top: 100px;
   right: 70px;
   width: 50px;
   height: auto;
}
body.page-template-tpl-camp-map .mobile-toggle {
   display: block;
   position: relative;
   position: fixed;
   z-index: 1000;
   top: 20px;
   right: 70px;
   width: 50px;
   height: 50px;
   color: #222222;
   background: #fff;
   border: 2px solid #ccc;
   border-radius: 4px;
}
body.page-template-tpl-camp-map .mobile-toggle span {
   font-size: 12px;
   font-weight: 700;
   text-align: center;
   position: absolute;
   top: 48px;
   left: -2px;
   width: 50px;
   padding-top: 2px;
   text-transform: uppercase;
}
.leaflet-control-zoom a {
   text-decoration: none !important;
}
#camp-map {
   height: 100vh;
}
.leaflet-container {
   background: #fdf5de !important;
}
.leaflet-popup-content {
   margin: 30px 20px 13px 20px !important;
   font-size: 14px !important;
}
.leaflet-container .bx-controls a {
   width: 40px;
   height: 40px;
   position: absolute;
   top: 90px;
   background: rgba(0,0,0,0.7);
   border-radius: 20px;
   color: #fff;
   font-size: 30px !important;
   text-align: center;
}
.leaflet-popup h4 {
   margin-bottom: 5px !important;
}
.leaflet-popup a.leaflet-popup-close-button {
   font-size: 24px !important;
   right: 3px !important;
}
.leaflet-popup .bx-controls a i {
   display: block;
   position: absolute;
   top: 5px;
}
.leaflet-popup .bx-controls a.bx-prev {
   left: 6px;
}
.leaflet-popup .bx-controls a.bx-prev i {
   left: 8px;
}
.leaflet-popup .bx-controls a.bx-next {
   right: 7px;
}
.leaflet-popup .bx-controls a.bx-next i {
   left: 13px;
}
.leaflet-popup p {
   margin: 5px 0 0 0;
}
.leaflet-popup .slider {
   width: 100%;
   height: 170px;
   overflow: hidden;
}
.leaflet-popup .slider .slide-img {
   width: 100%;
   height: 100%;
   background-repeat: no-repeat;
   background-position: center center;
   background-size: cover;
}
.leaflet-popup .btn-wrap {
   margin: 10px 0 0 0;
   text-align: center;
}
.leaflet-popup .btn-wrap a.button {
   color: #fff;
   padding: 5px 10px;
   display: inline-block;
   font-size: 16px;
}
.leaflet-popup .btn-wrap a.button:hover {
   text-decoration: none;
}
a.leaflet-popup-close-button {
   text-decoration: none !important;
}
/* positioning panel fixed so it stays on screen */
.popup-fixed {
   width: 340px;
   position: fixed !important;
   top: 200px !important;
   left: 50% !important;
   margin: 0 0 0 -170px;
   right: auto !important;
   bottom: auto !important;
   transform: none !important;
}
.popup-fixed .leaflet-popup-tip-container {
   display: none;
}
@media(max-width: 768px) {
   .popup-fixed {
      top: 100px !important;
   }
   body.page-template-tpl-camp-map a.map-site-logo {
      top: 10px;
      left: 55px;
      width: 75px;
   }
   body.page-template-tpl-camp-map .mobile-toggle {
      top: 15px;
      right: 15px;
      width: 40px;
      height: 40px;
   }
   body.page-template-tpl-camp-map .mobile-toggle i.fa {
      position: relative;
      left: -2px;
   }
}
@media(max-width:400px) {
   .popup-fixed {
      width: calc(100% - 30px);
      margin: 0 15px;
      top: 65px !important;
      left: auto !important;
   }
}
@media(max-width:300px) {
   .leaflet-popup .slider {
      display: none;
   }
}

.link-list a {
   text-decoration: none !important;
}

/* testimonials */
.pp-testimonials .pp-testimonial {
   position: relative;
}
.pp-testimonials .pp-testimonial::before,
.pp-testimonials .pp-testimonial::after {
   display: block;
   position: absolute;
   z-index: 1;
   width: 100px;
   height: 100px;
   line-height: 1;
   overflow: hidden;
   font-size: 100px;
   color: rgba(255,255,255,0.1);
   font-family: Georgia, serif;
}
.pp-testimonials .pp-testimonial::before {
   top: 0px;
   left: -15px;
   content: '“';
}
.pp-testimonials .pp-testimonial::after {
   right: -15px;
   bottom: -50px;
   content: '”';
}
.pp-testimonials .pp-testimonial .pp-testimonials-content p {
   margin: 0 !important;
}
.pp-testimonials-content {
   position: relative;
   z-index: 5;
}

/* trading post (store) */
.product-section .fl-callout-text form p {
   margin-bottom: 0 !important;
   padding-bottom: 0 !important;
}
.product-section .fl-callout-text form br {
   display: none !important;
}
.product-section .fl-callout-text form label {
   margin-right: 5px;
}
.product-section .fl-callout-text form input[name="submit"] {
   margin-top: 15px;
}

/* table press styling */
.tablepress.big-table {
   border-collapse: separate; /* without this the 10px borders extend out of cells */
   border-spacing: 0px;
}
.tablepress.big-table thead th {
   border: none;
   background: var(--ymca-blue);
   border-radius: 25px 25px 0 0;
   padding: 30px 60px;
   color: #fff;
   line-height: 1;
   font-size: 32px;
   text-align: center;
   Font-family: 'Cachet Book';
   text-transform: uppercase;
}
.tablepress.big-table tbody td {
   text-align: left;
   background: #e6eff7;
   padding: 10px 15px;
   border-top: none !important;
   Font-family: 'Cachet Book';
}
.tablepress.big-table tbody td h3 + br,
.tablepress.big-table tbody td h4 + br {
   display: none;
}
.tablepress.big-table tbody td h4 {
   text-transform: none;
   margin: 0 0 15px 0;
   padding: 0;
   font-size: 32px;
}
.tablepress.big-table tfoot th {
   border: none;
   background: var(--ymca-deep-purple);
   padding: 20px 20px;
   color: #fff;
   line-height: 1;
   font-size: 32px;
   text-align: center;
   Font-family: 'Cachet Book';
   text-transform: uppercase;
}
.tablepress.big-table tfoot th a {
   color: #fff;
}
/* dates & rates */
.tablepress.big-table tbody tr td {
   border-bottom: 10px solid var(--ymca-blue);
}
.tablepress.big-table tbody tr td:nth-child(1) {
   border-right: 10px solid var(--ymca-blue);
}
@media(max-width:768px) {
   .tablepress.big-table tbody td h4 {
      font-size: 22px;
   }
   .tablepress.big-table thead th,
   .tablepress.big-table tfoot th {
      font-size: 25px;
   }
   .tablepress.big-table tbody td {
      padding: 10px 5px;
   }
}

/* camp dates & rates (summer camp page) */
.tablepress.big-table.dates-rates tbody td {
   text-align: center;
   padding: 30px 15px;
}
@media(max-width:768px) {
   .tablepress.big-table.dates-rates tbody td {
      padding: 10px 5px;
   }
}

/* camp schedule */
.tablepress.big-table.camp-schedule {
   width: 600px;
   max-width: 100%;
}
.tablepress.big-table tbody td {
   padding: 10px 15px;
   font-size: 22px;
}
@media(max-width:768px) {
  .tablepress.big-table tbody td {
      font-size: 18px;
   }
}

/* popup maker */
.pum-title.popmake-title {
   font-family: 'Cachet Book';
}

/*
   home page
*/
body.home #hero-wrap {
   height: 100%;
   border-bottom: none;
}
#home-hero {
   position: relative;
}
#home-hero .pagewidth.main-canvas a.site-mobile-logo {
   display: block;
   position: absolute;
   z-index: 20;
   top: 140px;
   left: 30px;
   width: 175px;
   -webkit-transition:  .3s;
   transition:          .3s;
}
body.scrolled #home-hero .pagewidth.main-canvas a.site-mobile-logo {
   opacity: 0;
}
#home-hero .pagewidth.main-canvas a.ymca-title {
   position: absolute;
   z-index: 20;
   top: 320px;
   left: 100px;
   width: 390px;
}
#home-hero .pagewidth.main-canvas a.ymca-title span {
   font-size: 50px;
}
#home-hero .pagewidth.main-canvas::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 15;
   bottom: 0px;
   left: -290px;
   width: 1000px;
   height: 1020px;
   background: url(assets/images/hero-logo-angle.svg) no-repeat 0 bottom;
   background-size: 1000px auto;
   clip-path: polygon(45% 0, 100% 90%, 100% 100%, 0 100%, 0 0);
}
#home-hero .hero-title-bar {
   position: absolute;
   z-index: 50;
   left: 0;
   bottom: 0;
   width: 100%;
   padding: 20px 0 25px 0;
   background: url(assets/images/home-hero-title-bar.png) no-repeat right 0;
   background-size: cover;
}
#home-hero .hero-title-bar .pagewidth {
   width: 1400px;
   display: flex;
   flex-wrap: nowrap;
   justify-content: space-between;
   align-items: center;
   padding-left: 20px;
   padding-right: 150px;
}
#home-hero .hero-title-bar h1 {
   font-size: 50px;
   color: #fff;
   margin: 0;
   padding: 0;
   text-transform: uppercase;
   text-shadow: 8px 8px 8px #000;
   font-family: 'Cachet Extra Light';
}
#home-hero .hero-title-bar h1 strong {
   font-family: 'Cachet Bold';
}
#home-hero .hero-title-bar img {
   display: block;
   width: 180px;
}
/* using hero image */
.video-img-wrapper img.home-feat-img {
   width: 85% !important;
   height: auto;
}
/* using hero video (optional) */
.video-img-wrapper {
   display: flex;
   justify-content: flex-end;
   padding-top: 130px;
   position: relative;
}
.video-img-wrapper a.admin-edit {
   left: auto;
   right: 0;
   top: 250px;
}
.video-img-wrapper video {
   width: 75% !important;
   height: auto;
}
.video-img-wrapper button.playpause {
   width: 80px;
   display: block;
   position: absolute;
   padding: 3px;
   z-index: 10;
   right: 10px;
   top: calc(100% - 190px);
   border: 2px solid #fff;
   color: #fff;
   background: none;
   text-align: center;
   font-size: 15px;
   text-transform: uppercase;
}
@media(max-width:1600px) {
   #home-hero .pagewidth.main-canvas::after {
      left: calc(50% - 1040px);
   }
}
@media(max-width:1300px) {
   #home-hero .hero-title-bar .pagewidth {
      padding-right: 20px;
   }
   #home-hero .pagewidth.main-canvas a.ymca-title span {
      font-size: 50px;
   }
   #home-hero .pagewidth.main-canvas::after {
      left: calc(50% - 920px);
      width: calc(100% - 300px);
      background-size: 100% auto;
   }
   #home-hero .hero-title-bar h1 {
      font-size: 52px;
   }
}
@media(max-width:1200px) {
   #home-hero .pagewidth.main-canvas a.site-mobile-logo {
      width: 150px;
   }
   #home-hero .pagewidth.main-canvas a.ymca-title span {
      font-size: 40px;
   }
   #home-hero .pagewidth.main-canvas::after {
      left: calc(50% - 820px);
      background-size: 800px auto;
   }
}
@media(max-width:1100px) {
   #home-hero .pagewidth.main-canvas a.ymca-title span {
      font-size: 36px;
   }
   #home-hero .pagewidth.main-canvas::after {
      left: calc(50% - 720px);
      background-size: 700px auto;
   }
}
@media(max-width:1024px) {
   #home-hero .pagewidth.main-canvas::after {
      width: calc(100% - 150px);
   }
   #home-hero .pagewidth.main-canvas a.site-mobile-logo {
      display: none;
   }
   body.home #masthead a.site-logo {
      display: block;
      opacity: 1;
   }
   #home-hero .pagewidth.main-canvas a.ymca-title {
      top: 150px;
      left: 40px;
      width: 240px;
   }
   .video-img-wrapper {
      padding-top: 0;
   }
   #home-hero .hero-title-bar {
      padding: 5px 0 10px 0;
   }
   #home-hero .hero-title-bar h1 {
      font-size: 4.5vw;
   }
}
@media(max-width:900px) {
   #home-hero .pagewidth.main-canvas::after {
      left: calc(50% - 630px);
      background-size: 600px auto;
   }
   #home-hero .pagewidth.main-canvas a.ymca-title {
      top: 125px;
      left: 50px;
   }
}
@media(max-width:768px) {
   #home-hero .mobile-header {
      padding-bottom: 90px;
   }
   body.home #masthead a.site-logo {
      display: none;
   }
   #home-hero .pagewidth.main-canvas a.site-mobile-logo {
      opacity: 1;
      display: block;
      position: static;
      width: 120px;
   }
   body.scrolled #home-hero .pagewidth.main-canvas a.site-mobile-logo {
      opacity: 1 !important;
   }
   #home-hero .pagewidth.main-canvas a.ymca-title {
      top: 30px !important;
   }
   #home-hero .pagewidth.main-canvas {
      padding-top: 60px;
   }
   .video-img-wrapper {
      display: block;
   }
   .video-img-wrapper img.home-feat-img,
   .video-img-wrapper .wp-video,
   .video-img-wrapper video {
      width: 100% !important;
   }
}
@media(max-width:700px) {
   #home-hero .hero-title-bar {
      padding: 0px 0 20px 0;
      position: relative;
      background-color: var(--ymca-deep-purple);
   }
   #home-hero .hero-title-bar::after {
      content: '';
      display: block;
      visibility: hidden;
      font-size: 0;
      clear: both;
      height: 0;
   }
   .video-img-wrapper::after {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 25px;
      bottom: 0;
      left: 0;
      background: rgba(0,0,0,0.6);
   }
   #home-hero .hero-title-bar .pagewidth {
      display: block;
   }
   #home-hero .hero-title-bar h1 {
      margin-top: -15px;
      font-size: 36px;
   }
   #home-hero .hero-title-bar img {
      float: right;
      width: 130px;
   }
}
/* move title bar under video */
@media(max-width:550px) {
   #home-hero .hero-title-bar h1 strong {
      display: block;
   }
   #home-hero .hero-title-bar img {
      width: 150px;
   }
   .video-img-wrapper button.playpause {
      top: 60%;
      width: 70px;
      font-size: 12px;
      padding: 2px;
   }
}
@media(max-width:450px) {
   #home-hero .pagewidth.main-canvas a.ymca-title {
      width: calc(100% - 140px);
   }
   #home-hero .pagewidth.main-canvas a.ymca-title span {
      font-size: 26px;
   }
}

/* home quick links */
#home-quick-links a.fl-button br {
   display: none;
}
@media(max-width:1600px) {
   #home-quick-links .fl-row-content-wrap {
      padding-left: 0;
      padding-right: 0;
   }
}
@media(min-width:769px) and (max-width:900px) {
   #home-quick-links a.fl-button br {
      display: block;
   }
}

/* home - programs */
#programs {
   position: relative;
}
#programs .programs-content-col {
   background: url(assets/images/top-map-all.jpg) no-repeat right bottom;
   background-size: 0 0;
}
#programs .fl-row-content-wrap::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 0;
   top: 75px;
   left: calc(50% - 780px);
   width: 140px;
   height: 100%;
   background: url(assets/images/txt-paddle-on.png) no-repeat 0 0;
}
#programs .fl-row-content-wrap .fl-row-content {
   position: relative;
   z-index: 1;
}
#programs a.program-box {
   display: block;
   border-radius: 20px;
   overflow: hidden;
   text-decoration: none !important;
   -webkit-transition:  .3s;
   transition:          .3s;
}
#programs a.program-box h3 {
   margin: 0;
   padding: 0;
   color: #fff;
   font-size: 28px;
   text-transform: none;
   padding: 5px 20px 10px 20px !important;
}
#programs a.program-box h3::after {
   content: '';
   display: inline-block;
   margin-left: 4px;
   position: relative;
   top: 5px;
   width: 30px;
   height: 35px;
   background: url(assets/images/chevrons.svg) no-repeat center bottom;
   background-size: 100% auto;
   -webkit-transition:  .3s;
   transition:          .3s;
}
#programs a.program-box:hover {
    text-decoration: none;
    transform: scale(1.03);
    box-shadow: 15px 15px 15px rgba(0,0,0,0.4);
}
#programs a.program-box .box-image {
   height: 340px;
   background-size: cover;
   background-position: center center;
   background-repeat: no-repeat;
}
@media(max-width:1600px) {
   #programs .fl-row-content-wrap::after {
      left: 15px; /* set the "PADDLE ON" text */
   }
   #programs .programs-content-col {
      width: 30% !important;
   }
   #programs .programs-content-col .fl-col-content {
      padding-left: 50px !important;
      padding-right: 20px !important;
   }
   #programs .program-boxes-col {
      width: 35% !important;
   }
}
@media(max-width:1500px) {
   #programs .programs-content-col .fl-col-content {
      padding-left: 0px !important;
   }
}
@media(min-width:1200px) and (max-width:1300px) {
   #programs .programs-content-col h2 {
      font-size: 46px !important;
   }
   #programs a.program-box h3 {
      font-size: 24px;
   }
   #programs a.program-box .box-image {
      height: 350px;
   }
}
@media(max-width:1200px) {
   #programs .fl-row-content-wrap::after {
      display: none;
   }
   #programs .programs-content-col {
      width: 100% !important;
   }
   #programs .program-boxes-col {
      width: 50% !important;
   }
}
@media(max-width:1000px) {
   #programs a.program-box h3 {
      font-size: 26px;
   }
}
@media(max-width:768px) {
   #programs a.program-box {
      border-radius: 0;
   }
   #programs a.program-box:hover {
      transform: scale(1);
   }
   #programs .fl-row-content-wrap {
      background: none !important;
   }
   #programs .programs-content-col {
      background-size: auto auto;
      background-position: right top;
   }
   #programs .program-boxes-col {
      width: 100% !important;
   }
   #programs a.program-box .box-image {
      height: 300px;
   }
}
@media(max-width:550px) {
   #programs .programs-content-col .fl-rich-text p {
      font-size: ;
   }
   #programs a.program-box h3 {
      font-size: 22px;
   }
   #programs a.program-box .box-image {
      height: 250px;
   }
}

/* countdown (fl-node-... are left and right columns of the countdown column) */
.camp-countdown .fl-col-content {
   box-shadow: 10px 10px rgba(0,0,0,0.2);
}
@media(max-width:992px) {
   .camp-countdown .pp-countdown-wrapper h2.pp-countdown-title {
      top: 55px;
   }
   .camp-countdown {
      width: calc(100% - 40px) !important;
      margin: 0 auto;
   }
}
@media(max-width:768px) {
   .camp-countdown .fl-col-content {
      box-shadow: none;
      background: none !important;
   }
   .camp-countdown .pp-countdown h3 {
      color: #006b6b !important;
   }
   .camp-countdown .pp-countdown-wrapper h2.pp-countdown-title {
      color: #006b6b;
      margin-bottom: 0;
      padding: 0 !important;
   }
}
@media(max-width:500px) {
   .mobile-programs-more .fl-module-content {
      margin-bottom: 10px !important;
   }
    .camp-countdown .fl-col-content {
      background: none !important;
      box-shadow: none;
   }
   .camp-countdown .pp-countdown h3 {
      font-size: 20vw !important;
      color: var(--ymca-deep-purple) !important;
   }
   .camp-countdown .pp-countdown-wrapper h2.pp-countdown-title {
      top: 11vw;
      font-size: 7vw !important;
      color: var(--ymca-deep-purple) !important;
   }
}
@media(max-width:400px) {
   .camp-countdown .pp-countdown h3 {
      font-size: 110px !important;
   }
   .camp-countdown .fl-col-content {
      background: none !important;
      box-shadow: none;
   }
   .camp-countdown .pp-countdown-wrapper {
      flex-direction: column-reverse;
   }
   .camp-countdown .pp-countdown {
      width: 100% !important;
   }
   .camp-countdown .pp-countdown h3 {
      text-align: center;
   }
   .camp-countdown .pp-countdown-wrapper h2.pp-countdown-title {
      top: 0;
      text-align: center;
      padding: 0 0 20px 0;
      white-space: normal;
   }
}

/* news section */
#news-row {
   position: relative;
   z-index: 1;
}
#news-row .fl-row-content-wrap .fl-row-content {
   position: relative;
   z-index: 10;
}
.latest-news {
   overflow: hidden;
}
.news-title-col {
   background: url(assets/images/topo-purple.jpg) no-repeat center center;
   background-size: 0 0;
}
.latest-news {
   position: relative;
   z-index: 1;
}
.latest-news .news-item {
   float: left;
   margin-right: 30px;
   border-radius: 20px;
   background: #fff;
   overflow: hidden;
}
.latest-news .news-item:nth-child(2) {
   margin-top: 50px;
}
.latest-news .news-item:last-of-type {
   margin-right: 0px;
}
.latest-news .entry-wrap {
   padding: 30px 20px 30px 20px;
}
.latest-news .news-item a.thumb {
   display: block;
   height: 180px;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center center;
}
.latest-news .news-item h3 {
   font-size: 28px;
   text-transform: none;
   margin: 0 0 15px 0;
   padding: 0;
   color: var(--ymca-purple);
}
.latest-news .news-item h3 a {
   color: var(--ymca-purple);
}
.latest-news .news-item h3 a:hover {
   color: var(--ymca-deep-purple);
}
.latest-news .news-item a.more {
   font-size: 18px;
   font-weight: 600;
   text-decoration: underline;
   color: var(--ymca-deep-purple);
}
.latest-news .news-item a.more:hover {
   text-decoration: none;
}
.latest-news .news-item .excerpt {
   font-size: 18px;
   color: #000;
   margin: 0 0 15px 0;
}
/* layout for 1 entry result */
.latest-news[data-num-posts="1"] .news-item {
   display: flex;
   flex-wrap: nowrap;
}
.latest-news[data-num-posts="1"] .news-item a.thumb {
   height: auto;
   display: block;
   width: 45%;
}
.latest-news[data-num-posts="1"] .news-item .entry-wrap {
   width: 55%;
   padding: 30px 30px 30px 40px;
}
.latest-news[data-num-posts="2"] .news-item {
   width: calc((100% - 30px) / 2);
}
.latest-news[data-num-posts="3"] .news-item {
   width: calc((100% - 60px) / 3);
}
@media(max-width:1400px) {
   .news-title-col {
      width: 25% !important;
   }
   .news-title-col .fl-col-content {
      padding-left: 0 !important;
   }
   .news-posts-col {
      width: 75% !important;
   }
}
@media(max-width:992px) {
   .latest-news[data-num-posts="1"] .news-item,
   .latest-news[data-num-posts="2"] .news-item,
   .latest-news[data-num-posts="3"] .news-item {
      width: 100%;
      display: flex;
      flex-wrap: nowrap;
      float: none;
      margin: 0 0 40px 0;
   }
   .latest-news[data-num-posts="1"] .news-item a.thumb,
   .latest-news[data-num-posts="2"] .news-item a.thumb,
   .latest-news[data-num-posts="3"] .news-item a.thumb {
      height: auto;
      display: block;
      width: 45%;
   }
   .latest-news[data-num-posts="1"] .news-item .entry-wrap,
   .latest-news[data-num-posts="2"] .news-item .entry-wrap,
   .latest-news[data-num-posts="3"] .news-item .entry-wrap {
      width: 55%;
      padding: 30px 30px 30px 40px;
   }
}
@media(max-width:768px) {
   #news-row > .fl-row-content-wrap {
      background: none !important;
   }
   .latest-news {
      overflow: visible;
   }
   .news-title-col {
      background-size: 150% auto;
   }
   .news-posts-col .fl-module-content {
      background: #fff;
   }
   .latest-news[data-num-posts="1"] .news-item,
   .latest-news[data-num-posts="2"] .news-item,
   .latest-news[data-num-posts="3"] .news-item {
      width: 100%;
      display: block;
      margin: 0;
   }
   .latest-news .news-item {
      margin-top: -40px !important;
      border-radius: 0;
      background: none;
   }
   .latest-news .news-item a.thumb {
      width: 70% !important;
      height: 40vw !important;
   }
   .latest-news .news-item .entry-wrap {
      width: 100% !important;
      padding: 20px !important;
   }
   .latest-news .news-item::after {
      content: '';
      display: block;
      height: 75px;
      background: url(assets/images/topo-purple.jpg) no-repeat center bottom;
      background-size: 100% auto;
   }
}

/* instacamp */
#instacamp {
   position: relative;
}
#instacamp .fl-row-content-wrap {
   position: relative;
   z-index: 10;
}
#instacamp .fl-row-content-wrap::after {
   content: '';
   display: block;
   position: absolute;
   z-index: -1;
   top: 75px;
   left: calc(50% - 930px);
   width: 300px;
   height: 300px;
   background: url(assets/images/instagram-color.jpg) no-repeat center center;
   background-size: contain;
}
.pp-instagram-feed .pp-feed-item img {
   border-radius: 20px;
}
@media(max-width:1600px) {
   #instacamp .fl-row-content-wrap::after {
      left: -150px;
   }
   .instacamp-feed-col .fl-col-content {
      padding-right: 0;
   }
}
@media(max-width:1200px) {
   #instacamp .fl-row-content-wrap::after {
      top: 135px;
      left: calc(50% - 150px);
   }
}

/* main flyout menu */
#mask {
   position: fixed;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   min-height: 100%;
   z-index: 4999;
   background: rgba(0,0,0,0.5);
}
#flyout-menu {
   position: fixed;
   z-index: 9999;
   width: 400px;
   max-width: 100%;
   height: 100%;
   top: 0;
   right: -400px;
   background: var(--ymca-deep-purple);
}
#flyout-menu a.flyout-site-logo {
   display: block;
   position: absolute;
   z-index: 100;
   top: 12px;
   left: 15px;
   width: 60px;
   height: auto;
}
#flyout-menu .inner {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   padding: 70px 0 0 0;
   overflow-y: auto;
   /* Optional but highly reccomended:  enables momentum scrolling on iOS */
   -webkit-overflow-scrolling: touch;
}
#flyout-menu a.close-flyout {
   display: block;
   position: absolute;
   z-index: 100;
   top: 20px;
   right: 20px;
   width: 30px;
   height: 30px;
}
#flyout-menu a.close-flyout svg > path {
   fill: transparent;
   stroke: #fff;
   stroke-width: 2;
   stroke-linejoin: round;
}
/* drop down */
#flyout-menu ul {
   margin: 0;
   padding: 0;
   border-top: 1px solid rgba(255,255,255,0.2);
}
#flyout-menu ul li {
   margin: 0;
   padding: 0;
   list-style: none;
   position: relative;
}
#flyout-menu ul li span.drop-button {
   display: none;
}
#flyout-menu ul li.menu-item-has-children span.drop-button {
   display: block;
   width: 50px;
   height: 50px;
   position: absolute;
   top: 0;
   right: 0;
   border-left: 1px solid rgba(255,255,255,0.2);
   cursor: pointer;
}
#flyout-menu ul li.menu-item-has-children span.drop-button::after {
   display:block;
   content:'';
   width:0;
   height:0;
   position:absolute;
   top:20px;
   left:20px;
   border-left:5px solid transparent;
   border-right:5px solid transparent;
   border-top:10px solid #fff;
}
#flyout-menu ul li.menu-item-has-children span.drop-button.open::after {
   border-bottom: 10px solid #fff;
   border-top: none;
}
#flyout-menu ul li.menu-item-has-children span.drop-button:hover {
   background: rgba(255,255,255,0.1);
}
#flyout-menu ul li.menu-item-home {
   display: none;
}
#flyout-menu ul li a {
   display: block;
   height: 50px;
   font-size: 18px;
   line-height: 50px;
   margin: 0;
   padding: 0 50px 0 20px;
   color: #fff;
   border-bottom: 1px solid rgba(255,255,255,0.2);
   text-decoration: none !important;
   overflow: hidden;
}
#flyout-menu ul li a:hover {
   text-decoration: underline;
}
#flyout-menu ul li ul {
   display: none;
   border-top: none;
}
#flyout-menu ul li ul li a {
   height: auto;
   line-height: 1.2;
   padding: 12px 10px 12px 40px;
   font-weight: 400;
}
#flyout-menu ul li ul li span.drop-button {
   display:none !important;
}
#flyout-menu ul li ul li ul {
   display:none;
}

/* footer */
.footer-mission-row {
   overflow: hidden;
}
.footer-mission-row .fl-row-content {
   position: relative;
}
/* altering this "MISSION" text row out of the flow so it can be
   pulled up right to the bottom of the main mission row columns */
.footer-mission-row .fl-node-27vb4nrulpfy {
   position: absolute;
   width: 100%;
   left: 0;
   bottom: 0;
}
.footer-contact-row {
   overflow: hidden;
}
.footer-contact-row .fl-row-content {
   position: relative;
}
.footer-contact-row .fl-row-content::before {
   content: '';
   display: block;
   opacity: .5;
   position: absolute;
   z-index: 10;
   width: 700px;
   height: 130px;
   right: -110px;
   bottom: -2px;
   background: url(assets/images/footer-trees.svg) no-repeat 0 0;
   background-size: 100% auto;
}
.footer-logo-tagline {
   padding-left: 130px;
}
.footer-contact-row .icon-link .fl-icon-text a {
   text-decoration: underline;
}
.footer-contact-row .icon-link .fl-icon-text a:hover {
   text-decoration: none;
}
.news-signup form {
   position: relative;
}
.news-signup input[type="text"] {
   height: 42px;
   line-height: 42px;
}
.news-signup input[type="submit"] {
   font-size: 20px;
   height: 38px;
   line-height: 100%;
   padding: 0 15px;
}
@media(max-width:1600px) {
   .footer-logo-tagline {
      padding-left: 6.5vw;
   }
}
@media(max-width:1500px) {
   .footer-mission-row .footer-mission-col .fl-col-content {
      padding-right: 0px !important;
      padding-left: 10px !important;
   }
}
@media(max-width:1200px) {
   .footer-logo-tagline {
      padding-left: 10%;
   }
}
@media(max-width:1024px) {
   .footer-mission-row {
      position: relative;
   }
   .footer-mission-row .fl-col-group .fl-col {
      width: 100% !important;
   }
   .footer-mission-row .fl-col-group .fl-col:nth-child(1) {
      height: 50vw;
   }
   .footer-mission-row .fl-col-group .fl-col .fl-col-content {
      padding: 20px 0 0 0 !important;
   }
   .footer-mission-row .fl-col-group .fl-col:nth-child(4) {
      padding-bottom: 80px;
   }
   /* "MISSION" faded text image */
   .footer-mission-row .fl-node-27vb4nrulpfy {
      bottom: -35vw;
   }
}
@media(max-width:992px) {
   .footer-logo-tagline {
      padding-left: 0;
   }
   .footer-logo-tagline .fl-rich-text {
      display: flex;
      justify-content: center;
   }
   .footer-logo-tagline .fl-rich-text p sup {
      font-size: 12px !important;
   }
}
@media(max-width:768px) {
   /* hide "MISSION" faded text image */
   .footer-mission-row .fl-node-27vb4nrulpfy {
      display: none;
   }
   .footer-mission-row .fl-col-group .fl-col:nth-child(1) {
      height: auto;
   }
   .footer-mission-row .fl-col-group .fl-col .fl-col-content {
      padding: 20px 0 0 0 !important;
   }
   .footer-mission-row .fl-col-group .fl-col:nth-child(4) {
      padding-bottom: 0px;
   }
   .footer-contact-row img {
      margin: 0 auto;
   }
}
@media(max-width:450px) {
   .footer-logo-tagline p {
      font-size: 19px !important;
   }
}


