@font-face {
    font-family: 'Mont';
    src: url('/assets/fonts/sancarlo/Mont-Bold.eot');
    src: url('/assets/fonts/sancarlo/Mont-Bold.eot?#iefix') format('embedded-opentype'),
        url('/assets/fonts/sancarlo/Mont-Bold.woff2') format('woff2'),
        url('/assets/fonts/sancarlo/Mont-Bold.woff') format('woff'),
        url('/assets/fonts/sancarlo/Mont-Bold.ttf') format('truetype'),
        url('/assets/fonts/sancarlo/Mont-Bold.svg#Mont-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Mont';
    src: url('/assets/fonts/sancarlo/Mont-Regular.eot');
    src: url('/assets/fonts/sancarlo/Mont-Regular.eot?#iefix') format('embedded-opentype'),
        url('/assets/fonts/sancarlo/Mont-Regular.woff2') format('woff2'),
        url('/assets/fonts/sancarlo/Mont-Regular.woff') format('woff'),
        url('/assets/fonts/sancarlo/Mont-Regular.ttf') format('truetype'),
        url('/assets/fonts/sancarlo/Mont-Regular.svg#Mont-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Mont';
    src: url('/assets/fonts/sancarlo/Mont-SemiBold.eot');
    src: url('/assets/fonts/sancarlo/Mont-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('/assets/fonts/sancarlo/Mont-SemiBold.woff2') format('woff2'),
        url('/assets/fonts/sancarlo/Mont-SemiBold.woff') format('woff'),
        url('/assets/fonts/sancarlo/Mont-SemiBold.ttf') format('truetype'),
        url('/assets/fonts/sancarlo/Mont-SemiBold.svg#Mont-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Press Style';
    src: url('/assets/fonts/sancarlo/PressStyle.eot');
    src: url('/assets/fonts/sancarlo/PressStyle.eot?#iefix') format('embedded-opentype'),
        url('/assets/fonts/sancarlo/PressStyle.woff2') format('woff2'),
        url('/assets/fonts/sancarlo/PressStyle.woff') format('woff'),
        url('/assets/fonts/sancarlo/PressStyle.ttf') format('truetype'),
        url('/assets/fonts/sancarlo/PressStyle.svg#PressStyle') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
:root {
  --animate-delay: 2s;
  --yellow: #ECDE21;
  --red: #E41B12;
  --blu: #164192;
}
.ucfirst {
    text-transform: lowercase;
}
.ucfirst:first-letter {
    text-transform: uppercase;
}
.grecaptcha-badge {
    /* display:none; */
}
.font-mont {
    font-family: 'Mont'!important;
    font-weight:normal;
}
.font-mont-semi {
    font-family: 'Mont'!important;
    font-weight: 600;
}
.font-mont-bold {
    font-family: 'Mont'!important;
    font-weight: bold;
}
.font-press {
    font-family: 'Press Style'!important;
    font-weight: normal;
}
body {
    font-family: 'Mont';
    font-weight:normal;
    overflow-x: hidden;
}
.pointer {
    cursor: pointer;
}
.c-red {
    color:var(--red);
}
.c-blu {
    color:var(--blu);
}
.c-yellow {
    color:var(--yellow);
}
/* HEADER */
header {
    min-height:108px;
    /* background-color:var(--yellow); */
    background-color:#ffffff;
    position:fixed;
    width:100vw;
    top:0px;
    z-index:999;
}
header img.logo {
    height:60px;
}
header div.inner-header,
#mobile div.inner-header {
    padding:24px;
}
header nav ul,
#mobile ul {
    display:inline-block;
    padding:0px;
    margin:0px;
}
header nav ul li,
#mobile ul li {
    display:inline-block;
    list-style-type: none;
    padding:0px;
    margin:0px;
    margin-left:264px;
}
header nav ul li a,
#mobile ul li a {
    text-transform: uppercase;
    color:var(--red);
    text-decoration: none;
}
header nav ul li a:hover,
header nav ul li a:active {
    color:var(--blu);
}
#mobile {
    position:fixed;
    top:0px;
    left:0px;
    width:100vw;
    height:100vh;
    z-index:9999;
    background-color:var(--yellow);
    -webkit-transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    -ms-transition: all 200ms ease;
    -o-transition: all 200ms ease;
    transition: all 200ms ease;
}
#mobile.close {
    left:calc(100vw * -3);
}
#mobile ul li {
    display:block;
    margin-left:0px;
    width:100vw;
}
#mobile ul li a {
    display:block;
    width:100vw;
    text-align: center;
    padding:24px 0px;
    font-size: 24px;
    font-weight:600;
}
#mobile ul li a:hover,
#mobile ul li a:active {
    background-color:var(--red);
    color:var(--yellow);
}
/* FOOTER */
footer {
    background-color:var(--red);
    padding:56px 16px;
    color:#fff;
    font-size:14px;
}
footer a {
    text-decoration: none;
    color:#fff;
    font-weight:600;
}
footer a:hover,
footer a:active {
    text-decoration: underline;
    color:#fff;
}
/* HERO */
.hero-mobile {
    background-image: url(/assets/images/bg-mobile.png);
    aspect-ratio:0.5;
    background-attachment: scroll;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    flex-direction: column;
    align-items: center;
    color:#fff;
    padding:24px;
}
.hero-mobile h1 {
    font-size: 40px;
    text-transform: uppercase;
    line-height: 90%;
    width:100%;
    text-align:center;
    margin-top:47px;
}
.hero-mobile p {
    color: var(--Bianco, #FFF);
    text-align: center;
    font-family: Mont;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
}
.hero-desktop {
    background-image: image-set(
        url("/assets/resize/1920x1080/1/97/public@bg-desktop.jpg.webp") type("image/webp"),
        url("/assets/resize/1920x1080/1/97/public@bg-desktop.jpg") type("image/jpeg")
    );
    aspect-ratio:1728/800;
    background-attachment: scroll;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    flex-direction: column;
    align-items: center;
    color:#fff;
    padding:24px 120px;
}
.hero-desktop h1 {
    font-size: 40px;
    text-transform: uppercase;
    line-height: 90%; /* 36px */
    width:100%;
    text-align:left;
    margin-top:40px;
}
.hero-desktop p {
    color: var(--Bianco, #FFF);
    text-align: left;
    font-family: Mont;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 19.8px */
    margin-top:24px;
}
#partecipa {
    scroll-margin-top: 108px;
}
#cta-partecipa-hover {
    fill: #ECDE21;
    transition: fill 0.1s ease-in-out;
}
#cta-partecipa:hover #cta-partecipa-hover {
    fill: #FFFFFF;
}
#cta-invia-hover {
    fill: #FFFFFF;
    transition: fill 0.1s ease-in-out;
}
#cta-invia:hover #cta-invia-hover {
    fill: #ECDE21;
}
#cta-home-hover {
    fill: #FFFFFF;
    transition: fill 0.1s ease-in-out;
}
#cta-home:hover #cta-home-hover {
    fill: #ECDE21;
}
#cta-premio-hover {
    fill: #FFFFFF;
    transition: fill 0.1s ease-in-out;
}
#cta-premio:hover #cta-premio-hover {
    fill: #ECDE21;
}
.main-page {
    padding:120px 24px;
}
.hero-premi-desktop {
    background-image:url(/assets/images/bg-premi-desktop.jpg);
    aspect-ratio:2592/780;
    background-attachment: scroll;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    flex-direction: column;
    align-items: center;
    color:#fff;
    padding:24px 120px;
}
.hero-premi-mobile {
    background-image:url(/assets/images/bg-premi-mobile.jpg);
    aspect-ratio:603/603;
    background-attachment: scroll;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    flex-direction: column;
    align-items: center;
    color:#fff;
    padding:42px 24px;
}
.bg-premi {
    background-image:url(/assets/images/bg-premi.jpg);
}
.elenco-premi h1 {
    font-size:60px;
}
.elenco-premi .title-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}
.elenco-premi .title-wrapper h3 {
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 90%;
    color:var(--blu);
    text-align:center;
}
.elenco-premi h4 {
    padding-top:20px;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: 90%;
    color:var(--blu);
    text-align:center;
}

