/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */



/**********

Cube Hotspot Image 

**********/

.e-hotspot__label {
    white-space: nowrap;
}
.e-hotspot__button svg {
    fill: var(--e-global-color-primary);
}
.e-hotspot__tooltip {
    width: 160%;
    max-width: 325px;
    top: 100% !important;
    left: 0 !important;
    white-space: break-spaces;
    background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(7px);
    padding: 6px 12px;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
    border: solid 1px rgba(255, 255, 255, 0.8);
}
.e-hotspot.elementor-repeater-item-2c1d5f3 {
    right: 96% !important;
}
.e-hotspot.elementor-repeater-item-ba5311f {
    left: 97% !important;
}
.e-hotspot.elementor-repeater-item-d3267a7 .e-hotspot__tooltip,
.e-hotspot.elementor-repeater-item-ba5311f .e-hotspot__tooltip,
.e-hotspot.elementor-repeater-item-105bc6e .e-hotspot__tooltip {
    left: unset !important;
    right: 0 !important;
    text-align: right;
}


/**********

Cube Sizing Guide Shortcode 

**********/

#mobile-cube-pricing {
    margin: 0 auto;
    display: flex;
    gap: 3rem;
    justify-content: space-between;
    align-items: center;
  }
  #mobile-cube-pricing .column-2 {
    flex: 1;
  }
  #mobile-cube-pricing h2 {
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    line-height: var(--e-global-typography-secondary-line-height);
    color: var(--e-global-color-text); 
    margin-bottom: 0.5rem;
    max-width: 15ch;
  }
  #mobile-cube-pricing p {
    font-family: "Open Sans", Sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5em;
    margin: 0;
  }
  #mobile-cube-pricing .sqft-options {
    margin-block: 2rem;
  }
  #mobile-cube-pricing .sqft-options h3{
    margin-bottom: 1rem;
  }
  #mobile-cube-pricing .slider-wrapper {
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    align-items: center;
  }
  #mobile-cube-pricing .value-wrapper {
    text-align: center;
    min-width: 90px;
    background-color: #f0f7ff;
    border: 1px solid #005ec4; 
    border-radius: 4px;
    padding: 0.5rem;
  }
  #sqft-value {
    font-family: var(--e-global-typography-43a7c55-font-family), Sans-serif;
    font-size: var(--e-global-typography-43a7c55-font-size);
    font-weight: var(--e-global-typography-43a7c55-font-weight);
    line-height: var(--e-global-typography-43a7c55-line-height);
  }
  #mobile-cube-pricing h3 {
    font-family: var(--e-global-typography-43a7c55-font-family), Sans-serif;
    font-size: var(--e-global-typography-43a7c55-font-size);
    font-weight: var(--e-global-typography-43a7c55-font-weight);
    line-height: var(--e-global-typography-43a7c55-line-height);
    margin: 0;
  }

  .slider-minmax {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-top: 0.5rem;
    color: #555;
}
  /* Range Slider Styling */
  .range-input {
    -webkit-appearance: none;
    appearance: none; 
    width: 100%;
    cursor: pointer;
    outline: none;
    border-radius: 4px;
    height: 12px;
    background: #EEEEF0;
  }
  .range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none; 
    height: 24px;
    width: 24px;
    background-color: #005ec4;
    border-radius: 50%;
    border: none;
    transition: .2s ease-in-out;
  }
  .range-input::-moz-range-thumb {
    height: 24px;
    width: 24px;
    background-color: #005ec4;
    border-radius: 50%;
    border: none;
    transition: .2s ease-in-out;
  }
  .range-input::-webkit-slider-thumb:hover {
    box-shadow: 0 0 0 10px rgba(0,94,196,0.1);
  }
  .range-input:active::-webkit-slider-thumb {
    box-shadow: 0 0 0 13px rgba(0,94,196,0.2);
  }
  .range-input:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 13px rgba(0,94,196,0.2);
  }
  .range-input::-moz-range-thumb:hover {
    box-shadow: 0 0 0 10px rgba(0,94,196,0.1);
  }
  .range-input:active::-moz-range-thumb {
    box-shadow: 0 0 0 13px rgba(0,94,196,0.2);
  }
  .range-input:focus::-moz-range-thumb {
    box-shadow: 0 0 0 13px rgba(0,94,196,0.2);    
  }
  /* Furnishing buttons styling */
  #mobile-cube-pricing .furnishing-buttons {
      display: flex;
      gap: 1rem;
      justify-content: flex-start;
      margin-top: 1rem;
  }
  #mobile-cube-pricing .furnishing-btn {
      background-color: #fff;
      color: #26262b;
      border: 1px solid #ccc;
      border-radius: 4px;
      padding: 1rem;
      cursor: pointer;
      min-width: 120px;
      flex: 1;
      transition: background-color 0.2s ease;
  }
  #mobile-cube-pricing .furnishing-btn.selected {
      background-color: #f0f7ff;
      border-color: #005ec4;
  }
  #mobile-cube-pricing .furnishing-btn h3 {
      margin: 0;
      font-size: 16px;
  }
  #mobile-cube-pricing .furnishing-btn p {
      margin: 0;
      font-size: 12px;
      white-space: break-spaces;
  }
  #mobile-cube-pricing .result-wrapper {
    text-align: center;
    background-color: #EEEEF0;
    padding: 1.5rem;
    border-radius: 8px;
  }
  .result-wrapper p#cube-recommendation {
    margin-top: 0.5rem;
    font-size: 18px; 
    font-weight: 600;
  }
  #mobile-cube-pricing .cube-results-column {
    display: flex;
    justify-content: center;
  }
  #mobile-cube-pricing #cube-image {
    aspect-ratio: 16 / 11;
    object-fit: cover;
    max-width: 500px;
  }

  @media (max-width: 1024px) {
    #mobile-cube-pricing {
        flex-direction: column;
    }
    .result-wrapper p#cube-recommendation {
        font-size: 16px;
    }
  }

  @media (max-width: 500px) {
    #mobile-cube-pricing .furnishing-buttons {
       flex-direction: column;
    }
  }


