/*
Theme Name: Theatre Puget Sound
Template: hello-elementor
Author: Deepwater Pixel
Author URI: https://deepwaterpixel.com
Version: 1.0.0.24
Description: The Theatre Puget Sound Wordpress Theme (Hello Elementor Child Theme)
*/

/* CSS Styles here */


/*** Standard WordPress Element Styling ***/

/** Post Password Screen **/
form.post-password-form{

  width:600px;
  margin: 50px auto auto;
  display:flex;
  flex-direction: column;
}
form.post-password-form p{
  display:flex;
  flex-direction:column;
}
form.post-password-form input[name="post_password"]{
  border:none;
  border-radius:5px;
  background:rgba(0,0,0,0.05);
  margin-bottom:10px;
  margin-top:10px;
}
form.post-password-form input[type="submit"]{
  width:fit-content;
  background:rgba(0,0,0,0.05);
  border:none;
  color:#000;
  font-family: 'Lato';
  text-transform:uppercase;
  font-weight:600;
}

form.post-password-form input[type="submit"]:hover{
  background:#4083c4;
  color:#fff;
}

/** Restrict Content Pro Styling **/

/** Signup Form **/

.rcp_form label{
  font-family:'Merriweather';
  margin-bottom:5px;
}
input.rcp_discount_code,
input.rcp_card_name,
#rcp-card-element{
  border:none!important;
  background:rgba(0,0,0,0.05)!important;
  border-radius: 5px!important;
  margin-bottom: 10px!important;
}
#rcp-card-element .__PrivateStripeElement{
  padding-top:5px;
}

button#rcp_apply_discount,
input#rcp_submit{
  color: var(--e-global-color-1f33675);
  border-color: var(--e-global-color-1f33675);
  border-radius: 5px;
  padding: 3px 15px
}

button#rcp_apply_discount:hover,
input#rcp_submit:hover{
  background: var(--e-global-color-1f33675);
  color:#fff;
}

.rcp_form{
  background:#fff;
  box-shadow: 0px 2px 5px 2px rgba(0,0,0,0.15);
  border-radius: 10px;
  padding: 15px!important;
}
.rcp-table tbody,
.rcp-table tfoot{
  background:rgba(0,0,0,0.025);
}

.rcp_form .rcp_registration_total th,
.rcp_form .rcp_registration_total td,
.rcp_form thead.membership-amount tr,
.rcp-table tr,
.rcp_form tr{
  border:none!important;
}
.rcp_form thead.membership-amount tr th{
  font-size:1.3rem;
  font-family:var( --e-global-typography-primary-font-family ), Sans-serif;
  padding:5px;
}
.rcp_form .rcp_registration_total,
.rcp_form .rcp_registration_total table,
.rcp_form .rcp_registration_total_details tr{
  width:100%;
}
.rcp_form .rcp-table td:first-of-type{
  font-weight:bold;
}

.rcp_form .rcp_gateway_fields{
  background:#efefef;
}

.rcp_form fieldset{
  padding:5px;
}
.rcp_form fieldset.rcp_agree_to_privacy_policy_fieldset{
  margin-bottom:10px;
}
.rcp_form #rcp_submit_wrap input[type="submit"]{
  color: var(--e-global-color-1f33675);
  border-color: var(--e-global-color-1f33675);
  border-radius:10px;
}

.rcp_form #rcp_submit_wrap input[type="submit"]:hover{
  background: var(--e-global-color-1f33675);
  color:#fff;
}

/** Groups Styling **/

.rcpga-group-dashboard{
  font-family:lato;
}

.rcpga-group-dashboard h1,
.rcpga-group-dashboard h2,
.rcpga-group-dashboard h3,
.rcpga-group-dashboard h4,
.rcpga-group-dashboard h5,
.rcpga-group-dashboard h6,
.rcpga-group-dashboard label{
  font-family:'Merriweather';
}

.rcpga-group-dashboard label{
  margin-bottom:5px;
}

.rcpga-group-dashboard input[type="submit"]{
  color:#fff;
  border:none;
  border-radius:5px;
  background:var(--e-global-color-1f33675);
}

