/* COLORI E SFONDI */
.bianco {
    color: #ffffff;
}

.sfondo-bianco {
    background-color: #ffffff;
}

.nero {
    color: #000000
}

.sfondo-nero {
    background-color: #000000
}


/* BORDI */
.btop-bianco-1 {
    border-top: 1px solid #ffffff
}

.bbot-bianco-1 {
    border-bottom: 1px solid #ffffff
}

.blef-bianco-1 {
    border-left: 1px solid #ffffff
}

.brig-bianco-1 {
    border-right: 1px solid #ffffff
}

.btop-nero-1 {
    border-top: 1px solid #000000
}

.bbot-nero-1 {
    border-bottom: 1px solid #000000
}

.blef-nero-1 {
    border-left: 1px solid #000000
}

.brig-nero-1 {
    border-right: 1px solid #000000
}


/* PADDING E MARGIN tlbr*/
.ptop-xxl {
    padding-top: 200px
}

.plef-xxl {
    padding-left: 200px
}

.pbot-xxl {
    padding-bottom: 200px
}

.prig-xxl {
    padding-right: 200px
}

.ptop-xl {
    padding-top: 100px
}

.plef-xl {
    padding-left: 100px
}

.pbot-xl {
    padding-bottom: 100px;
}

.prig-xl {
    padding-right: 100px
}

.ptop-l {
    padding-top: 75px;
}

.prig-l {
    padding-right: 75px;
}

.pbot-l {
    padding-bottom: 75px;
}

.plef-l {
    padding-left: 75px;
}

.ptop-m {
    padding-top: 50px;
}

.prig-m {
    padding-right: 50px;
}

.pbot-m {
    padding-bottom: 50px;
}

.plef-m {
    padding-left: 50px;
}

.ptop-s {
    padding-top: 25px;
}

.prig-s {
    padding-right: 25px
}

.pbot-s {
    padding-bottom: 25px;
}

.plef-s {
    padding-left: 25px
}

.ptop-xs {
    padding-top: 12px
}

.prig-xs {
    padding-right: 12px
}

.pbot-xs {
    padding-bottom: 12px;
}

.plef-xs {
    padding-left: 12px
}

.ptop-xxs {
    padding-top: 6px
}

.prig-xxs {
    padding-right: 6px
}

.pbot-xxs {
    padding-bottom: 6px;
}

.plef-xxs {
    padding-left: 6px
}

.mbot-xxl {
    margin-bottom: 200px;
}

.mrig-xxl {
    margin-right: 200px
}

.mtop-xxl {
    margin-top: 200px;
}

.mlef-xxl {
    margin-left: 200px
}

.mbot-xl {
    margin-bottom: 100px;
}

.mrig-xl {
    margin-right: 100px
}

.mtop-xl {
    margin-top: 100px;
}

.mlef-xl {
    margin-left: 100px
}

.mtop-l {
    margin-top: 75px;
}

.mrig-l {
    margin-right: 75px
}

.mbot-l {
    margin-bottom: 75px;
}

.mlef-l {
    margin-left: 75px
}

.mtop-m {
    margin-top: 50px;
}

.mrig-m {
    margin-right: 50px
}

.mbot-m {
    margin-bottom: 50px;
}

.mlef-m {
    margin-left: 50px
}

.mbot-s {
    margin-bottom: 25px;
}

.mrig-s {
    margin-right: 25px
}

.mtop-s {
    margin-top: 25px;
}

.mlef-s {
    margin-left: 25px
}

.mbot-xs {
    margin-bottom: 12px;
}

.mrig-xs {
    margin-right: 12px
}

.mtop-xs {
    margin-top: 12px;
}

.mlef-xs {
    margin-left: 12px
}

.mbot-xxs {
    margin-bottom: 6px;
}

.mrig-xxs {
    margin-right: 6px
}

.mtop-xxs {
    margin-top: 6px;
}

.mlef-xxs {
    margin-left: 6px
}

.mtop-zero {
    margin-top: 0
}

.mrig-zero {
    margin-right: 0
}

.mlef-zero {
    margin-left: 0
}

.mbot-zero {
    margin-bottom: 0
}

.marginzero {
    margin: 0;
}

.paddingzero {
    padding: 0;
}


/* POSITION */
.prel {
    position: relative;
}

.pabs {
    position: absolute;
}

.pfix {
    position: fixed;
}


/* DISPLAY */
.dblock {
    display: block;
}

.dflex {
    display: flex;
}

.dib {
    display: inline-block;
}

.dnone {
    display: none;
}


