/**
Theme Name: Purple Finch Studios - Child Theme
Author: Purple Finch Studios
Author URI: https://purplefinchstudios.com
Description: Purple Finch Studios theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pfs-theme
Template: astra
*/

/*----------- Colors -----------*/
:root {

  
  --darkgrey: #516475;
  --mediumgrey: #6f7f8d;
  --white: #ffffff;
 
}

/*----------- Typography -----------*/
.fl-rich-text a{
  font-weight:700;
}
.blue-page-title .fl-heading{
  color: var(--fl-global-blue);
}
.blue-title .fl-heading{
  color: var(--fl-global-blue);
  text-transform:uppercase;
}
.calendar-list .fl-rich-text ul{
  list-style:none;
  margin-left:0px;
}

.links-list .fl-rich-text ul{
  list-style:none;
  margin-left:0px;
}
.links-list .fl-rich-text ul li{
  padding-bottom:10px;
}
@media all and (min-width:992px){
  .two-col .fl-rich-text ul{
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  }
}
/*----------- General Styles -----------*/
/* Padding Row */
@media all and (min-width:768px) {
  .fl-row-content-wrap {
    padding: 60px 20px;
  }
}
/* Buttons */
.fl-builder-content .fl-node-content a.fl-button{
    border-radius: 0px;
    letter-spacing: 1px;
    padding: 0.6em 1.7em;
    font-weight: 700;
    text-transform:uppercase;
}
/* White Button */
.fl-builder-content .fl-node-content .white-btn a.fl-button{
    background: var(--white);
    border:2px solid var(--white);
}
.fl-builder-content .fl-node-content .white-btn a.fl-button:hover{
    background: var(--white);
    border:2px solid var(--white);
    opacity:0.8;
}
.fl-builder-content .fl-node-content .white-btn a.fl-button span{
	color: var(--fl-global-blue);
}
.fl-builder-content .fl-node-content .white-btn a.fl-button:hover span{
	color: var(--fl-global-blue);
}

/* Blue Button */
.fl-builder-content .fl-node-content .blue-btn a.fl-button{
    background: var(--fl-global-very-light-blue);
    border:2px solid var(--fl-global-very-light-blue);
    padding: 0.6em 1em;
}
.fl-builder-content .fl-node-content .blue-btn a.fl-button:hover{
    background: var(--fl-global-very-light-blue);
    border:2px solid var(--fl-global-very-light-blue);
    opacity:0.8;
}
.fl-builder-content .fl-node-content .blue-btn a.fl-button span{
	color: var(--white);
}
.fl-builder-content .fl-node-content .blue-btn a.fl-button:hover span{
	color: var(--white);
}

/* Yellow Button */
.fl-builder-content .fl-node-content .yellow-btn a.fl-button{
    background: var(--fl-global-yellow);
    border:2px solid var(--fl-global-yellow);
    padding: 0.6em 1em;
}
.fl-builder-content .fl-node-content .yellow-btn a.fl-button:hover{
    background: var(--fl-global-yellow);
    border:2px solid var(--fl-global-yellow);
    opacity:0.8;
}

.fl-builder-content .fl-node-content .yellow-btn a.fl-button span,
.fl-builder-content .fl-node-content .yellow-btn a.fl-button:hover span{
  color: var(--fl-global-black);
}

/* Bar CTA */
@media all and (min-width:768px){
.bar-cta .fl-module-content{
  max-width:1100px;
  margin:10px auto 5px;
}

.bar-cta .fl-cta-inline .fl-cta-text{
  /*width:80%;*/
  vertical-align: middle;
}
.bar-cta .fl-cta-inline .fl-cta-text h3{
margin-bottom:0px;
}
}

.announcement-bar .fl-module-html p{
  color:#ffffff;
  text-align:center;
  margin-bottom:0px;
  font-weight:600;
  font-size:17px;
}
.announcement-bar .fl-module-html a{
  display:inline-block;
  margin-left:20px;
  color:#ffffff;
  font-weight:600;
  text-transform:uppercase;
}
.announcement-bar .fl-module-html a:after{
  content:"\f105";
  font-family: "Font Awesome 5 Free";
  font-weight:900;
  padding-left:8px;
}
.announcement-bar .fl-module-html a:hover{
  opacity:0.8;
}

