/**
Theme Name: Houston Erosion Control
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful 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: houston-erosion-control
Template: astra
*/

/*---- Astra Theme Default Style Reset CSS - START----*/
.ast-container {
    max-width: 100% !important;    
    padding: 0 !important;  
    margin: 0 !important;  
    width: 100% !important;
}
 .ast-article-single {
    padding: 0 !important;
}
.ast-separate-container #primary {
    margin: 0 !important;
    padding: 0 !important;
}

.ast-container p:last-child {
    margin-bottom: 0;
}
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comments-title,
.ast-separate-container .ast-archive-description {
    padding: 0;
    border: none;
}
.ast-separate-container .ast-article-single {
    background-color: transparent!important;
}
#ast-scroll-top {
    background-color: var(--primary);
    color: var(--text);
}
/*---- Astra Theme Default Style Reset CSS - END ----*/

/*--- Globla css ----*/

.post-content h2, .post-content h3,  .post-content h4, .post-content h5{
    margin: 10px 0px !important;
    padding: 0 !important;
}

.post-content img{
    padding: 0 !important;
    margin: 0 !important;
}

.post-content p{
    margin-bottom: 10px;
}

.post-content ul, .post-content ol{
    margin: 0;
    padding-left: 20px !important;
}

.page .global-footer-sec .elementor-shape-top{
    display: none;
}

.global-footer-sec .elementor-shape-top{
    display: none;
}

.home .global-footer-sec .elementor-shape-top{
    display: block !important;
}

.top-border{
    border-top: 3px solid #e8651a !important;
}

.hover-list ul li{
    padding: 6px 5px !important;
}

.hover-list ul li:hover{
    background: #1A1A2E;
}

.arrow-btn svg{
    width: 20px;
}

.arrow-btn .elementor-button-content-wrapper{
    align-items: center !important;
}

.custom-icon {
    line-height: 0 !important;
}

.no-margin-p p:last-child{
    margin-bottom: 0;
}

.elementor-widget-heading h1.elementor-heading-title {
    line-height: 1.2em !important;
}

.no-br br{
	display: none !important;
}

/*---- bread crumb ---*/

.custom-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: oswald, sans-serif !important;
}

.custom-breadcrumb .crumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.custom-breadcrumb .home {
    color: #ff6a00;
    text-decoration: none;
}

.custom-breadcrumb .home:hover {
    opacity: 0.8;
}

.custom-breadcrumb .current {
    color: #ffffff;
}

.custom-breadcrumb .sep {
    color: #999;
    font-size: 18px;
}
.custom-breadcrumb .home {
    color: #ff6a00;
    text-decoration: none;
}

.custom-breadcrumb .current {
    color: #ffffff;
}

.custom-breadcrumb .sep {
    color: #aaa;
    font-size: 16px;
}

.testimonial-letter {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
}

.testimonial-first-letter {
	font-family: oswald !important;
    font-size: 18px;
    font-weight: bold;
    color: #E8651A;
	margin: 0 !important;
	padding: 0 !important;
}


/*----- FAQ -----*/

.custom-counter-faq .e-n-accordion {
    counter-reset: faq-counter;
}

.custom-counter-faq .e-n-accordion-item {
    counter-increment: faq-counter;
}

.custom-counter-faq .e-n-accordion-item-title-text::before {
    content: counter(faq-counter) ". ";
    font-weight: bold;
    margin-right: 8px;
    color: #d4d0c8; 
}

.custom-counter-faq .e-n-accordion-item{
    border: 1px solid #d4d0c8;
    border-left: 2px solid #ffffff;
}

.custom-counter-faq .e-n-accordion-item[open]{
    border-left: 2px solid #e8651a;
}

.custom-counter-faq .e-n-accordion-item .e-n-accordion-item-title-icon{
    padding: 5px;
    border: 1px solid #f0ede8;
    background: #f0ede8;
}

.custom-counter-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon{
    background: #e8651a;
}

.custom-counter-faq .e-n-accordion-item[open] .e-n-accordion-item-title-text::before {
    color: #e8651a; 
}

@media(max-width: 1024px){
    .custom-counter-faq .e-n-accordion-item .e-n-accordion-item-title-icon{
    padding: 3px;
}
}

/*---- Photo Gallery ----*/

.gallery-loop a{
    display: block !important;
}

.gallery-loop .over-lays{
    opacity: 0;
    transition: 0.3s ease-in-out;
	pointer-events: none;
}

.gallery-loop:hover .over-lays{
    opacity: 1;
}

.gallery-loop img{
    transition: 0.3s ease-in-out;
}

.gallery-loop:hover img{
    transform: scale(1.1);
}

