/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/


body {
	background-color: var(--white) !important;
}

/*Elementor editor bricks container flex fix dashboard only ******************/
#brx-content .elementor-edit-area-active  {
    display: block;
    width: 100%;
}
.elementor-editor-active .elementor-add-section-inner {
    flex-direction: row;
}
/*Elementor editor bricks container flex fix dashboard only ******************/

/*nav only open sub menu on link click*/
body .brxe-nav-menu .bricks-nav-menu li > .sub-menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

body .brxe-nav-menu .bricks-nav-menu li[aria-expanded="true"] > .sub-menu {
  opacity: 1;
  visibility: visible;
}

@media screen and (min-width: 768px) {
    .mobile-m-only {
        display: none;
    }
}

.elementor-kit-2113 .brx-submenu-toggle button {
    background: none;
}
#brxe-ebgfgx.header-5-bot__container {
    justify-content: end;
}
#brxe-guhiwu .bricks-mobile-menu-toggle {
    background: none;
}

/*slider home*/
.home-slide .brxe-div {
	max-width: var(--width-l);
	position: absolute;
	left: var(--space-m);
}

.home-slide .brxe-div h3 {
	font-size: var(--text-xxl);
    display: inline;
    background-color: var(--secondary-trans-90);
    color: var(--white);
    margin-bottom: 18px;
    padding: 7px 16px;
    line-height: 1.8;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.home-slide .brxe-div .brxe-button {
    margin-top: 13px;
/*    display: block;
    width: fit-content;*/
}

.truncate-heading {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*:where(.brxe-image) .bricks-image-caption {
    font-size: var(--text-s);
    background: none;
}
*/

/*Fig captions*/
:where(.brxe-image) .bricks-image-caption {
    background: none; /* Remove the gradient */
    bottom: auto; /* Reset positioning */
    color: inherit; /* Reset text color */
    font-size: inherit; /* Reset font size */
    margin: 0; /* Reset margins */
    padding: 0; /* Reset padding */
    pointer-events: auto; /* Enable interactions */
    position: static; /* Reset positioning */
    text-align: left; /* Default text alignment */
    width: auto; /* Remove width restriction */
    z-index: auto; /* Reset z-index */
}
:where(.brxe-image) .bricks-image-caption:not(:empty) {
    background-color: #17250a8c;
    color: #fff;
    padding: 4px 15px;
    text-align: center;
    border-radius: 2px;
    margin: -39px auto 4px auto;
    width: fit-content;
    position: relative !important;
    font-size: 15px;
}
@media screen and (max-width: 992px) {
    :where(.brxe-image) .bricks-image-caption:not(:empty) {
        background-color: #f2f3f3;
        border-radius: 0;
        margin: 0 auto 0px auto;
        width: 100%;
        font-size: 13px;
        color: var(--tertiary);
    }
}



.brxe-text ul, .brxe-text ol {
    padding-bottom: var(--paragraph-spacing, var(--flow-spacing, initial));
}

/*Maps page*/
.page .wpgmp-map-1 .fc-item-content.fc-item-body-text-color {
    font-size: var(--text-s);
    font-family: "Roboto";
    color: var(--tertiary);
    font-weight: 400;
}

.page .fc-item-title.fc-item-primary-text-color a {
    font-size: var(--text-m);
    font-family: "Roboto";
    color: var(--tertiary);
    font-weight: 600;
    text-transform: initial;
}
.page .fc-item-title.fc-item-primary-text-color a:hover, .page .fc-item-title.fc-item-primary-text-color a:focus, .page .fc-item-title.fc-item-primary-text-color a:visited {
    font-size: var(--text-m);
    font-family: "Roboto";
    color: var(--secondary-dark);
    font-weight: 600;
    text-transform: initial;   
}
div.wpgmp_search_form input.wpgmp_search_input::placeholder {
    font-size: var(--text-m);
    font-family: "Roboto";
    color: var(--tertiary);
    font-weight: 400;
    opacity: .8;
}
.wpgmp_before_listing {
    display: none;
}

/*Map listing items*/
/* Set a fixed height for the title, limit it to a single line with ellipsis */
.fc-item-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.5em; /* Add spacing as needed */
}

/* Set a fixed height for the description, ensuring consistent height across all items */
.fc-item-content {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Limits content to 3 lines */
  -webkit-box-orient: vertical;
  height: 4.5em !important; /* Fixed height based on line count and font size */
  margin-bottom: 0.8em !important; /* Add spacing as needed */
}

/* Ensure consistent padding within each listing */
.fc-itemcontent-padding {
  padding: 10px; /* Adjust padding as needed */
}
.first-button {
    margin-right: 6px !important;
    margin-bottom: 6px !important;
}

/*Adjust filter selectors width*/
div.categories_filter select {
    width: auto;
}

.fc-item-udine div {
    max-width: 100%;
}

/*Map Popup*/
.wpgmp_iw_content {
    display: block !important;
}
.wpgmp-map-1 .wpgmp_infowindow.wpgmp_infowindow_post .fc-item-title.fc-item-primary-text-color.fc-item-top-space, .m-popup-title {
   color: var(--tertiary) !important;
   font-size: var(--text-m);
   font-weight: 600;
   margin-bottom: 5px;
   margin-top: 8px;
}

.page-id-38 .wpgmp-map-1 .wpgmp_infowindow.wpgmp_infowindow_post .fc-item-content.fc-item-body-text-color, .m-popup-text {
    font-weight: 400;
    line-height: initial;
    color: var(--tertiary);
    margin-bottom: 15px;
}
.info-w {
    padding-bottom: 15px;
}
.m-button {
    width: 100%;
}
/*select[name="map_sorting"] option:nth-child(2),
select[name="map_sorting"] option:nth-child(3),
select[name="map_sorting"] option:nth-child(6),
select[name="map_sorting"] option:nth-child(7) {
    display: none;
}*/

.elementor-widget-text-editor ul {
    margin: 18px 0 5px;
}

.elementor-widget-text-editor ul li {
    margin-bottom: 13px;
}

.elementor-widget-text-editor p {
    margin-bottom: 17px;
    line-height: 1.7;
}

/*Elementor buttons */
.elementor-kit-2113 .elementor-button-secondary .elementor-button.elementor-button {
    background-color: var(--e-global-color-secondary);
    color: var(--e-global-color-text);
}

.elementor-kit-2113 .elementor-button-secondary .elementor-button.elementor-button:hover {
    background-color: #45aa12;
    color: var(--e-global-color-sk_color_1);
}

.elementor-kit-2113 .elementor-button-light .elementor-button.elementor-button {
    background-color: var(--e-global-color-sk_color_1);
    color: var(--e-global-color-text);
}
.elementor-kit-2113 .elementor-button-light .elementor-button.elementor-button:hover {
    background-color: #d7d7d7;
}
.elementor-kit-2113 .elementor-toggle .elementor-tab-title a {
    font-weight: 300;
}

.elementor-tab-content li {
    margin-top: 14px;
}

/* member signup cards buttons to bottom */
.button-cards .e-con-inner > .e-con .elementor-widget-button {
    margin-top: auto;
}

/*WSForm*/
.page label.wsf-label {
    font-size: 17px;
    color: #004754;
}

/*.wsf-field-wrapper {
    margin-bottom: 20px;
    padding: 10px;
    background: #f7fdf4;
    border-radius: 5px;
    border: 1px solid #a9f285;
}*/

.page fieldset.wsf-section {
    margin-bottom: 20px;
    padding: 24px 28px;
    background: #f7fdf4;
    border-radius: 5px;
    border: 1px solid #a9f285;
}

.page .wsf-form label.wsf-label {
    font-weight: bold;
        
}

.page [data-row-checkbox] label.wsf-label {
  font-weight: var(--wsf-field-label-font-weight);
}

.wcount {
    background: #fff;
    border-radius: 21px;
    padding: 3px 14px;
    margin-top: 5px;
    display: inline-block;
    border: 1px solid #a9f285;
}
.page .wsf-form .wsf-invalid-feedback {
    color: #fff;
    background: #bb0000;
    padding: 2px 5px;
    border-radius: 2px;
}

.green-hue {
    color: #216530;
    text-shadow: -2px -1px 11px #3aff00;
}

/* update form page, hide sublit elements */
body.page-id-6256 .submit-container #wsf-1-label-222 {
    display: none;
  }
  
  body.page-id-6256 .submit-container [data-row-id="2"] {
    display: none;
  }