/*----------- Callout Boxes -----------*/
.callout-box .fl-photo{
  margin-bottom:0px;
}
.callout-box .fl-callout-title{
  background-color: var(--fl-global-dark-blue);
  color:#ffffff;
  text-align:center;
  font-size:16px;
  padding:10px;
  margin-bottom:10px;
  text-transform:uppercase;
  min-height:58px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
}
.callout-box .fl-callout-title a{
  color:#ffffff;
}
.callout-box .fl-callout-text-wrap{
  color: var(--fl-global-dark-blue);
}
.callout-box .fl-callout-text{
  font-weight:600;
}
@media all and (max-width:768px){
.callout-box .fl-module-content{
width:500px;
max-width:90%;
margin-left:auto;
margin-right:auto;
}
}
/*----------- Contacts Section -----------*/
.contact-details-one .fl-rich-text,
.contact-details-two .fl-rich-text{
  color:#ffffff;
  line-height:1.4em;

}
.contact-details-one .fl-rich-text p,
.contact-details-two .fl-rich-text p{
  margin-bottom:1em;
}
.contact-details-one .fl-rich-text p:last-child,
.contact-details-two .fl-rich-text p:last-child{
  margin-bottom:0px;
}
.contact-details-one .fl-rich-text a,
.contact-details-two .fl-rich-text a{
  color:#ffffff;
  font-weight:inherit;
  text-decoration: underline;;
}
.contact-details-one .fl-rich-text h4{
  text-transform:uppercase;
  color: #CED5DD;
  font-size:15px;
  line-height:1.2em;
  margin-bottom:0px;

}
@media all and (max-width:768px){
  .contact-details-one .fl-rich-text h4{
    font-size:16px
}
}
.contact-details-one .fl-rich-text h3,
.contact-details-two .fl-rich-text h3{
  color: #D7F0FC;
  text-transform:uppercase;
  font-size:17px;
}

/*----------- Light Contact Section -----------*/
.light-contact.contact-details-one .fl-rich-text,
.light-contact.contact-details-two .fl-rich-text{
color: #000000;
}
.light-contact.contact-details-one .fl-rich-text a,
.light-contact.contact-details-two .fl-rich-text a{
  color: #007DC5;
}

.light-contact.contact-details-one .fl-rich-text h3{
  color: #215E9E;

}
.light-contact.contact-details-one .fl-rich-text h4,
.light-contact.contact-details-two .fl-rich-text h4{
  color: #6F7F8D;
}
.board-list .fl-rich-text h3{
  margin-bottom:0px;
}
/*----------- Gravity Forms -----------*/
.gform_wrapper.gravity-theme .gfield_label{
  text-transform:uppercase;
  font-size:14px;
  color: var(--fl-global-dark-blue);
}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea{
  border-color: var(--fl-global-dark-blue);
  border-radius:0px;
}
.gform_wrapper.gravity-theme .ginput_complex input, .gform_wrapper.gravity-theme .ginput_complex select {
  height: 42px;
}
.gform_wrapper.gravity-theme .gform_footer input{
  border-radius:0px;
  font-weight:bold;
  text-transform:uppercase;
  -webkit-transition:0.2s all ease-in-out;
  transition:0.2s all ease-in-out;
border:1px solid var(--fl-global-dark-blue);
  background-color:var(--fl-global-dark-blue);
  color:var(--white);
}
.gform_wrapper.gravity-theme .gform_footer input:hover{
  background-color:var(--white);
  color: var(--fl-global-dark-blue);
  border:1px solid var(--fl-global-dark-blue);
}

/*----------- Events List -----------*/
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar--border{
  border:none;
}
.tribe-events .tribe-events-c-search__button{
  background-color: var(--darkgrey);
  border-radius:0px;
  border: 1px solid var(--darkgrey);
}
.tribe-events .tribe-events-c-search__button:hover{
  background-color: var(--white);
  color: var(--darkgrey);
  border-radius:0px;
  border: 1px solid var(--darkgrey);

}

.tribe-common .tribe-common-c-btn-border, .tribe-common a.tribe-common-c-btn-border{
  border-color: var(--darkgrey);
  border-radius:0px;
  color: var(--darkgrey);
}

.tribe-common .tribe-common-c-btn-border:focus, .tribe-common .tribe-common-c-btn-border:hover, .tribe-common a.tribe-common-c-btn-border:focus, .tribe-common a.tribe-common-c-btn-border:hover{
  background-color: var(--darkgrey) !important;
  border-radius:0px !important;
  color: var(--white) !important;
}

.tribe-events .tribe-events-calendar-month__multiday-event-bar{
  background-color: var(--darkgrey);
  opacity:1;

}
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event{
  background-color: var(--darkgrey);
}
.tribe-events .tribe-events-calendar-month__multiday-event-bar h3{
color:#ffffff;
}
.events-list .fl-post-feed{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:normal;
      -ms-flex-direction:row;
          flex-direction:row;

  -ms-flex-wrap:wrap;

      flex-wrap:wrap;

}