.gallery-loop{
    position: relative;
}

.gallery-loop:after{
    position: absolute;
    content: "";
    width: 0%;
    height: 3px;
    background: #e8651a;
    top: 0;
    left: 0;
    transition: 0.5s ease-in-out;
    z-index: 2;
}

.gallery-loop:hover:after{
    width: 100%;
}

/*--- Contact Form ----*/

.contact-form select option{
	color: #1a1a2e !important;
}

.step-form label{
    display: none;
}

.step-form .elementor-field-type-radio label{
    display: block;
}

/* ===== RADIO BUTTON TOGGLE DESIGN (PHONE / EMAIL) ===== */

.step-form .elementor-field-type-radio .elementor-field-subgroup {
    display: flex;
    gap: 8px;
}

.step-form .elementor-field-option {
   
}

.step-form .elementor-field-option {
    flex-basis: auto !important;
}

/* Hide default radio */
.step-form .elementor-field-type-radio input[type="radio"] {
    display: none;
}

/* Button base */
.step-form .elementor-field-type-radio .elementor-field-option label {
    display: flex;
    align-items: center;
    line-height: 1.2;
    justify-content: center;
    gap: 5px;
    padding: 8px 15px;
    background: #ffffff0f;
    border: 1px solid #ffffff38;
    color: #9a9a9a;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Oswald';
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
}

.step-form .elementor-field-option:last-child label {
}


/* Hover */
.step-form .elementor-field-option label:hover {
    color: #fff;
    border-color: #ff6a00;
}

/* Active */
.step-form .elementor-field-type-radio input[type="radio"]:checked + label {
    background: #ff6a001c;
    color: #fff;
    border-color: #ff6a00;
}


/* Common icon style */
.step-form .elementor-field-option label::before {
    content: "";
    width: 14px;
    height: 14px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
}

/* PHONE SVG */
.step-form .elementor-field-type-radio .elementor-field-option:first-child label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239a9a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* EMAIL SVG */
.step-form .elementor-field-type-radio .elementor-field-option:last-child label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239a9a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}

/* Change icon color when active */
.step-form .elementor-field-type-radio input[type="radio"]:checked + label::before {
    filter: brightness(0) invert(1);
}


/* ===== CHECKBOX GRID DESIGN ===== */

.step-form .elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.step-form .elementor-field-type-checkbox .elementor-field-label{
    display: block !important;
    font-family: oswald;
    font-weight: 600;
    text-transform: uppercase;
}

/* Each item */
.step-form .elementor-field-type-checkbox .elementor-field-option {
    width: 100%;
}

/* Hide default checkbox */
.step-form .elementor-field-type-checkbox input[type="checkbox"] {
    display: none;
}

/* Card style */
.step-form .elementor-field-type-checkbox .elementor-field-option label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: #f3f3f30a;
    border: 1px solid #ffffff30;
    color: #b5b5c3;
    font-size: 14px;
    font-weight: 300;
    cursor: pointer;
    transition: all 0.25s ease;
    width: 100%;
    align-items: center;
}


/* Small square checkbox (custom) */
.step-form .elementor-field-type-checkbox .elementor-field-option label::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #666;
    border-radius: 0px;
    display: inline-block;
    flex-shrink: 0;
    transition: all 0.25s ease;
}

/* Hover */
.step-form .elementor-field-type-checkbox .elementor-field-option label:hover {
    border-color: #ff6a00;
    color: #ffffff;
}

/* Checked state (card) */
.step-form .elementor-field-type-checkbox input[type="checkbox"]:checked + label {
    border-color: #ff6a0050;
    color: #e8651a;
    background: #ff6a0024;
}

/* Checked square */
.step-form .elementor-field-type-checkbox input[type="checkbox"]:checked + label::before {
    background: #ff6a001c;
    border-color: #e8651a;
}

.step-form .elementor-field-type-checkbox label::before{
    display: none;
}

/* Optional checkmark inside */
.step-form .elementor-field-type-checkbox input[type="checkbox"]:checked + label::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
}

.contact-form h6{
    color: #8a8578;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0 !important;
    margin-bottom: 0px !important;
}


