html.no-scroll, html.no-scroll body {
	height: 100%;
}
html {
	scroll-behavior: smooth;
}
body {
	color: #333;
	font-family: 'Montserrat', sans-serif;
}
body.home {
    background: url(../images/bg-body.jpg) center center no-repeat;
    background-size: cover;
    width: 100vw;
    height: 100%;
    /* height: 100vh; */
    position: relative;

    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
body.page {
	background-size: auto 70vh;
	background-position: top center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
body.page.chi-sono {
	background-image: url(../images/bg01.jpg);
}
body.page.lezioni-online {
	background-image: url(../images/bg25.jpg);
	background-position: -60px 0;
}
body.page.lezioni-online.black {
	background-image: url(../images/bg27.jpg);
}
body.page.live-online {
	background-image: url(../images/bg03.jpg);
}
body.page.youtube {
	background-image: url(../images/bg04.jpg);
}
body.page.lezioni-dal-vivo {
	background-image: url(../images/bg05.jpg);
}
body.page.contatti {
	background-image: url(../images/bg06.jpg);
}
body.page.shop {
	background-image: url(../images/bg07.jpg);
}
body.page.in-montagna {
	background-image: url(../images/bg08.jpg);
}
body.page.al-lago {
	background-image: url(../images/bg10.jpg);
}
body.page.in-emilia {
	background-image: url(../images/bg11.jpg);
}
body.page.in-abbazia {
	background-image: url(../images/bg17.jpg);
}
body.page.in-toscana {
	background-image: url(../images/bg19.jpg);
}
body.page.shop02 {
	background-image: url(../images/bg12.jpg);
	background-position: top right -200px;
}
body.page.impp {
	background-image: url(../images/bg15.jpg);
}
body.page.prossimi-incontri {
	background-image: url(../images/bg14.jpg);
}
body.page.prossimi-incontri-01 {
	background-image: url(../images/bg20.jpg);
	background-position: top left -150px;
}
body.page.prossimi-incontri-02 {
	background-image: url(../images/bg21.jpg);
	background-position: top left -150px;
}
body.page.prossimi-incontri-03 {
	background-image: url(../images/bg22.jpg);
}
body.page.prossimi-incontri-04 {
	background-image: url(../images/bg23.jpg);
}
body.page.prossimi-incontri-05 {
	background-image: url(../images/bg24.jpg);
	background-position: top left -200px;
}
body.page.promo {
	background-image: url(../images/bg25.jpg);
	background-position: -60px 0;
}
body.page.dropin {
	background-image: url(../images/bg26.jpg);
}
a, a:hover {
	color: #0bf;
}
b, strong {
	font-weight: 700;
}
.body-content a.btn-primary {
	font-weight: normal;
	background-color: #0bf;
	border: 1px solid #0bf;
}
.planning a.btn-primary {
	border: 1px solid #fff;
	background-color: transparent;
}
.planning a.btn-primary:hover {
	background-color: #fff !important;
	color: #0bf;
}
.home-menu {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
    background-color: rgba(0,0,0,0.85);
    width: 280px;
    padding: 20px 20px 5px 20px;
}
.home-menu a {
    display: block;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    margin-left: -20px;
    margin-right: -20px;
    padding: 15px 20px;
}
.home-menu a:last-child {
    margin-bottom: -5px;
}
.home-menu a:hover {
    background-color: #fff;
    color: #333;
    margin-left: -20px;
    margin-right: -20px;
}
.home-menu-social {
	color: #fff;
    margin: 26px 8px 0 8px;
    display: inline-block;
}
.home-menu-social:hover {
	color: #fff;
}
.home-disclaimer {
    position: absolute;
    color: #fff;
    font-size: 9px;
    bottom: 11px;
    left: 13px;
    font-weight: 300;
    display: none;
}
.site-menu {
	height: 200px;
	padding: 2px 3px 0 3px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.5) 0%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.5) 0%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(0,0,0,0.5) 0%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
	-webkit-transition: transform 0.5s;
	transition: transform 0.5s;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}