.rcpga-group-dashboard input[type="submit"]:hover{
  background:var(--e-global-color-d024273);
}

.rcpga-group-dashboard .group-accounts-table{
  margin-top:30px;
}

#rcpga-members-search input{
  margin-top:10px;
}

#rcpga-group-members-list-roles-filter{
  padding-left:0;
}

/*** End Restrict Content Pro Styling ***/

/**
* JetFormBuilder Styling 
*/



.jet-form-builder-repeater__row-fields{
  display: inline-flex;
  flex-wrap:wrap;
}
.jet-form-builder-repeater__row-fields .jet-form-builder-row{
  display:flex;
  flex-direction:row;
  align-content: start;
  margin: 5px;
  width: 48%;
}

/* Custom styles for the file upload field */
.jet-form-builder__field-wrap.jet-form-builder-file-upload {
  background: #ecf6ff !important;
  border: 3px dashed #c7d4e1 !important;
  padding: 20px !important;
  text-align: center;
  position: relative;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 6px !important;
}

/* Styles for the image upload */
.jet-form-builder-file-upload__file img {
  display: block;
  width: 100%;
  height: 100% !important;
  padding: 0;
  margin: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  border-radius: 6px !important;
  box-shadow: 0 0 30px -8px rgba(0, 0, 0, 0.24) !important;
}

/* Styles for image content */
.jet-form-builder-file-upload__content {
  min-height: auto !important;
}

/* Styles for the custom "Choose File" and "File Uploaded" buttons */
.addfile {
  padding: 10px 20px;
  background-color: #0037fd !important;
  color: #ffffff !important;
  border: none !important;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 6px;
  margin-top: 10px; /* Space between button and label */
}

.addfile:hover {
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* Styles for the label that shows file upload status */
.labeladdfile {
  padding: 6px 12px;
  background-color: transparent; /* Default background is transparent */
  color: #000000 !important;
  font-size: 12px;
  font-weight: 400;
  display: block;
  margin-top: 10px;
  border-radius: 6px;
}

/* Class added when files are uploaded */
.files-uploaded {
  background-color: #09b872 !important; 
  padding: 6px 12px;
  color: #ffffff !important;
  border-radius: 6px;
}

/* Hide the default file input visually */
/* .jet-form-builder-file-upload__input {
  display: none;
} */


/* Responsive adjustments */
@media (max-width: 767px) {
  .addfile, .labeladdfile {
      padding: 8px 16px;
      font-size: 12px;
  }
}

@media (max-width: 1024px) {
  .addfile, .labeladdfile {
      padding: 8px 16px;
      font-size: 12px;
  }
}

/*** End JetFormBuilder Styling ***/


/*** 

WP Advanced Ads Styling: Frontend

***/

.tpsad-target{
  text-align:center;
}



/* Structure */
/*  .advanced-ads-selling-setup-ad-details
AD label:first-of-type = Pricing option (Not Needed, hide)
AD label:nth-of-type(2) = Status
AD form label:first-of-type = Ad Type (Not Needed, hide)
AD form label:nth-of-type(2) = Ad Code (Not Used, hide)
AD form label:nth-of-type(3) = Image Upload
AD form label:nth-of-type(4) = Target URL

*/

/* End WP Advanced Ads Styling */

/*** 

General Gutenberg Content Styling 

***/
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading {
  font-family:'Merriweather',serif;
}
h5.wp-block-heading,
h6.wp-block-heading{
  font-family:'Lato',sans-serif;
}

/* End Gutenberg Content Styling */

/***
  * The Events Calendar Styling
  * Referenced: Tribe Events, TEC, Tribe, etc.
***/

h1.tribe-events-single-event-title {
  font-family:'TPS Rubber Stamp';
  font-size:3rem;
}

h2.tribe-events-schedule__datetime,
span.tribe-events-schedule__separator.tribe-events-schedule__separator--date{
  font-family:'Lato';
  font-weight:bold;
  text-transform:uppercase;
  color:#000;
}

/** Single Event Styling **/
body.single-tribe_events{
  background:#f1f0f0;
}
section.tribe-events-pg-template {
  background:#fff;
  border-radius:6px;
  margin:10px auto 15px;
}
.tribe_events p,
.tribe-block span.tribe-block__event-price__description{
  font-family:'Lato';
  font-weight: 400;
  color:#666;
}
.tribe-block span{
  font-family:'Lato';
}

/** Hide Specific Tribe Events Block Content **/

/* Related Events Block */
h2.tribe-block__related-events__title,
ul.tribe-related-events{
  display:none!important;
}

/* Hide the Events Nav Footer Bar on Single Events */
#tribe-events-footer{
  display:none;
}

