.ng-leave {
    display:none !important;
}

.new-content a{
    text-decoration: none;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    -ms-transition:  all .4s;
    transition: all .4s;
}

.hide-all {
    display: none;
}

.hide-desk {
    display: none !important;
}

.tox-tinymce {
    margin-top:10px;
}

.header-desk .new-content,
footer .new-content,
.new-tendina .new-content{
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    display: flex;
}

.new-quarto{
    margin: 0;
    border-right: 1px solid #CCC;
    flex-basis: 25%;
}

.new-quarto:last-of-type {
    border-right: none;
}

.row:before,
.container:before {
    display: flex;
}

/* ------- MODAL -------------------------------------------*/
.modal-backdrop {opacity: 0.5;}

.modal-dialog-xl {
    width:80% !important;
    max-width: 890px !important;
    top: 46% !important;
}

.modal-dialog-xl {
    width:80% !important;
}
.modal-dialog-mw-520 {
    max-width: 520px !important;
}
.modal-no-blur {
    position: unset !important
}

.modal-dialog {
    margin: 4% auto;
}
.modal-content {
    box-shadow: none;
    background-color: #F0F0F0;
    border-radius: 0px;
}

.modal-body {
    overflow-y: auto;
    max-height: 500px;
}
.modal-body.settings {
    margin: 0;
}

.modal-body-height-calc {
    max-height: calc(100vh - 50px) !important;
}
.modal-header {
    color: #fff;
    background-color: #00bcd4;
    border: 0;
}
.modal-header h4{
    color: #fff;
}

.modal-footer {
    border-top: 1px solid #DADADA;
}
@supports (-webkit-overflow-scrolling: touch) {
    .modal-no-blur {
        position: absolute!important;
        overflow: visible!important;
    }
}

@media only screen and (min-height: 901px) {
    .modal-body-height {
        max-height: 750px !important;
    }
}
@media only screen and (max-height: 900px) {
    .modal-body-height {
        max-height: 650px !important;
    }
}
@media only screen and (max-height: 800px) {
    .modal-body-height {
        max-height: 550px !important;
    }
}
@media only screen and (max-height: 700px) {
    .modal-body-height {
        max-height: 450px !important;
    }
}

@media only screen and (max-height: 600px) {
    .modal-body-height {
        max-height: 350px !important;
        top: 31% !important;
    }
}
@media only screen and (max-height: 500px) {
    .modal-body-height {
        max-height: 250px !important;
    }
}
@media only screen and (min-width:481px) and (max-width:770px){
    .modal-dialog {
        margin: 0 auto;
    }
}
@media only screen and (max-width:480px){
    .modal-dialog {
        margin: 0;
        /* top: 45% !important; */
    }
    .modal-content{
        padding: 4px;
    }

    .modal-title {
        font-size: 20px;
        line-height: 18px;
        color: #000000;
    }
    .modal-header .close {
        margin-top: -12px;
    }
    .mobileModal {
        overflow-y: scroll;
        /*max-height: 290px;*/
        max-height: 310px;
        padding-left: 0px;
    }
}
@media (max-width:1366px) and (min-width:481px){
    .mobileModal {
        overflow-y: auto;
        max-height: 500px;
    }
}
/* ------ HEADER -------------------------------------------*/

button.close {
    padding: 0;
}
button.close:hover {
    background-color: transparent;
    border: 0;
    padding: 0;
}
.header-desk {
    width: 100%;
    height: 70px;
    background-color: #00bcd4;
    line-height: 65px;
    position: fixed;
    z-index: 1000;
    top: 0px;
    -webkit-transition: top 0.2s ease-in-out;
    -moz-transition: top 0.2s ease-in-out;
    -o-transition: top 0.2s ease-in-out;
    -ms-transition:  top 0.2s ease-in-out;
    transition: top 0.2s ease-in-out;
    -webkit-box-shadow: 0 0px 20px rgba(0,0,0,.2);
    box-shadow: 0 0px 20px rgba(0,0,0,.2);
}

.header-desk.nav-up {
    top: -70px;
}

.header-mob {
    width: 100%;
    height: 56px;
    line-height: 56px;
    position: fixed;
    z-index: 1000;
    top: 0px;
    -webkit-transition: top 0.2s ease-in-out;
    -moz-transition: top 0.2s ease-in-out;
    -o-transition: top 0.2s ease-in-out;
    -ms-transition:  top 0.2s ease-in-out;
    transition: top 0.2s ease-in-out;
    -webkit-box-shadow: 0 0px 15px rgba(0,0,0,.2);
    box-shadow: 0 0px 15px rgba(0,0,0,.2);
}

.header-mob.nav-up {
    top: -56px;
}

.header-desk a,
.new-content nav li a {
    color: #FFF;
    padding-bottom: 25px;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: top 0.2s ease-in-out;
    -ms-transition:  top 0.2s ease-in-out;
}

.header-desk #toplogo,
.header-mob #toplogo,
footer #toplogo{
    font-family: 'Raleway', sans-serif;
    font-size: 44px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #FFF;
}

.header-mob #toplogo {
    font-size: 24px;
}

.header-desk #toplogo {
    height: 70px;
    line-height: 70px;
}

.header-desk #toplogo > a:hover {
    color: inherit;
}