.logo-pilatesconme {
    width: 195px;
    filter: grayscale(100%) brightness(200%);
	-webkit-filter: grayscale(100%) brightness(200%);
    margin: 24px 0;
}
.site-menu > div > div > a {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}
.site-menu .container {
	position: relative;
}
.site-menu > div > div {
    clear: both;
    width: 300px;
}
.site-menu > div > div > a {
    display: block;
    width: 50%;
    float: left;
    padding-bottom: 3px;
}
a.site-menu-social {
    position: absolute;
    top: 22px;
    font-size: 17px;
    color: #fff;
}
a.site-menu-social.menu-instagram {
    right: 76px;
}
a.site-menu-social.menu-tiktok {
    right: 15px;
}
a.site-menu-social.menu-youtube {
    right: 38px;
}
.body-container {
    padding-top: 330px;
    padding-right: 10px;
    padding-left: 10px;
    background-color: rgba(255,255,255,0);
    -webkit-transition: background-color 0.5s linear;
    transition: background-color 0.5s linear;
}
.menuwhite .body-container {
	background-color: rgba(255,255,255,1);
}
html.no-scroll .body-container {
	margin-top: 230px;
	padding-top: 0;
}
.body-container h1 {
	color: #fff;
	font-weight: 900;
}
.body-content {
    background-color: #fff;
    font-size: 14px;
    font-weight: 300;
    padding: 30px;
}
.body-content h2 {
	font-size: 18px;
	font-weight: bold;
}
.body-content a {
	font-weight: bold;
}
.youtube-preview {
	display: block;
	height: 0;
	padding-top: 56.25%;
	background: url(../images/02.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
}
.youtube-preview em {
	position: absolute;
	color: #fff;
	top: 7px;
	left: 7px;
	font-size: 10px;
	font-weight: 300;
}
.youtube-preview span {
	position: absolute;
	width: 80px;
	height: 80px;
	top: 50%;
	left: 50%;
	margin: -40px 0 0 -40px;

	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.youtube-preview i {
	color: #0bf;
	font-size: 48px;
}
.last-p {
	margin-bottom: 30px;
}
body.home img {
	width: 236px;
	filter: grayscale(100%) brightness(200%);
	-webkit-filter: grayscale(100%) brightness(200%);
    margin-bottom: 10px;
}
.body-content .img-fluid-container,
.youtube-preview,
.embed-container {
	margin-right: -30px;
	margin-left: -30px;
	-webkit-transition: margin 0.3s;
	transition: margin 0.3s;
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;

}
.menuwhite .body-content .img-fluid-container,
.menuwhite .youtube-preview,
.menuwhite .embed-container {
	margin-right: -40px;
	margin-left: -40px;
}
.social-big-buttons {
	height: 80px;
}
.social-btn {
    float: left;
    color: #fff;
    background-color: #0bf;
    width: 80px;
    height: 80px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    font-size: 30px;
    margin-right: 10px;

    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.social-btn:hover {
	color: #fff;
	text-decoration: none;
}
.channels {
	margin: 10px 0;
	width: 140px;
}
.vid-1 {
	padding-right: 1px;
}
.vid-2 {
	padding-left: 1px;
}
.studi-pilates .col {
	padding-top: 20px;
	padding-bottom: 20px;
	position: relative;
}
.studi-pilates .col a {
	display: block;
	width: 100%;
	text-decoration: center;
	position: relative;
}
.studi-pilates .col a:hover {
	text-decoration: none;
}
.studi-pilates .col a i {
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -5px;
}
.body-content a.btn-primary:hover,
.social-btn:hover {
    background-color: #09f;
    text-decoration: none;
}
.site-menu > div > div > a:hover,
a:hover,
.menuwhite .site-menu > div > div > a:hover,
.menuwhite a.site-menu-social:hover {
	color: #09f;
	text-decoration: none;
}
.contact-ico {
	font-size: 48px;
	display: block;
	margin-bottom: 8px;
}
.mobile-planning {
	margin-top: 36px;
}
.mobile-planning > div {
    color: #fff;
    padding: 17px;
    border-radius: 9px;
    border: 3px solid #fff;
}
.mob-int-1 {
	background-color: #09f;
}
.mob-int-2 {
	background-color: #0bf;
}
.mob-int-a {
	background-color: #069;
}

.mob-int-1.unselected,
.mob-int-2.unselected,
.mob-int-a.unselected {
	background-color: #ddd;
}


.planning {
	margin-top: 36px;
	margin-bottom: 30px;
	border: 1px solid #555;
}
.planning thead {
	font-weight: bold;
}
.table.planning thead th {
	border-bottom: none;
	border-top: none;
	border-right: 1px solid #ccc;
	width: 16.666666%;
	min-width: 16.666666%;
}
.table.planning thead th:last-child {
	border-right: 1px solid #555;
}
.planning td {
	background-color: #fff;
    font-size: 10px;
    padding: 4px;
    position: relative;
    border: none;
    border-right: 1px solid #ccc;
    width: 16.666666%;
    min-width: 16.666666%;
    height: 75px;
}
.planning td > div {
	border-radius: 6px;
	padding: 24px 12px;
	position: relative;
}
.planning td > div select {
	margin-top: 12px;
}
.planning td:last-child {
	border-right: 1px solid #555;
}
.planning td i {
    position: absolute;
    right: 6px;
    top: 6px;
    font-size: 6px;
    color: #f00;
}
.planning td.full {
	opacity: 0.15;
}
.planning thead td {
	border-top: 1px solid #ccc;
	padding-bottom: 12px;
	color: #333;
}

.scheda-pacchetto {
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 12px;
}

.scheda-pacchetto h3 {
	font-size: 14px;
	font-weight: bold;
	width: 100%;
}
.scheda-pacchetto p {
	margin: 12px 0 10px 0;
	font-size: 12px;
}
.pacchetto-lezioni {
	width: 100%;
	margin-top: 24px;
}
.row.lezioni-costo {
    padding: 0 12px;
}
.lezioni-costo > div {
    padding-top: 12px;
    padding-bottom: 36px;
}
.numero-lezioni {
	border-radius: 6px 0 0 6px;
	border-right: 1px solid #fff;
	background-color: #f0f0f0;
}
.costo-lezioni {
	border-radius: 0 6px 6px 0;
	font-weight: bold;
	background-color: #f0f0f0;
}
.scheda-pacchetto-livelli {
	margin-top: 6px;
	width: 100%;
	clear: both;
}
.scheda-pacchetto h4 {
	font-size: 14px;
	font-weight: bold;
	margin-top: 0;
}

.level-label {
    color: #fff;
    font-weight: normal;
    margin-bottom: 3px;
    margin-right: 3px;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: bold;
    border-radius: 4px;
    display: inline-block;
    float: left;
}
.planning td.sveglia > div, .level-label.sveglia {
	background-color: #0bf;
	color: #fff;
}
.planning td.int1 > div, .level-label.int1 {
	background-color: #09f;
	color: #fff;
}
.planning td.int2 > div, .level-label.int2 {
	background-color: #0bf;
	color: #fff;
}
.planning td.inta > div, .level-label.inta {
	background-color: #069;
	color: #fff;
}
.planning td.notte > div, .level-label.notte {
	background-color: #036;
	color: #fff;
}

.planning td.sveglia.unselected > div,
.planning td.int1.unselected > div,
.planning td.int2.unselected > div,
.planning td.inta.unselected > div,
.planning td.notte.unselected > div {
	background-color: #ddd;
}
#data-scelta {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 18px;
    margin: 24px 0;
}
.planning td strong {
	font-size: 13px;
}
table.calendario {
	border: 1px solid #555;
}
.table-light, .table-light>td, .table-light > th {
    background-color: #f7f7f7;
}
.calendario th {
	border-top: none;
}
.calendario thead th {
	border-bottom: none;
}
.fullprice {
    position: relative;
}
.fullprice:after {
    content: '';
    display: inline-block;
    width: 66px;
    position: absolute;
    border-top: 1px solid #f00;
    left: 0;
    transform: rotate(18deg);
    top: 8px;
}
.badge.new {
	background-color: #fff;
	color: #0bf;
}
.badge.special {
	background-color: #f6f;
	color: #fff;
	border: 1px solid #fff;
}
.price-box .badge {
	margin-bottom: 12px;
}
.price-box .btn.btn-primary,
.price-box .btn.btn-primary:hover {
	background-color: #fff;
	color: #0bf;
	margin-top: 24px;
	width: 100%;
}
#ricevilo, #prenota-ora {
	scroll-margin-top: 180px;
}
.body-content .boxpacchetto {
	border-radius: 20px;
	padding: 24px;
	margin-left: -25px;
	margin-right: -25px;
	background-color: #0bf;
	color: #fff;
	display: block;
	font-weight: normal;
	opacity: 0.5;
	filter: grayscale(80%);
}
.body-content a.boxpacchetto {
	opacity: 1;
	filter: none;
	position: relative;
	padding: 24px 24px 78px 24px;
}
.body-content a.boxpacchetto:after {
    content: 'acquista';
    position: absolute;
    bottom: 22px;
    right: 22px;
    padding: 10px 34px;
    border-radius: 10px;
    background-color: rgba(0,0,0,0.07);
}
.body-content a.boxpacchetto:hover {
	background-color: #09f;
	color: #fff;
}
.boxpacchetto img {
	border-radius: 5px;
}
.uscite-impp > .boxpacchetto {
	margin-bottom: 25px;
}
.uscite-impp > .boxpacchetto:last-child {
	margin-bottom: 0;
}
span.progress-lezioni {
    width: 150px;
    height: 10px;
    border-top: 1px solid #fff;
    display: block;
    margin: 24px 0 0 0;
}
span.progress-lezioni > span {
    background-color: #0bf;
    width: 14px;
    height: 14px;
    border: 1px solid #fff;
    display: block;
    float: left;
    margin: -7px 20px 0 0;
    border-radius: 20px;
}
.body-content a.boxpacchetto:hover span.progress-lezioni > span {
	background-color: #09f;
}
span.progress-lezioni > span:last-child {
    margin-right: 0;
}
.allinone {
	padding: 24px;
	text-align: center;
	color: #333;
	border-radius: 20px;
	-webkit-box-shadow: 0px 0px 3px 0px rgba(50, 50, 50, 0.25);
	-moz-box-shadow:    0px 0px 3px 0px rgba(50, 50, 50, 0.25);
	box-shadow:         0px 0px 3px 0px rgba(50, 50, 50, 0.25);
}
.allinone img {
	width: 100%;
	margin: auto;
	display: block;
	border-radius: 5px;
}
.allinone > div {
	font-weight: bold;
	font-size: 36px;
	margin-bottom: 17px;
}
.allinone h1 {
	color: #333;
	margin-bottom: 24px;
	color: #0bf;
}
.allinone .price {
	color: #0bf;
	font-size: 60px;
}
.allinone .btn {
	margin-bottom: 24px;
}
.specialbox {
	background-color: #0bf;
	color: #fff;
	padding: 50px 10px;
	text-align: center;
	border: 10px solid #fff;
}
.specialbox h2 {
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
}
.specialbox h3 {
	font-size: 14px;
	font-weight: bold;
}
.specialbox p {
	font-size: 18px;
	color: #fff;
	font-weight: bold;
	margin-bottom: 0;
}
.specialbox p a {
	color: #fff;
}
.shop-section {
    border-bottom: 1px solid #ddd;
    padding-bottom: 17px;
    display: block;
    width: 100%;
    float: left;
    margin-bottom: 17px;
}
.shop-section h3 {
    float: left;
    width: 50%;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 16px;
    padding-top: 10px;
}
.shop-section img {
	display: block;
	width: 50%;
	float: right;
}
.col-pacchetto {
	position: relative;
}
.col-pacchetto .img-fluid {
	width: 100%;
}
.col-pacchetto > em {
    position: absolute;
    top: 10px;
    background-color: #f00;
    color: #fff;
    font-weight: bold;
    left: 6px;
    display: block;
    padding: 0 8px;
    font-size: 16px;
}
.col-pacchetto > div {
	background-color: #eee;
	padding: 15px;
	margin-bottom: 17px;
}
.black-friday-shop .col-pacchetto > div {
	background-color: #000;
	color: #fff;
}
.black-friday-shop .col-pacchetto .img-fluid {
	border: 8px solid #000;
}
.col-pacchetto-price {
	font-size: 36px;
}
.col-pacchetto-price sup {
	display: inline-block;
}
.round-number {
	color: #0bf;
	padding: 11px 0;
	margin-top: 30px;
	margin-bottom: 8px;
	width: 60px;
	height: 60px;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	border-radius: 30px;
	border: 2px solid #0bf;
}
.calendario sup {
	color: #0bf;
	font-weight: bold;
}
.row-boxes {
	margin-left: -36px;
	margin-right: -36px;
}
.price-box {
	text-align: center;
	background-color: #0bf;
	color: #fff;
	padding: 60px 0 50px 0;
	margin-bottom: 17px;
	border-radius: 8px;
}
.body-container-boxes .price-box {
	text-align: left;
	padding: 24px;
}
.price-box h3 {
	font-size: 36px;
}
.price-box p {
	font-size: 18px;
}
.price-box h2 {
	font-size: 30px;
}
.body-container-boxes .price-box p {
	font-size: 14px;
}
.price-late {
	opacity: 0.3;
}
.body-content.black-friday {
    background: #000;
    color: #fff;
    text-align: center;
    padding-top: 50px;
    padding-bottom: 50px;
    border: 10px solid #fff;
}
.body-content.black-friday h2 {
    text-transform: uppercase;
    font-size: 50px;
}
.body-content.black-friday h4 {
    font-size: 18px;
}
.cosa-troverai {
    list-style: none;
    list-style-type: none;
    padding: 0;
    margin-left: -40px;
    margin-right: -40px;
}
.cosa-troverai li {
    color: #fff;
    font-weight: bold;
    padding: 0;
    margin-bottom: 1px;
    font-size: 16px;
}
.cosa-troverai li a, .cosa-troverai li span {
	display: block;
	padding: 20px 50px 20px 40px;
	color: #fff;
	position: relative;
}
.cosa-troverai li a {
	background-color: #0bf;
}
.cosa-troverai li span {
	background-color: #cacaca;
}
.cosa-troverai li a:hover {
	background-color: #09f;
}	
.cosa-troverai li a:after {
    content: '';
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    top: 27px;
    right: 19px;
}
.cosa-troverai li em {
    font-size: 14px;
    display: block;
    font-weight: normal;
    margin-top: 3px;
    font-style: normal;
}
.cosa-migliorerai-container {
	background: url(../images/bgwhite02.jpg) right no-repeat;
	background-size: contain;
	margin-right: -40px;
	padding-top: 14px;
}
.cosa-migliorerai-container h2 {
	margin-bottom: 19px;
}
.cosa-migliorerai {
    list-style: none;
    list-style-type: none;
    padding: 0;
    width: 50%;
}
.cosa-migliorerai li {
    padding: 14px 0;
    font-weight: bold;
}
.box-level {
    padding: 12px;
    height: 100%;
    width: 100%;
    float: left;
    background-color: #f7f7f7;
}
.box-level > strong {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
}
.box-level > span {
	font-size: 14px;
}
.box-level img {
	margin: 12px 0;
	border-radius: 4px;
}
.box-level .btn {
	width: 100%;
}
.footer-note {
	font-weight: bold;
	font-size: 10px;
}
.alert-danger {
    color: #c00;
    background-color: #fff2f3;
    border-color: transparent;
}
.alert-success {
    color: #040;
    background-color: #dfffe6;
    border-color: transparent;
}
input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.checkbox-container {
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    padding-top: 24px;
    padding-bottom: 12px;
}
.label-servizio {
	position: relative;
	padding-top: 8px;
}
.label-servizio small {
	position: absolute;
	right: 0;
	font-weight: bold;
}
.totale {
	border-top: 1px solid #dee2e6;
	padding-top: 12px;
}
.totale strong {
	float: right;
}
.checkbox-custom {
    width: 24px;
    height: 24px;
    border: 1px solid #ced4da;
    background-color: #fff;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
}
.checkbox-custom::after {
    content: "";
    width: 16px;
    height: 16px;
    background-color: #0bf;
    display: none;
    border-radius: 3px;
}
input[type="checkbox"]:checked + .checkbox-custom::after {
    display: block;
}
input.error, .checkbox-container.error .checkbox-custom {
	border: 1px solid #0bf;
	background-color: #fff2f3;
	animation: blink-opacity 1s infinite;
}
.nota-pagamento {
    background-color: rgba(0, 187, 255, 0.15);
    margin-top: 24px;
    margin-bottom: 12px;
    padding: 15px;
    border-radius: 8px;
}
.nota-pagamento h4 {
    font-weight: bold;
    font-size: 14px;
}


.planning.prenotazioni td div {
	padding-top: 70px;
	cursor: pointer;
}
.mobile-planning.prenotazioni > div:after,
.planning.prenotazioni td div:after {
    content: '+';
    position: absolute;
    top: 4px;
    right: 4px;
    background-color: transparent;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    border-radius: 4px;
    border: 1px solid #fff;
}
.planning.prenotazioni td div:hover:after {
	background-color: rgba(255,255,255,0.17);
}
.mobile-planning.prenotazioni > div.selected:after,
.planning.prenotazioni td div.selected:after,
.planning.prenotazioni td div.selected:hover:after {
    content: '';
    background: #0c0 url(../images/check.png) center center no-repeat;
    background-size: 28px 28px;
    color: #fff;
    font-family: Arial, sans-serif;
}




@keyframes blink-opacity {
    0% {
        opacity: 0.3;
    }
    15% {
        opacity: 0.3;
    }
    15.1% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}
@media (max-width: 767px) {
	.last-p.last-p-xs {
		margin-bottom: 0;
	}
	.info-pacchetto {
		padding-top: 40px;
	}
}
@media (min-height: 500px) {
    body.home img {
    	margin-top: 4px;
        margin-bottom: 14px;
    }
    .home-disclaimer {
    	display: inline;
    }
    .menuwhite .site-menu {
		height: 153px;
		background: none;
		background-color: rgba(255,255,255,0.95);
		position: fixed;
		z-index: 2;
		top: -170px;
		transform: translateY(167px);
		-webkit-transition-delay: 1s;
		transition-delay: 1s;
		-webkit-box-shadow: 0px 0px 1px 0px rgba(50, 50, 50, 0.7);
		-moz-box-shadow:    0px 0px 1px 0px rgba(50, 50, 50, 0.7);
		box-shadow:         0px 0px 1px 0px rgba(50, 50, 50, 0.7);
	}
	.menuwhite .site-menu > div > div > a {
		color: #333;
	}
	.menuwhite .logo-pilatesconme {
		filter: none;
	    -webkit-filter: none;
	}
	.menuwhite a.site-menu-social {
		color: #333;
	}
}
@media (min-width: 360px) {
	.shop-section h3 {
		font-size: 18px;
		line-height: 18px;
	}
	.cosa-migliorerai li {
	    padding: 19px 0;
	}
}
@media (min-width: 576px) {
	/*
	body {
		-webkit-transition: background-position 2s;
		transition: background-position 2s;
	}
	*/
	body.chi-sono {
		background-position: top center;
	}
	body.page.lezioni-online {
		background-position: 0 0;
	}
	/*
	body.menuwhite {
		background-position: center -900px !important;
	}
	body.chi-sono.menuwhite {
		background-position: -150px -900px !important;
	}
	*/
	.menuwhite .body-container {
		background-color: rgba(255,255,255,0);
	}
	.site-menu {
		height: 200px;
		padding-top: 12px;
	}
	.body-container h1 {
		font-size: 48px;
	}
	.body-content {
		padding: 50px;
	}
	.menuwhite .site-menu {
		height: 158px;
		top: -168px;
		transform: translateY(168px);
	}
	.shop-section h3 {
		font-size: 30px;
		line-height: 30px;
	}
	.anteprima-pacchetto {
		margin-top: 30px;
	}
}
@media (min-width: 768px) {
	.home-disclaimer {
		bottom: 30px;
		left: 33px;
	}
	body.page {
		background-size: 100% auto;
		background-attachment: scroll;
	}
	html.no-scroll body.page {
		background-attachment: fixed;
	}
	body.page.shop02,
	body.page.prossimi-incontri-01,
	body.page.prossimi-incontri-02,
	body.page.prossimi-incontri-05,
	body.page.promo,
	body.page.lezioni-online {
		background-position: top center;
	}
	.logo-pilatesconme {
		display: block;
		float: left;
	}
	.site-menu > div > div {
	    clear: none;
	    width: 490px;
	    float: left;
	    padding-left: 40px;
	}
	.site-menu > div > div > a {
	    display: block;
	    width: auto;
	    float: left;
	    padding: 20px 5px;
	    margin: 0 6px;
	}
	a.site-menu-social {
		display: none;
	}
	.menuwhite .site-menu {
		height: 88px;
	}
	.body-container {
		padding-top: 250px;
	}
	.channels {
		width: 160px;
	}
	.planning td {
		font-size: 12px;
	}
	.planning thead td {
		padding-bottom: 18px;
	}
	.planning td i {
	    right: 11px;
	    top: 9px;
	    font-size: 10px;
	}
	.allinone img {
		display: inline;
		width: 27%;
	}
	.level-label {
		float: left;
	}
	.shop-section {
		margin-bottom: 30px;
	}
	.shop-section h3 {
		font-size: 36px;
		line-height: 36px;
	}
	.col-md-6 .shop-section h3 {
		font-size: 20px;
		line-height: 20px;
	}
	.cosa-migliorerai-container {
		background: none;
	}
	.impp-features {
		background: url(../images/bgwhite02.jpg) top right -50px no-repeat;
		background-size: contain;
	}
	.cosa-troverai {
		width: 60%;
	}
	.cosa-migliorerai-container h2 {
	    margin-top: 170px;
	    font-size: 24px;
	    margin-bottom: 30px;
	}
	.cosa-migliorerai li {
		font-size: 18px;
	}
	span.progress-lezioni {
		display: inline-block;
    	margin: 17px 0 -3px 12px;
	}
	table.calendario {
		width: 100%;
	}
	#ricevilo, #prenota-ora {
		scroll-margin-top: 120px;
	}
	.row-boxes {
		margin-left: -15px;
		margin-right: -15px;
	}
	.label-servizio {
	    border: 1px solid #dee2e6;
	    border-radius: 8px;
	    padding: 24px;
	}
	.label-servizio small {
		right: 24px;
	}
	.label-servizio-selected {
		background-color: rgba(0, 187, 255, 0.15);
	}
	.label-servizio:hover {
		background-color: rgba(0, 187, 255, 0.3);
	}
	.totale {
		padding: 24px;
		border: none;
	}
}
@media (min-width: 992px) {
	.site-menu {
		padding-top: 30px;
	}
	.menuwhite .site-menu {
		padding-top: 10px;
	}
	.site-menu > div > div {
		width: 700px;
	}
	.site-menu > div > div > a {
		margin: 0 12px;
	}
	.site-menu > div > div > a {
		font-size: 14px;
		padding: 24px 10px 20px 10px;
	}
	.body-container {
		padding-top: 350px;
	}
	a.site-menu-social {
		top: 19px;
		font-size: 20px;
	}
	a.site-menu-social.menu-youtube {
		right: 42px;
	}
	.last-p {
		margin-bottom: 50px;
	}
	.info-pacchetto .last-p {
		margin-bottom: 24px;
	}
	.studi-pilates .col {
		border-bottom: 1px solid #ddd;
	}
	.planning td {
		font-size: 16px;
	}
	.specialbox {
		padding: 80px 10px;
	}
	.specialbox h2 {
		font-size: 48px;
	}
	.specialbox h3 {
		font-size: 36px;
	}
	.specialbox p {
		font-size: 24px;
	}
	.body-content.black-friday {
		padding-top: 80px;
		padding-bottom: 80px;
		border: 24px solid #fff;
	}
	.body-content.black-friday h2 {
		font-size: 90px;
	}
	.cosa-migliorerai-container h2 {
		margin-top: 0;
	}
	.body-content a.boxpacchetto {
		padding-bottom: 24px;
	}
	.scheda-pacchetto {
		border-radius: 18px;
		padding: 24px;
	}
	.scheda-pacchetto h3 {
		font-size: 18px;
	}
	.scheda-pacchetto h4 {
		font-size: 16px;
		margin-bottom: 12px;
	}
	.scheda-pacchetto p {
		font-size: 14px;
	}
	.scheda-pacchetto-livelli {
		margin-top: 12px;
	}
	.level-label {
		font-size: 12px;
	}
}
@media (min-width: 1200px) {
	.logo-pilatesconme {
		margin-right: 40px;
	    margin-top: 17px;
	    width: 280px;
	}
	body.page {
		background-position: 0 -50px;
	}
	.site-menu > div > div {
		padding-left: 77px;
	}
	.site-menu > div > div > a {
		margin: 0 17px;
		padding: 21px 10px 20px 4px;
	}
	.site-menu > div > div > a:last-child {
		margin-right: 0;
	}
	a.site-menu-social {
		top: 17px;
		display: block;
	}
	.body-container {
		padding-top: 450px;
	}
	.body-container h1 {
		margin-bottom: 40px;
	}
	.body-content {
		padding: 80px;
		font-size: 18px;
	}
	.body-content h2 {
		font-size: 24px;
		margin-bottom: 24px;
	}
	.body-content h2.long-title {
		font-size: 18px;
	}
	.last-p {
		margin-bottom: 80px;
	}
	.body-content .img-fluid-container,
	.youtube-preview,
	.embed-container,
	.menuwhite .body-content .img-fluid-container,
	.menuwhite .youtube-preview,
	.menuwhite .embed-container {
		margin-right: -80px;
		margin-left: -80px;
	}
	.fullprice:after {
		width: 96px;
		top: 11px;
	}
	.specialbox {
		padding: 100px 80px;
	}
	.specialbox h2 {
		font-size: 60px;
	}
	.price-box h3 {
		font-size: 48px;
	}
	.price-box p {
		font-size: 18px;
	}
	.price-box h2 {
		font-size: 42px;
	}
	.shop-section h3 {
		font-size: 60px;
		line-height: 52px;
	}
	.col-md-6 .shop-section h3 {
		font-size: 30px;
		line-height: 28px;
	}
	.cosa-troverai {
		margin-left: 0;
		margin-right: 0;
		width: 50%;
	}
	.cosa-troverai li {
		font-size: 20px;
	}
	.cosa-troverai li a, .cosa-troverai li span {
		padding: 25px 50px 25px 40px;
	}
	.cosa-migliorerai-container {
		margin-right: 0;
	}
	.cosa-migliorerai-container h2 {
		width: 50%;
		text-align: center;
	}
	.cosa-migliorerai li {
		text-align: center;
		font-size: 20px;
	}
	.badge.new {
		font-size: 14px;
	}
	span.progress-lezioni {
		margin-top: 0;
	}
	.nota-pagamento {
		font-size: 16px;
		padding: 30px;
	}
	.nota-pagamento h4 {
		font-size: 16px;
		margin-bottom: 18px;
	}
}
@media (max-height: 500px) {
	html.no-scroll {
		height: auto;
	}
	html.no-scroll body {
		height: 100vh;
	}
	body.page {
		background-size: 100vw auto;
	}
	body.page.prossimi-incontri-05 {
		background-position: top left 0;
	}
	.home-menu-social {
		display: none;
	}
}
@media (max-width: 680px) {
	body.page.lezioni-online {
		background-position: -70px top;
	}
}
@media (max-width: 991px) {
	.planning td, .planning thead th {
		width: 90px;
		max-width: 90px;
	}
}