/* MAIN SECTION */
.main-section {
    margin-top:108px;
}
.page-wrapper {
    max-width:1488px;
}
.page-wrapper h1 {
    font-size: 72px;
    font-style: normal;
    font-weight: 400;
    line-height: 90%; /* 64.8px */
    text-transform: uppercase;
}
.page-wrapper h3 {
    color:#000;
    font-size: 24px;
    font-style: normal;
    font-weight: bold;
}
.page-wrapper p {
    color:#000;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 19.8px */
}
.page-wrapper .form-label {
    color: #000;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 22px */
    text-transform: uppercase;
}
.page-wrapper .form-control,
.page-wrapper .form-check-input {    
    border-radius: 8px;
    border: 1px solid var(--Nero, #000);
}
.page-wrapper small,
.page-wrapper .small {
    display:inline-block;
    color: #000;
    font-size: 14px;
    line-height:14px;
    padding-top:4px;
}
.form-check-label a {
    color:inherit;
}
button {
    background:transparent;
    border:0px;
}
.bg-vinto {
    background-image:url(/assets/images/bg-mobile-vinto.png);
    aspect-ratio:603/1313;
    background-size: cover;
    background-repeat: repeat-x;
}
.haivintoimg {
    max-width:100%;
    width:320px;
}
.main-page.bg-vinto {
    padding:85px 24px;
}
.main-page.bg-vinto p {
    font-size: 18px;
    font-weight: 400;
}
.cta-ritira-premio {
    margin-top:-10px;
}

p.desc-premio {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
    color:var(--blu);
    text-align:center;
}

/* Customizzazione Carosello Mobile */
.custom-indicators {
    position: relative;
    margin-top: 30px; 
    margin-bottom: 10px;
}

.custom-indicators [data-bs-target] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: transparent;
    border: 2px solid var(--blu);
    margin: 0 6px;
    opacity: 1; /* Rimuove l'opacità standard di Bootstrap */
    box-sizing: border-box;
}