/* Event Website/URL Button */
.tribe-block__event-website a{
  color:#fff!important;
}

/* Event Venue */
.tribe-block__venue{
  margin:10px 0px;
}

/** Submit Events Form - Community Events **/

.tribe-section-taxonomy--post_tag,
.tribe-section-event-status,
.tribe-section-organizer,
.tribe-section-tickets{
  display:none!important;
}

/* Hide the Edit Venue Link on Add Event Form */

.edit-linked-post-link{
  display:none!important;
}

/*** End TEC Styling ***/

/*** My Account Styling ***/

/** Tax Exempt Form **/
/* Main Form */
.elementor-jet-myaccount-content form.tefw-account-form{
  padding:15px;
  font-family:'Merriweather';
  background: #f1f0f0;
  border-radius:3px;
}
/* Text Input Fields */
.elementor-jet-myaccount-content input[type="text"]{
  border:0;
}
/* Submit Button */
.elementor-jet-myaccount-content form.tefw-account-form input[type="submit"]{
  background:red;
  color:#fff;
  font-family: 'Lato';
  font-weight:900;
  text-transform: uppercase;
}
/** End Tax Exempt Form **/



/*** WooCommerce Styling ***/

a.added_to_cart.wc-forward{
  background: #e9e6ed;
  color: #515151;
  margin:14px;
  padding: 0.5rem 2rem;
  border-radius: 3px;
}

a.added_to_cart.wc-forward:hover{
  background:#dcd7e3;
}

/** WooCommerce Deposits **/

/** Single Product **/

/* WooCommerce Deposits Selector */
.single-product .wc-deposits-wrapper{
  display:none;
}

/** Checkout **/

/* Payment Box */
.woocommerce-checkout #payment{
  border-radius:15px;
  padding: 1rem;
  background: #F1F0F0;
}
.payment_box{
  background:#fff!important;
  border-radius:10px!important;
}
.payment_box:before{
  border-bottom-color:#fff!important;
}
fieldset.wc-payment-form,
fieldset.wc-payment-form+fieldset{
  border: 0;
}

/** WooCommerce Orders table **/
.woocommerce-orders-table,
.woocommerce-orders-table th{
  border:0!important;
}

.woocommerce-orders-table tr td {
  background-color: #fff!important;
  border-top: 0!important;
  border-right: 0!important;
  border-left: 0!important;
  border-bottom: 1px solid rgba(0,0,0,0.05)!important;
  }
.woocommerce-orders-table tr:hover>td{
  background-color: rgba(0,0,0,0.05)!important;
}
.woocommerce-orders-table .woocommerce-button{
  margin: 0px 5px!important;
}

/* Booking Form */

.ph-calendar-container{
  box-shadow: 0px 2px 5px 2px rgba(0,0,0,.1);
  border:0!important;
  width:94%;
}
.ph-calendar-box-container .inner-element{
border:none;
}
.booking_month{
  width:100%;
}
li.ph-calendar-date.timepicker-selected-date,
.ph-calendar-date,
.ph-month .month-year-wraper,
.ph-calendar-container,
.ph-calendar-days{
  border-radius: 5px;
}
.ph-calendar-weekdays{
  border-top:0!important;
  border-bottom:0!important;
  background:#f9f9f9!important;
}
.ph-calendar-days{
  padding:10px!important;
}
.persons-title {
  width: 70% !important;
}
.persons-title,
.booking_info_text{
  font-family: 'Lato';
  font-weight: 400;
}


.elementor-product-phive_booking form.cart{
  box-shadow: 0px 2px 5px 2px rgba(0,0,0,0.05);
  border:0!important;
  padding:1rem;
  border-radius: 10px!important;
  transition: 0.3s all;
  background:#fff;
}

