/* inline CSS */
.baloo-400 {
  font-family: "Baloo Bhaijaan 2", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.baloo-500 {
  font-family: "Baloo Bhaijaan 2", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.baloo-600 {
  font-family: "Baloo Bhaijaan 2", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.baloo-700 {
  font-family: "Baloo Bhaijaan 2", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.baloo-800 {
  font-family: "Baloo Bhaijaan 2", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
/* BASE */
:root {
  --animate-delay: 2s;
}
.ucfirst {
    text-transform: lowercase;
}
.ucfirst:first-letter {
    text-transform: uppercase;
}
.grecaptcha-badge {
    /* display:none; */
}
* {
    font-family: "Baloo Bhaijaan 2", sans-serif;
}
a.btn {
    text-decoration:none!important;
}
.btn-danger {
    border-radius: 47px;
    font-size: 19px;
    font-style: normal;
    font-weight: 800;
    line-height: 14px;
    padding:18px 30px;
    color: #FFF;
}
.btn-primary {
    border-radius: 47px;
    background: #2F8740;
    border-color: #2F8740;
    color: #FFF;
    text-align: center;
    font-size: 19px;
    font-style: normal;
    font-weight: 800;
    line-height: 14px;
    padding:18px 30px;
}
.btn-outline-primary {
    border-radius: 47px;
    background: #FFFFFF;
    border-color: #2F8740;
    color: #2F8740;
    text-align: center;
    font-size: 19px;
    font-style: normal;
    font-weight: 800;
    line-height: 14px;
    padding:18px 30px;
}
.btn-primary:hover, 
.btn-outline-primary:hover {
    background: #71B637;
    border-color: #71B637;
    color: #FFFFFF;
}
.btn-green,
.btn-green:active,
.btn-green:focus {        
    border-radius: 47px;
    background: #8EC23D;
    background: -webkit-linear-gradient(180deg,rgba(142, 194, 61, 1) 0%, rgba(86, 176, 51, 1) 50%);
    background: -moz-linear-gradient(180deg,rgba(142, 194, 61, 1) 0%, rgba(86, 176, 51, 1) 50%);
    background: linear-gradient(180deg,rgba(142, 194, 61, 1) 0%, rgba(86, 176, 51, 1) 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#8EC23D",endColorstr="#56B033",GradientType=0);
    border-color: transparent;
    color: #FFF;
    text-align: center;
    font-size: 19px;
    font-style: normal;
    font-weight: 800;
    line-height: 14px;
    padding:18px 30px;
    border:0px;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}
.btn-green:hover {
    background: #8EC23D;
    background: -webkit-linear-gradient(0deg,rgba(142, 194, 61, 1) 0%, rgba(86, 176, 51, 1) 50%);
    background: -moz-linear-gradient(0deg,rgba(142, 194, 61, 1) 0%, rgba(86, 176, 51, 1) 50%);
    background: linear-gradient(0deg,rgba(142, 194, 61, 1) 0%, rgba(86, 176, 51, 1) 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#8EC23D",endColorstr="#56B033",GradientType=0);
    
}
.text-green {
    color:#2F8740!important;
}
@media only screen and (min-width: 0px) {
    .nuvola {
        display:none;
    }
    header {
        min-height:115px;
    }
    #menu-mobile {
        background-color:#fff;
        position:absolute;
        top:0px;
        left:calc(-100vh * 3);
        z-index:9999;
        width:100vw;
        height:100vh;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;
        overflow:hidden;
        position:fixed;
    }
    #menu-mobile.open {
        left:0px;
    }
    #menu-mobile div.wrapper {
        width:100vw;
        height:100vh;
        overflow-x:hidden;
        overflow-y:scroll;
        z-index:9999;
    }
    #menu-mobile .wrapper ul {
        list-style-type:none;
        margin:0px;
        margin-top:70px;
        padding:0px;
    }
    #menu-mobile .wrapper ul li {
        width100%;
        text-align:center;
    }
    #menu-mobile .wrapper ul li a {
        color: #2F8740;
        text-align: center;
        font-size: 42px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        text-decoration:none;
    }
    #menu-mobile .wrapper ul li a:hover {
        text-decoration:underline;
    }
    .alert {
        border-radius:15px;
        padding-left:3rem!important;
        padding-right:3rem!important;
    }
    .text-secondary {
        color:#fff!important;
        opacity:0.8!important;
    }
    .modal-btn-close {
        float:right;
    }
    .green-wrapper {
        border-radius:31px;
        min-height:300px;
        width:100%;
        background: #2F8740;
        background: radial-gradient(circle, rgba(47, 135, 64, 1) 0%, rgba(47, 135, 64, 1) 52%, rgba(45, 102, 80, 1) 98%, rgba(45, 101, 81, 1) 100%);
        color:#fff;
        padding:35px 0px;
    }
    .green-wrapper a {
        color:#fff;
    }
    .green-wrapper .alberi {
        margin-top:66px;
        background-image:url('/2025/assets/images/alberi-mobile.png');
        min-height:156px;
        width:100%;
        background-repeat: no-repeat;
        background-position-x: center;
        background-size: auto;
    }
    .banner {
        max-width:104%;width:1138px;aspect-ratio:569/350;
        margin-left:-2%;
    }
    .main-section {
        padding:0px;
    }
    .main-section p {
        font-size:1.25rem;
        line-height:1.25rem;
    }
    .main-section b,
    .main-section strong {
        font-family: "Baloo Bhaijaan 2", sans-serif;
        font-optical-sizing: auto;
        font-weight: 800;
    }
    .main-section h1 {
        color: #FFF;
        text-align: center;
        font-size: 40px;
        font-style: normal;
        font-weight: 700;
        line-height: 30px;
    }
    .main-section h1.home {
        font-size: 40px;
        text-align:left;
    }
    .main-section h2 {
        color: #FFF;
        font-size: 40px;
        font-style: normal;
        font-weight: 700;
        line-height: 36px; /* 90% */
    }
    .main-section p.home {
        color: #FFF;
        font-size: 28px;
        font-style: normal;
        font-weight: 400;
        line-height: 26px;
    }
    .main-section p.p-home-70 {
        max-width:100%
    }
    .main-section p,
    .main-section .form-check-label {
        color: #FFF;
        font-size: 1.25rem;
        font-style: normal;
        font-weight: 400;
        line-height: 1.35rem;
    }
    .main-section p a {
        color:inherit;
        text-decoration:none;
    }
    .main-section p a:hover {
        color:inherit;
        text-decoration:underline;
    }
    .main-section p.p-big {
        font-size:2.25rem;
        line-height: 2.5rem;
    }
    footer p {
        color: #2D6551;
        text-align: center;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 15px;
    }
    footer p a {
        color:inherit;
    }
    footer p.footer-link-privacy a {
        color: #2D6551;
        text-align: center;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-decoration-skip-ink: none;
        text-decoration-thickness: auto;
        text-underline-offset: auto;
        text-underline-position: from-font;
    }
    .footer-text-bold {
        color: #2D6551;
        text-align: center;
        font-size: 19px;
        font-style: normal;
        font-weight: 800;
        line-height: 16px;
    }
    .home-mappa {
        background-image:none;
        background-repeat: no-repeat;
        background-position-x: right;
        background-position-y: 0px;
        background-size: 540px;
    }
    .form-label {
        color: #FFF;
        font-size: 21px;
        font-style: normal;
        font-weight: 700;
        line-height: 1.4rem; /* 90.476% */
        letter-spacing: -0.42px;   
    }
    .form-control {
        height:48px;
        border-radius: 46px;
        border: 3px solid #FFF;
        background: var(--White, #FFF);
        box-shadow: 6px 9px 4px 0px rgba(97, 97, 97, 0.25);
    }
    .img-hover {
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;
    }
    .img-hover:hover {
        transform:scale(1.1);
    }
    p.oasi {
        font-size: 30px;
        font-style: normal;
        font-weight: 600;
        line-height: 30px; /* 100% */
    }
    .nuvola.nuvola-gen-4 {
        position:absolute;
        width: 81px;
        left: 149px;
        margin-top: -384px;
    }
    .oasi-page h1 {
        color: #FFF;
        text-align: center;
        font-size: 30px;
        font-style: normal;
        font-weight: 400;
        line-height: 130%; /* 39px */
    } 
    .oasi-page p {
        color: #FFF;
        text-align: center;
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: 130%; /* 26px */
    }
    .oasi-page h3 {
        color: #FFF;
        text-align: center;
        font-size: 22px;
        font-style: normal;
        font-weight: 400;
        line-height: 130%; /* 28.6px */
    }
}

/* SM */
@media only screen and (min-width: 576px) {
    
}

/* MD */
@media only screen and (min-width: 768px) {}

/* LG */
@media only screen and (min-width: 992px) {
    .green-wrapper {
        padding:35px;
    }
    .green-wrapper .alberi {
        margin-top:66px;
        background-image:url('/2025/assets/images/alberi-desktop.png');
        min-height:156px;
        width:100%;
        background-repeat: no-repeat;
        background-position-x: center;
        background-size: auto;
    }
    .banner {
        max-width:100%;width:1138px;aspect-ratio:569/350
    }
    .main-section {
        padding:0px 128px;
    }
    .main-section h1 {
        font-size: 70px;
        line-height: 56px;
    }
    .main-section h1.home {
        font-size: 60px;
    }
    .main-section p.home {
        font-size: 40px;
        line-height: 41px;
    }
    .main-section p.p-home-70 {
        max-width:76%
    }
    .home-mappa {
        background-image:url(/2025/assets/images/Italia_oasi_scritte.png);
        background-repeat: no-repeat;
        background-position-x: right;
        background-position-y: 0px;
        background-size: 540px;
        background-size: 41%;
    }
    .nuvola {
        display:inline-block;
        background-image:url(/2025/assets/images/nuvola.png);
        width:312px;
        aspect-ratio:312/172;
        background-size: contain;
        background-repeat:no-repeat;
        animation: myAnim 20s ease 1s 10 normal both;
        
    }
    @keyframes myAnim {
        0%,
        100% {
            transform: translateX(0);
        }
        10%,
        30%,
        50%,
        70% {
            transform: translateX(-10px);
        }

        20%,
        40%,
        60% {
            transform: translateX(10px);
        }

        80% {
            transform: translateX(8px);
        }

        90% {
            transform: translateX(-8px);
        }
    }
    .nuvola.nuvola-home-1 {
        position:absolute;
        width:149px;
        right: 158px;
        margin-top: -92px;
    }
    .nuvola.nuvola-home-2 {
        position:absolute;
        width:105px;
        left: 158px;
        margin-top:-151px;
    }
    .nuvola.nuvola-home-3 {
        position:absolute;
        width:92px;
        right: 158px;
        margin-top:-351px;
    }
    .nuvola.nuvola-home-4 {
        position:absolute;
        width:156px;
        left: 158px;
        margin-top:-91px;
    }
    .nuvola.nuvola-gen-1 {
        position:absolute;
        width:133px;
        right: 168px;
        margin-top:-520px;
    }
    .nuvola.nuvola-gen-2 {
        position:absolute;
        width:181px;
        left: 158px;
        margin-top:-250px;
    }
    .nuvola.nuvola-gen-3 {
        position:absolute;
        width:92px;
        right: 148px;
        margin-top:0px;
    }
    .oasi-page h1 {
        color: #FFF;
        text-align: center;
        font-size: 56px!important;
        font-style: normal;
        font-weight: 700;
        line-height: 130%; /* 72.8px */
    } 
    .oasi-page p {
        color: #FFF;
        font-size: 26px;
        font-style: normal;
        font-weight: 400;
        line-height: 130%;
    }
    .oasi-page h3 {
        color: #FFF;
        text-align: center;
        font-size: 30px;
        font-style: normal;
        font-weight: 700;
        line-height: 130%;
    }
}

/* XL */
@media only screen and (min-width: 1200px) {
}

/* XXL */
@media only screen and (min-width: 1400px)  {
    .nuvola.nuvola-gen-4 {
        position:absolute;
        width:181px;
        left: 158px;
        margin-top:-250px;
    }
}

