:root {
    --kwlogoheaderheight: 76px;
    --kwgrey: #0e3157;
    --kwbgcolor: #0b2646;
    --kweditioncolor: #03bde8;
}
body {
    background: linear-gradient(0deg,rgba(29, 101, 160, 1) 0%, rgba(0, 0, 17, 1) 100%);
}
.sp-megamenu-parent > li:hover > a,
#sp-footer a:hover {
    color: var(--kweditioncolor);
}

/* fonts */
h2 {
    text-transform: lowercase;
    color: var(--kweditioncolor);
    font-size: var(--kwh1fontsize);
}
.kwDataLineaDelTempo {
    background: var(--kweditioncolor);
}

/* icone */
.icon-tuf-calendario:before {
    content: "\e92e";
}
.icon-tuf-nota:before {
    content: "\e92f";
}
.icon-tuf-posate:before {
    content: "\e930";
}
.icon-tuf-posizione:before {
    content: "\e931";
}
.icon-tuf-sax:before {
    content: "\e932";
}

/* divisori */
hr.kwLucine {
    height: 50px;
    background-color: transparent;
    opacity: 1;
    background-image: url(../../../images/graphics/lucine-tuttadunfiato.png);
    background-size: auto 50px;
    margin: 0;
    background-position: center;
}

/* header */
#sp-header .logo a {
    pointer-events: none;
}
#mod-custom142 {
    font-size: var(--kwsmalltext);
}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    font-size: 0.777777rem;
}

/* menu mobile */
#sp-menu-mobile::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(0deg, rgb(0, 0, 17) 20%, rgba(0, 0, 17, 0) 100%);
    pointer-events: none;
}

/* box edizione */
.kwBoxEdizione {
    width: 100%;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    background: var(--kweditioncolor);
    color: var(--kwnero);
    border-radius: var(--kwradius);
    padding: var(--kwmarginmedium);
    text-align: left;
}
.kwBoxEdizione > h2 {
    font-size: 2em;
    color: unset;
}
.kwDettEvento {
    grid-template-columns: 40px auto;
    align-items: center;
    margin-top: var(--kwmarginmedium);
}
.kwDettEvento + .kwDettEvento {
    margin-top: var(--kwmarginmedium);
}
.kwIcoDettEvento {
    height: 40px;
    width: 40px;
    background: var(--kwnero);
    color: var(--kwgiallo);
    text-align: center;
    align-content: center;
    border-radius: 100%;
    font-size: 33px;
    line-height: 1;
}
.kwTextDettEvento {
    font-weight: 700;
    line-height: 1.2;
    font-size: var(--kwbigtext);
}

/* eventi musicali */
.kwImgEvento {
    border-radius: var(--kwradius);
    border: 3px solid var(--kweditioncolor);
}
h3 {
    font-size: var(--kwh2fontsize);
}
.kwColText {
    text-align: left;
}
.kwInfoEvento {
    position: relative;
    padding-left: 45px;
    font-size: 0.777777rem;;
}
.kwInfoEvento > i {
    height: 36px;
    width: 36px;
    border-radius: 100%;
    line-height: 36px;
    text-align: center;
    display: block;
    background: var(--kwnero);
    color: var(--kwgiallo);
    font-size: 30px;
    position: absolute;
    left: 0;
    top: calc(50% - 18px);
}

/* prezzi */
.kwTabPrezzi {
    width: 100%;
    border-radius: var(--kwradius);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    color: var(--kwnero);
    background: var(--kwbodycolor);
    text-align: left;
    overflow: hidden;
}
.kwTabPrezzi tr > td {
    font-weight: 500;
    padding: 10px;
    line-height: 1.4;
}
.kwTabPrezzi tr:nth-child(2n) {
    background: #f3f3f3;
}
.kwPrice {
    text-align: right;
}
.kwNoPrice {
    display: none;
}
.kwTabPrezzi sup {
    height: 14px;
    width: 14px;
    display: inline-block;
    background: var(--kwgiallo);
    border-radius: 100%;
    line-height: 16px;
    font-size: 10px;
    text-align: center;
    font-weight: 700;
}