/**********

General Styles 

**********/

/* This icon font was not loading on Apple devices and needed this to work */
@font-face {
    font-family: "eicons";
    src: url("/wp-content/plugins/elementor/assets/lib/eicons/fonts/eicons.woff2?5.35.0") format("woff2");
    font-weight: normal;
    font-style: normal;
}

::selection {
    background-color: #005EC4;
    color: #FFFFFF;
}
::-moz-selection {
    background-color: #005EC4;
    color: #FFFFFF;
} 

.cube-card {
    transition: transform 0.25s ease-in-out;
    box-shadow: 
    rgba(0, 0, 0, 0.04) 0px 0.1px 0.1px -0.75px,
    rgba(0, 0, 0, 0.04) 0px 2px 2px -1px,
    rgba(0, 0, 0, 0.03) 0px 4px 4px -2px,
    rgba(0, 0, 0, 0.03) 0px 7px 7px -2.5px,
    rgba(0, 0, 0, 0.025) 0px 14px 14px -3px,
    rgba(0, 0, 0, 0.01) 0px 30px 30px -4px; 
}

.cube-card:hover {
    transform: translateY(-4px);
}

.landscape-image  img {
    aspect-ratio: 16/9;
    object-fit: cover;
}

.chevron-button {
    cursor: pointer;
}

.chevron-button svg {
    transition: all 0.25s ease-in-out;
}

.chevron-button:hover .elementor-heading-title {
    color: #005EC4 !important;
}

.chevron-button:hover svg {
    transform: translateX(6px);
    fill: #005EC4 !important;
}

.elementor-widget-testimonial-carousel .swiper-slide {
    padding: 8px !important;
}

.elementor-star-rating {
    font-family: "eicons" !important;
}

.mc-alert {
    padding: 4px 0;
    text-align: center;
    color: white;
    font-weight: 700;
    font-size: 12px;
}