/* GENERICHE */
.cent-no-flex {
    margin-left: auto;
    margin-right: auto;
    display: block;
    float: none;
}

.lhzero {
    line-height: 0;
}

.nodec,
.nodec > * {
    text-decoration: none;
}

.fleft {
    float: left;
}

.fright {
    float: right;
}

.clearfix {}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.ofhidden {
    overflow: hidden
}

.mano {
    cursor: pointer
}

.bgcover {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.videowrapper {
    position: relative;
    padding-bottom: 35%;
    padding-top: 25px;
    height: 0;
}

.videowrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

hr {
    clear: both;
}

.cleft {
    clear: left
}

.cright {
    clear: right
}

.cboth {
    clear: both
}

ul.nostyle {
    padding: 0;
    list-style: none;
    margin: 0;
}

.no-tablet {
    display: block;
}

.no-mobile {
    display: block;
}

.no-desktop {
    display: none;
}

.only-mobile {
    display: none;
}


/* STRUTTURA */
.riga {
    width: 100%;
    clear: both;
}

.full,
.fullw {
    width: 100%;
}

.fullh {
    height: 100%;
}

.un_mezzo {
    width: 50%;
}

.un_quarto {
    width: 25%;
}

.tre_quarti {
    width: 75%;
}

.un_terzo {
    width: 33.333333333333%
}

.due_terzi {
    width: 66.6666666666666%
}

.un_quinto {
    width: 20%;
}

.due_quinti {
    width: 40%;
}

.tre_quinti {
    width: 60%;
}

.quattro_quinti {
    width: 80%;
}

.un_sesto {
    width: 16.66666666%
}


/* FLEX GRID */
.jcstart {
    justify-content: flex-start
}

.jccenter {
    justify-content: center
}

.jcend {
    justify-content: flex-end
}

.jcspace-a {
    justify-content: space-around
}

.jcspace-b {
    justify-content: space-between
}

.jsstart {
    justify-self: flex-start
}

.jscenter {
    justify-self: center
}

.jsend {
    justify-self: flex-end
}

.aistart {
    align-items: flex-start
}

.aicenter {
    align-items: center;
}

.aiend {
    align-items: flex-end;
}

.asstart {
    align-self: flex-start;
}

.asend {
    align-self: flex-end;
}

.fdcolumn {
    flex-direction: column
}

.fdrow {
    flex-direction: row
}

.fdcolumn-rev {
    flex-direction: column-reverse
}

.fdrow-rev {
    flex-direction: row-reverse
}

.fwrap {
    flex-wrap: wrap
}


/* TESTO */
.tacenter {
    text-align: center;
}

.taleft {
    text-align: left;
}

.taright {
    text-align: right;
}

.tajustify {
    text-align: justify;
}

.black {
    font-weight: 900
}

.extrabold {
    font-weight: 800
}

.bold {
    font-weight: 700
}

.semi-bold {
    font-weight: 600
}

.medium {
    font-weight: 500
}

.normal {
    font-weight: 400
}

.light {
    font-weight: 300
}

.extralight {
    font-weight: 200
}

.thin {
    font-weight: 100
}

.corsivo {
    font-style: italic
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
}

/* MARGIN E PADDING RESPONSIVE */

@media screen and (max-width: 1024px) {
    .ptop-xxl {
        padding-top: 120px
    }

    .plef-xxl {
        padding-left: 120px
    }

    .pbot-xxl {
        padding-bottom: 120px;
    }

    .prig-xxl {
        padding-right: 120px
    }

    .ptop-xl {
        padding-top: 60px
    }

    .plef-xl {
        padding-left: 60px
    }

    .pbot-xl {
        padding-bottom: 60px;
    }

    .prig-xl {
        padding-right: 60px
    }

    .ptop-l {
        padding-top: 40px;
    }

    .prig-l {
        padding-right: 40px;
    }

    .pbot-l {
        padding-bottom: 40px;
    }

    .plef-l {
        padding-left: 40px;
    }

    .ptop-m {
        padding-top: 28px;
    }

    .prig-m {
        padding-right: 28px;
    }

    .pbot-m {
        padding-bottom: 28px;
    }

    .plef-m {
        padding-left: 28px;
    }

    .ptop-s {
        padding-top: 20px;
    }

    .prig-s {
        padding-right: 20px
    }

    .pbot-s {
        padding-bottom: 20px;
    }

    .plef-s {
        padding-left: 20px
    }

    .ptop-xs {
        padding-top: 12px
    }

    .prig-xs {
        padding-right: 12px
    }

    .pbot-xs {
        padding-bottom: 12px;
    }

    .plef-xs {
        padding-left: 12px
    }

    .ptop-xxs {
        padding-top: 4px
    }

    .prig-xxs {
        padding-right: 4px
    }

    .pbot-xxs {
        padding-bottom: 4px;
    }

    .plef-xxs {
        padding-left: 4px
    }

    .mbot-xxl {
        margin-bottom: 120px;
    }

    .mrig-xxl {
        margin-right: 120px
    }

    .mtop-xxl {
        margin-top: 120px;
    }

    .mlef-xxl {
        margin-left: 120px
    }

    .mbot-xl {
        margin-bottom: 60px;
    }

    .mrig-xl {
        margin-right: 60px
    }

    .mtop-xl {
        margin-top: 60px;
    }

    .mlef-xl {
        margin-left: 60px
    }

    .mtop-l {
        margin-top: 40px;
    }

    .mrig-l {
        margin-right: 40px
    }

    .mbot-l {
        margin-bottom: 40px;
    }

    .mlef-l {
        margin-left: 40px
    }

    .mtop-m {
        margin-top: 28px;
    }

    .mrig-m {
        margin-right: 28px
    }

    .mbot-m {
        margin-bottom: 28px;
    }

    .mlef-m {
        margin-left: 28px
    }

    .mbot-s {
        margin-bottom: 20px;
    }

    .mrig-s {
        margin-right: 20px
    }

    .mtop-s {
        margin-top: 20px;
    }

    .mlef-s {
        margin-left: 20px
    }

    .mbot-xs {
        margin-bottom: 12px;
    }

    .mrig-xs {
        margin-right: 12px
    }

    .mtop-xs {
        margin-top: 12px;
    }

    .mlef-xs {
        margin-left: 12px
    }

    .mbot-xxs {
        margin-bottom: 4px;
    }

    .mrig-xxs {
        margin-right: 4px
    }

    .mtop-xxs {
        margin-top: 4px;
    }

    .mlef-xxs {
        margin-left: 4px
    }

}

@media screen and (max-width: 768px) {
    .ptop-xxl {
        padding-top: 90px
    }

    .plef-xxl {
        padding-left: 90px
    }

    .pbot-xxl {
        padding-bottom: 90px;
    }

    .prig-xxl {
        padding-right: 90px
    }

    .ptop-xl {
        padding-top: 45px
    }

    .plef-xl {
        padding-left: 45px
    }

    .pbot-xl {
        padding-bottom: 45px;
    }

    .prig-xl {
        padding-right: 45px
    }

    .ptop-l {
        padding-top: 30px;
    }

    .prig-l {
        padding-right: 30px;
    }

    .pbot-l {
        padding-bottom: 30px;
    }

    .plef-l {
        padding-left: 30px;
    }

    .ptop-m {
        padding-top: 22px;
    }

    .prig-m {
        padding-right: 22px;
    }

    .pbot-m {
        padding-bottom: 22px;
    }

    .plef-m {
        padding-left: 22px;
    }

    .ptop-s {
        padding-top: 15px;
    }

    .prig-s {
        padding-right: 15px
    }

    .pbot-s {
        padding-bottom: 15px;
    }

    .plef-s {
        padding-left: 15px
    }

    .ptop-xs {
        padding-top: 9px
    }

    .prig-xs {
        padding-right: 9px
    }

    .pbot-xs {
        padding-bottom: 9px;
    }

    .plef-xs {
        padding-left: 9px
    }

    .ptop-xxs {
        padding-top: 3px
    }

    .prig-xxs {
        padding-right: 3px
    }

    .pbot-xxs {
        padding-bottom: 3px;
    }

    .plef-xxs {
        padding-left: 3px
    }

    .mbot-xxl {
        margin-bottom: 90px;
    }

    .mrig-xxl {
        margin-right: 90px
    }

    .mtop-xxl {
        margin-top: 90px;
    }

    .mlef-xxl {
        margin-left: 90px
    }

    .mbot-xl {
        margin-bottom: 45px;
    }

    .mrig-xl {
        margin-right: 45px
    }

    .mtop-xl {
        margin-top: 45px;
    }

    .mlef-xl {
        margin-left: 45px
    }

    .mtop-l {
        margin-top: 30px;
    }

    .mrig-l {
        margin-right: 30px
    }

    .mbot-l {
        margin-bottom: 30px;
    }

    .mlef-l {
        margin-left: 30px
    }

    .mtop-m {
        margin-top: 22px;
    }

    .mrig-m {
        margin-right: 22px
    }

    .mbot-m {
        margin-bottom: 22px;
    }

    .mlef-m {
        margin-left: 22px
    }

    .mbot-s {
        margin-bottom: 15px;
    }

    .mrig-s {
        margin-right: 15px
    }

    .mtop-s {
        margin-top: 15px;
    }

    .mlef-s {
        margin-left: 15px
    }

    .mbot-xs {
        margin-bottom: 9px;
    }

    .mrig-xs {
        margin-right: 9px
    }

    .mtop-xs {
        margin-top: 9px;
    }

    .mlef-xs {
        margin-left: 9px
    }

    .mbot-xxs {
        margin-bottom: 3px;
    }

    .mrig-xxs {
        margin-right: 3px
    }

    .mtop-xxs {
        margin-top: 3px;
    }

    .mlef-xxs {
        margin-left: 3px
    }

}

@media screen and (max-width: 480px) {
    .ptop-xxl {
        padding-top: 60px
    }

    .plef-xxl {
        padding-left: 60px
    }

    .pbot-xxl {
        padding-bottom: 60px;
    }

    .prig-xxl {
        padding-right: 60px
    }

    .ptop-xl {
        padding-top: 30px
    }

    .plef-xl {
        padding-left: 30px
    }

    .pbot-xl {
        padding-bottom: 30px;
    }

    .prig-xl {
        padding-right: 30px
    }

    .ptop-l {
        padding-top: 20px;
    }

    .prig-l {
        padding-right: 20px;
    }

    .pbot-l {
        padding-bottom: 20px;
    }

    .plef-l {
        padding-left: 20px;
    }

    .ptop-m {
        padding-top: 15px;
    }

    .prig-m {
        padding-right: 15px;
    }

    .pbot-m {
        padding-bottom: 15px;
    }

    .plef-m {
        padding-left: 15px;
    }

    .ptop-s {
        padding-top: 10px;
    }

    .prig-s {
        padding-right: 10px
    }

    .pbot-s {
        padding-bottom: 10px;
    }

    .plef-s {
        padding-left: 10px
    }

    .ptop-xs {
        padding-top: 6px
    }

    .prig-xs {
        padding-right: 6px
    }

    .pbot-xs {
        padding-bottom: 6px;
    }

    .plef-xs {
        padding-left: 6px
    }

    .ptop-xxs {
        padding-top: 2px
    }

    .prig-xxs {
        padding-right: 2px
    }

    .pbot-xxs {
        padding-bottom: 2px;
    }

    .plef-xxs {
        padding-left: 2px
    }

    .mbot-xxl {
        margin-bottom: 60px;
    }

    .mrig-xxl {
        margin-right: 60px
    }

    .mtop-xxl {
        margin-top: 60px;
    }

    .mlef-xxl {
        margin-left: 60px
    }

    .mbot-xl {
        margin-bottom: 30px;
    }

    .mrig-xl {
        margin-right: 30px
    }

    .mtop-xl {
        margin-top: 30px;
    }

    .mlef-xl {
        margin-left: 30px
    }

    .mtop-l {
        margin-top: 20px;
    }

    .mrig-l {
        margin-right: 20px
    }

    .mbot-l {
        margin-bottom: 20px;
    }

    .mlef-l {
        margin-left: 20px
    }

    .mtop-m {
        margin-top: 15px;
    }

    .mrig-m {
        margin-right: 15px
    }

    .mbot-m {
        margin-bottom: 15px;
    }

    .mlef-m {
        margin-left: 15px
    }

    .mbot-s {
        margin-bottom: 10px;
    }

    .mrig-s {
        margin-right: 10px
    }

    .mtop-s {
        margin-top: 10px;
    }

    .mlef-s {
        margin-left: 10px
    }

    .mbot-xs {
        margin-bottom: 6px;
    }

    .mrig-xs {
        margin-right: 6px
    }

    .mtop-xs {
        margin-top: 6px;
    }

    .mlef-xs {
        margin-left: 6px
    }

    .mbot-xxs {
        margin-bottom: 2px;
    }

    .mrig-xxs {
        margin-right: 2px
    }

    .mtop-xxs {
        margin-top: 2px;
    }

    .mlef-xxs {
        margin-left: 2px
    }

}

@media screen and (min-width: 1024px) {
    /* .no-desktop{display: block;} */
}

@media screen and (max-width: 1024px) {
    .no-tablet {
        display: none;
    }

    .mobile-reverse {
        flex-direction: column-reverse;
    }
}

@media screen and (max-width: 480px) {
    .no-mobile {
        display: none;
    }

    .only-mobile {
        display: block;

    }
}
