﻿@import url('https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i&display=swap&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese');
@import url('https://fonts.googleapis.com/css?family=Jost:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i&display=swap&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese');
body 
{
    background-color: #FFFFFF;
    font-family: jost,roboto,arial,sans-serif;
    margin: 0px 0px 0px 0px;
    padding: 90px 0px 0px 0px;
    font-size: 16px;
    color: #000000;
    line-height:20px;
}

.top-fixed 
{
    z-index: 2000;
    background-color: #FFFFFF;
    box-shadow: 0 3px 3px rgba(132,136,138,0.1);
    border-radius: 0 !important;
    top: 0;
    position: fixed;
    right: 0;
    left: 0;
    min-height: 50px;
    margin-bottom: 20px;
    display: block;
}

.logo-top 
{
    float:left;
    display:flex;
    align-items:center;
    height: auto;
    min-height: 60px;
    padding: 15px 15px 15px 15px;
}

.azione-top 
{
    float:right;
    padding: 28px 28px 15px 15px;
    text-decoration: underline;
    color: #666666;
    font-size: 18px;
    cursor:pointer;
}

.container 
{
    padding: 20px 20px 20px 20px; 
}

.titolo 
{
    margin-top: 24px;
    margin-bottom: 48px;
    font-size: 24px;
    line-height:28px;
    font-weight:500;
    text-align:center;
}

.didascalia 
{
    color: #000000;
    text-align:center;
    min-height: 20px;
}

.didascaliajus {
    color: #000000;
    text-align: justify;
    min-height: 20px;
}

.titolojus {
    margin-top: 24px;
    margin-bottom: 24px;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    color: #000000
}


.descrizione 
{
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
    margin-top:14px;
    margin-bottom:28px;
    min-height: 20px;
    padding: 19px;
    box-sizing: border-box;
    display: block;
    word-wrap: break-word;
    border-radius: 4px;
}

.campo-container 
{
    border: 1px solid #e6e6e6;
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
    margin-bottom: 28px;
    box-sizing: border-box;
    display: block;
}

.campo-container-err
{
    border: 1px solid #a94442;
    box-shadow: 0 10px 15px #a94442;
    margin-bottom: 28px;
    box-sizing: border-box;
    display: block;
}

.campo-etichetta 
{
    padding: 14px 15px 14px 15px;
}

.campo-etichetta2
{
    padding: 0px 15px 0px 15px;
}

.campo-etichettaleft
{
    padding: 22px 15px 14px 15px;
}

.campo-obb
{
    color: #000000;
    font-size: 14px;
}

.campo-testo 
{
    color: #000000;
    padding-left:15px;
    padding-right:15px;
    margin-bottom: 5px;
    min-height:1px;
}

.campo-privacy
{
    color: #666666;
    font-style: italic;
    padding-left:15px;
    padding-right:15px;
    margin-bottom: 5px;
    min-height:1px;
}

.campo-testo-err
{
    color: #a94442;
    padding-left:15px;
    padding-right:15px;
    margin-bottom: 5px;
    min-height:1px;
    display:none;
}

.campo-help
{
    color: #8a8a8a;
    padding-left:15px;
    padding-right:15px;
    margin-bottom: 5px;
    min-height:1px;
}

.campo-input 
{
    padding: 15px 15px 15px 15px;
}