/* 
 * Hide newsletter signup for members and customers
 * Uses the body classes added by the add_user_role_to_body_class function
 */
 .role-member .newsletter-signup,
 .role-customer .newsletter-signup,
 .role-guest .newsletter-signup {
     display: none;
 }

.wsf-form.wsf-form-canvas .wsf-section>legend{
    padding: 1px 17px;
    border: 1px solid #a9f285;
    border-radius: 6px;
    background: #024754;
    color: #fff;
    font-size: var(--text-s);
}

/* 
 * Subscription Display Styles
 * These styles control the appearance of subscription information
 * in the cart and checkout pages
 */

/* Container for subscription information */
.subs-container {
    /* Light background with subtle border */
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    
    /* Spacing */
    padding: 12px;
    margin: 28px 0 8px;
}

/* Subscription heading */
.subs-heading {
    font-size: 1.1em;
    margin: 0 0 8px 0;
    padding: 0 0 6px 0;
    border-bottom: 2px solid #e2e8f0;
}

/* Common styles for all subscription text elements */
.subs-expl {
    /* Layout */
    display: block;
    margin: 4px 0;
    
    /* Typography */
    font-size: 0.9em;
    line-height: 1.4;
    color: #666;
}

/* Trial period text - highlighted in blue */
.subs-trial {
    color: #2c5282;
    font-weight: 600;
}