/* video */
.kwVideoCont {
    position: relative;
    max-width: max-content;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
}
.kwVideoRicordo {
    border-radius: var(--kwradius);
    border: 3px solid var(--kweditioncolor);
    max-width: 100%;
}
.kwPlayer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-content: center;
}
.kwIcoVideo {
    height: 90px;
    width: 90px;
    display: inline-block;
    background: var(--kwgiallo);
    border-radius: 100%;
    transition: ease-out 0.2s;
    align-content: center;
    cursor: pointer;
}
.kwIcoVideo::before {
    content: "";
    width: 48px;
    height: 44px;
    display: block;
    background: var(--kwnero);
    margin: auto;
    clip-path: polygon(10px 0, 48px 22px, 10px 44px);
}
.kwPlayer:hover > .kwIcoVideo {
    box-shadow: 0 0 0 10px rgb(255, 220, 0, .3);
}
.kwPlayer.is-playing {
    opacity: 0;
}

/* cartina */
.kwCartinaCont {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 480px;
}
.kwCartinaMaps {
    position: relative;
    border-radius: var(--kwradius);
    border: 3px solid var(--kweditioncolor);
    overflow: hidden;
    padding-bottom: 125%;
}
.kwCartinaMaps > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* sponsor */
.kwMarqueeContent {
    min-width: 100%;
    display: flex;
    overflow: hidden;
    gap: var(--kwmarginmedium);
    padding: 5px 0;
}
.kwMarqueeMarchi {
    min-width: 100%;
    display: flex;
    gap: var(--kwmarginmedium);
    flex: none;
    animation: scroll 120s linear infinite;
}
.kwMarqueeContent:hover .kwLogoMarchio:not(:hover) {
    opacity: 0.3;
}
@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-100% - 1rem));
    }
}
.kwCellSponsor > img {
    border-radius: var(--kwradius);
}
.kwCellSponsor:hover > img {
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05), 0 0 0 4px var(--kweditioncolor);
}
.kwMarqueeMarchi > .kwCellSponsor {
    width: 200px;
}

/* sezioni */
.kwNav {
    justify-content: center;
}
.kwTabContent {
    text-align: center;
}
.kw2ColSection {
    grid-gap: var(--kwmarginmedium);
}
.kwLogoOrganizzatore {
    display: inline-block;
}
.kwBgEdizione {
    background: var(--kweditioncolor);
    color: var(--kwnero);
    border-radius: var(--kwradius);
}
.kw2ColSection.kwBgEdizione .kwColText {
    padding: 0 var(--kwmarginsmall) var(--kwmarginmedium);
}
#sp-footer {
    margin-top: var(--kwmarginlarge);
    padding-bottom: calc(var(--kwmarginlarge) + var(--kwcontattifissiheight));
}
.kwCtaFixed {
    bottom: 30px;
}
@media screen and (max-width: 576px) {
    .kwNav {
        padding-top: 10px;
        padding-bottom: 10px;
        background: var(--kwbgcolor);
    }
    .kwContNavTabs::before {
        display: none;
    }
    .kwNavCont {
        top: 0;
        margin-top: calc(0px - var(--kwmarginlarge)) !important;
    }
}
@media screen and (max-width: 768px) {
    /* sponsor */
    .kw3ColSection .kwCellSponsor > img {
        max-width: 300px;
        margin: auto;
        border-radius: var(--kwradius);
    }
}
@media screen and (min-width: 768px) {
    .kw2ColSection.kwBgEdizione .kwColText {
        padding: var(--kwmarginmedium) var(--kwmarginmedium) var(--kwmarginmedium) 0;
    } 
}
@media screen and (min-width: 992px) {
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
        transition: 0s;
    }
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover {
        box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05), 0 0 0 4px var(--kweditioncolor);
    }
}