.header-desk #toplogo span,
footer #toplogo span{font-weight: 900;}

.header-desk nav,
footer nav {
    margin: 0 20px;
    color: #FFF;
}

.header-desk nav {
    text-align: center;
}

.header-desk nav ul,
footer nav ul{
    margin: 0;
    padding: 0;
}

.header-desk nav li,
footer nav li{
    display: inline;
    padding: 0 10px;
    list-style: none;
    border: none;
    font-weight: 600;
}

.header-desk nav a:hover {
    border-bottom: 4px #FFC107 solid;
}

.header-desk nav a.active {
    border-bottom: 4px #80DEEA solid;
}

header input,
header button {
    outline: none;
    background-color: #FFF;
    border: 0;
    height: 32px;
    line-height: 32px;
    vertical-align: -webkit-baseline-middle;
    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    -ms-transition:  all .4s;
    transition: all .4s;
}

.header-desk input[type="search"] {
    width: 220px;
    border-radius: 50px 0 0 50px;
    color: #666;
    font-size: 14px;
    height: 38;
    line-height: 38px;
    padding: 0 15px;
    margin: 0px 0 0 40px;
}

.header-mob input[type="search"] {
    width: 100%;
    border-radius: 50px 50px;
    color: #666;
    font-size: 12px;
    padding: 0 15px;
}

.mobile-menu {
    height: calc(100% - 56px);
    position: fixed !important;
    width: calc(100% - 50px);
    top: 56px;
    opacity: 0;
    visibility: hidden;
    transition: visibility 0s linear .5s, opacity .5s ease-in-out;
   -moz-transition: visibility 0s linear .5s, opacity .5s ease-in-out;
   -webkit-transition: visibility 0s linear .5s, opacity .5s ease-in-out;
   -o-transition: visibility 0s linear .5s, opacity .5s ease-in-out;
   -ms-transition: visibility 0s linear .5s, opacity .5s ease-in-out;
}

