.elementor-347 .elementor-element.elementor-element-0bf0abe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-347 .elementor-element.elementor-element-11ada55b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--padding-top:5%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-347 .elementor-element.elementor-element-39b5f86e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-347 .elementor-element.elementor-element-509500ad{text-align:center;}.elementor-347 .elementor-element.elementor-element-509500ad .elementor-heading-title{font-family:"PT Serif", Sans-serif;font-size:3.1vw;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:-0.28px;word-spacing:0em;color:var( --e-global-color-primary );}.elementor-347 .elementor-element.elementor-element-6304ed9{text-align:center;}.elementor-347 .elementor-element.elementor-element-6304ed9 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.3em;letter-spacing:-0.13px;word-spacing:0em;color:var( --e-global-color-secondary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-347 .elementor-element.elementor-element-0d659cf .elementor-button{font-family:"Roboto", Sans-serif;font-weight:600;text-transform:uppercase;border-radius:10px 10px 10px 10px;}.elementor-347 .elementor-element.elementor-element-5e5a34b1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 0px 1px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#F0F0F0;--border-color:#F0F0F0;--margin-top:5%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;}.elementor-347 .elementor-element.elementor-element-1f875fe9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 1px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:1px;border-color:#F0F0F0;--border-color:#F0F0F0;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-title{margin-block-end:16px;color:var( --e-global-color-secondary );}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-title a{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0.13px;word-spacing:0em;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-description{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:1px;word-spacing:0em;color:var( --e-global-color-secondary );}.elementor-347 .elementor-element.elementor-element-3bff3781{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 1px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:1px;border-color:#F0F0F0;--border-color:#F0F0F0;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-title{margin-block-end:16px;color:var( --e-global-color-secondary );}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-title a{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0.13px;word-spacing:0em;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-description{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:1px;word-spacing:0em;color:var( --e-global-color-secondary );}.elementor-347 .elementor-element.elementor-element-15c9b853{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:1px;border-color:#F0F0F0;--border-color:#F0F0F0;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-title{margin-block-end:16px;color:var( --e-global-color-secondary );}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-title a{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0.13px;word-spacing:0em;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-description{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:1px;word-spacing:0em;color:var( --e-global-color-secondary );}.elementor-347 .elementor-element.elementor-element-4d6a3a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-347 .elementor-element.elementor-element-39b5f86e{--content-width:550px;}}@media(max-width:1024px){.elementor-347 .elementor-element.elementor-element-11ada55b{--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-347 .elementor-element.elementor-element-509500ad{text-align:center;}.elementor-347 .elementor-element.elementor-element-509500ad .elementor-heading-title{font-size:40px;line-height:1.1em;letter-spacing:0px;word-spacing:0em;}.elementor-347 .elementor-element.elementor-element-6304ed9{padding:0% 20% 0% 20%;text-align:center;}.elementor-347 .elementor-element.elementor-element-6304ed9 .elementor-heading-title{font-size:20px;}.elementor-347 .elementor-element.elementor-element-5e5a34b1{--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;}.elementor-347 .elementor-element.elementor-element-1f875fe9{--padding-top:2%;--padding-bottom:2%;--padding-left:2%;--padding-right:2%;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-title a{font-size:22px;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-description{font-size:16px;}.elementor-347 .elementor-element.elementor-element-3bff3781{--padding-top:2%;--padding-bottom:2%;--padding-left:2%;--padding-right:2%;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-title a{font-size:22px;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-description{font-size:16px;}.elementor-347 .elementor-element.elementor-element-15c9b853{--padding-top:2%;--padding-bottom:2%;--padding-left:2%;--padding-right:2%;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-title a{font-size:22px;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-description{font-size:16px;}}@media(max-width:767px){.elementor-347 .elementor-element.elementor-element-11ada55b{--padding-top:15%;--padding-bottom:15%;--padding-left:0%;--padding-right:0%;}.elementor-347 .elementor-element.elementor-element-509500ad .elementor-heading-title{font-size:32px;}.elementor-347 .elementor-element.elementor-element-6304ed9{padding:0% 0% 0% 0%;}.elementor-347 .elementor-element.elementor-element-6304ed9 .elementor-heading-title{font-size:20px;}.elementor-347 .elementor-element.elementor-element-5e5a34b1{--margin-top:10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-347 .elementor-element.elementor-element-1f875fe9{border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-title a{font-size:20px;}.elementor-347 .elementor-element.elementor-element-5128259e .elementor-icon-box-description{font-size:16px;}.elementor-347 .elementor-element.elementor-element-3bff3781{border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-title a{font-size:20px;}.elementor-347 .elementor-element.elementor-element-5082484a .elementor-icon-box-description{font-size:16px;}.elementor-347 .elementor-element.elementor-element-15c9b853{border-width:0px 1px 0px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:1px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-wrapper{text-align:center;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-title, .elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-title a{font-size:20px;}.elementor-347 .elementor-element.elementor-element-26e81599 .elementor-icon-box-description{font-size:16px;}}/* Start custom CSS for shortcode, class: .elementor-element-c2c1526 *//* =====================================================
   CONTACT FORM 7 - CACCAVONENERGIA
   ===================================================== */

.contact-form {
    --primary: #67943b;
    --primary-dark: #557d30;
    --primary-light: rgba(103, 148, 59, 0.12);
    --border-color: #d9ded5;
    --background-input: #ffffff;
    --text-color: #333333;
    --placeholder-color: #9a9a9a;

    width: 100%;
}


/* =========================
   RIGHE / SPAZIATURE
   ========================= */

.contact-form p {
    margin: 0 0 0 0;
}


/* =========================
   LABEL
   ========================= */

.contact-form label {
    display: inline-block;
    margin-bottom: 8px;

    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;

    color: var(--text-color);
}


/* =========================
   INPUT / TEXTAREA
   ========================= */

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="number"],
.contact-form input[type="date"],
.contact-form select,
.contact-form textarea {

    width: 100%;
    box-sizing: border-box;

    padding: 14px 16px;

    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;

    color: var(--text-color);
    background: var(--background-input);

    border: 1px solid var(--border-color);
    border-radius: 6px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}