.custom-indicators .active {
    background-color: var(--blu);
}

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

/* XL */
@media only screen and (min-width: 1200px) {
    header {
        min-height:136px;
    }
    header img.logo {
        height:72px;
    }
    header div.inner-header {
        padding:32px 80px;
    } 
    .main-section {
        margin-top:136px;
    }
    footer {
        padding:80px 120px;
        font-size:18px;
    }
    #partecipa {
        scroll-margin-top: 136px;
    }
    .main-page {
        display:flex;
        justify-content: center;
        flex-direction: row;
    }
    .main-page.bg-vinto {
        padding:80px 120px;
        justify-content: left;
    }
    .bg-vinto {
        background-image:url(/assets/images/bg-desktop-vinto.png);
        aspect-ratio:2592/1430;
    }
    .haivintoimg {
        width:511px;
        max-width:100%;
    }
    .main-page.bg-vinto p {
        max-width:534px;
        font-size: 20px;
        font-weight: 400;
    }
    .cta-ritira-premio {
        margin-top:112px;
    }
    .main-page.bg-vinto .page-wrapper {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .elenco-premi h1 {
        font-size:72px;
    }
    .elenco-premi .title-wrapper {
        min-height:95px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .elenco-premi .title-wrapper h3 {
        font-size: 48px;
        line-height: 90%;
    }
    .elenco-premi h4 {
        padding-top:20px;
        font-size: 32px;
        font-weight: 400;
        line-height: 90%;
    }
    p.desc-premio {
        font-size: 16px;
        font-weight: 400;
        line-height: 110%;
    }
}

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