.elementor-product-phive_booking form.cart:hover{
  box-shadow: 0px 3px 5px 3px rgba(0,0,0,0.1);
}

.elementor-product-phive_booking form input{
  background:#efefef!important;
  border:0;
  border-radius:5px;
  padding: 5px!important;
}

.elementor-product-phive_booking form img{
  object-fit:contain;
  opacity:0.5!important;
}
.elementor-product-phive_booking form .input-person-minus{
  background:rgba(255,0,0,0.2);
  color:#f00!important;
  border:0!important;
  border-radius:100%;
}
.elementor-product-phive_booking form .input-person-plus{
  background: rgba(0,255,0,0.2);
  color: rgba(0,0,0,0.7)!important;
  border:0!important;
  border-radius:100%;
}

.participant_inner_section{
  margin-bottom:5px;
  padding:10px;
  display:flex;
  flex-direction:row;
  justify-content: space-between;
  transition: 0.3s all;
  border-radius: 5px;
}
.participant_inner_section .button-group-container{
  margin:10px;
}
.participant_inner_section:hover{
  background:#f9f9f9;
}

.person-value.button-group-container{
  width:40%!important;
  text-align:right;
}

.booking-info-wraper{
  border-radius: 10px;
}

/*** End WooCommerce Styling ***/

/*** Availability Check Styling ***/

/** Today Availability **/

/* Display Area */
.availability-container,
.availability-results{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap:20px;
  border-radius:15px;
}

.availability-container{
  margin-bottom: 3rem;
}

/* Availability Results Section */
.availability-results{
  margin-top:15px;
  display:none;
  transition:0.6s all ease;
}
.availability-results.visible{
  display:grid;
}

/* Spaces */
.availability-container .s4a-item{
  display:flex;
  flex-direction: column;
  gap:5px;
  background: #fff;
  padding:15px;
  border-radius:10px;
  transition:0.6s all;
}
.availability-container .s4a-item:hover{
  background:var(--e-global-color-a05a0f5);
}
.availability-container .s4a-item h3,
.availability-container .s4a-item h4{
  width:100%;
  margin: 0;
}
.availability-container .s4a-item h4{
  margin-bottom:1rem;
}

/* Availability Checker - No Times */
.no-times{
  background: rgba(255,0,0,0.2);
  color: #f00;
  padding: 2px 8px;
  border-radius: 3px;
  width: fit-content;
}

/* First Floor Whitespace */
#floor-1.availability-container{
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}

/* Time Slots */
.availability-container .s4a-item .time-open a{
  color: var(--e-global-color-1f33675);
  display:flex;
  justify-content: space-between;
}
.availability-container .s4a-item .time-open{
  padding:3px 12px;
  background:var(--e-global-color-a05a0f5);
  border-radius:5px;
  transition: 0.6s all;
}
.availability-container .s4a-item .time-open a:hover{
  color:var(--e-global-color-1f33675);
}
.availability-container .s4a-item .time-open:hover{
  background: var(--e-global-color-92e5bc4);
}
.availability-container .s4a-item .time-open span.time-label{
  font-weight:bold;
  min-width:70px;
  color:#333;
}
.availability-container .s4a-item .label-open{
  text-transform:uppercase;
  font-weight:900;
  color:#89bf8b;
}

/** Datetime Lookup Availability **/

form.availability-form{
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  gap: 10px;
}
form.availability-form .availability-start,
form.availability-form .availability-end{
  display:flex;
  flex-direction:row;
  width:100%;
  gap:10px;
}
form.availability-form .date,
form.availability-form .time{
  width:50%;
  display:flex;
  flex-direction:column;
  gap:10px;
}
form.availability-form .align{
  display:flex;
  flex-direction:row;
  gap:10px;
  align-items: center;
}
form.availability-form input,
form.availability-form select{
  border:1px solid #d5d5d5;
  border-radius:5px;
  min-height:1rem;
}
form.availability-form input{
  padding:10px;
}
form.availability-form select{
  padding:12px;
}