.step-form .file-shown .box-1{
    padding: 15px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.step-form .file-shown .box-1 span{
    font-size: 13px !important;
    text-transform: capitalize !important;
    font-weight: 400 !important;
    font-family: Source sans 3 !important;
}

.step-form .elementor-field-group-field_caa68e2 label{
    font-family: oswald !important;
    text-transform: uppercase;
}

.step-form .elementor-field-group-field_caa68e2 .elementor-field-subgroup label{
    font-size: 12px !important;
    text-transform: capitalize !important;
    padding: 8px 10px !important;
}

.step-form .elementor-field-group-field_f98a09a .elementor-field-option label::before{
    display: none;
}

.step-form .elementor-field-group-field_c163350 label{
    display: block !important;
}

/* ===== PROJECT SIZE CARD RADIO DESIGN ===== */

.step-form .elementor-field-group-field_925a26a .elementor-field-subgroup {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}


/* Hide default radio */
.step-form .elementor-field-group-field_925a26a input[type="radio"] {
    display: none;
}

/* Each option */
.step-form .elementor-field-group-field_925a26a .elementor-field-option {
    width: 100%;
}

/* Card style */
.step-form .elementor-field-group-field_925a26a .elementor-field-option label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px 15px;
     background: #f3f3f30a;
    border: 1px solid #ffffff30;
    color: #cfcfe6;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

/* ICON (top) */
.step-form .elementor-field-group-field_925a26a .elementor-field-option label::before {
    content: "";
    width: 20px;
    height: 20px;
    margin-bottom: 5px;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Standard icon */
.step-form .elementor-field-group-field_925a26a .elementor-field-option:nth-child(1) label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ff6a00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2h8l2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V4z'/%3E%3Cline x1='12' y1='10' x2='12' y2='16'/%3E%3Cline x1='9' y1='13' x2='15' y2='13'/%3E%3C/svg%3E");
}

/* Priority icon */
.step-form .elementor-field-group-field_925a26a .elementor-field-option:nth-child(2) label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
}

/* Emergency icon */
.step-form .elementor-field-group-field_925a26a .elementor-field-option:nth-child(3) label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v7l-2 3h8l-2-3V2'/%3E%3Cpath d='M5 22h14'/%3E%3C/svg%3E");
}

/* Title (main text) */
.step-form .elementor-field-group-field_925a26a .elementor-field-option label {
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase !important;
}

/* Subtitle (add manually via CSS) */
.step-form .elementor-field-group-field_925a26a .elementor-field-option:nth-child(1) label::after {
    content: "2–3 weeks";
    font-size: 10px;
    font-family: source sans 3 !important;
    color: #9a9ab0;
    margin-top: 4px;
}

.step-form .elementor-field-group-field_925a26a .elementor-field-option:nth-child(2) label::after {
    content: "1–2 weeks";
     font-size: 10px;
    font-family: source sans 3 !important;
    color: #9a9ab0;
    margin-top: 4px;
}

.step-form .elementor-field-group-field_925a26a .elementor-field-option:nth-child(3) label::after {
    content: "24–72 hours";
    font-size: 10px;
    font-family: source sans 3 !important;
    color: #9a9ab0;
    margin-top: 4px;
}

/* Hover */
.step-form .elementor-field-group-field_925a26a .elementor-field-option label:hover {
     border-color: #ff6a0050;
    color: #e8651a;
    background: #ff6a0024;
}

/* ACTIVE */
.step-form .elementor-field-group-field_925a26a input[type="radio"]:checked + label {
    border-color: #ff6a0050;
    color: #e8651a !important;
    background: #ff6a0024;
}

/* Active subtitle */
.step-form .elementor-field-group-field_925a26a input[type="radio"]:checked + label::after {
    color: #ffffff;
}

/* ===== REVIEW SECTION ===== */

.review-title {
    color: #8c8ca3;
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.review-card {
    border: 1px solid #ffffff33;
    background: #ffffff0d;
    padding: 20px;
    margin-bottom: 18px;
}

.review-head {
    font-family: oswald !important;
    display: flex;
    justify-content: space-between;
    color: #8c8ca3;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.edit-btn {
    color: #ff6a00;
    text-decoration: none;
    font-weight: 500;
}

.review-body strong {
    display: block;
    color: #ffffff;
    font-size: 16px;
}

.review-body p {
    color: #9a9ab0;
    font-size: 14px;
    margin-top: 10px;
}

.divider {
    height: 1px;
    background: #3a3a4a;
    margin: 10px 0;
}


/*---- location dynamic buttons ---*/

.location-wrapper {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    gap: 10px;
}

.location-btn {
    display: inline-block;
    padding: 13px 18px;
    font-size: 15px;
    color: #5a564e;
    background: #ffffff;
    border: 1px solid #5a564e7d;
    border-radius: 0;
    text-decoration: none;
    transition: all 0.2s ease;
}

.location-btn:hover {
    background: #1a1a2e;
    border-color: #1a1a2e;
	color: #ffffff !important;
}

/* Mobile */
@media (max-width: 768px) {
    .location-btn {
        font-size: 13px;
        padding: 7px 10px;
    }
}