/* Altezza textarea */

.contact-form textarea {
    min-height: 170px;
    resize: vertical;
}


/* Placeholder */

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: var(--placeholder-color);
    opacity: 1;
}


/* Focus */

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form input[type="number"]:focus,
.contact-form input[type="date"]:focus,
.contact-form select:focus,
.contact-form textarea:focus {

    border-color: var(--primary);

    box-shadow:
        0 0 0 3px var(--primary-light);
}


/* =========================
   FILE UPLOAD
   ========================= */

.contact-form input[type="file"] {

    width: 100%;
    box-sizing: border-box;

    padding: 7px;

    font-family: inherit;
    font-size: 14px;

    color: #666;

    background: #f8faf6;

    border: 1px dashed #b9c8ae;
    border-radius: 6px;

    cursor: pointer;
}


/* Bottone "Scegli file" */

.contact-form input[type="file"]::file-.elementor-347 .elementor-element.elementor-element-c2c1526-button {

    margin-right: 14px;
    padding: 10px 16px;

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;

    color: #ffffff;
    background: var(--primary);

    border: 0;
    border-radius: 4px;

    cursor: pointer;

    transition: background-color 0.2s ease;
}

.contact-form input[type="file"]::file-.elementor-347 .elementor-element.elementor-element-c2c1526-button:hover {
    background: var(--primary-dark);
}


/* Testo formati consentiti */

.contact-form small {
    display: block;

    margin-top: 12px;

    font-size: 12px;
    line-height: 1.5;

    color: #777777;
}


/* =========================
   PRIVACY / CHECKBOX
   ========================= */