@media (max-width: 768px) {
    .final-cta::before {
        background-image: linear-gradient(90deg, var(--e-global-color-10acac3) 5%, #00275270 100%) !important;
    }
    .final-cta {
        background-position: calc(100% + 110px) center !important;
    }
    .elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .swiper {
        bottom: 30px !important;
    }
    .elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .elementor-swiper-button-prev {
        top: calc(100% - 12px) !important;
        display: none !important;
    }
    .elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .elementor-swiper-button-next {
        top: calc(100% - 12px) !important;
        display: none !important;
    }
    .elementor-element .swiper .elementor-swiper-button-prev {
        left: 50px !important;
    }
    .elementor-element .swiper .elementor-swiper-button-next {
        right: 50px !important;
    }
    .zip-form-cta {
        flex-direction: column;
    }
    .mc-sale-banner {
        font-size: 12px !important;
    }
}


/**********

Gravity Forms Styles

**********/

.free-quote-form_wrapper .gform_required_legend {
    display: none;
}

.free-quote-form_wrapper .gf_progressbar_wrapper {
    display: none;
}

.free-quote-form_wrapper  #input_1_1 {
    flex-direction: row;
    justify-content: space-between;
}

.free-quote-form_wrapper .gform_fields {
    row-gap: 1rem !important;
}

.free-quote-form_wrapper input[type=text],
.free-quote-form_wrapper input[type=email],
.free-quote-form_wrapper input[type=tel],
.free-quote-form_wrapper input[type=number],
.free-quote-form_wrapper select {
    border-color: #D9D9DE !important;
}

.free-quote-form_wrapper .ginput_address_zip {
    inline-size: 100% !important;
}

.free-quote-form_wrapper .gform-page-footer {
    flex-wrap: no-wrap;
}

.free-quote-form_wrapper input[type=button],
.free-quote-form_wrapper input[type=submit] {
    background-color: #61BF1A !important;
    min-height: 45px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    flex: 1 !important;
}

.free-quote-form_wrapper input[type=submit] {
    font-size: 18px !important;
}

.free-quote-form_wrapper input[type=button]:hover {
    background-color: #4E9915 !important;
}

.free-quote-form_wrapper input[type=submit]:hover {
    background-color: #4E9915 !important;
}

.free-quote-form_wrapper input[type=button].gform_previous_button {
    background-color: #F7F7F8 !important;
    border-color: #747583 !important;
    color: #747583 !important;
    flex: 0 1 20% !important;
}

.free-quote-form_wrapper input[type=button].gform_previous_button:hover {
    background-color: #3A3A40 !important;
    color: #FFFFFF !important;
}

.free-quote-form_wrapper input[type=text].datepicker {
    inline-size: 100% !important;
}

.free-quote-form_wrapper .grid-span-3 {
    grid-column: span 3 !important;
}

.free-quote-form_wrapper .grid-span-6 {
    grid-column: span 6 !important;
}

.free-quote-form_wrapper .grid-span-9 {
    grid-column: span 9 !important;
}

.free-quote-form_wrapper .gfield_description.instruction {
    display: none;
}

.free-quote-form_wrapper #gform_fields_1_3 .gfield_description.instruction {
    display: none !important;
}

.free-quote-form_wrapper #gform_fields_1_2,
.free-quote-form_wrapper #gform_fields_1_3 {
    column-gap: 12px;
    align-items: center;
}

.free-quote-form_wrapper .gform_wrapper ::placeholder {
    color: #D9D9DE !important;
}

.zip-form-cta {
    display: flex;
    gap: 1.5rem;
}

.zip-form-cta input[type=text] {
    border: none;
    border-radius: 8px;
}

.zip-form-cta input[type=text]:focus,
.zip-form-cta input[type=text]:focus-visible {
    border: 2px solid var(--e-global-color-5690f35) !important;
    outline: none !important;
}

.zip-form-cta button[type=submit] {
    font-weight: 600;
    border: none;
    transition: background-color 250ms ease-in-out;
}

.zip-form-cta button[type=submit]:hover {
    background-color: #004A99
}

/**********

Blog Post Styles

**********/

.elementor-location-single h1,
.elementor-location-single h2,
.elementor-location-single h3,
.elementor-location-single h4,
.elementor-location-single h5,
.elementor-location-single h6 {
    font-weight: 800;
    color: var(--e-global-color-text);
}

.elementor-location-single h2 {
    margin-top: 3rem;
}

.elementor-location-single h2:first-child {
    margin-top: 0;
}

.elementor-location-single ol,
.elementor-location-single ul {
    margin-bottom: 0.9rem;
}