form.availability-form button{
  width:fit-content;
  border:1px solid #fff;
  background:#fff;
  color: #4083c4;
  box-shadow: 0px 2px 5px 2px rgba(0,0,0,0.1);
}

form.availability-form button:hover,
form.availability-form button:focus{
  background:#4083c4;
  color:#fff;
  border-color: #4083c4;
  box-shadow:none;
}


.availability-results .product-item{
  text-align:center;
  background:#fff;
  border-radius:15px;
  padding:15px;
  box-shadow: 0px 2px 5px 2px rgba(0,0,0,0.05);
  transition:0.6s all ease;
}
.availability-results .product-item:hover{
  box-shadow: 0px 2px 5px 2px rgba(0,0,0,0.2);
}
.availability-results .product-item h4{
  color:#333;
}
.availability-results .product-item img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 10px;
}
.availability-results .product-item-bottom{
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
}
.availability-results .product-item-bottom .space-result-type{
  background: rgba(0,0,0,0.1);
  color:#333;
  width:fit-content;
  border-radius: 5px;
  padding: 3px 12px;
}
.availability-results .product-item-bottom .space-result-floor{
  color: #333;
  font-weight:bold;
}
.availability-results .product-item-bottom .space-result-button{
  border:1px solid #4083c4;
  color:#4083c4;
  border-radius: 5px;
  padding: 2px 10px;
  transition: 0.6s all ease;
}
.availability-results .product-item-bottom .space-result-button:hover{
  background:#4083c4;
  border-color: #4083c4;
  color:white;
}

/*** End Availability Check Styling ***/

/*** Login As User ***/

.login-as-user {
  width: 200px!important;
  position:fixed;
  height:auto;
  font-size: 12px;
  line-height: 18px;
  background: #fff;
  padding: 0px;
  bottom: 10px!important;
  left: 10px!important;
  border: 2px solid #f0a624;
  border-radius: 10px;
  box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.1);
}

.login-as-user .login-as-user-msg a.button, .button.w357-login-as-user-btn {
  text-transform: capitalize !important;
  background: none !important;
  border: 1px solid #fff !important;
  font-size: 0px;
  line-height: 6px;
  font-weight: 500;
  color: #f0a624 !important;
  padding: 8px 12px 6px !important;
}
.button.w357-login-as-user-btn.w357-login-as-user-frontend-btn:before {
  content: 'Go Back to Admin ';
  font-size: 12px;
}
.login-as-user .login-as-user-content {
  padding: 0px 10px;
}
.login-as-user-inner {
  background: none!important;
  color: #103c72!important;
  padding: 0px;
  border: none !important;
}


/*** GiveWP ***/

/** Single Form Page **/
.single-give_forms .root-data-givewp-embed{
  padding:15px;
  background:#f1f0f0;
}


/*** Constant Contact Signup Form Embed Styling ***/

/* Form in Footer */

.ctct-form-custom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}

.ctct-form-custom .ctct-form-field{
  margin: 0 0 10px;
}

.ctct-form-custom #first_name_field_0,
.ctct-form-custom #last_name_field_0{
  width:48%;
}
.ctct-form-custom #email_address_field_0{
  width:100%;
}
.ctct-form-footer,
#ctct_recaptcha_0{
  display:none;
}

.off-canvas-close a.elementor-icon,
.off-canvas-close a.elementor-icon i{
  min-height:50vh;
}

/* Elementor Animations Fix (Fadein up/down/left/right) */
@keyframes fadeDown{from{opacity:0;transform:translate3d(0,-30px,0)}to{opacity:1;transform:none}}.elementor-element.fadeInDown{animation-name:fadeDown}@keyframes fadeLeft{from{opacity:0;transform:translate3d(-30px,0,0)}to{opacity:1;transform:none}}.elementor-element.fadeInLeft{animation-name:fadeLeft}@keyframes fadeRight{from{opacity:0;transform:translate3d(30px,0,0)}to{opacity:1;transform:none}}.elementor-element.fadeInRight{animation-name:fadeRight}@keyframes fadeUp{from{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:none}}.elementor-element.fadeInUp{animation-name:fadeUp}
/* End Elementor Animation Fix */