.contact-form .wpcf7-acceptance {
    display: block;

    padding: 16px 18px;

    background: #f7f9f5;

    border-left: 3px solid var(--primary);
    border-radius: 3px;
}


.contact-form .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}


.contact-form .wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;

    margin: 0;

    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;

    cursor: pointer;
}


/* Checkbox */

.contact-form .wpcf7-acceptance input[type="checkbox"] {

    appearance: none;
    -webkit-appearance: none;

    width: 19px;
    height: 19px;

    min-width: 19px;

    margin: 2px 10px 0 0;

    border: 1px solid #aab3a5;
    border-radius: 3px;

    background: #ffffff;

    cursor: pointer;

    position: relative;
}


/* Checkbox selezionata */

.contact-form .wpcf7-acceptance input[type="checkbox"]:checked {

    background-color: var(--primary);
    border-color: var(--primary);
}


.contact-form .wpcf7-acceptance input[type="checkbox"]:checked::after {

    content: "";

    position: absolute;

    left: 6px;
    top: 2px;

    width: 5px;
    height: 10px;

    border: solid #ffffff;
    border-width: 0 2px 2px 0;

    transform: rotate(45deg);
}


/* Link privacy */

.contact-form .wpcf7-acceptance a {
    color: var(--primary);
    font-weight: 600;
    text-decoration: underline;
}

.contact-form .wpcf7-acceptance a:hover {
    color: var(--primary-dark);
}


/* =========================
   PULSANTE INVIA
   ========================= */

.contact-form input[type="submit"] {

    display: inline-block;

    min-width: 180px;

    padding: 14px 30px;

    font-family: inherit;
    font-size: 14px;
    font-weight: 700;

    letter-spacing: 0.5px;
    text-transform: uppercase;

    color: #ffffff;
    background: var(--primary);

    border: 2px solid var(--primary);
    border-radius: 4px;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.contact-form input[type="submit"]:hover {

    background: var(--primary-dark);
    border-color: var(--primary-dark);

    box-shadow: 0 5px 15px rgba(103, 148, 59, 0.25);

    transform: translateY(-1px);
}


.contact-form input[type="submit"]:active {
    transform: translateY(0);
}


/* =========================
   ERRORI CONTACT FORM 7
   ========================= */

.contact-form .wpcf7-not-valid {

    border-color: #c62828 !important;

    box-shadow:
        0 0 0 2px rgba(198, 40, 40, 0.07);
}


.contact-form .wpcf7-not-valid-tip {

    margin-top: 5px;

    font-size: 12px;
    font-weight: 500;

    color: #c62828;
}


/* =========================
   MESSAGGI CF7
   ========================= */

.wpcf7 form .wpcf7-response-output {

    margin: 25px 0 0 0;
    padding: 14px 18px;

    font-size: 14px;
    line-height: 1.5;

    border-radius: 4px;
}


.wpcf7 form.sent .wpcf7-response-output {

    color: #426523;

    background: #f3f8ef;

    border: 1px solid var(--primary);
}


.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {

    color: #8b5e00;

    background: #fff9e8;

    border: 1px solid #dba617;
}


/* =========================
   SPINNER CONTACT FORM 7
   ========================= */

.contact-form .wpcf7-spinner {
    margin: 0 0 0 12px;
    background-color: var(--primary);
}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 767px) {

    .contact-form p {
        margin-bottom: 20px;
    }

    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form input[type="tel"],
    .contact-form input[type="number"],
    .contact-form input[type="date"],
    .contact-form select,
    .contact-form textarea {

        padding: 13px 14px;
        font-size: 16px;
    }

    .contact-form input[type="submit"] {

        width: 100%;

        padding: 15px 20px;
    }

}

.contact-form .wpcf7-form-control-wrap:has(input[type="file"]) {
    display: block;
    margin-bottom: 10px;
}/* End custom CSS */