.campo-controllo 
{
    color: #636363;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    /*display: block;*/
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    border-radius: 4px;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.campo-select
{
    color: #636363;
    background-color: #fff;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    border-radius: 4px;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.campo-check
{
    cursor: pointer;
    content: "";
    display: inline-block;
    border: 1px solid #ccc;
    background-color: #fff;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    width: 17px;
    height: 17px;
    border-radius: 3px;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    box-sizing: border-box;
    vertical-align: middle;
}

.campo-textarea
{
    color: #636363;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    display: block;
    width: 100%;
    padding: 6px 6px;
    font-size: 13px;
    border-radius: 4px;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}


.campo-controllo:focus 
{
    border: 1px solid #328637;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(50,134,55,0.6);
    outline: 0;
}

.campo-textarea:focus 
{
    border: 1px solid #328637;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(50,134,55,0.6);
    outline: 0;
}

.campo-select:focus 
{
    border: 1px solid #328637;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(50,134,55,0.6);
    outline: 0;
}


.pulsanti 
{
    margin-top:56px;
    margin-bottom:28px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    width:100%;
}

.pulsante 
{
    color: #fff;
    background-color: #328637;
    border: 1px solid #328637;
    padding: 10px 16px;
    font-size: 20px;
    line-height: 24px;
    border-radius: 6px;
    font-weight: 400;
    touch-action: manipulation;
    cursor: pointer;
    user-select: none;
    -webkit-appearance: button;
    outline:0;
}

.pulsantedis {
    color: #eeeeee;
    background-color: #bbbbbb;
    border: 1px solid #aaaaaa;
    padding: 10px 16px;
    font-size: 20px;
    line-height: 24px;
    border-radius: 6px;
    font-weight: 400;
    touch-action: manipulation;
    user-select: none;
    -webkit-appearance: button;
    outline: 0;
}

.pulsante:hover 
{
    background-color: #246128;
    border: 1px solid #0f3e12;
}

.pulsanter
{
    color: #fff;
    background-color: #993D3B;
    border: 1px solid #993D3B;
    padding: 10px 16px;
    font-size: 20px;
    line-height: 24px;
    border-radius: 6px;
    font-weight: 400;
    touch-action: manipulation;
    cursor: pointer;
    user-select: none;
    -webkit-appearance: button;
    outline:0;
}

.pulsanter:hover 
{
    background-color: #632727;
    border: 1px solid #632727;
}



.eventi-box {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 1000px;
    margin: auto;
}

.eventi-tit {
    color: #000000;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 3px;
    margin-top: 3px;
    text-align:center
}





.evento-cal {
    width: 110px;
    background-color: #ECF0F1;
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    margin: 0px 0px 0px 0px;
    float: left;
    
}

.evento-cal-mese {
    display: block;
    text-align: center;
    text-transform: uppercase;
    color: #2e3c49;
    font-size: 14px;
    line-height: 1;
    margin: 3px;
    padding: 0;
}

.evento-cal-giorno {
    display: block;
    text-align: center;
    text-transform: uppercase;
    color: #2e3c49;
    font-size: 22px;
    line-height: 1;
    font-weight: bold;
    margin: 3px;
    padding: 0;
}

.evento-dati-riga {
    width: calc(100% - 200px);
    float: left;
}

.evento-titolo1 {
    color: #3296DC;
    font-weight: bold;
    font-size: 16px;
    line-height: 22px
}

.evento-titolo2 {
    font-weight: bold;
    font-size: 16px;
    line-height: 22px;
}

.evento-data {
    margin-bottom: 5px;
    font-size: 12px;
    color: #808080;
    line-height: 17px;
}


@media (min-width: 821px) {
    .evento-cal {
        margin: 0px 10px 10px 0px;
    }

    .evento-dati-riga {
        width: calc(80% - 200px);
    }

    .evento-but-box {
        margin-left: 0px;
        width: calc(20% - 30px);
        clear: none;
    }
}

.EleRigFilter:hover {
    filter: brightness(0.95);
}

/* =========================================================
   Layout fisso, area di interesse e popup
   Applicato solo alle pagine con body.ipl-layout-fixed
   ========================================================= */

html,
body.ipl-layout-fixed {
    width: 100%;
    font-family: 'Inter', Arial, sans-serif;
    height: 100%;
    overflow: hidden;
}

    body.ipl-layout-fixed input,
    body.ipl-layout-fixed select,
    body.ipl-layout-fixed textarea,
    body.ipl-layout-fixed button {
        font-family: inherit;
    }

body.ipl-layout-fixed {
    --ipl-header-height: 136px;
    --ipl-footer-height: 120px;
    min-height: 0;
    margin: 0;
    padding: 0;
    background-color: #FFFFFF;
}

    body.ipl-layout-fixed .ipl-form-layout {
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }

    body.ipl-layout-fixed .top-fixed {
        z-index: 3000;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        height: var(--ipl-header-height);
        min-height: 0;
        margin: 0;
        background-color: #FFFFFF;
        border-bottom: 1px solid #D9D9D9;
        box-shadow: none;
    }

    body.ipl-layout-fixed .top-fixed-inner,
    body.ipl-layout-fixed .bottom-fixed-inner {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    body.ipl-layout-fixed .top-fixed-inner {
        padding: 16px 32px;
    }

    body.ipl-layout-fixed .logo-top {
        float: none;
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        body.ipl-layout-fixed .logo-top img {
            display: block;
            width: 220px;
            max-width: 42vw;
            max-height: calc(var(--ipl-header-height) - 32px);
            height: auto;
            object-fit: contain;
        }

    body.ipl-layout-fixed .ipl-scroll-area {
        position: fixed;
        z-index: 1;
        top: var(--ipl-header-height);
        right: 0;
        bottom: var(--ipl-footer-height);
        left: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        background-color: #FFFFFF;
    }

        body.ipl-layout-fixed .ipl-scroll-area .container {
            width: 100%;
            max-width: 760px;
            margin: 0 auto;
            padding: 42px 24px 64px 24px;
            box-sizing: border-box;
        }

    body.ipl-layout-fixed .bottom-fixed {
        z-index: 3000;
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        height: var(--ipl-footer-height);
        min-height: 0;
        margin: 0;
        background-color: #FFFFFF;
        border-top: 1px solid #D9D9D9;
    }

    body.ipl-layout-fixed .bottom-fixed-inner {
        padding: 8px 24px;
    }

    body.ipl-layout-fixed .bottom-fixed img {
        display: block;
        width: 450px;
        max-width: 78vw;
        max-height: calc(var(--ipl-footer-height) - 16px);
        height: auto;
        object-fit: contain;
    }


    body.ipl-layout-fixed .ipl-form-actions {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 32px;
        width: 100%;
        margin-top: 32px;
        margin-bottom: 28px;
    }

    body.ipl-layout-fixed .ipl-interest-option {
        flex: 1 1 auto;
        min-width: 0;
    }

    body.ipl-layout-fixed .ipl-interest-help {
        margin: 0 0 10px 59px;
        color: #328637;
        font-size: 14px;
        line-height: 20px;
        font-weight: 500;
    }

    body.ipl-layout-fixed .ipl-interest-label {
        display: flex;
        align-items: center;
        gap: 20px;
        margin: 0;
        cursor: pointer;
    }

    body.ipl-layout-fixed .ipl-interest-check {
        flex: 0 0 auto;
        width: 40px;
        height: 40px;
        margin: 0;
        border: 3px solid #111111;
        border-radius: 7px;
        background-color: #FFFFFF;
        appearance: none;
        -webkit-appearance: none;
        display: grid;
        place-content: center;
        cursor: pointer;
        box-sizing: border-box;
    }

        body.ipl-layout-fixed .ipl-interest-check::before {
            content: "";
            width: 19px;
            height: 10px;
            border-left: 4px solid #FFFFFF;
            border-bottom: 4px solid #FFFFFF;
            transform: rotate(-45deg) scale(0);
            transform-origin: center;
            transition: transform 0.12s ease-in-out;
        }

        body.ipl-layout-fixed .ipl-interest-check:checked {
            background-color: #328637;
            border-color: #328637;
        }

            body.ipl-layout-fixed .ipl-interest-check:checked::before {
                transform: rotate(-45deg) scale(1);
            }

        body.ipl-layout-fixed .ipl-interest-check:focus-visible {
            outline: 3px solid rgba(50, 134, 55, 0.28);
            outline-offset: 3px;
        }

    body.ipl-layout-fixed .ipl-interest-text {
        color: #111111;
        font-size: 20px;
        line-height: 28px;
        font-weight: 400;
    }

    body.ipl-layout-fixed .ipl-form-actions .pulsanti {
        flex: 0 0 auto;
        width: auto;
        margin: 0;
    }

@media (max-width: 700px) {
    body.ipl-layout-fixed {
        --ipl-header-height: 104px;
        --ipl-footer-height: 94px;
    }

        body.ipl-layout-fixed .top-fixed-inner {
            padding: 12px 16px;
        }

        body.ipl-layout-fixed .logo-top img {
            width: 176px;
            max-width: 54vw;
            max-height: calc(var(--ipl-header-height) - 24px);
        }

        body.ipl-layout-fixed .ipl-scroll-area .container {
            padding: 28px 16px 44px 16px;
        }

        body.ipl-layout-fixed .bottom-fixed-inner {
            padding: 6px 12px;
        }

        body.ipl-layout-fixed .bottom-fixed img {
            width: 390px;
            max-width: 94vw;
            max-height: calc(var(--ipl-footer-height) - 12px);
        }


        body.ipl-layout-fixed .ipl-form-actions {
            align-items: stretch;
            flex-direction: column;
            gap: 24px;
            margin-top: 28px;
        }

        body.ipl-layout-fixed .ipl-interest-help {
            margin-left: 0;
            margin-bottom: 8px;
        }

        body.ipl-layout-fixed .ipl-interest-label {
            align-items: flex-start;
            gap: 14px;
        }

        body.ipl-layout-fixed .ipl-interest-check {
            width: 34px;
            height: 34px;
            border-width: 3px;
            border-radius: 6px;
        }

            body.ipl-layout-fixed .ipl-interest-check::before {
                width: 16px;
                height: 8px;
                border-left-width: 3px;
                border-bottom-width: 3px;
            }

        body.ipl-layout-fixed .ipl-interest-text {
            font-size: 17px;
            line-height: 24px;
        }

        body.ipl-layout-fixed .ipl-form-actions .pulsanti {
            display: flex;
            justify-content: flex-end;
            width: 100%;
        }
}

@media (max-height: 650px) {
    body.ipl-layout-fixed {
        --ipl-header-height: 92px;
        --ipl-footer-height: 82px;
    }

        body.ipl-layout-fixed .logo-top img {
            width: 164px;
        }

        body.ipl-layout-fixed .ipl-scroll-area .container {
            padding-top: 24px;
            padding-bottom: 36px;
        }
}


/* Popup messaggi in sostituzione degli alert JavaScript */
body.ipl-layout-fixed.ipl-popup-open {
    overflow: hidden;
}

body.ipl-layout-fixed .ipl-message-overlay {
    z-index: 6000;
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    background-color: rgba(17, 17, 17, 0.58);
}

    body.ipl-layout-fixed .ipl-message-overlay.is-visible {
        display: flex;
    }

body.ipl-layout-fixed .ipl-message-dialog {
    width: 100%;
    max-width: 560px;
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
    outline: none;
    transform: translateY(8px) scale(0.985);
    opacity: 0;
    transition: transform 0.18s ease, opacity 0.18s ease;
}

body.ipl-layout-fixed .ipl-message-overlay.is-visible .ipl-message-dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

body.ipl-layout-fixed .ipl-message-header {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 36px;
    align-items: center;
    gap: 14px;
    padding: 22px 22px 18px 22px;
    border-bottom: 1px solid #E5E5E5;
}

body.ipl-layout-fixed .ipl-message-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #FFF4D8;
    color: #9A6500;
    font-size: 20px;
}

body.ipl-layout-fixed .ipl-message-title {
    margin: 0;
    color: #111111;
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
}

body.ipl-layout-fixed .ipl-message-close {
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background-color: transparent;
    color: #666666;
    font-size: 18px;
    cursor: pointer;
}

    body.ipl-layout-fixed .ipl-message-close:hover,
    body.ipl-layout-fixed .ipl-message-close:focus-visible {
        background-color: #F2F2F2;
        color: #111111;
        outline: none;
    }

body.ipl-layout-fixed .ipl-message-text {
    overflow-y: auto;
    padding: 24px 24px 8px 24px;
    color: #333333;
    font-size: 16px;
    line-height: 25px;
}

    body.ipl-layout-fixed .ipl-message-text p {
        margin: 0 0 16px 0;
    }

        body.ipl-layout-fixed .ipl-message-text p:last-child {
            margin-bottom: 0;
        }

    body.ipl-layout-fixed .ipl-message-text strong {
        color: #111111;
        font-weight: 700;
    }

    body.ipl-layout-fixed .ipl-message-text a {
        color: #328637;
        font-weight: 600;
        text-decoration: underline;
    }

body.ipl-layout-fixed .ipl-message-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 22px 0 8px 0;
    padding: 18px;
    border-radius: 8px;
    background-color: #F6F8F6;
    text-align: center;
}

    body.ipl-layout-fixed .ipl-message-contact strong,
    body.ipl-layout-fixed .ipl-message-contact a {
        font-size: 18px;
        line-height: 24px;
    }

    body.ipl-layout-fixed .ipl-message-contact span {
        color: #777777;
        font-size: 14px;
        line-height: 20px;
    }

body.ipl-layout-fixed .ipl-message-footer {
    display: flex;
    justify-content: flex-end;
    padding: 18px 24px 24px 24px;
}

body.ipl-layout-fixed .ipl-message-button {
    min-width: 112px;
    padding: 10px 20px;
    border: 1px solid #328637;
    border-radius: 6px;
    background-color: #328637;
    color: #FFFFFF;
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    cursor: pointer;
}

    body.ipl-layout-fixed .ipl-message-button:hover,
    body.ipl-layout-fixed .ipl-message-button:focus-visible {
        border-color: #246128;
        background-color: #246128;
        outline: 3px solid rgba(50, 134, 55, 0.22);
        outline-offset: 2px;
    }

body.ipl-layout-fixed .ipl-message-dialog.ipl-message-error .ipl-message-icon {
    background-color: #FDE9E8;
    color: #A94442;
}

body.ipl-layout-fixed .ipl-message-dialog.ipl-message-info .ipl-message-icon {
    background-color: #E9F2FA;
    color: #2F75A8;
}

body.ipl-layout-fixed .ipl-message-dialog.ipl-message-success .ipl-message-icon {
    background-color: #E7F4EB;
    color: #328637;
}

@media (max-width: 600px) {
    body.ipl-layout-fixed .ipl-message-overlay {
        align-items: flex-end;
        padding: 12px;
    }

    body.ipl-layout-fixed .ipl-message-dialog {
        max-height: calc(100vh - 24px);
        border-radius: 12px;
    }

    body.ipl-layout-fixed .ipl-message-header {
        grid-template-columns: 38px minmax(0, 1fr) 34px;
        gap: 10px;
        padding: 18px 16px 16px 16px;
    }

    body.ipl-layout-fixed .ipl-message-icon {
        width: 38px;
        height: 38px;
        font-size: 17px;
    }

    body.ipl-layout-fixed .ipl-message-title {
        font-size: 19px;
        line-height: 25px;
    }

    body.ipl-layout-fixed .ipl-message-text {
        padding: 20px 18px 6px 18px;
        font-size: 15px;
        line-height: 23px;
    }

    body.ipl-layout-fixed .ipl-message-footer {
        padding: 16px 18px 20px 18px;
    }

    body.ipl-layout-fixed .ipl-message-button {
        width: 100%;
    }
}