/* Immediate access text - highlighted in green */
.subs-immediate {
    color: #276749;
    font-weight: 600;
}

/* Pro-rata payment information */
.subs-prorata {
    color: #4a5568;
}

/* Annual payment information with top border */
.subs-annual {
    color: #2d3748;
    border-top: 1px solid #e2e8f0;
    padding-top: 4px;
    margin-top: 8px;
}

/* Coupon applied text - highlighted in green */
.subs-coupon {
    color: #276749;
    font-weight: 600;
}

/* Remove coupon link styling */
.subs-remove-coupon {
    margin-top: 4px;
    margin-bottom: 8px;
    display: block;
}

.subs-remove-coupon .remove-coupon {
    color: #e53e3e;
    text-decoration: none;
    font-size: 0.9em;
    padding: 2px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    background-color: #f7fafc;
    display: inline-block;
}

.subs-remove-coupon .remove-coupon:hover {
    background-color: #fed7d7;
    border-color: #fc8181;
}

/* Hide unnecessary elements in the checkout table */
.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table tfoot,
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout-review-order-table .product-quantity {
    display: none !important;
}

.woocommerce-checkout-review-order-table tbody td {
    padding: 0 !important;
    border: none !important;
}

.woocommerce-checkout-review-order-table {
    background: transparent !important;
    border: none !important;
}

/* hide the username field for new users */
.woocommerce-account-fields .hidden, .woocommerce-shipping-fields, .woocommerce-additional-fields {
    display: none !important;
}

span.woocommerce-input-wrapper input, .woocommerce-Input {
    padding: 7px 14px;
    border-radius: 3px;
}

/* Coupon form styling */
.coupon-notice {
    margin-bottom: 20px;
}

.coupon-notice .woocommerce-form-coupon-toggle {
    display: none;
}

.coupon-notice .checkout_coupon {
    display: block !important;
    border: 1px solid #e2e8f0;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    background-color: #f7fafc;
}

.coupon-notice .checkout_coupon p:first-child {
    margin-top: 0;
}

.coupon-notice .checkout_coupon .form-row-first {
    width: 70%;
}

.coupon-notice .checkout_coupon .form-row-last {
    width: 30%;
}

.coupon-notice .checkout_coupon button {
    white-space: nowrap;
}

/*auto height for popup*/
#br_popup .br_popup_wrapper .popup_animation {
    height: auto !important;
}

.woocommerce-checkout.checkout h3 {
    margin-bottom: 13px;
} 

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: inherit !important;
}

.page-id-2858 .woocommerce-order-details, .page-id-2858 .woocommerce-customer-details {
    display: none;
}

/*thank you page*/
.woocommerce-order-received .woocommerce-order-overview.order_details+p {
    text-align: left;
    background: #f7fdf4;
    padding: 30px;
}
.brxe-woocommerce-checkout-thankyou h2 {
    margin-bottom: 10px;
}
.woocommerce-password-strength, .woocommerce-password-hint {
    display: none !important;
}