.mobile-menu.active {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.user-info-mobile {
    position: fixed;
    width: 400px;
    border-radius: 0px;
    height: calc(100% - 54px);
    right: 0;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
}

.user-info-desktop {
    position: fixed;
    width: 180px;
    border-radius: 0px;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
}

header button.search {
    width: 40px;
    border-radius: 0 50px 50px 0;
    margin: 0px 0 0;
    background-color: #80DEEA;
    border: none;
    padding: 0;
}

header button.search_active {
    width: 40px;
    border-radius: 0;
    margin: 0px 0 0;
    background-color: transparent;
    border: none;
    padding: 0;
}

.header-desk button.search:hover{background-color: #D8F5F8;}

.login {
    display: flex;
}

.login button{
    width: 100px;
    border-radius: 50px;
    margin: 0px 0 0;
    padding:0 20px;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    align-self: center;
}

.login button:hover{
    color: #fff;
    background-color: #FFC107;
}

@media (min-width: 991px) and (max-width: 1200px){
    .header-desk nav li {
        padding: 0 1%;
        font-size: 10px;
    }

    .new-tendina li {
        font-size: 14px;
    }

    .header-desk nav li a {
        padding-bottom: 26px!important;
    }
}

/* ------ TENDINA -------------------------------------------*/



.new-tendina{
    background-color: #f5f5f5;
    padding: 35px 0;
    color: #000;
    text-align: left;
    font-size: 16px;
    font-weight: 500;
    z-index: 1;
    position: relative;
    box-shadow: 0 6px 14px rgba(0,0,0,0.2);
}

.new-tendina p {
    line-height: normal;
}

.new-tendina p,
.new-tendina ul{
    margin: 0;
    padding: 0;
    list-style: none outside;
}

.new-tendina li{
    line-height: 42px;
    padding-left: 34px;
}

.new-tendina li a{color: #666;}
.new-tendina li a:hover{color: #00bcd4;}
.new-tendina li img{
    vertical-align: sub;
    max-width: 44px;
    padding-right: 20px;
}

.new-titolo{
    font-size: 36px;
    font-weight: 700;
    color: #000;
    padding: 0 20px 20px 0 !important;
}

.new-txt{
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #000;
    padding: 0 20px 20px 0 !important;
}

.new-link a{color: #00bcd4;font-size:16px}
.new-link a:hover{color: #80deea;}

.aside-search {
    min-width: 300px;
    max-height: 70px;
    display: flex;
    align-items: center;
}

/* ------ FOOTER -------------------------------------------*/

/* -------- fascia n1 -------- */

footer {
    width: 100%;
    position: relative;
}

footer nav{
    background-color: #333;
    padding:35px 0;
    margin: 0;
    float: none;
}

footer .new-content{
    flex-wrap: wrap;
}

footer nav #toplogo{
    width: inherit;
}

footer nav ul{
    flex-grow: 1;
    font-size: 13px;
    width: auto;
}

footer nav li.main{
    font-weight: 500;
    padding: 12px 0;
    color: #ffc107;
}
footer nav li.main a{color: #ffc107;}
footer nav li.main a:hover{color: #FF0 !important;}

footer nav li{
    display: block;
    padding: 6px 0;
    color: #FFF;
}
footer nav li:hover {
    border: none;
}
footer nav li a{color: #FFF;}
footer nav li a:hover{
    color: #fff;
    text-decoration: underline;
    font-weight: 600;
}

/* -------- fascia n2 -------- */

footer section{
    background-color: #454545;
    height: 80px;
    margin: 0;
    color: #FFF;
    line-height: 80px;
}

footer section a{color: #FFF;}
footer section a:hover{color: #ffc107;}

footer section aside{
    /*flex-basis: 25%;*/
    font-size: 13px;
    font-weight: 500;
}

footer section aside .socialsegui{
    text-align: center;
    height: 80px;
}

footer section main{
    /*flex-basis: 50%;*/
    font-size: 10px;
    font-weight: 300;
    text-align: center;
}

/* FILTRI */
.filtersView {
    width: 500px;
    position: fixed;
    right: -1500px;
    bottom: 0;
    background-color: #FFF;
    overflow-y: auto;
    transition: right 500ms ease;
    z-index: 1001;
}

.date-picker-wrapper {
    z-index: 1002!important;
}

.input-icon {
  position: absolute;
  right: 40px;
  top: 23px;
  font-weight: bold;
  color: #999;
  cursor: pointer;
}

.input-icon:hover {
  color: #00bcd4;
}

.input-icon:before {
  font-size: 12px !important;
  font-weight: bold !important;
}

/* --- ICONE SOCIAL - stile invariato --- */

.btnround {
    display: inline-block;
    font-size: 18px;
    line-height: 26px;
    cursor: pointer;
    margin: 0 0 0 5px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
}


.btnround [class^="flaticon-"]:before {
    font-size: 16px!important;
}

a.soc.btnround {
    color: #555 !important;
    text-align: center;
}

a.soc.btnround:hover {
    background-color: #00bcd4;
    color: #fff !important;
    text-align: center;
}

.soc {
    background-color: #FFFFFF;
}

.btn{
    outline: none !important;
}

/* --- BODY --- overwrite di Style per nuova grafica*/
.bggrey {
    max-width: 1160px;
    min-height: 500px;
}
.contentpage {
    max-width: 1160px;
}
#centrale_persona {
    max-width: 1160px;
}
#contenitore {
    max-width: 1160px;
}
#dx, #dx1, #dx2 {
    max-width: unset;
}
#sx, #sx1, #sx2 {
    max-width: unset;
}
.avatarnameresults {
    top: 105px;
}
.eventdetails {
    margin-top: 25px;
}
.intero, .terzo {
    max-width: unset;
}
.filters-fixed {
    bottom: 13px;
    z-index: 0;
}

.popover.bottom>.arrow {
    top: -10px;
}

@media only screen and (max-width:480px){
    header button.search {
        border-radius: 0;
        margin: 0px 0 0;
        background-color: transparent;
        border: none;
        padding: 0;
    }
  .cart .bottom{
      bottom: 0px;
  }
  .hide-mobile {
      display: none !important;
  }
  .hide-desk {
      display: block !important;
  }
}

.or dt {
    width: 100%;
    text-align: left;
}
.or dt:after {
    display: block;
    text-align: center;
    content: '';
    width: 100%;
    height: 1px;
    margin: -0.9em auto 1em;
    background-color: #cccccc;
}

.or dt span {
    display: inline-block;
    background-color: white;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 3px 12px 3px 0px;
}

/* search elements */
.checkbox-outline {
    display: inline-flex;
}

.checkbox-outline > input {
    display: none;
}

.checkbox-outline > label {
    background-color: #fff;
    border: 1px solid #00bcd4;
    white-space: nowrap;
    width: fit-content;
    padding: 3px 8px;
    margin-right: 10px;
    margin-bottom: 10px;
    color: #000;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.checkbox-outline > input:checked + label{
    background-color: #00bcd4;
    border: 1px solid #00bcd4!important;
    color: #fff;
}

.checkbox-outline > input:disabled + label{
    cursor: not-allowed;
    border-color: #ccc;
}

#search_nav {
    transition: top 0.2s ease-in-out;
}

.search_nav {
    border-bottom: 1px solid #bebebe;
    padding-bottom: 18px;
    font-size: 16px;
    display: flex;
}

.search_nav_item {
    margin-right: 30px;
    color: #000;

}
.search_nav_item > a {
    color: #666;
    font-weight: 500;
    padding-bottom: 18px
}
.search_nav_item > a:hover {
    border-bottom: 3px solid #00bcd4 !important;
}
.search_nav_item > a.active {
    color: #000;
    border-bottom: 3px solid #00bcd4 !important;
}

.search_fixed_desk {
    background-color: #fff;
    position: fixed;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 18px;
    font-size: 14px;
    z-index: 150;
    left: 0;
    display: flex;
}

.search_fixed_mob {
    background-color: #fff;
    position: fixed;
    width: 100%;
    z-index: 150;
    left: 0;
}

.search_item {
    border-bottom: 1px solid #bebebe;
    padding: 15px;
    display: flex;
    margin: 0px;
}

.search_item:hover {
    background-color: #d8f5f8;
}

.search_item img {
    border-radius: 50%;
    float: left;
    height: auto;
    margin: auto 20px auto 0;
    width: 70px;
}

.search_item_title  {
    line-height: 18px;
    font-size: 16px;
    font-weight: 600;
    color: #000;
}

.search_item_info {
    display: flex;
    width: 100%;
    align-items: center;
}

.search_item_info a {
    color: #000;
}

.search_item_info a:hover {
    color: #000;
}

.search_item_details {
    font-size: 12px;
    font-weight: 600;
    margin-top: 5px;
}

.search_item_button {
    margin-left: auto;
}

/* slider */
.irs--flat .irs-from, .irs--flat .irs-single, .irs--flat .irs-to,
.irs--flat .irs-handle > i:first-child,
.irs--flat .irs-bar {
    background-color: #00bcd4;
}
.irs--flat .irs-from:before, .irs--flat .irs-single:before, .irs--flat .irs-to:before {
    border-top-color: #00bcd4;
}
.irs--flat .irs-handle.state_hover > i:first-child,
.irs--flat .irs-handle:hover > i:first-child {
  background-color: #0097a7;
}

.input-active[readonly] {
    cursor: pointer;
    background-color: #fff;
}

.input-active:disabled {
    cursor: not-allowed!important;
}

input.calendar {
    background: url(/immagini/calendar-grey.png) right/16px no-repeat content-box #fff;
}

input.calendar:focus {
    background: url(/immagini/calendar-cyan.png) right/16px no-repeat content-box #fff;
}

/* ui-select */
.ui-select-container {
    border-radius: 5px;
    border: 1px solid #ccc;
    font-weight: 500;
    cursor: pointer;
    padding: 2px 12px 1px 0px!important;
    text-align: left;
    background: url(/immagini/freccia-giu-grey.png) right/16px no-repeat content-box #fff!important;
}

.ui-select-container.open {
    border-radius: 5px;
    border: 1px solid #00bcd4;
    font-weight: 500;
    cursor: pointer;
    padding: 2px 12px 1px 0px!important;
    text-align: left;
    background: url(/immagini/freccia-giu.png) right/16px no-repeat content-box #fff!important;
}

.ui-select-container.open + label {
    color: #00bcd4
}

.ui-select-container > div {
    padding: 2px 18px 0px 6px;
}

.ui-select-search {
    font-size: 14px;
    padding-left: 6px;
}

.ui-select-choices {
    padding: 0px;
}

.ui-select-choices-group-label {
    background-color: #eee;
    color: #000;
    font-size: 16px;
    font-weight: 800;
    margin: 0;
    padding: 5px 20px;
}

.ui-select-bootstrap .ui-select-choices-row.active>span {
    background-color: #fff!important;
    color: #000!important;
}
.ui-select-bootstrap .ui-select-choices-row.active>span:hover {
    background-color: #80deea!important;
    color: #fff!important;
}

.ui-select-choices-row-inner:hover {
    background-color: #80deea!important;
    color: #fff!important;
}

.ui-select-choices-group > .divider {
    height: 0px;
    margin: 0px;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
    color: #fff;
    border-radius: 5px;
    border: 1px solid #00bcd4;
    background-color: #00bcd4;
    padding: 3px 5px 3px 0px;
    font-weight: 400;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
    color: #fff;
    float: left;
    opacity: 1;
    font-weight: 400;
    margin-right: 3px;
    line-height: 16px!important;
}

/*--- Link ---*/
a.a-lb {
    color: #00bcd4;
    
}

a.a-lb:hover,
a.a-lb:focus{
	color: #80deea;
}

a.a-ub {
	color: #000;
    text-decoration: underline;
}

a.a-ub:hover,
a.a-ub:focus{
	color: #000;
}

.badge-cancel {
    background-color: #eb2a41;
    color: #fff;
    display: inline-block;
    margin-top: 5px;
    font-weight: 600;
    padding: 2px 8px;
    text-align: center;
}

/* Top ad ENDU */
.ad-top-desk {
    height: 250px;
    width: 970px;
    display: block;
}

.ad-top-mob {
    height: 100px;
    width: 320px;
    display: none;
}

.ad-desk {
    display: block;
}

.ad-mob {
    display: none;
}

/*--- HP ---*/

.ai-center {
    align-items: center;
}

.ai-baseline {
    align-items: baseline;
}

.as-center {
    align-self: center;
}

.b-0 {
    border: 0px;
}

.b-b {
    border: 1px solid #000;
}

.b-lb {
    border: 1px solid #00bcd4;
}

.b-g {
    border: 1px solid #dadada;
}

.b-w {
    border: 1px solid #ffffff;
}

.bb-g {
    border-bottom: 1px solid #dadada;
}

.bb-w {
    border-bottom: 1px solid #ffffff;
}

.bb-0 {
    border-bottom: 0px;
}

.front {
    z-index: 0;
}

.behind {
    z-index: -1;
}

.bg-b-2 {background-color: rgba(0,0,0,0.2)}
.bg-b-4 {background-color: rgba(0,0,0,0.4)}
.bg-b-6 {background-color: rgba(0,0,0,0.6)}
.bg-b-8 {background-color: rgba(0,0,0,0.8)}

.bg-b-333 {
    background-color: #333;
}

.bg-b-444 {
    background-color: #444;
}

.bg-b-555 {
    background-color: #555;
}

.bg-b-666 {
    background-color: #666;
}

.bg-lb {
    background-color: #00bcd4;
}

.bg-g {
    background-color: #f0f0f0;
}

.bg-none {
    background: none!important;
}

.bg-o {
    background-color: #ffc107;
}

.bg-transparent {
    background-color: rgba(0, 0, 0, 0);
}

.bg-w {
    background-color: #fff !important;
}

.bg-pb {
    background-clip: padding-box!important;
}

.botn-transparent-w {
    color: #FFFFFF;
    background-color: transparent;
    text-decoration: none;
    border: 1px solid #FFFFFF;
}

.botn-transparent-w:hover {
    color: #00BCD4;
    border: 1px solid #00BCD4;
}

.bottom-0 {
    bottom: 0;
}

.bt-0 {
    border-top: 0px;
}

.btc-g {
    border-top-color: #dadada;
}

.btc-lb {
    border-top-color: #00bcd4;
}

.br-0 {
    border-radius: 0px!important;
}

.br-5 {
    border-radius: 5px;
}

.br-10 {
    border-radius: 10px;
}

.br-15 {
    border-radius: 15px;
}

.br-50 {
    border-radius: 50px;
}

.b-right {
    border-right: 1px solid #ccc;
}

.centered {
    display: table-cell;
    left: 0;
    margin: 0 auto;
    right: 0;
    vertical-align: middle;
}

.xcentered {
    margin: 0 auto;
}

.ycentered {
    display: table-cell!important;
    vertical-align: middle;
}

.c-b {
    color: #000!important;
}

.c-g-666 {
    color: #666;
}

.c-g-be {
    color: #bebebe;
}

.c-g {
    color: #777;
}

.c-lb {
    color: #00bcd4;
}

.c-lg {
    color: #c1c1c1;
}

.c-inherit {
    color: inherit!important;
}

.c-o {
    color: #ffc107;
}

.c-w {
    color: #fff!important;
}

.carousel-fade .carousel-inner .item-cat {
    opacity: 0;
    transition: opacity 1s;
    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    -o-transition: opacity 1s;
    -ms-transition: opacity 1s;
    text-align: center!important;
}

.carousel-fade .carousel-inner .active {
    opacity: 1;
}

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
    left: 0;
    opacity: 0;
    overflow: hidden;
    width: 100%;
    z-index: 1;
}

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}

.carousel-fade .carousel-control {
    z-index: 2;
}

.card-hover:hover .caption  {
    color: #00bcd4!important;
    transition: color 0.3s ease;
    -webkit-transition: color 0.3s ease;
    -moz-transition: color 0.3s ease;
    -o-transition: color 0.3s ease;
    -ms-transition:  color 0.3s ease;
}

.card-hover .buttons  {
    display: flex;
    height: 40px;
    opacity: 0;
    position: absolute;
    top: 133px;
    transition: opacity 0.3s ease;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    width: calc(100% - 30px);
}

.card-hover .img:before  {
    background: #000 no-repeat center;
    content: '';
    display: block;
    height: 173px;
    opacity: 0;
    position: absolute;
    transition: opacity 0.3s ease;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    width: calc(100% - 30px);
    border-radius: 10px;
}

.card-hover:hover .img:before {
    opacity: 0.35;
}

.card-hover:hover .buttons {
    opacity: 1;
}

.cut-overflow {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.bg-newsletter {
    background-attachment: fixed;
    background-image: url('/immagini/hp/bottom.jpg');
    background-position: center;
    background-size: cover;
    z-index: 1;
}

.d-block {
    display: block;
}

.d-flex {
    display: flex;
}

.d-grid {
    display: grid;
}

.d-inline {
    display: inline!important;
}

.d-inline-block {
    display: inline-block!important;
}

.d-none {
    display: none;
}

.d-table {
    display: table;
}

.d-table-row {
    display: table-row;
}

.experience [class^="flaticon-"]:before {
    font-size: 70px!important;
}

.f-left {
    float: left;
}

.f-right {
    float: right !important;
}
.f-none {
    float: none;
}

.ff-column {
    flex-flow: column;
}

.fs-8 {
    font-size: 8px!important;
}

.fs-10 {
    font-size: 10px!important;
}

.fd-cr {
    flex-direction: column-reverse;
}

.fs-12 {
    font-size: 12px!important;
}

.fs-12-children * {
    font-size: 12px!important;
}

.fs-14 {
    font-size: 14px!important;
}

.fs-14-icon [class^="flaticon-"]:before {
    font-size: 14px;
}

.fs-16 {
    font-size: 16px!important;
}

.fs-18 {
    font-size: 18px!important;
}

.fs-20 {
    font-size: 20px!important;
}

.fs-24 {
    font-size: 24px!important;
}

.fs-28 {
    font-size: 28px!important;
}

.fs-36 {
    font-size: 36px!important;
}

.fs-40 {
    font-size: 40px!important;
}

.fs-54 {
    font-size: 54px!important;
}

.fs-inherit {
    font-size: inherit;
}

.fw-300 {
    font-weight: 300;
}

.fw-400 {
    font-weight: 400;
}

.fw-500 {
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

.fw-900 {
    font-weight: 900 !important;
}

.h-100p {
    height: 100%;
}

.h-4 {
    height: 4px;
}

.h-14 {
    height: 14px;
}

.h-20 {
    height: 20px;
}

.h-36 {
    height: 36px;
}

.h-41 {
    height: 41px;
}

.h-40 {
    height: 40px;
}

.h-46 {
    height: 46px;
}

.h-48 {
    height: 48px;
}

.h-56 {
    height: 56px;
}

.h-70 {
    height: 70px
}

.h-80 {
    height: 80px
}

.h-102 {
    height: 102px
}

.h-115 {
    height: 115px!important
}

.h-140 {
    height: 120px!important
}
.h-150 {
    height: 168px;
}
.h-160 {
    height: 160px!important
}

.h-168 {
    height: 168px;
}

.h-173 {
    height: 173px
}

.h-200 {
    height: 200px
}

.h-215 {
    height: 215px
}

.h-240 {
    height: 240px
}

.h-250 {
    height: 250px
}

.h-275 {
    height: 275px
}

.h-300 {
    height: 300px
}

.h-410 {
    height: 410px
}

.h-500 {
    height: 500px;
}

.h-575 {
    height: 575px;
}

.h-600 {
    height: 600px;
}

.h-620 {
    height: 620px;
}

.h-700 {
    height: 700px;
}

.h-auto {
    height: auto;
}

.hover-0:hover {
    color: #000;
}

.hover-b:hover {
    background-color: #d8f5f8;
    color: #00bcd4;
}

.hover-lb:hover {
    color: #80deea;
}

.hover-o:hover {
    color: #ffc107;
}

.gradient-t-b {
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 ); /* IE6-9 */
}

.jc-flex-end {
    justify-content: flex-end;
}

.last-events {
    height: 225px;
    /*margin-right: -20px; */
    overflow-x: hidden;
    overflow-y: scroll;
}

.last-events li {
    border-top: 1px solid #dadada;
    cursor: pointer;
    display: table;
    font-size: 14px;
    font-weight: 500;
    height: 64px;
    line-height: 64px;
    list-style: none;
    text-align: left;
    width: 100%;
}

.last-events li:hover,
.last-events li:hover > a {
    background-color: #00bcd4;
    color: #fff!important;
}

.live-events {
    scrollbar-width: none;
    height: 575px;
    /* margin-right: -20px; */
    overflow-x: hidden;
    overflow-y: scroll;
}

.live-events::-webkit-scrollbar {
    width: 0px;
}

.live-events li {
    border-top: 1px solid #dadada;
    cursor: pointer;
    display: table;
    font-size: 14px;
    font-weight: 500;
    height: 64px;
    line-height: 64px;
    list-style: none;
    text-align: left;
    width: 100%;
}

.live-events li:hover,
.live-events li:hover > a {
    background-color: #00bcd4;
    color: #fff!important;
}


.lh-16 {
    line-height: 16px;
}

.lh-18 {
    line-height: 18px;
}

.lh-20 {
    line-height: 20px;
}

.lh-24 {
    line-height: 24px;
}

.lh-32 {
    line-height: 32px;
}

.lh-34 {
    line-height: 34px;
}

.lh-40 {
    line-height: 40px !important;
}

.lh-50 {
    line-height: 50px;
}

.lh-56 {
    line-height: 56px;
}

.lh-80 {
    line-height: 80px;
}

.lh-124 {
    line-height: 124px;
}

.lh-unset {
    line-height: unset!important;
}

.lr-50 {
    left: 50px;
    right: 50px;
}

.lst-none {
    list-style-type: none;
}

.m-0 {
    margin: 0px !important;
}

.m-5 {
    margin: 5px;
}

.m-68 {
    margin: 68px;
}

.m-auto {
    margin: auto;
}

.maw-300 {
    max-width: 300px;
}

.maw-360 {
    max-width: 360px;
}

.mb-0 {
    margin-bottom: 0px;
}

.mb-3 {
    margin-bottom: 3px;
}

.mb-5 {
    margin-bottom: 5px;
}

.mb-6 {
    margin-bottom: 6px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-15 {
    margin-bottom: 15px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-24 {
    margin-bottom: 24px;
}

.mb-36 {
    margin-bottom: 36px;
}

.mb-80 {
    margin-bottom: 80px;
}

.mb-m10 {
    margin-bottom: -10px;
}

.mh-56 {
    max-height: 56px;
}

.mh-none {
    max-height: none;
}

.mih-120 {
    min-height: 120px;
}

.mih-500 {
    min-height: 500px;
}

.mih-1200 {
    min-height: 1200px;
}

.mih-none {
    min-height: 0;
}

.ml-auto {
    margin-left: auto;
}

.ml-5 {
    margin-left: 5px;
}

.ml-10 {
    margin-left: 10px;
}

.ml-15 {
    margin-left: 15px;
}

.ml-20 {
    margin-left: 20px;
}

.ml-60 {
    margin-left: 60px;
}

.ml-25p {
    margin-left: 25%;
}

.mr-3 {
    margin-right: 3px;
}

.mr-5 {
    margin-right: 5px;
}

.mr-5i {
    margin-right: 5px !important;
}

.mr-10 {
    margin-right: 10px;
}

.mr-15 {
    margin-right: 15px;
}

.mr-20 {
    margin-right: 20px;
}

.mr-30 {
    margin-right: 30px;
}

.mr-50 {
    margin-right: 50px;
}

.mt-0 {
    margin-top: 0px;
}

.mt-5 {
    margin-top: 5px;
}

.mt-8 {
    margin-top: 8px;
}

.mt-10 {
    margin-top: 10px;
}

.mt-12 {
    margin-top: 12px;
}

.mt-14 {
    margin-top: 14px;
}

.mt-15 {
    margin-top: 14px;
}

.mt-20 {
    margin-top: 20px;
}

.mt-24 {
    margin-top: 24px;
}

.mt-26 {
    margin-top: 26px;
}

.mt-36 {
    margin-top: 36px;
}
.mt-40 {
    margin-top: 40px;
}
.mt-50 {
    margin-top: 50px;
}
.mt-56 {
    margin-top: 56px;
}
.mt-70 {
    margin-top: 70px !important;
}

.mt-112 {
    margin-top: 112px;
}

.mt-136 {
    margin-top: 136px;
}

.mx-8 {
    margin-left: 8px;
    margin-right: 8px;
}

.mx-15 {
    margin-left: 15px;
    margin-right: 15px
}

.mx-20 {
    margin-left: 20px;
    margin-right: 20px
}

.my-10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.my-20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.my-25 {
    margin-top: 25px;
    margin-bottom: 25px;
}

.my-36 {
    margin-top: 36px;
    margin-bottom: 36px;
}

.my-50 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.o-4 {
    opacity: 0.4;
}

.o-hidden {
    overflow: hidden;
}

.o-x-hidden {
    overflow-x: hidden;
}

.o-y-auto {
    overflow-y: auto;
}

.overlay {
    top: 0;
    background: rgba(0,0,0,0.25);
    height: 100%;
    left: 0;
    right: 0;
    position: absolute;
}

.p-0 {
    padding: 0;
}

.p-3 {
    padding: 3px;
}

.p-6 {
    padding: 6px;
}

.p-10 {
    padding: 10px;
}

.p-15 {
    padding: 15px;
}

.p-20 {
    padding: 20px;
}

.p-35 {
    padding: 35px;
}

.p-40 {
    padding: 40px;
}

.pb-0 {
    padding-bottom: 0px!important;
}

.pb-10 {
    padding-bottom: 10px;
}

.pb-15 {
    padding-bottom: 15px;
}

.pb-18 {
    padding-bottom: 18px;
}

.pb-36 {
    padding-bottom: 36px;
}

.pb-50 {
    padding-bottom: 50px;
}

.pb-70 {
    padding-bottom: 70px!important;
}

.pl-0 {
    padding-left: 0px!important;
}

.pl-3 {
    padding-left: 3px;
}
.pl-5 {
    padding-left: 5px;
}

.pl-10 {
    padding-left: 10px;
}

.pl-15 {
    padding-left: 15px;
}

.pl-20 {
    padding-left: 20px;
}

.pl-52 {
    padding-left: 52px;
}

.pr-0 {
    padding-right: 0px;
}

.pr-5 {
    padding-right: 5px;
}

.pr-15 {
    padding-right: 15px;
}

.pr-30 {
    padding-right: 30px;
}

.pt-8 {
    padding-top: 8px;
}

.pt-10 {
    padding-top: 10px;
}

.pt-15 {
    padding-top: 15px;
}

.pt-20 {
    padding-top: 20px;
}

.pt-26 {
    padding-top: 26px;
}

.pt-36 {
    padding-top: 36px;
}

.pt-50 {
    padding-top: 50px;
}

.pt-56 {
    padding-top: 56px;
}

.pt-82 {
    padding-top: 82px;
}

.pos-absolute {
    position: absolute;
}

.pos-relative {
    position: relative;
}

.pos-fixed {
    position: fixed;
}

.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}

.px-6 {
    padding-left: 6px;
    padding-right: 6px;
}

.px-4p {
    padding-left: 4%;
    padding-right: 4%;
}

.px-14p {
    padding-left: 14%;
    padding-right: 14%;
}

.px-10 {
    padding-left: 10px;
    padding-right: 10px;
}

.px-11 {
    padding-left: 11px;
    padding-right: 11px;
}

.px-14 {
    padding-left: 14px;
    padding-right: 14px;
}

.px-20 {
    padding-left: 20px;
    padding-right: 20px;
}

.px-30 {
    padding-left: 30px;
    padding-right: 30px;
}
.px-35 {
    padding-left: 35px;
    padding-right: 35px;
}

.py-0 {
    padding-bottom: 0px;
    padding-top: 0px;
}

.py-5 {
    padding-bottom: 5px;
    padding-top: 5px;
}

.py-10 {
    padding-bottom: 10px;
    padding-top: 10px;
}

.py-20 {
    padding-bottom: 20px;
    padding-top: 20px;
}

.py-36 {
    padding-bottom: 36px;
    padding-top: 36px;
}

.py-50 {
    padding-bottom: 50px;
    padding-top: 50px;
}

.py-100 {
    padding-bottom: 100px;
    padding-top: 100px;
}

.right-0 {
    right: 0px;
}

.right-35 {
    right: 35px;
}

.rounded {
    border-radius: 50%;
}

.s-36 {
    height: 36px;
    width: 36px!important;
}

.s-48 {
    height: 48px;
    width: 48px!important;
}

.s-120 {
    height: 120px;
    width: 120px;
}

.s-136 {
    height: 136px;
    width: 136px;
}

.tt-capitalize {
    text-transform: capitalize;
}

.tt-lowercase {
    text-transform: lowercase;
}
.tt-uppercase {
    text-transform: uppercase;
}

.text-center {
    text-align: center!important;
}

.text-justify {
    text-align: justify !important;
}

.text-left {
    text-align: left !important;
}
.text-right {
    text-align: right !important;
}
.va-bottom {
    vertical-align: bottom;
}

.va-text-bottom {
    vertical-align: text-bottom;
}

.va-middle {
    vertical-align: middle;
}

.va-sub {
    vertical-align: sub;
}

.va-top {
    vertical-align: top;
}

.visible {
    visibility: visible!important;
}

.w-20p {
    width: 20%;
}

.w-45p {
    width: 45%;
}

.w-55p {
    width: 55%;
}
.w-70p {
    width: 70%;
}

.w-75p {
    width: 75%;
}

.w-90p {
    width: 90%!important;
}

.w-100p {
    width: 100% !important;
}

.w-56 {
    width: 56px;
}

.w-60 {
    width: 60px;
}

.w-120 {
    width: 120px;
}

.w-125 {
    width: 125px;
}

.w-140 {
    width: 140px;
}

.w-200 {
    width: 200px;
}

.w-265 {
    width: 265px;
}

.w-300 {
    width: 300px;
}

.w-350 {
    width: 350px;
}

.w-500 {
    width: 500px;
}

.w-full-switch {
    width: calc(100% - 52px)!important;
}

@media (max-width: 350px) {
    .fs-14-xs {
        font-size: 14px;
    }

}

@media (max-width: 500px) {
    .search_nav {
        font-size: 12px;
    }

    .f-none-xs {
        float: none;
    }
    .lh-16m {
        line-height: 16px !important;
    }
    .w-auto-xs {
        width: auto;
    }
    .w-100-xs {
        width: 100%;
    }
    .search_item_info {
        display: block;
    }

    .search_item_button {
        margin-top: 14px;
        text-align: left;
    }
}

@media (max-width: 767px) {
    .ad-top-desk {
        display: none;
    }

    .ad-top-mob {
        display: block;
    }
    .ad-desk {
        display: none;
    }

    .ad-mob {
        display: block;
    }
    .d-block-xs {
        display: block;
    }

    .fs-14-xs {
        font-size: 14px!important;
    }

    .fs-24-xs {
        font-size: 24px!important;
    }

    .fs-28-xs {
        font-size: 28px!important;
    }
    
    .title_mobile {
        font-size: 40px!important;
    }
    .title_container_mobile {
        padding-bottom: 60px !important;
    }

    .h-auto-xs {
        height: auto;
    }

    .mb-25-xs {
        margin-bottom: 25px !important;
    }

    .ml-12-xs {
        margin-left: 12px !important;
    }

    .mt-20-xs {
        margin-top: 20px;
    }

    .my-36-xs {
        margin-bottom: 36px;
        margin-top: 36px;
    }

    .m-0-xs {
        margin: 0;
    }

    .p-0-xs {
        padding: 0;
    }

    .pt-50-xs {
        padding-top: 50px;
    }

    .pos-absolute-xs {
        position: absolute;
    }

    .text-center-xs {
        text-align: center !important;
    }

    .w-180-xs {
        width: 180px;
    }

    .w-full-container {
        width: calc(100% - 30px);
    }

    .search_nav_item {
        margin-right: 20px;
    }

    .filtersView {
        width: 90%;
    }
}

@media (max-width: 900px) {
    .hidden-under-900 {
        display: none;
    }
}

@media (max-width: 991px) {
    .p-0-sm {
        padding: 0;
    }
}

@media (min-width: 992px) {
    .col-md-12-ad-300 {
        width: calc(100% - 315px);
    }
}

@media (max-width: 900px) {
    .hidden-under-900 {
        display: none;
    }
}        
@media (min-width: 768px) {
    .p-0-md {
        padding: 0;
    }

    .title_mobile{
    margin-top: 100px !important;
    }
}

@media (min-width: 992px) {
    .col-md-12-ad-300 {
        width: calc(100% - 315px);
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .fs-20-sm {
        font-size: 20px!important;
    }

    .fs-50-sm {
        font-size: 50px!important;
    }

    .p-0-sm {
        padding: 0;
    }
}

@media (min-width: 500px) and (max-width: 768px) {
    .search_nav {
        font-size: 14px;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .cut-overflow-sm {
        display: inline-block;
        /* width: 100px; */
        max-width: 120px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .item-cat.next,
    .carousel-fade .carousel-inner > .item-cat.active.right {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .carousel-fade .carousel-inner > .item-cat.prev,
    .carousel-fade .carousel-inner > .item-cat.active.left {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .carousel-fade .carousel-inner > .item-cat.next.left,
    .carousel-fade .carousel-inner > .item-cat.prev.right,
    .carousel-fade .carousel-inner > .item-cat.active {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}


.align-content-vertical-center {
    display: flex;
    align-items: center;
    justify-content: center;
}