.events-list .fl-post-feed-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
          -webkit-box-align:start;
              -ms-flex-align:start;
                  align-items:flex-start;
          margin-bottom:0px;
          border-bottom:none;
          -webkit-box-flex:1;
              -ms-flex:1 300px;
                  flex:1 300px;
          padding:20px;

}

.events-list .fl-post-feed-post .post-event-date-wrapper {
 /*
 	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
*/
	margin-right:0px;
}

.events-list .fl-post-feed-post .post-event-date {
  max-width: 60px;
  text-align: center;
  color: #ffffff;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 112, 186)), to(rgb(0, 22, 67)));
  background-image: linear-gradient(to bottom, rgb(0, 112, 186) 0%, rgb(0, 22, 67) 100%);
}

.events-list .fl-post-feed-post .post-event-day {
  font-size: 25px;
  padding: 15px;
  display: block;
}

.events-list .fl-post-feed-post .post-event-day:after {
  content: "";
  background-color: #ffffff;
  width: 30px;
  height: 1px;
  display: block;
  margin: 15px auto 0;
}

.events-list .fl-post-feed-post .post-event-month-year {
  font-size: 14px;
  text-transform: uppercase;
  line-height: 1.2em;
  padding: 15px;
}

.events-list .post-event-month,
.events-list .post-event-year {
  display: block;
}

.events-list .fl-post-text {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
  padding-top: 0 !important;
  height:100%;
}

.events-list .fl-post-meta {
  font-size:14px;
  padding-bottom: 5px !important;
}

.events-list .fl-post-title {
  padding-bottom: 15px !important;
  font-size:16px;

}.events-list .fl-post-title a{
  color:#000000;

}
.events-list .fl-post-more-link{
  margin-top:auto;
}
.events-list .fl-post-more-link a {


  text-transform: uppercase;
  padding: 0.7em 1.8em;
  border: 1px solid #000000;
  background: transparent;
  padding: 0.2em 0.5em;
  color: #000000;
  font-size:15px;


}
.events-list .fl-post-more-link a:hover {
  background: #0072BC;
  border-color: #0072BC;
  color: #ffffff !important;
}
.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner {
    background-color: #215e9e !important; 
    color: #ffffff;
}

.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner *{
    color: #ffffff;
    opacity:1 !important;
}
/*----------- Trash Table -----------*/
.trash-table .fl-rich-text table{
  text-align:center;

}
.trash-table .fl-rich-text table thead td{
  background-color: var(--fl-global-light-blue);
  font-weight:bold;
}


.align-bottom{
  margin-top:auto;
}

/* News Spotlight Module Styling */
.news-spotlight-mod .fl-post-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: none;
}

.news-spotlight-mod .fl-post-column {
    width: 100% !important;
    margin: 0 !important;
}

.news-spotlight-mod .fl-post-grid-post {
    border: none;
    padding: 0; /* Remove padding from post for full-width background */
}

/* Alternating background colors - full width */
.news-spotlight-mod .fl-post-column:nth-child(odd) .fl-post-grid-post {
    background-color: #f4f4f5;
}

.news-spotlight-mod .fl-post-column:nth-child(even) .fl-post-grid-post {
    background-color: #ffffff;
}

/* Container for content - max-width like Astra/Beaver Builder */
.news-spotlight-mod .news-post-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

/* Image styling */
.news-spotlight-mod .fl-post-image {
    flex-shrink: 0;
    width: 33%;
    max-width: 33%;
}

.news-spotlight-mod .fl-post-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Text content */
.news-spotlight-mod .fl-post-text {
    flex: 1;
}

.news-spotlight-mod .fl-post-title {
    color: #007dc5;
    font-size: 24px;
    margin-bottom: 15px;
}

.news-spotlight-mod .fl-post-excerpt {
    color: #000000;
    line-height: 1.6;
    font-size: 16px;
}

.news-spotlight-mod .fl-post-excerpt p:last-child {
    margin-bottom: 0;
}

/* Handle posts without images - add extra left padding */
.news-spotlight-mod .fl-post-grid-post:not(:has(.fl-post-image)) .news-post-container {
    padding-left: 60px;
}

/* Responsive */
@media (max-width: 768px) {
    .news-spotlight-mod .news-post-container {
        flex-direction: column;
        padding: 30px 20px;
        gap: 20px;
        align-items: center; /* Center image on mobile */
    }
    
    .news-spotlight-mod .fl-post-image {
        width: 90%; /* Bigger image on mobile */
        max-width: 90%;
    }
    
    .news-spotlight-mod .fl-post-image img {
        width: 100%;
        height: auto;
        display: block;
    }
    
    /* Reset extra padding on mobile for posts without images */
    .news-spotlight-mod .fl-post-grid-post:not(:has(.fl-post-image)) .news-post-container {
        padding-left: 20px;
    }
}