.woocommerce-MyAccount-content h2 {
    margin:20px 0 8px;
}
.woocommerce-MyAccount-content .woocommerce-customer-details {
    display: none;
}
.woocommerce-account .dashboard-page-2__account .woocommerce-MyAccount-content {
    padding-top: var(--space-s);
}
.woocommerce-page .woocommerce .button {
    background-color: #0076a8;
    color: #fff;
    transition: all .3s ease-in-out;
}
.woocommerce-page .woocommerce .button:hover {
    background-color: #155b79;
}

/* my account styles */

.woocommerce-EditAccountForm input.woocommerce-Input--email {
    margin-bottom: 30px;
}

/* Payment methods */
ul.woocommerce-PaymentMethods {
    padding: 0;
}
ul.woocommerce-PaymentMethods li {
    list-style: none;
}

.woocommerce-add-payment-method .woocommerce-Button {
    margin-top: 30px;
}

.woocommerce-add-payment-method input {
    padding: 15px;
}

#Field-numberInput {
    padding: 30px;
}
.group-profile-item a {
    background: #f2f3f3;
    padding: 5px 20px;
    margin-top: 11px;
    display: inline-block;
    border-radius: 3px;
}
.group-profile-item a:hover {
    background: #155b79;
    color: #fff;
}

.hero-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.hero-image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
}
@media screen and (max-width: 992px) {
    .hero-image {   
    aspect-ratio: 13 / 9;
    }
}


@keyframes slideInFromRight {
    0% {
        left: 150%;
        opacity: 0;
        transform: rotate(15deg) scale(1);
        background: rgba(0, 50, 50, 0.9);
    }
    100% {
        left: 67%;
        opacity: 1;
        transform: rotate(15deg) scale(1);
        background: rgba(0, 50, 50, 0.9);
    }
}

.overlay {
    position: absolute;
    top: -50%;
    left: 67%;
    width: 200%;
    height: 200%;
    background: rgba(0, 50, 50, 0.6);
    transform: rotate(15deg);
    transform-origin: top left;
    pointer-events: none;
    animation: slideInFromRight 0.8s ease-out forwards,
               fadeToGreen 1s linear 0.8s forwards;
}

@keyframes fadeToGreen {
    0% {
        background: rgba(0, 50, 50, 0.9);
    }
    100% {
        background: rgba(116, 176, 143, 0.3);
    }
}

.hero-text {
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 2vw;
    font-weight: 400;
    line-height: 1.4;
}

.hero-text div {
    background-color: rgba(0, 50, 50, 0.6);
    padding: 0.2em 0.5em;
    margin: 0.2em 0;
    font-weight: 300;
    font-size: var(--text-xxl);
    width: fit-content;
    margin-left: auto; /* This pushes the divs to the right */
    text-align: right; /* This aligns the text inside the divs to the right */
}
.hero-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.hero-image {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.6s ease-in-out;
  opacity: 1;
}

.overlay {
  position: absolute;
  top: -50%;
  left: 0;
  width: 200%;
  height: 200%;
  background: rgba(116, 176, 143, 0.3);
  transform: rotate(-15deg);
  transform-origin: top left;
  pointer-events: none;
}

.hero-text {
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  font-size: 2vw;
  font-weight: 400;
  line-height: 1.4;
  text-align: right;
}

.hero-text div {
  background-color: rgba(0, 50, 50, 0.6);
  padding: 0.2em 0.5em;
  margin: 0.2em 0;
  width: fit-content;
  margin-left: auto; /* This pushes the divs to the right */
  text-align: right; /* This aligns the text inside the divs to the right */
}

@keyframes fullRotation {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.hero-refresh-btn {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 10;
  background: transparent;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  transition: transform 0.3s ease;
  transform: scale(0.85);
}

.hero-refresh-btn:hover {
  transform: scale(1) rotate(45deg);
}

.hero-refresh-btn:active {
  transform: scale(1.1) rotate(90deg);
}

.hero-refresh-btn img {
  width: 20px;
  height: 20px;
  display: block;
  filter: brightness(0) invert(1);
}

.hero-refresh-btn.clicked img {
  animation: fullRotation 0.8s ease-in-out;
}
